<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)典型案例開(kāi)發(fā)(二)

          單片機(jī)典型案例開(kāi)發(fā)(二)

          作者: 時(shí)間:2012-05-28 來(lái)源:網(wǎng)絡(luò) 收藏

            

            圖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。

            該系統(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ì)#e#

          三、一種智能化的溫濕度智能控制系統(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 技術(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ī)控制器,其外圍設(shè)備包括溫度、濕度檢測(cè)模塊, 溫、濕度輸出控制模塊,鍵盤(pán)輸入模塊、LCD顯示模塊及上下位機(jī)通信模塊、報(bào)警模塊等。其中外圍設(shè)備采用RS 485 串行通信接口方式和上位機(jī)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)交換, 用以實(shí)現(xiàn)向用戶發(fā)送信息, 用戶對(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)。控制信息同時(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)和通信模塊采用查詢方式實(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ù)字量濕度值。該濕度值稱為 相對(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è)模塊電路

          光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();