一種基于單片機(jī)的溫度監(jiān)控系統(tǒng)設(shè)計(jì)
1.4 顯示與報(bào)警
顯示模塊由LED數(shù)碼管和驅(qū)動(dòng)電路組成。報(bào)警系統(tǒng)采用聲光報(bào)警由發(fā)光二極管,揚(yáng)聲器及驅(qū)動(dòng)電路組成,當(dāng)單片機(jī)發(fā)出超限報(bào)警信號,將驅(qū)動(dòng)發(fā)光二極管和揚(yáng)聲器實(shí)現(xiàn)報(bào)警。
1.5 看門狗電路
為了防止系統(tǒng)受干擾而使程序丟失,或走進(jìn)死循環(huán)而使系統(tǒng)死機(jī),應(yīng)加入看門狗電路,以保證系統(tǒng)的可靠性和穩(wěn)定性。本系統(tǒng)采用常用的集成看門狗電路X5045,X5045是一種集看門狗、電壓監(jiān)控和串行E2PROM三種功能于一體的可編程電路。本文引用地址:http://www.ex-cimer.com/article/173575.htm
2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)程序的控制思想如下:設(shè)置目標(biāo)溫度后,系統(tǒng)對爐溫采樣,并通過預(yù)設(shè)溫度、當(dāng)前溫度、歷史偏差等進(jìn)行PID運(yùn)算產(chǎn)生輸出參數(shù),通過該參數(shù)控制加熱時(shí)間,從而調(diào)節(jié)加熱器的平均功率,實(shí)現(xiàn)系統(tǒng)的PID控制。整體功能通過主程序、串行通信中斷服務(wù)程序、PID控制子程序等配合實(shí)現(xiàn)。這里主要介紹主程序流程和PID控制子程序流程。系統(tǒng)首先初始化I/O、8253、定時(shí)器、UART等部件,然后進(jìn)入主循環(huán),進(jìn)行溫度采樣和相關(guān)處理。本系統(tǒng)軟件設(shè)計(jì)的核心思想就在于實(shí)現(xiàn)PID控制,在系統(tǒng)運(yùn)行過程中通過按相應(yīng)鍵重新設(shè)置目標(biāo)溫度。主程序流程如圖2所示。
本方案利用位置式PID算法,將溫度傳感器采樣輸入作為當(dāng)前輸入,接著與設(shè)定值進(jìn)行相減得偏差,再進(jìn)行PID運(yùn)算產(chǎn)生輸出結(jié)果,然后控制定時(shí)器的時(shí)間進(jìn)而控制加熱器。由中斷定時(shí)器提供溢出頻率為64 Hz的中斷信號,配合主程序的PID運(yùn)算結(jié)果來確定加熱時(shí)間,實(shí)現(xiàn)加熱器功率調(diào)節(jié),該部分子程序流程圖如圖3所示。
上位機(jī)軟件使用Delphi,由于Delphi不提供串口通信的ActiveX控件,僅有API函數(shù)可以使用,但API函數(shù)編程較為復(fù)雜,因此可將微軟公司提供的Ac-tiveX控件Microsoft Communication Control 6.0(簡稱MSComm控件)引入到Delphi開發(fā)環(huán)境中,這樣用戶便可以像使用Delphi控件一樣方便地利用MSComm控件進(jìn)行計(jì)算機(jī)串口的通信編程。下面給出上位機(jī)命令的發(fā)送與數(shù)據(jù)接收的部分源程序:
3 系統(tǒng)調(diào)試
本系統(tǒng)的關(guān)鍵之處在于PID控制。對于PID系統(tǒng)來說,系統(tǒng)性能的好壞主要取決于PID控制參數(shù)的設(shè)定。由PID控制原理知;比例(P)控制能迅速反應(yīng)誤差,減小穩(wěn)態(tài)誤差;比例作用的加大,會(huì)引起系統(tǒng)的不穩(wěn)定。積分(I)控制的作用,只要系統(tǒng)有偏差存在,積分作用不斷地積累,輸出控制量以消除誤差;積分作用太強(qiáng)會(huì)使系統(tǒng)超調(diào)加大,甚至使系統(tǒng)出現(xiàn)振蕩。微分(D)控制可以減小超調(diào)量,克服振蕩,使系統(tǒng)的穩(wěn)定性提高,同時(shí)加快系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,減小調(diào)整時(shí)間,從而改善系統(tǒng)的動(dòng)態(tài)性能。本系統(tǒng)要達(dá)到的目標(biāo)就是:反應(yīng)速度盡可能快,超調(diào)量盡可能小,穩(wěn)態(tài)誤差趨近于0。
評論