上海博迅采用 Keil uVision5 集成編譯環(huán)境和 C 語言來對系 統(tǒng)軟件進行設計。該設計完成了對溫度信號的測量和控制。它 需要的基本功能包括溫度信號采集、A/D 轉(zhuǎn)換、信號處理、溫 度顯示和數(shù)據(jù)傳輸。溫度采集模塊需要完成溫度測量和 A/D 轉(zhuǎn) 換。溫度采集程序需要完成初始化傳感器、寫命令、寫數(shù)據(jù)以 及讀數(shù)據(jù)等。數(shù)據(jù)處理程序主要是對測量到的二進制數(shù)據(jù)進 行處理,將其轉(zhuǎn)變?yōu)槭M制。主程序要完成初始化系統(tǒng)和控 制電阻爐開關的工作 ;子程序需要完成測量爐溫、輸入鍵盤、 顯示 LCD、控制 PID 和控制 PWM 等工作。
1. LM016L 顯示模塊程序 與七段數(shù)碼管相比,液晶屏 LM016L 可以把測量值、設定 值、文字以及 PID 的參數(shù)都顯示到屏幕上,使工作人員更直觀 地觀測到所需要的信息。但是 LM016L 的編程復雜,LM016L 進行初始化的流程如下:1) 先延時,寫 0X38 命令字。2) 再進 行延時。3) 寫 0X0C 命令字。4) 寫 0X06 命令字。5) 寫 0X01 命令字。6) 寫 0X80 命令字。
2. 鍵盤輸入模塊程序 鍵盤輸入作為人機交互電路中的輸入模塊,在系統(tǒng)中起了 很大的作用,它可以用來控制基于電阻爐的輸入以及調(diào)節(jié)控制 參數(shù)。鍵盤輸入模塊的流程圖如圖 1 所示。
3. 算法控制子程序 控制子程序包括 PWM 技術和 PID 算法。PWM 技術是 1 種脈沖寬度調(diào)制技術。利用 PWM 技術可以對幅值相同的脈沖 的寬度進行調(diào)制,改變輸出電壓的大小,從而可以根據(jù)不同實 際溫度與目標溫度的差來改變電阻爐輸出的功率 [5]。 PID 算法是 1 種控制算法,其中 P 是指比例,I 是指積分, D 是指微分。溫度控制系統(tǒng)利用測量的實際溫度與初始溫度值 進行比較,并將它們的差作為 PID 控制的輸入。設時間為 t, e(t)為實際溫度與設定溫度值的偏差,則其輸出溫度 u(t) 與 e(t)的關系,如公式(2)所示。
式中 :Kp 為比例系數(shù) ;s 為復頻 ;Ti 為積分時間常數(shù) ;Td 為 微分時間常數(shù) ;U(s)為 u(t)的拉普拉斯變換 ;E(s)為 e(t)的拉普拉斯變換。想要合理地控制溫度就要合理地設置 比例系數(shù),比例系數(shù)過大或者過小都不是設置比例系數(shù)的最 佳選擇,比例系數(shù)偏大會導致系統(tǒng)調(diào)制過快,因此會產(chǎn)生較 大的震蕩,從而導致系統(tǒng)不穩(wěn)定。比例系數(shù)過小又會使系統(tǒng)的 調(diào)節(jié)過慢。2 種選擇都會使系統(tǒng)的性能變差。因此比例系數(shù)太 大或太小都不是最佳選擇,應該根據(jù)情況選擇最合適的方法 [6]。
主程序
要實現(xiàn)對電阻爐溫度的控制,就要完成主程序元器件的 初始化、定時器的初始化、調(diào)用子程序、LCD 子程序、溫度 控制電路以及報警等工作,同時讓循環(huán)在允許的范圍內(nèi)運轉(zhuǎn), 并在恰當?shù)臅r刻跳出循環(huán)。
由此可以得出主函數(shù)的程序流程如下:1) 先進行初始化。 2) 啟動鍵盤掃描程序。3) 啟動 AD 采樣子程序。4) 啟動溫度 顯示子程序。5) 檢測溫度是否越界,如果越界,那么報警電 路開始工作 ;如果溫度沒有越界,則報警電路不工作。
6) 完 成 PID 子程序和 PWM 子程序,完成對溫度的反饋和調(diào)控。7) 控制電路的輸出電壓以及控制溫度的變化。