一種基于MSP430F1232的溫濕度檢測系統(tǒng)
隨著社會經(jīng)濟(jì)的發(fā)展和科學(xué)技術(shù)的不斷進(jìn)步,許多情況下都需要對環(huán)境的溫濕度進(jìn)行限定,因此,必須在某些特定環(huán)境安裝溫濕度報警器以進(jìn)行監(jiān)控。為此,本文利用集成溫濕度傳感器HM1500的測溫快速、使用簡便等特點,同時結(jié)合MSP430單片機強大的功能,設(shè)計了一個監(jiān)控系統(tǒng)來對溫濕度進(jìn)行實時監(jiān)控以進(jìn)行超限報警。本系統(tǒng)測量準(zhǔn)確、調(diào)試方便、可實時記錄報警信息、方便工作人員排故,并可廣泛應(yīng)用于條件惡劣、人員不便進(jìn)入的場合。
1 系統(tǒng)結(jié)構(gòu)和總體設(shè)計方案
本系統(tǒng)的總體設(shè)計方案如圖1所示。本方案采用分別設(shè)計溫度和濕度采樣電路的方法,將集成溫度傳感器AD590采集得到的電流信號和濕度傳感器HM1500采集到的電壓信號轉(zhuǎn)換為給定范圍內(nèi)的電壓信號。然后由單片機MSP430F1232的AD采樣端口將該電壓信號讀入,如果溫度小于門限值或者濕度大于門限值就給出報警信號。門限值可以通過按鍵進(jìn)行設(shè)定。同時,系統(tǒng)還可以通過中斷方式按給定協(xié)議將采集到的溫濕度值送給上位機。
2 器件選擇
2.1 MSP430F1232單片機
MSP430系列單片機是TI公司推出的功能強大的超低功耗16位混合信號處理器。該系列單片機以其極低的功耗、強大的處理能力、豐富的片上外圍模塊、方便高效的開發(fā)方式等特點,被廣泛應(yīng)用于便攜式儀表、智能傳感器、實用檢測儀器、電機控制等領(lǐng)域。為了最大限度地利用單片機端口和片內(nèi)外設(shè)并降低設(shè)計成本,本設(shè)計選用MSP430F1232,該單片機有3個并行端口,一個RS485串行通訊口,同時內(nèi)置10位AD采樣器,可完全滿足溫濕度采樣的精度要求。
2.2 AD590溫度傳感器
AD590是美國AD公司生產(chǎn)的二端式集成溫度一電流傳感器,該器件體積小、重量輕、性能穩(wěn)定。測溫范圍為-50~+150℃;線性電流輸出為1μA/K;線性度好,測量精度為0.3℃;電源電壓范圍為4~30 V。當(dāng)電源電壓在5~10 V之間,電壓穩(wěn)定度為1%時,其誤差只有0.1℃。
2.3 HM1500濕度傳感器
線性電壓輸出式集成濕度傳感器HM1500采用獲得專利的濕敏電容HS1101設(shè)計制造,其濕度測量范圍為5%~99%(相對濕度);相對濕度精度為3%;工作溫度為-30~+60℃;工作濕度范圍為0~100%(相對濕度);供電電壓為5V(最大電壓DC16V);可輸出DC電壓為1~4 V;響應(yīng)時間為5s,適用于工業(yè)級場合。
3 信號調(diào)理電路設(shè)計
3.1 溫度測量電路設(shè)計
考慮到AD590溫度傳感器的輸出電流源特性,設(shè)計的溫度信號測量電路如圖2所示。該電路的溫度測量范圍為-10~+500℃。AD590采用15V電壓供電;電阻R1用于調(diào)整零點;電阻R3為精密電阻,用來調(diào)整增益。運放的同向端輸入2.50V精密參考電壓,該電壓由TL431提供。IN端輸入AD590的電流,OUT端輸出為相應(yīng)轉(zhuǎn)換所得到的電壓。根據(jù)AD590的特性,在-10℃時,流過電流為262.2μA,設(shè)計使這部分電流全部流過R1、R2,而其后增加的電流均流過R3,OUT端的輸出電壓為:
當(dāng)溫度在-10~+50℃之間變化時,該電壓就在2.5~0V之間反向線性變化,調(diào)節(jié)R1的阻值大小可以消除不同傳感器的零點誤差。
3.2 濕度測量電路設(shè)計
集成濕度傳感器HM1500的輸出電壓在1~4 V間隨濕度線性變化,考慮到本系統(tǒng)的單電源特點,設(shè)計的濕度信號采集電路如圖3所示,該電路的測濕范圍為0~100%。
由于該電路中沒有負(fù)壓,電路的主體采用差分式減法電路,精密電阻R3=R6=2.4kΩ,R4=R7=2kΩ,用這四個電阻可調(diào)節(jié)增益。通過HM1500傳感器測量所得到的濕度電壓信號從IN端輸入。差分的另一側(cè)輸入Vs。由TL431提供2.5 V的精密電壓分壓后可得到1.0 V左右的電壓。并由此可以得到輸出電壓的計算公式為:
若輸入電壓在1~4 V之間變化,則輸出電壓就相應(yīng)在0~2.5 V之間變化。調(diào)節(jié)R1可以消除不同的濕度傳感器的零點誤差。
4 顯示存儲和串行通訊電路設(shè)計
本系統(tǒng)采用3個獨立按鍵和四位七段數(shù)碼管動態(tài)掃描顯示的方式,數(shù)據(jù)存儲采用。EEPROM芯片AT24C02來存儲設(shè)定的溫濕度傳感器地址、溫濕度報警門限值,以及報警記錄。采集到的各種數(shù)據(jù)和存儲的報警信息可以按照指定的協(xié)議傳送給上位主控制器進(jìn)行處理。
圖4所示是該系統(tǒng)中的按鍵顯示、數(shù)據(jù)存儲和串行通訊電路。圖中,當(dāng)單片機從ADIN1和ADIN2口采集到溫濕度數(shù)據(jù)以后,首先把濕度值送到數(shù)碼管顯示,同時點亮濕度指示燈,表示現(xiàn)在顯示的是濕度。通過按2號鍵和3號鍵可以切換溫濕度顯示,其中2號鍵顯示濕度,3號鍵顯示溫度,顯示溫度時同樣會點亮相應(yīng)的指示燈。如果檢測到溫濕度超過門限,則點亮報警燈,以表示數(shù)據(jù)超限。按1號鍵可以進(jìn)行相應(yīng)溫濕度門限和傳感器地址的設(shè)定。數(shù)據(jù)設(shè)定完成以后,可通過兩個IO口編程模擬I2C總線協(xié)議以把數(shù)據(jù)存入指定位置,從而使斷電后再開機時,數(shù)據(jù)能正常讀出。由于單片機IO口有限,該系統(tǒng)又采用兩片SN74HC373芯片擴(kuò)展了8個IO口以滿足設(shè)計要求。為了保證電平兼容,這部分電路均采用3.3V電壓供電。數(shù)據(jù)采集轉(zhuǎn)換完成以后,系統(tǒng)可直接通過單片機的UASRT(異步串行通訊口)接到MAX3485通訊芯片,以便按照指定的協(xié)議把數(shù)據(jù)傳送給上位機。
5 軟件設(shè)計
本系統(tǒng)的軟件設(shè)計采用C語言編寫,主要通過MSP430F1232單片機的10位AD采樣模塊讀人端口溫濕度電壓信號,并按照相應(yīng)轉(zhuǎn)換公式轉(zhuǎn)化成實際溫濕度數(shù)值并存儲。然后根據(jù)需要將其送到數(shù)碼管顯示或者通過RS485串口送給上位機。另外,該軟件還可進(jìn)行模擬I2C總線的數(shù)據(jù)存儲。
圖5為該系統(tǒng)的主循環(huán)流程。系統(tǒng)上電以后,首先讀取存在EEPROM中的地址和溫濕度門限值,然后進(jìn)入循環(huán)狀態(tài)進(jìn)行溫濕度信號采樣,接著對采集得到的數(shù)據(jù)進(jìn)行處理并存儲,同時在循環(huán)中對按鍵標(biāo)志位進(jìn)行判斷。如果被置位,則執(zhí)行相應(yīng)的按鍵處理。
圖6為該系統(tǒng)的定時器中斷流程。當(dāng)系統(tǒng)進(jìn)入中斷以后,首先通過判斷相應(yīng)的IO口輸入電平是否跳低來判斷是否有鍵按下,如果有鍵按下,則進(jìn)一步判斷是哪一個鍵,接著存儲該鍵位并將按鍵標(biāo)志位置位。之后再調(diào)用顯示刷新程序,將最新采集到的數(shù)據(jù)送到數(shù)碼管顯示。最后判斷采集到的數(shù)據(jù)是否超出門限,并相應(yīng)點亮指示燈或者報警燈。執(zhí)行完以上操作后中斷返回。
6 結(jié)束語
本系統(tǒng)最大的特點是測量準(zhǔn)確、結(jié)構(gòu)簡單、調(diào)試使用方便、性價比高、可以單獨使用,也可以和上位機連接。為了確保整個系統(tǒng)運行的穩(wěn)定性,本系統(tǒng)還用硬件設(shè)計上采用了單片機上電復(fù)位電路,而在軟件設(shè)計中則加入了看門狗和軟件陷阱。實驗證明,該裝置運行可靠,測量誤差小,具有很好的應(yīng)用效果,因此,可以廣泛應(yīng)用于工業(yè)環(huán)境中對溫度或者濕度有超限報警要求的場合。
評論