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