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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 淺論單片機在溫控系統(tǒng)中的應用

          淺論單片機在溫控系統(tǒng)中的應用

          作者: 時間:2009-08-28 來源:網(wǎng)絡 收藏
          一、在貯液容器中的
            該中以貯液容器溫度為被控參數(shù),蒸汽流量為控制參數(shù),輸入貯液容器冷物料的初溫為前饋控制,構成前饋一反饋控制。發(fā)揮前饋控制和反饋控制的各自優(yōu)勢,將可測而不可控的干擾由前饋控制克服,其他干擾由反饋控制克服,從而達到控制貯液容器溫度。滿足工藝要求的目的。
            (一)硬件設計。選AT89C51為主機,配以兩路傳感變送器、多路開關、A/D、D/A、V/I、調(diào)節(jié)閥等實現(xiàn)對貯液容器溫度的自動控制,同時還設有報警電路、鍵盤和顯示電路。系統(tǒng)在穩(wěn)態(tài)時,貯液容器的溫度恒定在工藝要求的數(shù)值不變。當冷物料的初始溫度與其設定值相比發(fā)生變化時,如果變化很小,將完全由前饋控制來克服這一變化給系統(tǒng)帶來的影響;如果變化大,前饋控制不能完全克服這一變化給系統(tǒng)帶來的影響,反饋控制則開始動作。當冷物料的初始溫度不變,而由其他干擾引起貯液容器的溫度發(fā)生變化時,只有反饋控制動作,最終使系統(tǒng)重新達到穩(wěn)態(tài)。
          1.前向通道的設計
            采用JUMU90系列的溫度傳感變送器,其輸入范圍為:0℃~500℃,輸出為4mA~20mA(DC),測量精度為0.5%.選用10位逐次逼近式A/D轉換芯片AD571[2],接收到有效的CONVERT命令后,內(nèi)部的逐次逼近寄存器從最高位開始順次經(jīng)電流輸出的DAC在比較器上與模擬量經(jīng)5k8電阻所產(chǎn)生的電流相比較。檢測完所有位后,SAP中包含轉換后的10位二進制碼。轉換完成后,SAP發(fā)出DR信號(低電平有效),查詢到DR=0時,便使其打開三態(tài)緩沖器輸出數(shù)據(jù)。
          2.后向通道的設計
           ?。?)D/A轉換器的設計。為了滿足系統(tǒng)的精度要求,選用10位的D/A轉換器DAC1020。由于其內(nèi)部不帶有鎖存器,所以必須通過I/O口才能與AT89C51單片機連接,又由于AT89C51的字長是8位的,一次操作只能傳輸8位數(shù)據(jù).因此AT89C51必須進行兩次操作才能把一個完整的10位數(shù)據(jù)送到AC1020。為了使10位數(shù)據(jù)能夠同時送人DAC1020,避免輸出電壓波形出現(xiàn)毛刺現(xiàn)象,故必須采用雙緩沖器方式。AT89C51先把高2位數(shù)據(jù)輸出到74LS74(1),接著把低8位數(shù)據(jù)輸出到74LS377,與此同時74LS377的片選信號也作為74LS74(2)的時鐘脈沖,把74IS74(1)的內(nèi)容打人74LS74(2)中,從而使一個完整的數(shù)據(jù)同時到達DAC1020的數(shù)據(jù)輸入端.這樣就消除了DAC輸出端的毛刺現(xiàn)象。
            (2)執(zhí)行器及調(diào)理電路的設計。系統(tǒng)中選用的是ZMAN16BG,ZGICr18Ni9Ti型號的對數(shù)流量特性的調(diào)節(jié)閥。閥的輸入信號為氣信號,而D/A轉換器的輸出為Ov~5V的電壓信號.所以在D/A轉換器和調(diào)節(jié)閥之間要加一個V/I轉換器和一個電氣閥門定位器,將0v~5v的電壓信號先轉換成4mA~20mA的電流信號后,再將4mA~20mA的電流信號轉換成0.0.2MPa~0.1MPa的氣信號。使調(diào)節(jié)閥接收氣信號而工作。
            (二)軟件設計。經(jīng)分析,系統(tǒng)軟件可采用結構化模塊程序設計,主要有系統(tǒng)主程序、看門狗中斷服務程序、鍵盤掃描子程序、顯示子程序、報警子程序、A/D轉換子程序、D/A轉換子程序、PID數(shù)據(jù)處理子程序、BCD碼轉換子程序。主程序開始后,先對單片機AT89C51和8155芯片進行初始化,接下來是開中斷,調(diào)用鍵盤掃描子程序,選通多路模擬開關的1號通道,將采集的數(shù)據(jù)送人A/D轉換器轉換后傳入單片機。若溫度越限就報警處理,否則直接處理后送顯示,再選通多路模擬開關的2號通道,將采集的數(shù)據(jù)送人A/D轉換器轉換后送人單片機進行總的運算處理,輸出給D/A轉換器變成模擬信號去改變調(diào)節(jié)閥的開度。
          二、單片機在汽車空調(diào)系統(tǒng)中的
           ?。ㄒ唬┯布到y(tǒng)。本系統(tǒng)選用ATMEL公司的AT89系列單片機中的AT89C52,AT89C52單片機是一種新型的低功耗、高性能且內(nèi)含8K字節(jié)閃電存儲器的8位CMOS微控制器,與工業(yè)標準MCS一51指令系列和引腳完全兼容。有超強的加密功能,其片內(nèi)閃電存儲器的編程與擦除完全用電實現(xiàn),數(shù)據(jù)不易揮發(fā),編程/擦除速度快。AT89C52芯片內(nèi)部有6個中斷源:兩個外部中斷INTO和INT1.三個定時器中斷(定時器0,1,2)和一個串行口中斷。在本系統(tǒng)中涉及到AT89C52芯片的中斷源有五個:分別是外部中斷INT1,定時/計數(shù)器T0,T1和T2以及串行口中斷。本測控系統(tǒng)采用電平激活方式,也即是INT1=0;一旦INT1引腳的采樣值為低電平,則TCON寄對于定時器TO和Tl,通過寄存器TMOD,TCON來控制和選擇定時/計數(shù)器的功能和操作模式。這些寄存器的內(nèi)容靠軟件設置,系統(tǒng)復位時,寄存器的所有位都被清零。而T2的工作是靠對T2CON寄存器進行軟件設置而定義的。本系統(tǒng)采用定時TO來計算車廂溫度采集的時間間隔,設置為工作方式1,即l6位計數(shù)定時方式:定時Tl作波特率發(fā)生器使用,選擇在工作方式2,即8位自動加載方式;定時器T2用于確定混合風門步進電機輸入脈沖的頻率,設置位l6位常數(shù)自動重裝人的工作方式。
            當采用12MHz的晶振時,計數(shù)速率為lMHz.微機串口通常采用RS232電平,而單片機串口是1TrL電平,二者不兼容。所以,接口必須做電平轉換處理。采用MAXIM公司的MAX232電平轉換芯片。單片機串行口的TXD,RXD和GND經(jīng)電平轉換分別與微機的RXD,TXD和SG相連,MAX232電平轉換芯片的第9,10引腳分別接單片機的l0和11引腳。DB9串口的第2,3引腳分別接MAX232電平轉換芯片的7,8引腳。通過MAX232的TTL電平和RS232的輸入/輸出端口,自動地調(diào)節(jié)了單片機串口的TTL電平信號和RS232的串行通信信號的電平匹配。數(shù)據(jù)發(fā)送是由一條寫發(fā)送寄存器(SBUF)的指令開始,隨后在串行口由硬件自動加人起位和停止位,構成一個完整的幀格式,然后在移位脈沖的作用下,由TXD端串行輸出。一個字符幀發(fā)送完后。使TXD輸出線維持在“1”狀態(tài)下,并將串行控制寄存器SCON的TI位置“1”,通知CPU可以接著發(fā)送下一個字符。
            (二)軟件系統(tǒng)。轎車空調(diào)智能系統(tǒng)的工作模式分為“正常運行模式”、“軟關機模式”、“手動控制模式”和“自動控制模式”。系統(tǒng)上電時,軟件進人上電自檢狀態(tài),這時系統(tǒng)會首先從監(jiān)控芯片x25045讀入上次斷電前存人EEPROM的系統(tǒng)狀態(tài)信息,初始化各個中斷并恢復空調(diào)控制器到上次關機前狀態(tài)。經(jīng)過上電初始化,智能溫控系統(tǒng)會恢復到上次關機前的“正常運行模式”。此時,通過溫度調(diào)節(jié)按鍵可以設定需要的溫度值,溫度傳感器定時檢測車廂溫度,顯示器顯示溫度設定值和溫度測量值,混合風門的開度會根據(jù)溫差和溫差變化自動調(diào)節(jié),溫控系統(tǒng)能夠與PC機通過串口通訊交換數(shù)據(jù)。按一下“ON/OFF”鍵,可使溫控系統(tǒng)進入“軟關機模式”。此時,系統(tǒng)不能再進行溫度檢測、溫度設定和串行通訊,顯示器熄滅,混合風門步進電機停止運轉。


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();