一、宿舍智能報(bào)警系統(tǒng)設(shè)計(jì)方案
摘要:該系統(tǒng)以凌陽(yáng)公司的16位單片機(jī)SPCE061A作為主控制器,通過(guò)煙霧傳感器與人體熱釋電紅外傳感器分別感應(yīng)煙霧與人體紅外信號(hào),通過(guò)單片機(jī)做出報(bào)警動(dòng)作。本系統(tǒng)設(shè)計(jì)主要是滿(mǎn)足宿舍自動(dòng)報(bào)警的需要,設(shè)計(jì)的目標(biāo)是要實(shí)現(xiàn)語(yǔ)音報(bào)警、時(shí)間設(shè)定和顯示、燈光報(bào)警并實(shí)現(xiàn)網(wǎng)絡(luò)報(bào)警等功能。
1 設(shè)計(jì)方案
1.1 主控制器的選擇
采用凌陽(yáng)公司的16位單片機(jī)SPCE061A作為主控制器。由于SPCE061A內(nèi)置有2 KB的SRAM和32 KB的內(nèi)存FLASH,能滿(mǎn)足本系統(tǒng)存儲(chǔ)密碼及各類(lèi)數(shù)據(jù)的要求,且CPU時(shí)鐘頻率高達(dá)49.152 MHz,能保證響應(yīng)的快速性,內(nèi)置的語(yǔ)音模塊更提高了系統(tǒng)人機(jī)界面的友好性。
1.2 異地監(jiān)控方案選擇
采用無(wú)線通信方式。使用無(wú)線收發(fā)模塊NRF2401進(jìn)行無(wú)線通信。這種通信方式不受線路長(zhǎng)短影響,主從站位置可任意設(shè)置,布置比較靈活。
1.3 貴重物品檢測(cè)方案選擇
門(mén)框?qū)捯话阍?~2 m,采用射頻收發(fā)模塊實(shí)現(xiàn)較為方便,將發(fā)射機(jī)附在貴重物品上,接收機(jī)固定在門(mén)口,當(dāng)貴重物品出入時(shí),即可進(jìn)行記錄。發(fā)射機(jī)與接收機(jī)電路結(jié)構(gòu)都較簡(jiǎn)單,體積小,攜帶方便。
1.4 系統(tǒng)總體框圖
根據(jù)上述設(shè)計(jì)思想,系統(tǒng)總體框圖如圖1所示。系統(tǒng)由上位機(jī)和下位機(jī)兩大部分組成。上位機(jī)進(jìn)行鍵盤(pán)輸入、語(yǔ)音提示、報(bào)警和人員物品進(jìn)出情況記錄。下位機(jī)進(jìn)行煙霧檢測(cè)、人體紅外檢測(cè)、貴重物品檢測(cè)、人員進(jìn)出情況檢測(cè)等數(shù)據(jù)采集工作。下位機(jī)通過(guò)無(wú)線收發(fā)模塊將檢測(cè)信號(hào)送入上位機(jī)。上位機(jī)進(jìn)行數(shù)據(jù)處理并作出相應(yīng)動(dòng)作。

?
圖1 系統(tǒng)總體框圖
2 理論分析與計(jì)算
2.1 物品檢測(cè)電路的計(jì)算
采用無(wú)線發(fā)射與接收方式進(jìn)行貴重物品檢測(cè),通信距離與發(fā)射功率、接收靈敏度和工作頻率有關(guān)。選用通信頻率為8MHz,電感為47μH。

?
2.2 控制方案分析
根據(jù)題目要求,為實(shí)現(xiàn)對(duì)宿舍安防情況進(jìn)行異地監(jiān)控,采用一主兩從的方式進(jìn)行模擬,其中主站可以實(shí)現(xiàn)對(duì)從站的搜索,實(shí)時(shí)顯示從站是否在線,并進(jìn)行信息的接收處理、顯示、記錄與報(bào)警,從站進(jìn)行信息獲取與發(fā)送。主站上可實(shí)現(xiàn)對(duì)從站信息的實(shí)時(shí)顯示,并將報(bào)警及貴重物品進(jìn)出信息存儲(chǔ)在主站的FLASH內(nèi),省去了外接存儲(chǔ)芯片,可方便地讀取與顯示。利用人體傳感器并通過(guò)對(duì)進(jìn)出宿舍的人員進(jìn)行計(jì)數(shù)來(lái)確定宿舍內(nèi)人數(shù),并提示鎖門(mén)。采用單片機(jī)內(nèi)部時(shí)鐘作為時(shí)間基準(zhǔn),通過(guò)鍵盤(pán)進(jìn)行時(shí)間設(shè)定,用以記錄報(bào)警時(shí)間。利用單片機(jī)內(nèi)部的語(yǔ)音模塊實(shí)現(xiàn)語(yǔ)音報(bào)警,直觀實(shí)用。這種控制方案充分利用了單片機(jī)的片內(nèi)資源,使用外部器件少,簡(jiǎn)單實(shí)用。
2.3 煙霧探測(cè)模塊
采用MQ-2煙霧傳感器,它具有探測(cè)范圍廣,靈敏度高,響應(yīng)恢復(fù)快,穩(wěn)定性?xún)?yōu),壽命長(zhǎng)等優(yōu)點(diǎn),配以簡(jiǎn)單的驅(qū)動(dòng)電路即可實(shí)現(xiàn)煙霧檢測(cè)。煙霧傳感器電路如圖2所示。當(dāng)未檢測(cè)到煙霧信號(hào)時(shí),比較器輸出低電平;當(dāng)傳感器檢測(cè)到煙霧信號(hào)時(shí),比較器輸出5 V高電平,報(bào)警器動(dòng)作。

