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