新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 節(jié)能型供熱溫度控制器設(shè)計(jì)

節(jié)能型供熱溫度控制器設(shè)計(jì)

作者: 時(shí)間:2013-10-09 來源:網(wǎng)絡(luò) 收藏

2.5 電源電路及溫度顯示、按鍵電路
當(dāng)穩(wěn)壓器LM7805對(duì)進(jìn)行供電時(shí),220 V交流市電通過電源變壓器變換為交流低壓,再經(jīng)橋式整流電路和濾波電容C1的整流和濾波,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個(gè)并不穩(wěn)定的直流電壓。此直流電壓經(jīng)LM7805的穩(wěn)壓和C3的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。
AT89C51的P1.6作串行數(shù)據(jù)輸出,連接到PS7219的DIN腳,P1.7和P1.5通過程序分別模擬PS7219的時(shí)鐘脈沖CLK及數(shù)據(jù)加載LOAD信號(hào)。PS7219的SA~SG,SDP端連接到各LED數(shù)碼管對(duì)應(yīng)的a~f及dp端,DIG1~DIG3分別接3位LED數(shù)碼管的共陰極,從而實(shí)現(xiàn)位選。PS7219應(yīng)緊靠LED顯示器放置,且連線盡可能短,兩個(gè)GND引腳均必須連接到地線上。系統(tǒng)只設(shè)4個(gè)按鍵,分別是功能鍵、增加鍵、減小鍵和確定鍵。在按鍵的線路連接中,每個(gè)按鍵并聯(lián)一個(gè)0.1μF電容,目的是實(shí)現(xiàn)消抖。

3 程序設(shè)計(jì)
3.1 系統(tǒng)主程序設(shè)計(jì)
主程序模塊的主要工作是上電后對(duì)系統(tǒng)初始化和構(gòu)建系統(tǒng)整體軟件框架,其中初始化包括對(duì)的初始化、D/A芯片初始化和溫度傳感器初始化等。隨后等待溫度設(shè)定,若溫度設(shè)定后,判斷系統(tǒng)運(yùn)行鍵是否按下,若系統(tǒng)運(yùn)行,則依次調(diào)用各相關(guān)模塊,循環(huán)控制直到系統(tǒng)停止運(yùn)行。圖5所示為主程序流程圖。

e.JPG

由于常規(guī)PID控制器控制效果不佳,溫度測(cè)量控制中存在非線性、時(shí)變、干擾和純滯后問題,而增量式PID算法具有計(jì)算誤差小、切換無沖擊和可靠性高的特點(diǎn),所以本系統(tǒng)采用該算法。數(shù)字增量式PID的輸出為:
△u(k)=a0e(k)-a1e(k-1)+a2e(k-2) (1)
其中,Kp為比例系數(shù);TI為積分時(shí)間常數(shù);TD為微分時(shí)間常數(shù)

3.2 溫度傳感器測(cè)溫子程序
溫度傳感器DS18B20的操作協(xié)議:初始化DS1820(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。其操作程序流程如圖6所示。其中任何一步失敗時(shí)自動(dòng)重新初始化。

g.JPG

3.3 CAN通信模塊子程序
CAN通信的軟件設(shè)計(jì)主要包括3部分:CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送和報(bào)文接收。AT89C51通電或復(fù)位后,調(diào)用復(fù)位程序給SJA1000的復(fù)位端RST提供復(fù)位信號(hào),使SJA1000進(jìn)入復(fù)位模式,SJA1000的初始化只有在復(fù)位模式下才可進(jìn)行。初始化程序主要包括以下寄存器的設(shè)計(jì):(1)通過時(shí)鐘分頻寄存器定義:是使用Basic CAN模式或Peli CAN模式;是否能使CLKOUT輸出時(shí)鐘頻率;是否旁路CAN輸入比較器;TX1輸出是否用專門的接收中斷輸出。(2)通過驗(yàn)收碼寄存器和屏蔽寄存器定義接收?qǐng)?bào)文的驗(yàn)收碼與對(duì)報(bào)文之間進(jìn)行比較的相關(guān)位定義驗(yàn)收屏蔽碼。(3)通過總線定時(shí)寄存器定義總線的位速率、位周期內(nèi)的采樣點(diǎn)和一個(gè)位周期內(nèi)的采樣數(shù)量。(4)通過輸出寄存器定義輸出管腳TX0、TX1的輸出模式、配置。最后,要清除SJA1000的復(fù)位請(qǐng)求標(biāo)志進(jìn)入工作模式,方可進(jìn)行報(bào)文的發(fā)送和接收。
單片機(jī)將要發(fā)送的報(bào)文送到SAJ1000發(fā)送緩沖區(qū),然后將SJA1000命令寄存器的發(fā)送請(qǐng)求標(biāo)志位(TR)置位,發(fā)送過程南其獨(dú)立完成。在新報(bào)文寫入發(fā)送緩沖區(qū)前,必須先檢查狀態(tài)寄存器的發(fā)送緩沖器狀態(tài)標(biāo)志(TBS),若為“1”,發(fā)送緩沖器被釋放,可將新的報(bào)文寫入發(fā)送緩沖器。否則,發(fā)送緩沖器被鎖定,新報(bào)文不能被寫入。
報(bào)文接收也由SJA1000獨(dú)立完成。收到的報(bào)文通過接收濾波器放在FIFO隊(duì)列中,第1條報(bào)文進(jìn)入接收緩沖器,由狀態(tài)寄存器的接收緩沖器狀態(tài)標(biāo)志位(RBS)和接收中斷標(biāo)志位(RI)標(biāo)出。單片機(jī)從接收緩沖器取走1條報(bào)文后,通過置位SAJ1000的命令寄存器來釋放接收緩沖器。

4 軟件調(diào)試
在硬件設(shè)計(jì)和軟件的編程后,將針對(duì)要實(shí)現(xiàn)的功能編寫程序在Keil C51中將編譯無誤的程序運(yùn)行,對(duì)整個(gè)系統(tǒng)而言,首先要對(duì)鍵盤輸入和數(shù)碼顯示進(jìn)行調(diào)試,就是整個(gè)硬件電路對(duì)照電路圖進(jìn)行檢查,查找錯(cuò)焊、虛焊、漏焊等錯(cuò)誤。檢查無誤后,便開始運(yùn)行電路,為保證穩(wěn)定的電源供給,給PC機(jī)的USB接口提供5 V直流電源。將結(jié)果與要實(shí)現(xiàn)的理想狀態(tài)對(duì)照,再通過結(jié)果對(duì)硬件電路進(jìn)行檢驗(yàn)和修改,并將所編程序進(jìn)行適當(dāng)優(yōu)化,如圖7所示。運(yùn)行結(jié)果證明整個(gè)系統(tǒng)穩(wěn)定、可靠,滿足了設(shè)計(jì)要求。

h.JPG

5 結(jié)束語
文中研究了供熱的方案設(shè)計(jì)和結(jié)構(gòu)組成,最終實(shí)現(xiàn)了一套較為完整的基于AT89C51和的節(jié)能型供熱。并對(duì)其各部分進(jìn)行了軟硬件設(shè)計(jì),包括自動(dòng)測(cè)溫、單片機(jī)內(nèi)部調(diào)節(jié)、設(shè)定理想溫度、通信等功能模塊的電路設(shè)計(jì)和軟件實(shí)現(xiàn)

pid控制器相關(guān)文章:pid控制器原理



上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