?
圖2 煙霧傳感器結(jié)構(gòu)
2.4 人體紅外探測(cè)模塊
采用芯片BISS0001配以熱釋電紅外傳感器KBS-6B和少量外接元器件構(gòu)成被動(dòng)式紅外人體傳感器。加裝菲涅爾透鏡大大提高了檢測(cè)范圍,很好的滿(mǎn)足了人體檢測(cè)需求。當(dāng)有人從熱釋電傳感器通過(guò)時(shí),BISS0001的V.口輸出一正向脈沖,報(bào)警器動(dòng)作。電路結(jié)構(gòu)如圖3所示。

?
圖3 釋熱電紅外傳感器結(jié)構(gòu)
2.5 人員進(jìn)出檢測(cè)設(shè)計(jì)
采用前后放置的兩個(gè)紅外光電開(kāi)關(guān),通過(guò)對(duì)開(kāi)關(guān)順序的檢測(cè)確定人員進(jìn)/出宿舍。當(dāng)有人出宿舍時(shí)控制信號(hào)1先置高,然后控制信號(hào)2置高,通過(guò)對(duì)時(shí)序的判斷即可得出人員外出的結(jié)論。有人進(jìn)入時(shí)同理。檢測(cè)電路如圖4所示。

?
圖4 人員進(jìn)出檢測(cè)電路圖
2.6 貴重物品檢測(cè)設(shè)計(jì)
為達(dá)到貴重物品檢測(cè)的要求,將一單調(diào)諧回路諧振放大器至于卡片內(nèi),卡片掛在貴重物品上,卡片向外發(fā)出射頻信號(hào),當(dāng)其出入宿舍時(shí),與副邊線圈發(fā)生諧振,負(fù)載電壓發(fā)生變化,通過(guò)對(duì)負(fù)載的檢測(cè)即可記錄人員進(jìn)出情況。電路如圖5所示。

?
圖5 貴重物品檢測(cè)電路圖
3 程序設(shè)計(jì)
主站系統(tǒng)加電后進(jìn)行初始化并要求輸入密碼,密碼輸入正確即可對(duì)火災(zāi)、貴重物品、鍵盤(pán)等進(jìn)行監(jiān)控,并根據(jù)監(jiān)控的情況作出相應(yīng)的處理。從站加電初始化后即開(kāi)始對(duì)各個(gè)傳感器狀態(tài)進(jìn)行監(jiān)控并進(jìn)行數(shù)據(jù)發(fā)送。其程序流程如圖6所示。

?
圖6 主程序流程圖
4 測(cè)試數(shù)據(jù)與分析
4.1 測(cè)試儀器
測(cè)試儀器及型號(hào)如表1所示。

?
4.2 測(cè)試方法及測(cè)試數(shù)據(jù)
測(cè)試方法及測(cè)試數(shù)據(jù)如表2、表3所示。
表2的測(cè)試數(shù)據(jù)表明,煙霧傳感器性能良好。
表3顯示的測(cè)試數(shù)據(jù)符合設(shè)計(jì)要求。

