摘? ? 要: 介紹了一種多臺大功率開關電源裝置與計算機通信的實現方案,并采用了RS-232C和RS-485雙串行通信總線標準接口,實現了計算機可以實時采樣和設置電源輸出電壓、輸出電流和各個開關量的狀態。
引言
近年來,開關電源的技術得到了迅猛發展,對開關電源的智能化要求也越來越高。電源監控系統作為實現電源系統智能化要求的一部分,也越來越得到廣泛的應用。電源監控系統的主要功能是通過電源與計算機的通信模塊完成與監控中心的信息交換,接收監控中心的各種監測與遙控命令,并將電源的各種狀態信息反饋給監控中心。本文所介紹的通信模塊實際中用于筆者所研制的多臺12V,5000A電鍍用開關電源與計算機的通信,實現了對多臺電鍍電源的遠程集中控制。該通信模塊與計算機通信的主要特點是實現了計算機與電源的主從總線1:N通信方式,并且采用了RS-232C和RS-485雙串行通信總線標準接口。
圖1 通信模塊電路結構圖
圖2? 主從總線1:N通信方式示意圖
圖3? 請求命令包格式
通信模塊電路設計
該通信模塊采用的控制芯片是MCS-51系列單片機80C52,通信模塊電路結構框圖如圖1所示。計算機通過該通信模塊完成與電源間的通信,可以實時讀取電源的輸出電壓、輸出電流值以及輸出過壓、輸入過壓、輸入欠壓、過流、過溫、運行/停止等8路開關量的狀態值,并可以在輸出值允許的范圍內任意設置電源的輸出電壓、輸出電流值和復位、合閘、分閘、機控/本控4路開關量的狀態值。從通信模塊電路結構框圖可以看出,如果計算機需要讀取電源模塊的輸出電壓、輸出電流值和開關量的狀態時,單片機收到請求命令后啟動A/D轉換芯片MAX182對電源的輸出電壓、輸出電流兩路模擬量進行轉換,轉換后的數據送入單片機進行數據處理。同時表征電源運行狀態的8路開關量從雙總線收發器74LS245讀入送至單片機寄存器存貯。單片機將所有處理后的數據按預定數據傳送格式發送給計算機輸出顯示。計算機需要設置電源的輸出電壓、輸出電流值和4路開關量的狀態時,計算機將設置好的數據按預定格式發送給單片機。單片機接收處理后啟動D/A轉換芯片MAX532和輸出鎖存器74LS573將處理后的輸出電壓、輸出電流值和開關量狀態值輸出給電源。通信模塊從而實現了計算機對電源的實時監測和遙控。為了保證設計人員的安全和防止通信模塊受電源影響而損壞,電源與通信模塊之間的信號傳遞均通過光耦隔離。
為了確保電源與計算機在不同應用場合的準確通信,該通信模塊采用了RS-232C和RS-485雙串行通信總線標準接口。RS-232C適于短距離或帶調制解調器的通信場合,其邏輯電平對地是對稱的,與TTL、MOS邏輯電平完全不同。邏輯0電平規定為+5V~+15V之間,邏輯1電平為-5V~-15V之間,模塊中采用了MAX232驅動芯片進行電平轉換。RS-232C標準接口的主要缺點是數據傳輸速率慢、傳送距離短,抗干擾能力差。模塊配備RS-232C標準接口使得任何含有串行通信口的計算機均可以實現和電源的通信,具有廣泛的適應性。RS-485標準接口為差分驅動結構,它通過傳輸線驅動器把邏輯電平變換為電位差,完成信號的傳遞。RS-485具有傳輸速率快、傳送距離長、抗干擾能力強等優點,模塊中采用了MAX485驅動芯片進行電平轉換。MAX485輸出的差分信號需經RS-232與RS-485轉換模塊轉換后才能送至計算機,所以所有使用RS-485與電源進行通信的計算機必須安裝232/485轉換接口卡。本模塊配備的RS-485通信總線標準接口使得通信模塊可以適用于環境干擾比較大的工業現場的長距離通信。
圖4? 通信模塊程序框圖
主從總線1:N通信方式
要實現計算機與電源間的正常通信,必須制定正確的通信協議。該模塊設定的通信協議優點是實現了一臺計算機可以同時監控多臺電源的主從總線1:N通信方式。在總線結構上有一個主站、即計算機,N個電源做為總線結構上的從站。
主從總線1:N通信方式可以采用多種通信協議實現總線使用權的分配,本系統使用地址查詢方式,主從總線1:N通信方式示意圖如圖2所示。系統給每個電源分配唯一的一個地址號,計算機分配一個固定的地址號。當計算機需要和某臺電源建立通信時,計算機發出一個含有該電源地址號的請求命令包。掛在總線上的所有電源一直處于等待接收數據狀態,計算機所發出的請求命令包將被所有的電源所接收。每個電源將接收到的請求命令包中所包含的電源地址號與本模塊的地址號相比較,只有地址號與計算機所發出的請求命令包中所包含的地址號相同的電源才與計算機建立通信,響應計算機所發出的請求命令。其它地址號不相同的電源將拒絕響應計算機的請求命令,繼續保持接收數據狀態,等待響應計算機發出的下一個請求命令包。系統中的這種地址查詢方式實現了任何時候總線上最多只有一臺電源與計算機通信,其它電源處于等待接收數據狀態,從而有效的避免了總線使用權的沖突。
計算機請求命令包格式如圖3所示,該命令包采用的是異步通訊格式。4個字節的起始符和結束符分別用來表征命令包的開始和結束,目的站地址就是計算機所希望建立通信的電源地址號,源地址是計算機地址號。命令碼是計算機對電源所發出的命令信息,用來表征計算機發出的命令是希望讀取電源的輸出電壓、輸出電流值以及開關量的狀態值還是希望設置電源的輸出電壓、輸出電流值以及開關量的狀態值。校驗碼和信息長度是用來檢驗數據傳輸是否正確、有無數據丟失的信息量。數據信息是命令包的主要部分,包含命令包所要傳送的輸出電壓、輸出電流值和開關量的狀態值等數據信息(僅設置電源狀態命令包含有此項,讀取電源狀態命令包不含此項)。當電源接收到計算機發出的請求命令包后,執行完計算機命令的相關操作后必須返回計算機一個應答數據包。電源響應計算機的應答數據包也采用相同的數據包格式,只不過目的站地址和源站地址分別為計算機地址號和電源自身的地址號。
軟件設計
該通信模塊采用的控制芯片是MCS-51系列單片機80C52,采用匯編語言對單片機進行程序設計,實現了數據采集、處理和與計算機通信等功能。
軟件設計采用中斷查詢方式。程序在執行過程中由于外界的隨機原因而被中間打斷的情況即稱為“中斷”。通信模塊在未與計算機建立通信之前,主程序處于等待接收數據狀態,不斷查詢外部串行口中斷。一旦計算機發出請求命令包,所有通信模塊接收到數據包后均進入串行口中斷程序進行判斷識別,只有地址號與數據包中所包含的目的站地址相同的電源才與計算機建立通信關系并解讀請求命令數據包,根據命令產生相應的啟動A/D、D/A或讀取開關量、設置開關量等操作,并返回與請求命令數據包格式相同的響應數據包給計算機。通信模塊程序框圖如圖4所示。
結語
本通信模塊已經安裝于筆者自行研制的多臺12V,5000A電鍍用開關電源中,通過在現場與計算機的通信試驗,實際監測和設置的各項參數均達到了設計指標,達到了集中監控和遙測多臺電源的預定要求,運行情況良好,具有推廣應用價值。
引言
近年來,開關電源的技術得到了迅猛發展,對開關電源的智能化要求也越來越高。電源監控系統作為實現電源系統智能化要求的一部分,也越來越得到廣泛的應用。電源監控系統的主要功能是通過電源與計算機的通信模塊完成與監控中心的信息交換,接收監控中心的各種監測與遙控命令,并將電源的各種狀態信息反饋給監控中心。本文所介紹的通信模塊實際中用于筆者所研制的多臺12V,5000A電鍍用開關電源與計算機的通信,實現了對多臺電鍍電源的遠程集中控制。該通信模塊與計算機通信的主要特點是實現了計算機與電源的主從總線1:N通信方式,并且采用了RS-232C和RS-485雙串行通信總線標準接口。
圖1 通信模塊電路結構圖
圖2? 主從總線1:N通信方式示意圖
圖3? 請求命令包格式
通信模塊電路設計
該通信模塊采用的控制芯片是MCS-51系列單片機80C52,通信模塊電路結構框圖如圖1所示。計算機通過該通信模塊完成與電源間的通信,可以實時讀取電源的輸出電壓、輸出電流值以及輸出過壓、輸入過壓、輸入欠壓、過流、過溫、運行/停止等8路開關量的狀態值,并可以在輸出值允許的范圍內任意設置電源的輸出電壓、輸出電流值和復位、合閘、分閘、機控/本控4路開關量的狀態值。從通信模塊電路結構框圖可以看出,如果計算機需要讀取電源模塊的輸出電壓、輸出電流值和開關量的狀態時,單片機收到請求命令后啟動A/D轉換芯片MAX182對電源的輸出電壓、輸出電流兩路模擬量進行轉換,轉換后的數據送入單片機進行數據處理。同時表征電源運行狀態的8路開關量從雙總線收發器74LS245讀入送至單片機寄存器存貯。單片機將所有處理后的數據按預定數據傳送格式發送給計算機輸出顯示。計算機需要設置電源的輸出電壓、輸出電流值和4路開關量的狀態時,計算機將設置好的數據按預定格式發送給單片機。單片機接收處理后啟動D/A轉換芯片MAX532和輸出鎖存器74LS573將處理后的輸出電壓、輸出電流值和開關量狀態值輸出給電源。通信模塊從而實現了計算機對電源的實時監測和遙控。為了保證設計人員的安全和防止通信模塊受電源影響而損壞,電源與通信模塊之間的信號傳遞均通過光耦隔離。
為了確保電源與計算機在不同應用場合的準確通信,該通信模塊采用了RS-232C和RS-485雙串行通信總線標準接口。RS-232C適于短距離或帶調制解調器的通信場合,其邏輯電平對地是對稱的,與TTL、MOS邏輯電平完全不同。邏輯0電平規定為+5V~+15V之間,邏輯1電平為-5V~-15V之間,模塊中采用了MAX232驅動芯片進行電平轉換。RS-232C標準接口的主要缺點是數據傳輸速率慢、傳送距離短,抗干擾能力差。模塊配備RS-232C標準接口使得任何含有串行通信口的計算機均可以實現和電源的通信,具有廣泛的適應性。RS-485標準接口為差分驅動結構,它通過傳輸線驅動器把邏輯電平變換為電位差,完成信號的傳遞。RS-485具有傳輸速率快、傳送距離長、抗干擾能力強等優點,模塊中采用了MAX485驅動芯片進行電平轉換。MAX485輸出的差分信號需經RS-232與RS-485轉換模塊轉換后才能送至計算機,所以所有使用RS-485與電源進行通信的計算機必須安裝232/485轉換接口卡。本模塊配備的RS-485通信總線標準接口使得通信模塊可以適用于環境干擾比較大的工業現場的長距離通信。
圖4? 通信模塊程序框圖
主從總線1:N通信方式
要實現計算機與電源間的正常通信,必須制定正確的通信協議。該模塊設定的通信協議優點是實現了一臺計算機可以同時監控多臺電源的主從總線1:N通信方式。在總線結構上有一個主站、即計算機,N個電源做為總線結構上的從站。
主從總線1:N通信方式可以采用多種通信協議實現總線使用權的分配,本系統使用地址查詢方式,主從總線1:N通信方式示意圖如圖2所示。系統給每個電源分配唯一的一個地址號,計算機分配一個固定的地址號。當計算機需要和某臺電源建立通信時,計算機發出一個含有該電源地址號的請求命令包。掛在總線上的所有電源一直處于等待接收數據狀態,計算機所發出的請求命令包將被所有的電源所接收。每個電源將接收到的請求命令包中所包含的電源地址號與本模塊的地址號相比較,只有地址號與計算機所發出的請求命令包中所包含的地址號相同的電源才與計算機建立通信,響應計算機所發出的請求命令。其它地址號不相同的電源將拒絕響應計算機的請求命令,繼續保持接收數據狀態,等待響應計算機發出的下一個請求命令包。系統中的這種地址查詢方式實現了任何時候總線上最多只有一臺電源與計算機通信,其它電源處于等待接收數據狀態,從而有效的避免了總線使用權的沖突。
計算機請求命令包格式如圖3所示,該命令包采用的是異步通訊格式。4個字節的起始符和結束符分別用來表征命令包的開始和結束,目的站地址就是計算機所希望建立通信的電源地址號,源地址是計算機地址號。命令碼是計算機對電源所發出的命令信息,用來表征計算機發出的命令是希望讀取電源的輸出電壓、輸出電流值以及開關量的狀態值還是希望設置電源的輸出電壓、輸出電流值以及開關量的狀態值。校驗碼和信息長度是用來檢驗數據傳輸是否正確、有無數據丟失的信息量。數據信息是命令包的主要部分,包含命令包所要傳送的輸出電壓、輸出電流值和開關量的狀態值等數據信息(僅設置電源狀態命令包含有此項,讀取電源狀態命令包不含此項)。當電源接收到計算機發出的請求命令包后,執行完計算機命令的相關操作后必須返回計算機一個應答數據包。電源響應計算機的應答數據包也采用相同的數據包格式,只不過目的站地址和源站地址分別為計算機地址號和電源自身的地址號。
軟件設計
該通信模塊采用的控制芯片是MCS-51系列單片機80C52,采用匯編語言對單片機進行程序設計,實現了數據采集、處理和與計算機通信等功能。
軟件設計采用中斷查詢方式。程序在執行過程中由于外界的隨機原因而被中間打斷的情況即稱為“中斷”。通信模塊在未與計算機建立通信之前,主程序處于等待接收數據狀態,不斷查詢外部串行口中斷。一旦計算機發出請求命令包,所有通信模塊接收到數據包后均進入串行口中斷程序進行判斷識別,只有地址號與數據包中所包含的目的站地址相同的電源才與計算機建立通信關系并解讀請求命令數據包,根據命令產生相應的啟動A/D、D/A或讀取開關量、設置開關量等操作,并返回與請求命令數據包格式相同的響應數據包給計算機。通信模塊程序框圖如圖4所示。
結語
本通信模塊已經安裝于筆者自行研制的多臺12V,5000A電鍍用開關電源中,通過在現場與計算機的通信試驗,實際監測和設置的各項參數均達到了設計指標,達到了集中監控和遙測多臺電源的預定要求,運行情況良好,具有推廣應用價值。
評論
查看更多