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