?
5 結(jié)語(yǔ)
本系統(tǒng)通過(guò)測(cè)試較好地實(shí)現(xiàn)了設(shè)計(jì)的各項(xiàng)要求。主要?jiǎng)?chuàng)新是加入了語(yǔ)音報(bào)警功能,更加實(shí)用;加入從站搜索功能,可以實(shí)時(shí)顯示各從站的工作狀態(tài);加入無(wú)人看守功能,并能在特定時(shí)段發(fā)現(xiàn)人員活動(dòng)后立即發(fā)出報(bào)警;加入時(shí)鐘功能,可實(shí)現(xiàn)時(shí)間設(shè)定和顯示。
二、基于單片機(jī)控制的智能路燈模擬系統(tǒng)
1.實(shí)現(xiàn)功能
(1)支路控制器有時(shí)鐘功能,能設(shè)定、顯示開(kāi)關(guān)燈時(shí)間,并控制整條支路按時(shí)開(kāi)燈和關(guān)燈。
?。?)支路控制器應(yīng)能根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈。
?。?)支路控制器應(yīng)能根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài):當(dāng)可移動(dòng)物體M(在物體前端標(biāo)出定位點(diǎn),由定位點(diǎn)確定物體位置)由左至右到達(dá)S點(diǎn)時(shí),燈1亮;當(dāng)物體M到達(dá)B點(diǎn)時(shí),燈1滅,燈2亮;若物體M由右至左移動(dòng)時(shí),則亮燈次序與上相反。
(4)支路控制器能分別獨(dú)立控制每只路燈的開(kāi)燈和關(guān)燈時(shí)間。
(5)當(dāng)路燈出現(xiàn)故障時(shí)(燈不亮),支路控制器應(yīng)發(fā)出聲光報(bào)警信號(hào),并顯示有故障路燈的地址編號(hào)。
2.方案設(shè)計(jì)
本設(shè)計(jì)主要以STC89C52單片機(jī)為主體。其中,支路控制器模塊通過(guò)單片機(jī)來(lái)控制單元控制器1和單元控制器2,并完成顯示和聲光報(bào)警部分。用光敏傳感器感應(yīng)自然光的暗亮,將感應(yīng)結(jié)果送至支路控制器,進(jìn)而控制LED1和LED2的工作狀態(tài)。單元控制器1模塊控制可移動(dòng)物體M從S到B再到方向路燈變化過(guò)程。如當(dāng)可移動(dòng)物體M到達(dá)S處時(shí),紅外檢測(cè)可移動(dòng)物體M的位置,并將信號(hào)發(fā)送至單元控制器1。在支路控制器允許工作的同時(shí),單元控制器1打開(kāi)繼電器,由繼電器打開(kāi)功率可控恒流源,進(jìn)而實(shí)現(xiàn)自動(dòng)調(diào)節(jié)亮燈狀態(tài)。
圖1 模擬電路控制系統(tǒng)框圖
2.1 恒流源方案論證
采用程控分流實(shí)現(xiàn)電源的功率調(diào)節(jié)。由變壓器將220V的交流電轉(zhuǎn)化成直流電,電源通過(guò)整流橋到7809芯片得到+9V的電壓從而得到恒流源,再由7805芯片轉(zhuǎn)化成相應(yīng)的恒流源,所得功率在1W可調(diào)。其優(yōu)點(diǎn)是電路簡(jiǎn)易,容易搭建。缺點(diǎn)是性能不可靠,不穩(wěn)定。其構(gòu)圖如下圖2所示。
圖2 恒流源電路圖
2.2 系統(tǒng)軟件設(shè)計(jì)
本模擬路燈控制系統(tǒng)以支路控制器為主核心,編制軟件程序分別完成時(shí)鐘功能,顯示開(kāi)光燈的時(shí)間,控制支路的按時(shí)開(kāi)燈和關(guān)燈。并能根據(jù)環(huán)境明暗變化,自動(dòng)開(kāi)燈和關(guān)燈。支路控制器分別能控制每只路燈的開(kāi)燈和關(guān)燈時(shí)間。并能在路燈出現(xiàn)故障時(shí)發(fā)出聲光報(bào)警。其主流程見(jiàn)圖3。
圖3 主程序流程框圖
框圖中的S10、S11、S12、S13、S14、S15、S16分別是按鍵10、11、12、13、14、15、16(按鍵原理圖可見(jiàn)附錄4)。S10和S11控制模式1,S12控制模式2,S13控制模式3S,14控制模式4;S15控制LED1,S16控制LED2。
3 總結(jié)
本文設(shè)計(jì)了一個(gè)模擬路燈控制系統(tǒng),該控制系統(tǒng)包括1個(gè)支路控制器和2個(gè)單元控制器。本系統(tǒng)支路控制器和單元控制器均采用STC89S52單片機(jī)。
該系統(tǒng)具體完成的功能包括:支路控制器有時(shí)鐘功能、能根據(jù)環(huán)境明暗變化自動(dòng)開(kāi)燈和關(guān)燈、能根據(jù)交通情況自動(dòng)調(diào)節(jié)亮燈狀態(tài)、能分別獨(dú)立控制路燈的開(kāi)燈時(shí)間和關(guān)燈時(shí)間、能進(jìn)行路燈故障的報(bào)警、自制了單元控制器中的LED燈恒流驅(qū)動(dòng)電源、并可對(duì)該恒流電源的輸出功率進(jìn)行自動(dòng)或手動(dòng)調(diào)節(jié)。支路控制器根據(jù)環(huán)境的亮暗程度來(lái)決定是否將路將燈開(kāi)或關(guān);單元控制器會(huì)實(shí)時(shí)檢測(cè)路燈的故障情況,如有故障則及時(shí)將信息反饋至支路控制器,支路控制器啟動(dòng)報(bào)警;同時(shí)單元控制器還可以控制LED恒流源的輸出功率以調(diào)節(jié)路燈的亮暗程度,這一功能可進(jìn)一步拓展為根據(jù)環(huán)境的亮暗程度來(lái)調(diào)節(jié)路燈的亮暗程度,以節(jié)省電源功率。
三、一種智能化的溫濕度智能控制系統(tǒng)設(shè)計(jì)
溫、濕度控制廣泛應(yīng)用于人們的生產(chǎn)和生活中,對(duì)于農(nóng)產(chǎn)品種子來(lái)說(shuō),對(duì)環(huán)境溫度與濕度有著比較嚴(yán)格的要求。人們通常使用溫度計(jì)、濕度計(jì)來(lái)測(cè)量倉(cāng)庫(kù)的溫度和濕度,通過(guò)人工加熱、加濕、通風(fēng)和降溫等方法來(lái)控制倉(cāng)庫(kù)的溫、濕度,這種方法不但控制精度低、實(shí)時(shí)性差,而且操作人員的勞動(dòng)強(qiáng)度大。同時(shí)溫度與相對(duì)濕度的大幅度變化可能導(dǎo)致種子大范圍腐爛或者影響種子的發(fā)芽率,從而帶來(lái)極大的經(jīng)濟(jì)及財(cái)產(chǎn)損失。因此,保持適宜的倉(cāng)庫(kù)溫度、濕度對(duì)保證農(nóng)產(chǎn)品種子存儲(chǔ)質(zhì)量十分重要。
目前市場(chǎng)上的各種溫度控制設(shè)備大多只能根據(jù)簡(jiǎn)單的溫度變化規(guī)律制定控制算法,系統(tǒng)擴(kuò)展性較差。本系統(tǒng)采集了種子倉(cāng)庫(kù)所在地一年的溫度變化規(guī)律,并使用能適應(yīng)季節(jié)變化、節(jié)省能源的模糊控制算法, 結(jié)合AT89S51 單片機(jī)技術(shù)研制了一種穩(wěn)定性高、成本低的溫、濕度智能控制系統(tǒng),采用上、下位機(jī)控制結(jié)構(gòu),實(shí)現(xiàn)全方位智能化的倉(cāng)庫(kù)管理控制系統(tǒng)。
1 系統(tǒng)結(jié)構(gòu)及工作原理
該系統(tǒng)采用PC 機(jī)作為上位機(jī)監(jiān)控單元,AT89S51單片機(jī)作為下位機(jī)控制器,其外圍設(shè)備包括溫度、濕度檢測(cè)模塊, 溫、濕度輸出控制模塊,鍵盤(pán)輸入模塊、LCD顯示模塊及上下位機(jī)通信模塊、報(bào)警模塊等。其中外圍設(shè)備采用RS 485 串行通信接口方式和上位機(jī)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)交換, 用以實(shí)現(xiàn)向用戶(hù)發(fā)送信息, 用戶(hù)對(duì)設(shè)備進(jìn)行操作處理等功能。系統(tǒng)結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)可以通過(guò)鍵盤(pán)設(shè)定模塊或者上位機(jī)下裝模塊進(jìn)行系統(tǒng)給定值的設(shè)置來(lái)調(diào)整倉(cāng)庫(kù)溫、濕度控制范圍。溫度、濕度檢測(cè)模塊將倉(cāng)庫(kù)內(nèi)的溫、濕度信息傳到單片機(jī), 單片機(jī)根據(jù)實(shí)際情況發(fā)出控制信號(hào)驅(qū)動(dòng)控制模塊進(jìn)行相應(yīng)操作, 同時(shí)將當(dāng)前信息存儲(chǔ)到單片機(jī)相應(yīng)內(nèi)存單元中并上傳數(shù)據(jù)到上位機(jī)顯示及保存。當(dāng)溫度或者濕度超過(guò)設(shè)定的范圍上下限時(shí), 控制器將會(huì)啟動(dòng)或者停止相應(yīng)設(shè)備來(lái)調(diào)整環(huán)境濕度和溫度, 同時(shí)將各種調(diào)整信息在LCD 上顯示并發(fā)出報(bào)警信號(hào)??刂菩畔⑼瑫r(shí)在上位機(jī)顯示并報(bào)警, 建立控制日志保存。另外還可以設(shè)計(jì)一些通用接口, 為以后設(shè)備功能擴(kuò)展提供方便。
2 系統(tǒng)硬件設(shè)計(jì)
2. 1 控制器的設(shè)計(jì)
此系統(tǒng)下位機(jī)采用模塊化設(shè)計(jì), 由AT 89S51 主控芯片, 溫、濕度檢測(cè)模塊, 輸出控制模塊, 鍵盤(pán)輸入模塊,LCD 顯示模塊, 上下位機(jī)通信模塊等幾部分組成。溫、濕度檢測(cè)模塊使用數(shù)字溫度傳感器DS18B20 測(cè)量倉(cāng)庫(kù)的溫度, 使用溫、濕度傳感器SHT11 測(cè)量濕度。輸出控制模塊的控制信號(hào)由單片機(jī)控制器提供, 通過(guò)光電隔離器傳送信號(hào)到繼電器控制各執(zhí)行電機(jī)動(dòng)作來(lái)調(diào)節(jié)倉(cāng)庫(kù)的溫、濕度。單片機(jī)的P2. 0~ P2. 4 接口分別作為驅(qū)動(dòng)空調(diào)加熱制冷、循環(huán)風(fēng)機(jī)、排濕窗風(fēng)門(mén)的I/ O 接口。
在I/ O 接口輸出電平為0 時(shí), K1 開(kāi)關(guān)斷開(kāi), 相應(yīng)執(zhí)行電機(jī)不工作; 在I/ O接口輸出電平為1 時(shí), 光電隔離器輸出信號(hào)使K1 開(kāi)關(guān)閉合, 相應(yīng)執(zhí)行電機(jī)工作。鍵盤(pán)和通信模塊采用查詢(xún)方式實(shí)現(xiàn)對(duì)控制系統(tǒng)的設(shè)置, 從而達(dá)到對(duì)系統(tǒng)溫、濕度值和其限定范圍的及時(shí)調(diào)節(jié)。如果出現(xiàn)異常情況, 設(shè)備將立即通過(guò)RS 485 將事件傳送給遠(yuǎn)程主機(jī), 發(fā)出報(bào)警信號(hào)。
2. 2 溫度檢測(cè)模塊
此系統(tǒng)的溫度檢測(cè)模塊根據(jù)倉(cāng)庫(kù)面積的大小可增加多處檢測(cè)點(diǎn), 而數(shù)字溫度傳感器DS18B20就具有支持多點(diǎn)組網(wǎng)的功能, 可將多個(gè)DS18B20 并連在惟一的三線上, 實(shí)現(xiàn)多點(diǎn)溫度檢測(cè), 其測(cè)溫范圍為- 55~+ 125 , 固有測(cè)溫分辨率為0. 5 , 工作電源為DC 3~ 5 V, 測(cè)量結(jié)果以9~ 12 位數(shù)字量的方式串行傳送。其檢測(cè)電路如圖2 所示。
圖2 溫度檢測(cè)模塊電路
2. 3 濕度檢測(cè)模塊
濕度測(cè)量模塊為了節(jié)省控制器I/ O 接口并方便以后的芯片功能擴(kuò)展, 采用SHT 11 溫、濕度傳感器。
此傳感器是高度集成, 將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/ D 轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上, 提供二線數(shù)字串行接口SCK 和DAT A, 接口簡(jiǎn)單, 支持CRC 傳輸校驗(yàn), 傳輸可靠性高, 測(cè)量精確度高, 由于同時(shí)集成溫、濕度傳感器, 可以提供溫度補(bǔ)償?shù)臐穸葴y(cè)量值和高質(zhì)量的露點(diǎn)計(jì)算功能。SHT 11 可通過(guò)DA TA數(shù)據(jù)總線直接輸出數(shù)字量濕度值。該濕度值稱(chēng)為 相對(duì)濕度!, 需要進(jìn)行線性補(bǔ)償和溫度補(bǔ)償后才能得到較為準(zhǔn)確的濕度值。由于相對(duì)濕度數(shù)字輸出特性呈一定的非線性, 因此為了補(bǔ)償濕度傳感器的非線性, 可按下式修正濕度值:
式中: RH linear為經(jīng)過(guò)線性補(bǔ)償后的濕度值; SORH 為相對(duì)濕度測(cè)量值; C1 , C2 , C3 為線性補(bǔ)償系數(shù), 取值如表1所列。
表1 濕度線性補(bǔ)償系數(shù)
而實(shí)際溫度和測(cè)試參考溫度25 有所不同, 所以對(duì)線性補(bǔ)償后的濕度值進(jìn)行溫度補(bǔ)償很有必要。補(bǔ)償公式如下:
式中: RH true為經(jīng)過(guò)線性補(bǔ)償和溫度補(bǔ)償后的濕度值; T為測(cè)試濕度值時(shí)的溫度( 單位: ℃ ) ; t1 和t2 為溫度補(bǔ)償系數(shù), 取值如表2 所示。
表2 濕度值溫度補(bǔ)償系數(shù)
具體濕度檢測(cè)模塊電路如圖3 所示。
圖3 濕度檢測(cè)模塊電路
2. 4 輸出驅(qū)動(dòng)控制模塊及報(bào)警模塊
輸出驅(qū)動(dòng)控制模塊通過(guò)控制芯片產(chǎn)生電信號(hào), 控制相應(yīng)的設(shè)備運(yùn)轉(zhuǎn)或者停止, 實(shí)現(xiàn)倉(cāng)庫(kù)溫度和濕度的自動(dòng)調(diào)節(jié)。當(dāng)檢測(cè)到的溫度和濕度值大于或小于設(shè)定值時(shí),報(bào)警模塊同時(shí)會(huì)發(fā)生報(bào)警信號(hào)通知用戶(hù)注意當(dāng)前狀況,必要時(shí)需采取相應(yīng)人工措施。
3 系統(tǒng)軟件設(shè)計(jì)
由于溫、濕度變化規(guī)律性不強(qiáng), 被檢測(cè)對(duì)象的溫、濕度具有非線性、熱慣性、時(shí)變性等特點(diǎn), 較難建立精確的數(shù)學(xué)模型。而模糊控制算法不需要建立精確的數(shù)學(xué)模型, 可依據(jù)人工實(shí)際操作經(jīng)驗(yàn), 將其抽象為一系列的控制算法后通過(guò)計(jì)算機(jī)完成控制過(guò)程, 具有控制動(dòng)態(tài)響應(yīng)好、超調(diào)小、穩(wěn)定性強(qiáng)等特點(diǎn)。
控制器可以自動(dòng)檢測(cè)晝夜、季節(jié)、室內(nèi)環(huán)境溫、濕度值的變化, 利用模糊算法實(shí)現(xiàn)自動(dòng)控制過(guò)程。倉(cāng)庫(kù)存儲(chǔ)土豆種子的溫度控制在- 1~ + 3℃ 之間, 相對(duì)濕度保持在45%~ 70% 較為適宜。
溫、濕度控制程序中, 溫、濕度各有2 個(gè)輸入數(shù)據(jù)和1 個(gè)輸出數(shù)據(jù)。e 為溫、濕度偏差;△e 為溫、濕度變化率; u 為輸出控制變量, 其值分別為:
其中: PL 表示負(fù)大; PM 表示負(fù)中; PS 表示負(fù)小; NS 表示正小; NM 表示正中; NL 表示正大。然后根據(jù)專(zhuān)家知識(shí)和操作人員的經(jīng)驗(yàn), 建立模糊控制表。其模糊關(guān)系可以用多個(gè)條件語(yǔ)句表示, 例如: IF e= NL and △e=NL then u= SM; 根據(jù)模糊推理進(jìn)行運(yùn)算, 即可推出控制結(jié)果。
在主程序中, 主要負(fù)責(zé)倉(cāng)庫(kù)中溫、濕度的實(shí)時(shí)顯示,讀取并處理傳感器測(cè)量的溫、濕度值, 當(dāng)實(shí)際值與事先設(shè)定的溫、濕度上下限值不同時(shí), 發(fā)出控制信號(hào), 驅(qū)動(dòng)輸出控制單元啟動(dòng)或停止執(zhí)行控制電機(jī), 同時(shí)發(fā)出報(bào)警信號(hào), 通知用戶(hù)當(dāng)前發(fā)生的狀況并作相應(yīng)控制日志記錄。
主程序流程圖和溫、濕度采集處理流程圖分別如圖4,圖5所示。
圖4 主程序流程圖
圖5 溫、濕度采集處理框圖
4 結(jié)語(yǔ)
采用模糊控制算法非常適合大型倉(cāng)庫(kù)中多點(diǎn)溫度和濕度的檢測(cè)與控制, 具有可靠性高、成本低廉、能耗低、反應(yīng)靈敏、以及可擴(kuò)展性好等特點(diǎn)。該設(shè)備具備一定的通用性, 經(jīng)過(guò)簡(jiǎn)單的改進(jìn), 就能服務(wù)于國(guó)防工業(yè)、農(nóng)業(yè)等生產(chǎn)上的各個(gè)方面。
四、基于AVR單片機(jī)的衛(wèi)星地面測(cè)控系統(tǒng)設(shè)計(jì)
本文介紹了單片機(jī)Atmega128在一種衛(wèi)星地面測(cè)控系統(tǒng)中的應(yīng)用,該系統(tǒng)利用Atmega128完成了10路模擬信號(hào)的測(cè)量、4路脈沖信號(hào)的頻率測(cè)量以及脈沖寬度的測(cè)量,由單片機(jī)上的16位定時(shí)計(jì)數(shù)器輸出兩路與輸入信號(hào)具有相位關(guān)系的信號(hào),并通過(guò)外擴(kuò)串口與其它測(cè)試模塊及工控機(jī)進(jìn)行通信。由于要求系統(tǒng)能夠連續(xù)穩(wěn)定工作3年,并且數(shù)據(jù)不能丟失,因此,在設(shè)計(jì)時(shí)采用了雙電源冗余熱備份的方案,并且采用兩個(gè)工控機(jī)同時(shí)接收數(shù)據(jù)并互為備份的設(shè)計(jì)方案。
硬件設(shè)計(jì)
Atmega128屬于Atmel公司的AVR系列單片機(jī),是一種高性能、低功耗的8位控制器,執(zhí)行大多數(shù)指令只需要一個(gè)時(shí)鐘周期。其最高主頻可達(dá)到16MHz;自帶128KB可在線編程的閃存、4KB的EEPROM、4KB的SRAM,程序可進(jìn)行加密;自帶JTAG接口,便于程序的調(diào)試;集成外設(shè):兩個(gè)8位定時(shí)計(jì)數(shù)器、兩個(gè)16位定時(shí)計(jì)數(shù)器、兩個(gè)8位PWM通道、6個(gè)16位PWM通道、8個(gè)10位 ADC通道、一個(gè)I2C接口、兩個(gè)可編程異步串行接口、一個(gè)SPI接口、一個(gè)看門(mén)狗定時(shí)器和8個(gè)外部中斷源。
衛(wèi)星地面測(cè)控系統(tǒng)主要由電源模塊、電子機(jī)箱、測(cè)試箱、工控機(jī)以及紅外地球敏感器構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖1所示。其中兩臺(tái)電源并聯(lián), 輸出串聯(lián)二極管。在整個(gè)測(cè)控系統(tǒng)中,測(cè)試箱的控制功能是通過(guò)Atmega128完成的。

