基于單片機(jī)的水質(zhì)監(jiān)測系統(tǒng)的設(shè)計
1.2 傳感器模塊
傳感器模塊就是利用各種傳感器測量水質(zhì)參數(shù),由于系統(tǒng)采用的是多機(jī)通信,為了簡化數(shù)據(jù)通信要求,提高通信的可靠性,在系統(tǒng)設(shè)計中將測量的水質(zhì)參數(shù)首先存儲到雙口RAM DS1609。DS1609是具有256字節(jié)的雙端口隨機(jī)存取存儲器,它在一個存儲器器件上連接了兩個可異步操作的地址總線數(shù)據(jù)總線,兩個端口都有各自獨(dú)立的RAM控制信號,可以無限制地訪問所有256字節(jié)的存儲單元。DS1609與C8051F040接口如圖4所示。本文引用地址:http://www.ex-cimer.com/article/171163.htm
1.3 RS485接口模塊
本系統(tǒng)通信采用RS485總線技術(shù),接口電路采用MAX483E作為收發(fā)器。MAX483E采用單一的5 V電源供電,是適用于工業(yè)現(xiàn)場環(huán)境下RS485通信的低功率收發(fā)器,它包括一個驅(qū)動器和一個接受器。每一個驅(qū)動器輸出和接受器輸入都具有保護(hù),能抗15 kV靜電放電,在高達(dá)250 kbps速率下可實現(xiàn)無誤差的數(shù)據(jù)傳輸。
2 系統(tǒng)軟件設(shè)計
2.1 Modbus通信協(xié)議
設(shè)計的水質(zhì)監(jiān)測系統(tǒng)通信方式是采用RS-485總線的Modbus協(xié)議。Modbus是一種串行通信協(xié)議,此協(xié)議定義了一個消息結(jié)構(gòu)。在應(yīng)用層上,Modbus是一個請求/應(yīng)答協(xié)議,并且提供功能碼規(guī)定的服務(wù)。Modbus分為兩種傳輸模式,ASCII和RTU模式。Modbus協(xié)議在一個網(wǎng)絡(luò)上的所有設(shè)備,都必須選擇相同的傳輸模式和串口參數(shù),本系統(tǒng)的數(shù)據(jù)通信模式采用RTU模式。
2.2 監(jiān)測系統(tǒng)軟件流程
上電后,上位機(jī)主動發(fā)送握手幀給下位機(jī)。如果連接正確,上位機(jī)會收到下位機(jī)的握手應(yīng)答幀,收到后進(jìn)入正常的通訊模式。如果收不到或者出錯,上位機(jī)在連續(xù)發(fā)送10次后產(chǎn)生報警信息,說明通信出故障了。在正常的通信模式,上位機(jī)根據(jù)地址依次查詢各監(jiān)測機(jī)的狀態(tài),當(dāng)監(jiān)測機(jī)處于聯(lián)機(jī)狀態(tài)時,則發(fā)送操作指令,否則轉(zhuǎn)去查詢下一臺監(jiān)測機(jī)的聯(lián)機(jī)狀態(tài)。在監(jiān)測系統(tǒng)平臺上,軟件流程圖如圖5所示。
2.3 監(jiān)測系統(tǒng)地址確認(rèn)
主從機(jī)在進(jìn)行數(shù)據(jù)通信之前,需要進(jìn)行地址確認(rèn),目的就是讓上位機(jī)知道采集的水質(zhì)參數(shù)來自哪一個監(jiān)測系統(tǒng)。
上位機(jī)首先發(fā)送地址編號到所有監(jiān)測系統(tǒng),各監(jiān)測系統(tǒng)核對地址,若地址不匹配,就繼續(xù)等待上位機(jī)的呼叫,若地址匹配,則向上位機(jī)發(fā)送應(yīng)答地址。
3 結(jié)束語
本文結(jié)合單片機(jī)技術(shù)和RS485總線技術(shù)實現(xiàn)了對多點(diǎn)水質(zhì)進(jìn)行監(jiān)測,在實驗調(diào)試中驗證了本系統(tǒng)采集數(shù)據(jù)的準(zhǔn)確性和通信的可靠性。本系統(tǒng)具有較強(qiáng)的實用性和可擴(kuò)展性,而且系統(tǒng)穩(wěn)定可靠,功耗較低,易于實現(xiàn),具有一定的應(yīng)用價值。
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
電子血壓計相關(guān)文章:電子血壓計原理
評論