基于51單片機(jī)的溫室測試系統(tǒng)設(shè)計
本系統(tǒng)是溫室群的監(jiān)控系統(tǒng),它是由多臺前沿機(jī)和主控機(jī)構(gòu)成的網(wǎng)絡(luò)組成的。因此系統(tǒng)的狀態(tài)監(jiān)視、環(huán)境控制等都是通過網(wǎng)絡(luò)通信來實現(xiàn)的。所以,前沿機(jī)的通信電路是系統(tǒng)重要組成部分。
溫室群環(huán)境監(jiān)控系統(tǒng)的實時性要求不高,傳輸?shù)男畔⒘恳膊惶螅虼舜挟惒酵ㄓ嵖梢詽M足其通訊需求,并且具有線路簡單,易于實現(xiàn)的優(yōu)點(diǎn)。本系統(tǒng)采異步通訊。溫室群環(huán)境監(jiān)控系統(tǒng)要求遠(yuǎn)距離數(shù)據(jù)傳送,對數(shù)據(jù)傳送速率要求不太高并要有一定的抗干擾能力,因此RS-422最適合系統(tǒng)的要求。適當(dāng)降低傳輸速率,如9600bit/s,可以使傳送距離達(dá)到1200m以上,完全滿足系統(tǒng)要求。主控機(jī)口通信采用主機(jī)板上空閑的標(biāo)準(zhǔn)25芯COM2 口,進(jìn)行電平轉(zhuǎn)換后掛接RS-422總線。使用這種轉(zhuǎn)換器時可以使用與RS-232相同的通訊軟件而無需進(jìn)行修改。其引腳定義如表8所列。
本系統(tǒng)采用RS-422與TTL電平轉(zhuǎn)換常用芯片:傳輸線驅(qū)動器SN75174;傳輸線接收器SN75175,SN75174是一具有三態(tài)輸出的單片四差分線驅(qū)動器。SN75175是具有三態(tài)輸山的單片四差分接收器。它們的設(shè)計符合EIA標(biāo)準(zhǔn)RS-422規(guī)范,適用于噪聲環(huán)境中總線線路較長的多點(diǎn)傳輸。芯片采用+5V電源,與其他芯片一致。通信線路采用標(biāo)準(zhǔn)RS-422九芯插接件。電路如圖5所示。
2.7 監(jiān)控網(wǎng)絡(luò)
本系統(tǒng)采用總線型監(jiān)控網(wǎng)絡(luò)??偩€型拓樸結(jié)構(gòu)如圖6所示。在總線型控制網(wǎng)絡(luò)中,主控站通過總線來訪問各個前沿機(jī)。只有主控站有權(quán)控制總線,而各前沿機(jī)則不可以,并且各個前沿機(jī)之間不能直接進(jìn)行通信。這種拓樸結(jié)構(gòu)的特點(diǎn)是:數(shù)字化的數(shù)據(jù)通過串行輸入/輸出總線進(jìn)行傳送;通訊協(xié)議采用RS232,RS422,RS485等;系統(tǒng)擴(kuò)展較為靈活:通信速率較低。
2.8 44780顯示模塊
本系統(tǒng)采用44780驅(qū)動的LCD,HD44780(KS0062)是用低功耗CMOS技術(shù)制造的大規(guī)模點(diǎn)陣LCD控制器(兼帶驅(qū)動器),和4bit/8bit微處理器相連,它能使點(diǎn)陣LCD顯示大小寫英文字母、數(shù)字和符號等豐富的信息,同時有較強(qiáng)的通用性應(yīng)用,使用方便,用戶能用少量元件就可組成一個完整點(diǎn)陣LCD系統(tǒng),送入相關(guān)的數(shù)據(jù)和指令即可實現(xiàn)所需的顯示。
44780顯示模塊有8條數(shù)據(jù)線,3條控制線,可與微處理器或微控制器相連,通過送入數(shù)據(jù)和指令,就可使模塊正常工作,44780顯示模塊和89C51單片機(jī)連接電路如圖7所示。
2.9 抗干擾設(shè)計
在微機(jī)測控系統(tǒng)中,系統(tǒng)抗干擾性能的好壞直接影響到整個系統(tǒng)工作的可靠性與安全性。因此,抗干擾設(shè)計是系統(tǒng)設(shè)計的一個主要內(nèi)容,本系統(tǒng)采用的是由硬件和軟件相結(jié)合的抗干擾措施。
2.9.1 系統(tǒng)硬件抗干擾設(shè)計
(1) 濾波技術(shù)
將電源變壓器的進(jìn)線段加入濾波器,以消弱瞬變噪聲干擾;在直流電源線和地線之間接濾波電容,以抑制電源噪聲。
(2) 去耦電路
存印刷電路板的各個集成電路的電源線端與地線端之間配置去耦電容。
(3) 屏蔽技術(shù)
屏蔽技術(shù)主要由電場屏蔽,電磁場屏蔽和磁場屏蔽三類,本系統(tǒng)是電場和電磁場
屏蔽的方法。主要使用低電阻材料作為屏蔽材料,把需要隔離的部分保衛(wèi)起來。磁場屏蔽則應(yīng)采用高導(dǎo)磁率的材料。
(4) 光電隔離:
再I/O通道上采用光電隔離器,將單片機(jī)系統(tǒng)與各種傳感器、開關(guān)從電器上隔離開來,很大一部分干擾可被阻擋
2.9.2系統(tǒng)軟件抗干擾設(shè)計
對于微機(jī)測控系統(tǒng),僅僅考慮硬件的抗干擾是遠(yuǎn)遠(yuǎn)不夠的,采取一定的軟件抗干擾措施非常必要,它不儀能降低系統(tǒng)的硬件成本,又可以充分發(fā)揮軟件的優(yōu)勢,使系統(tǒng)具有自我診斷,自我恢復(fù)的能力。本系統(tǒng)采用的軟件抗干擾措施主要有以下幾種:
(1) 數(shù)字濾波技術(shù),采用數(shù)字濾波技術(shù)除去輸入信號中所摻雜的各種隨機(jī)干擾。 (2) 軟件陷阱技術(shù),當(dāng)系統(tǒng)受劍干擾,PC值發(fā)生變化,程序亂飛等情況,可以用軟件陷阱和看門狗將程序拉回到復(fù)位狀態(tài)。具體的講,可以在RAM中埋一些標(biāo)志,在每次程序復(fù)位時,通過這些標(biāo)志,可以判斷復(fù)位原因并根據(jù)不同的標(biāo)志直接跳到相應(yīng)的程序。這樣可以使程序運(yùn)行有連續(xù)性,用戶在使用時也不易察覺到程序被重新復(fù)位過。
3 軟件設(shè)計
該系統(tǒng)軟件主要由主程序、中斷子程序、數(shù)據(jù)采集與A/D轉(zhuǎn)換子程序、顯示子程序、報警子程序等六大模塊組成,因為C語言編寫的軟件易于實現(xiàn)模塊化,生成的機(jī)器代碼質(zhì)量高、可讀性強(qiáng)、移植好,所以本系統(tǒng)的軟件采用C語言編寫,再KeilVision3 Demo版本的集成開發(fā)環(huán)境下進(jìn)行編譯連接。
3.1 主程序設(shè)計
主程序主要完成硬件初始化、子程序調(diào)用等功能,主程序流程圖如圖8所示。
3.2 數(shù)據(jù)采集子程序設(shè)計
數(shù)據(jù)采集與A/D轉(zhuǎn)換子程序根據(jù)輸入?yún)?shù)對相應(yīng)的模擬信號進(jìn)行采樣、量化及處理,并將相應(yīng)信號的數(shù)值返回主程序。
3.3 顯示子程序設(shè)計
顯示子程序完成符號、數(shù)值的顯示輸出。
3.4 報警子程序
主要實現(xiàn)異常情況下控制告警信號輸山。如當(dāng)室內(nèi)溫度升高到某一點(diǎn)時,或濕度低于某一規(guī)定值時,音頻報警裝置會發(fā)出不同頻率的告警信號,同時相應(yīng)的指示燈亮(點(diǎn)亮報警指示燈的任務(wù)由顯示子程序來完成),以引起工作人員的主意。
4 仿真與調(diào)試
4.1 仿真器選擇
本系統(tǒng)選用ME-52單片機(jī)仿真開發(fā)系統(tǒng),它實時仿真頻率高達(dá)33MHz,提供2~24MHz的時鐘信號。同時它提供64KB程序代碼存儲器,支持仿真所有程序和數(shù)據(jù)地地址空間,支持Franklin V3.XX/Keil 6.xx編譯連接工具。具有分別獨(dú)立控制項目文件的項目管理器。另外具有VC++風(fēng)格的窗口駐留,窗口動態(tài)切分和工作簿模式窗口界面。
4.2 仿真調(diào)試
在仿真調(diào)試階段,采用自底向上逐步集成的策略,逐模塊進(jìn)行仿真測試,在此基礎(chǔ)上逐步集成。譬如可先仿真顯示模塊、測溫子模塊、測濕度子模塊等,然后將仿真成功的模塊逐個加入主程序進(jìn)行仿真,在仿真過程中發(fā)現(xiàn)錯誤,采用分塊壓縮策略,快速找到并改正錯誤;注意在集成過程中出現(xiàn)問題,大多是由于模塊間資源使用沖突引起的。當(dāng)軟件模塊仿真成功后,可與硬件一起進(jìn)行在線仿真,此時在調(diào)試中出現(xiàn)的問題大多是由于連接線連接錯誤、虛焊、布線不合理等原因造成的。 隨著電子技術(shù)的廣泛應(yīng)用,智能溫室控制必將成為一種發(fā)展趨勢,文中提出利用51單片機(jī)和新型傳感器對溫室環(huán)境進(jìn)行測試,目前原型機(jī)己取得成功。調(diào)試結(jié)果表明,本系統(tǒng)可靠性高、使用方便,下一步將住此基礎(chǔ)上開發(fā)控制系統(tǒng),給用戶提供更大的方便。
評論