?
測(cè)試箱的硬件原理如圖2所示。測(cè)試系統(tǒng)以AVR單片機(jī)為核心,外圍電路由串口通信、ADC采樣和DAC輸出等部分構(gòu)成。

單片機(jī)與工控機(jī)之間通過(guò)RS-232標(biāo)準(zhǔn)總線進(jìn)行數(shù)據(jù)通信,在設(shè)計(jì)中采用電平轉(zhuǎn)換芯片MAX202來(lái)實(shí)現(xiàn)二者的電平兼容。為了能夠和測(cè)試系統(tǒng)的其它模塊進(jìn)行串口通信,采用Xicor公司的雙串口芯片ST16C2552外擴(kuò)了兩個(gè)串口,由于與外擴(kuò)串口通信的是-12V~+12V的信號(hào),不是標(biāo)準(zhǔn)電平,因此,要另外設(shè)計(jì)電平轉(zhuǎn)換電路。使用Altera公司的可編程邏輯器件EPM7128實(shí)現(xiàn)對(duì)DAC和ADC的邏輯控制;使用BB公司的12位ADC實(shí)現(xiàn)對(duì)遙測(cè)信號(hào)的測(cè)量;采用BB公司的12位DAC芯片DAC7615產(chǎn)生電地球波信號(hào)。
具體功能如下:
ADC測(cè)量:將輸入的10路模擬信號(hào)經(jīng)過(guò)阻抗匹配后連接到通道選擇器,再接到ADC芯片ADS7835的信號(hào)輸入端,ADC的輸出信號(hào)以及控制信號(hào)經(jīng)過(guò)光隔離接到EPLD邏輯,在邏輯內(nèi)部實(shí)現(xiàn)對(duì)ADC啟動(dòng)信號(hào)、轉(zhuǎn)換通道的選擇,以及對(duì)時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)的控制。
DAC 輸出:?jiǎn)纹瑱C(jī)通過(guò)邏輯芯片實(shí)現(xiàn)對(duì)DAC的片選、時(shí)鐘、數(shù)據(jù)等信號(hào)的控制,DAC的輸出信號(hào)通過(guò)光隔離后,再經(jīng)過(guò)運(yùn)算放大器進(jìn)行阻抗匹配后才接到整個(gè)測(cè)試系統(tǒng)的其它模塊。DAC參考電壓的穩(wěn)定性至關(guān)重要,如果參考電壓穩(wěn)定性差,將導(dǎo)致整個(gè)DAC的輸出波動(dòng)很大,達(dá)不到輸出精度要求,因此,通過(guò)一個(gè)穩(wěn)壓芯片 AD584給DAC提供參考電壓。
頻率測(cè)量:電測(cè)箱需要對(duì)2路基準(zhǔn)信號(hào)和2路光柵信號(hào)進(jìn)行測(cè)量,利用AVR單片機(jī)的外部中斷和計(jì)數(shù)器1、3實(shí)現(xiàn)測(cè)量。將2路基準(zhǔn)信號(hào)分別接到單片機(jī)的外中斷INT0和INT1,將光柵信號(hào)分別接到單片機(jī)的計(jì)數(shù)器1和3。在電測(cè)箱需要實(shí)現(xiàn)的各項(xiàng)功能中,電地球波的輸出是一個(gè)難點(diǎn),因?yàn)樾枰姷厍虿ǖ妮敵雠c基準(zhǔn)信號(hào)具有相位關(guān)系,并且要求輸出具有可變相位、幅度和斜率的信號(hào),本文通過(guò)計(jì)數(shù)器1和3的比較中斷實(shí)現(xiàn)電地球波的輸出。
串口通信:通過(guò)單片機(jī)自帶的兩個(gè)異步串口,并經(jīng)過(guò)電平轉(zhuǎn)換與上位工控機(jī)通信,通過(guò)雙串口芯片ST16C2552外擴(kuò)兩個(gè)串口與測(cè)試系統(tǒng)的其它模塊通信,此外,為保證系統(tǒng)的可靠性,所有的信號(hào)均經(jīng)過(guò)光隔離。
軟件實(shí)現(xiàn)
單片機(jī)軟件
運(yùn)行在單片機(jī)的底層軟件主要負(fù)責(zé)ADC的采集、DAC的輸出以及串口的通信,下面詳細(xì)介紹各個(gè)部分:
1、 光柵頻率測(cè)量:測(cè)量模擬基準(zhǔn)一個(gè)周期內(nèi)的光柵個(gè)數(shù)
在程序中,每次進(jìn)入外中斷0的處理程序void int0_isr(void)(即基準(zhǔn)脈沖上升沿到來(lái)時(shí))調(diào)用void do_gd_opt_frq()函數(shù)測(cè)量光柵頻率。
在do_gd_opt_frq ()函數(shù)中,先把前一次讀取計(jì)數(shù)器1的計(jì)數(shù)值保存在全局變量time1_prev中,再讀取計(jì)數(shù)器1的值并保存在time1_next中,因?yàn)閮纱沃袛嗟拈g隔就是模擬基準(zhǔn)的周期,有一個(gè)光柵脈沖計(jì)數(shù)器1就加1,所以,前后兩次的差值就是一個(gè)模擬基準(zhǔn)周期內(nèi)光柵的個(gè)數(shù)。
2、 模擬基準(zhǔn)幅度
在INT0的中斷處理函數(shù)中置一個(gè)全局標(biāo)志refoa_gd_flag = 0xff,在一個(gè)100?s的定時(shí)器的中斷處理函數(shù)中查詢(xún)此全局標(biāo)志,若置位,則對(duì)模擬基準(zhǔn)的ADC通道連續(xù)采樣400次,采樣后清 refoa_gd_flag標(biāo)志并置采樣結(jié)束的標(biāo)志refoa_gd_finished = 0xff。在主程序main()函數(shù)中不斷查詢(xún)r(jià)efoa_gd_finished標(biāo)志,若置位,則調(diào)用do_refoa_high()函數(shù)求出模擬基準(zhǔn)幅度,然后清標(biāo)志。在do_refoa_high()函數(shù)中求出采樣400個(gè)點(diǎn)中的最大值和最小值,兩者之差即為模擬基準(zhǔn)幅度。
3、 模擬基準(zhǔn)周期:測(cè)量一個(gè)模擬基準(zhǔn)周期的毫秒值
在一個(gè)1ms的定時(shí)器溢出中斷處理函數(shù)中,全局的計(jì)數(shù)變量ref_gd_count加1,ref_gd_count初始化為0。在外中斷0的處理函數(shù) int0_isr()中讀取ref_gd_count的值,即為模擬基準(zhǔn)的周期,再把ref_gd_count清零。這樣,只有第一次測(cè)量值是無(wú)效的,以后均為有效的模擬基準(zhǔn)周期。
4、 模擬基準(zhǔn)寬度
在INT0的中斷處理函數(shù)中置全局變量refoa_width_gd_ count=0,在100?s的定時(shí)器中斷中查詢(xún)外中斷0的引腳是否為高電平,是高電平則refoa_width_gd_count加1,直至變?yōu)榈碗娖剑瑀efoa_width_gd_ count的值就是模擬基準(zhǔn)的寬度。
5、 電地球波
在do_ein()函數(shù)中處理工控機(jī)串口傳過(guò)來(lái)的電地球波信息,如果是停止電地球波命令(state=0),通過(guò)DA電地球波直接輸出高電平并清除電地球波使能標(biāo)志位ein_gd_enable。如果是開(kāi)始電地球波命令(state=1),把相位、寬度、幅值、斜率等信息賦給全局變量保存,并且計(jì)算出步距和斜率上各個(gè)點(diǎn)的輸出值,置位電地球波使能標(biāo)志 ein_gd_enable。
電地球波的產(chǎn)生是以模擬基準(zhǔn)為基準(zhǔn)的,在INT0的中斷處理函數(shù)中設(shè)置計(jì)數(shù)器的比較中斷并使能。
圖3中, T0與T1 之間是地球波的相位,T2與T5之間是地球波的寬度。在T1時(shí)刻進(jìn)入計(jì)數(shù)器1的比較中斷timer1_compa_isr(),全局變量 ein_count_gd初始化為0,若ein_count_gd不等于1,則設(shè)置比較中斷寄存器初值為下一步距點(diǎn),并通過(guò)DA輸出,若下一個(gè)比較中斷到來(lái)ige ein_count_gd不等于1,則繼續(xù)設(shè)置比較中斷寄存器初值為下一個(gè)步距,并輸出幅值,直到斜率上所有的幅值輸出完畢,置ein_count_gd 等于1并設(shè)置比較中斷寄存器,使T4進(jìn)入比較中斷。T4進(jìn)入比較中斷,并按照前述方法輸出斜率上所有的幅值,完畢則禁止比較中斷并置 ein_count_gd=0xff。

