利用單片機實現多路電壓信號采集系統的設計
引言
本文引用地址:http://www.j9360.com/article/171438.htm在下業生產中,需要將環境和狀態的變化由傳感器轉換為電壓信號,再由監控設備完成對電壓信號的數據采集和監控。傳感器的信號處理在監測點完成,處理后的結果經RS485網絡傳送到監控計算機。這樣把監控工作分散到各地,而對監控結果集中管理,所形成的分布式監控系統可有效減少因工業強噪聲干擾和傳輸距離的增加所帶來的信號失真。
1 系統構成
本監控系統下位機的核心部分為MEGA8單片機。MEGA8單片機內置lO位的A/D轉換器。
故可不用外接A/D轉換器。當多路電壓信號由多路轉換器(CIM051)進入單片機后,即可對多路電壓信號進行A/D轉換和數據處理,完成數據采集。
可根據處理的結果進行報警操作,也可通過RS485網絡同監控計算機進行通信,以實現分布式監控。
系統結構如圖1所示。此系統的監控計算機程序使用VB開發,單片機程序使用c語言開發。本文主要討論單片機如何對多路電壓信號進行采集,以及采集的數據如何由單片機經RS485網絡傳送給監控計算機,以及如何編制CheckSum效驗碼以實現錯誤檢查。
2 數據采集
數據采集工作完全是在下位機進行的,可通過對單片機編寫控制程序已完成信號的采集和處理任務,主程序流程如圖2所示。
除主程序外,程序中還設置了實現多路信號巡檢的1 s中斷程序模塊;將A/D轉換結果送人單片機進行處理的A/D轉換完成中斷程序模塊;實現數據串行傳輸的USART中斷程序模塊;以及實現按鍵報警,數據處理等功能的子程序模塊。
A/D轉換結束后,在ADC數據寄存器中可以取得轉換的結果,對于單端輸入的A/D轉換,其轉換結果為:
其中,Vin表示選定的輸入引腳上的電壓,Vref表示選定的參考電源的電壓。0x000表示輸入引腳的電壓為模擬地,Ox3FF表示輸入引腳的電壓為參考電壓值減去一個LSB。
評論