您現(xiàn)在的位置:中國農(nóng)業(yè)儀器網(wǎng) > 技術(shù)文章 > 基于單片機(jī)程序的二氧化碳檢測儀主程序開發(fā)方案
基于單片機(jī)程序的二氧化碳檢測儀主程序開發(fā)方案
二氧化碳檢測儀在工業(yè)、農(nóng)業(yè)、醫(yī)藥、環(huán)境保護(hù)等都有著重要意義。采用單片機(jī)進(jìn)行二氧化碳濃度檢測、顯示、實時控制能夠提高生產(chǎn)效率、節(jié)約能源。另外在工業(yè)現(xiàn)場,往往需要完成信號的長線傳輸,如果傳輸?shù)男盘柺请妷盒盘?傳輸線會受到噪聲的干擾,傳輸線的分布電阻會產(chǎn)生電壓降,為了解決上述問題和避開相關(guān)噪聲的影響,考慮用電流來傳輸信號,因為電流對噪聲并不敏感。為此,對本文介紹一種利用MSP430F169 單片控制的二氧化碳檢測系統(tǒng),并帶有三線制4~20mA 電流輸出,還可以用標(biāo)準(zhǔn)的Modbus 協(xié)議與上位機(jī)通訊。
1 系統(tǒng)的硬件設(shè)計
圖1 是該系統(tǒng)的框圖。單片機(jī)通過串行通訊口讀取二氧化碳傳感器送來的信號(濃度值),經(jīng)過內(nèi)部處理后用LCD 顯示,同時轉(zhuǎn)化為相應(yīng)的4~20mA 電流輸出, 或者將二氧化碳濃度值通過RS485 串口送到上位機(jī)。同時單片機(jī)將采樣到的信號與系統(tǒng)設(shè)定的報警點比較,控制相應(yīng)的繼電器的吸合。另外還可以用按鍵或者上位機(jī)軟件通過RS485 串口修改系統(tǒng)參數(shù):海拔、報警點、通訊地址、通訊波特率、ABC 邏輯、密碼、輸出電流標(biāo)定。
1.1 CPU 及其外圍電路接口
為了最大限度地利用單片機(jī)端口和片內(nèi)外設(shè)并降低設(shè)計成本,本系統(tǒng)選用MSP430F169。該單片機(jī)具有極低的功耗、強大的處理能力、豐富的片上外圍模塊、方便高效的開發(fā)方式等特點。它有兩個16 位定時器,內(nèi)置一個12 位AD 轉(zhuǎn)換器和一個雙12 位DA 轉(zhuǎn)換器,兩個串行通訊接口,60KB 的FLASH,完全滿足于本系統(tǒng)的需要。CPU 采用內(nèi)部1MHz 晶振。單片機(jī)通過SPI 模式控制LCD的工作, 通過外部中斷來識別四個按鍵的狀態(tài)。單片機(jī)的P6.2口和P6.3 口分別控制兩路繼電器的吸合。另外分別用單片機(jī)的兩個串口與二氧化碳傳感器和485 通信通信。
1.2 傳感器電路
本設(shè)計采用美國Telaire 公司生產(chǎn)的紅外吸收型傳感器6004。該傳感器利用非分光紅外(NDIR)原理檢測二氧化碳濃度,由一個鍍金封裝的光學(xué)系統(tǒng)和其它嚴(yán)格篩選的信號放大和處理元器件組成。其測量范圍為:0~5000ppm;測量精度:在22℃時與工廠標(biāo)準(zhǔn)氣體相比誤差約±40ppm 或者讀數(shù)的3%;響應(yīng)時間:小于2 分鐘即可達(dá)典型階躍變化的90%;信號變化周期:每2 秒鐘。最高功耗為150mA,平均功耗30mA。6004 傳感器模塊有下面兩種輸出方式: 模擬量輸出:0~4VDC;數(shù)字口口:SPI/Microwire 或者UART(9600bps),它有相應(yīng)的通訊協(xié)議。目前市場上大部分產(chǎn)品都是檢測模擬輸出信號,信號處理簡單。這里考慮到數(shù)字輸出比模擬輸出精度高并且抗干擾性好,本設(shè)計采用UART 接口來讀取傳感器輸出的數(shù)字信號。由于6004 與MSP430F169 的電平不兼容, 將6004 的串行輸出端(TDX)通過電阻分壓接到MSP430F169 的P3.7(URXD1)口,6004的串行輸入端(RDX)經(jīng)過一個高速光耦芯片HCPL0631 升壓接到MSP430F169 的P3.6 (UTXD1)口。具體電路見圖2。
1.3 三線制電流輸出模塊4~20mA 電流環(huán)有兩種類型:二線制和三線制。本系統(tǒng)采用三線制。如圖3 是一個V-I 轉(zhuǎn)化電路,提供一路三線制4~20mA的電流輸出。圖中U4 使用的是TLE2022 運放,這是一款精密、高速、低功耗的運算放大器,與類似的器件相比,它在單位增益帶寬和斜升率方面作了很大的改進(jìn), 該器件即使在溫度發(fā)生變化和使用了許多年的情況下仍能保持高精度。這里用+24V 和-5V 的電源對TLE2022 供電, 采用負(fù)電源供電能讓運放輸出比較寬的控制電壓,保證運放能輸出0V 電壓,因為有些運放輸出0V 時在供電正時,不能輸出0V,總是高1 到2 伏。并且運放也能接收負(fù)壓信號輸入,尤其是交流電壓信號。該電路在保證V-I 變換精度高的同時,顯著提高了抗負(fù)載變化能力。分析電路可知:所以為了獲得4~20mA 的輸出電流, 經(jīng)單片機(jī)DA 轉(zhuǎn)換輸出的電壓控制在0.2~1V1.4 RS485 通訊模塊通訊模塊實現(xiàn)了單片機(jī)與上位機(jī)之間長距離數(shù)據(jù)通訊。系統(tǒng)直接通過單片機(jī)的USART0 與MAX3485 芯片通訊,按照標(biāo)準(zhǔn)的MODBUS 協(xié)議與上位機(jī)進(jìn)行通訊。如圖4,MAX3485 的串行輸出端(TXD485)接到MSP430F169 的P3.4(UTXD0)口,串行輸入端(RXD485)接到MSP430F169 的P3.5(URXD0)口。MSP430F169的P6.4 口與KCOM,用于使能MAX3485 串行輸入輸出。
3 軟件設(shè)計
本系統(tǒng)程序用C 語言編寫,圖5 是主程序流程圖。
3.1 單片機(jī)與6004 之間的通訊
單片機(jī)與6004 之間采用Telaire 特定的通訊協(xié)議。它們之間的主要操作就是讀6004 狀態(tài),讀CO2 濃度值,設(shè)置海拔高度,設(shè)置ABC 邏輯。系統(tǒng)上電后,讀6004 的狀態(tài),直到讀到6004 預(yù)熱完畢,才能開始讀傳感器的濃度值,每2S 讀一次。
3.2 單片機(jī)與485 之間的通訊
單片機(jī)與485 之間采用標(biāo)準(zhǔn)的MODBUS 協(xié)議進(jìn)行通訊,主要完成讀取CO2 濃度、讀報警點狀態(tài)、讀繼電器狀態(tài),修改系統(tǒng)參數(shù)。Modbus 分為兩種傳輸模式:ASCII 和RTU。這里選用RTU傳輸模式,這種方式的主要優(yōu)點是:在同樣的波特率下,可以比ASCII 方式傳送更多的數(shù)據(jù)。
4 結(jié)束語
本系統(tǒng)測量準(zhǔn)確、有好的人機(jī)界面,操作智能化,系統(tǒng)運行可靠,可廣泛的應(yīng)用于商用樓宇控制、空調(diào)管理、智能化住宅、商場、賓館,體育館,電影院、機(jī)場,網(wǎng)吧,溫室農(nóng)業(yè)大棚等等場合。本文作者創(chuàng)新點:選用了紅外吸收型傳感器,讀取它的數(shù)字輸出信號,精度高且抗干擾性好。采用了一種新穎的三線制電流輸出電路,該電路精度高,抗負(fù)載變化能力強。采用標(biāo)準(zhǔn)的MODBUS 協(xié)議與上位機(jī)通訊.
相關(guān)產(chǎn)品:風(fēng)向風(fēng)速儀 光合有效輻射記錄儀 定氮儀
- 【中國農(nóng)業(yè)儀器網(wǎng)】聲明部分文章轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé),且不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。如涉及作品內(nèi)容、版權(quán)和其它問題,請在30日內(nèi)與本網(wǎng)聯(lián)系。
- 上一篇:徐州市三年土壤墑情變化趨勢研究
- 下一篇:殺蟲燈對溫室害蟲的誘殺效果實驗