?
ADC采集和串口通信比較簡(jiǎn)單,這里不再贅述。
軟件編譯與下載
由于單片機(jī)程序是采用C語(yǔ)言設(shè)計(jì)完成的,因此,需要用Image Craft公司的ICCAVR編譯器進(jìn)行編譯,生成COF文件,再用AVR STUDIO調(diào)試軟件和雙龍公司的AVR JTAG仿真器進(jìn)行調(diào)試。調(diào)試完成后,利用單片機(jī)的JTAG接口寫(xiě)入內(nèi)部閃存即可。
上位工控機(jī)軟件
運(yùn)行在工控機(jī)上的軟件主要負(fù)責(zé)處理AVR單片機(jī)通過(guò)串口傳送過(guò)來(lái)的數(shù)據(jù)并進(jìn)行超差、報(bào)警的檢查,然后把數(shù)據(jù)存儲(chǔ)在ACCESS數(shù)據(jù)庫(kù)中,以便查看。該軟件能夠設(shè)置電地球波的幅度、寬度、相位,并能自主控制電地球波的產(chǎn)生或停止。
上位工控機(jī)軟件采用VC6.0編寫(xiě),其中的數(shù)據(jù)庫(kù)部分采用ADO技術(shù)。ADO是Microsoft公司為最新和最強(qiáng)大的數(shù)據(jù)訪問(wèn)范例 OLE DB 而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌?。ADO 最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少且磁盤(pán)遺跡小。
結(jié)語(yǔ)
本文介紹的系統(tǒng)使用了很多Atmega128的外圍資源,并通過(guò)Atmega128提供的定時(shí)計(jì)數(shù)器的比較中斷解決了系統(tǒng)設(shè)計(jì)中的難題。
評(píng)論