朱露潔 唐海波
(湖南科技大學,湖南 湘潭 411201)
在高度自動化的時代,自動調(diào)節(jié)溫度系統(tǒng)得到了廣泛的應用。電阻爐可以適用于家電、食品、汽車、材料以及電力電子等行業(yè)。隨著現(xiàn)代科技的發(fā)展,溫度測量控制技術(shù)的重要性也更加明顯。在使用電阻爐生產(chǎn)產(chǎn)品的過程中,準確地測量和控制溫度能夠提高生產(chǎn)效率、節(jié)約資源,并且極大地影響了產(chǎn)品的質(zhì)量。因此,精度、穩(wěn)定且可靠地控制電阻爐的溫度是非常有必要的。以前人們只能夠應用模擬調(diào)節(jié)器去控制溫度,但是用該方法控制溫度會出現(xiàn)延時大、系統(tǒng)震蕩的問題。現(xiàn)如今,利用單片機可以很方便地解決該問題,同時單片機還具有智能化和自動化程度高、編程靈活以及擴展性好等優(yōu)點。
因此,該文設計了1個自動化溫度控制設備,它是以單片機AT89C51為中心,通過傳感器來檢測溫度。利用PID控制、PWM脈沖調(diào)制反饋系統(tǒng),自動實現(xiàn)高精度、及時的溫度控制。同時,設計的溫度報警電路能夠及時監(jiān)測工廠電阻爐的運行狀況,最大限度地消除安全隱患。
該設計的核心處理器為AT89C51,其他組成部分有溫度傳感器模塊、溫度控制模塊、數(shù)據(jù)處理模塊、溫度顯示模塊以及鍵盤調(diào)節(jié)模塊。該設計的核心部件為中央處理器,主要負責處理數(shù)據(jù)、控制溫度控制模塊、控制顯示模塊和控制報警模塊等。中央處理器有很多選擇,經(jīng)過比較,該文的設計方案采用AT89C51單片機作為中央處理器。
1.2.1 復位電路設計
當系統(tǒng)出現(xiàn)故障處于死鎖狀態(tài)時,可以按下按鍵,從而重新啟動電路。
1.2.2 時鐘電路設計
時鐘電路晶振頻率的大小會直接影響單片機的運行速度和質(zhì)量。該設計采用內(nèi)部震蕩的方式,選擇微調(diào)電容為100 pF、頻率為12 MHz的晶振,使電路簡單且符合實際要求。
溫度采樣電路的設計與選擇有以下2種方法:1)選擇溫度傳感器DS18B20,它能夠把模擬信號轉(zhuǎn)換為數(shù)字信號,不占空間且測量的準確性較高,能夠適用于多種場合,使用起來非常方便[1]。2) 由于該系統(tǒng)設置的特殊性,還可以通過對加熱器輸出的溫度模擬信號進行模數(shù)轉(zhuǎn)換,從而獲得數(shù)字的溫度信息。該文選擇了第二種方法,采用數(shù)模轉(zhuǎn)換器MCP3204,MCP3204的功耗非常低、工作方式靈活且性價比高[2]。
隨著科技的發(fā)展,在高度自動化的時代,人機交互在生活中隨處可見。外設是構(gòu)成人機交互系統(tǒng)配置的主要部分。它的實現(xiàn)方法有以下2種:1) 通過單片機的I/O端口驅(qū)動芯片來實現(xiàn),單片機沒有液晶顯示LCD的驅(qū)動功能。2) 單片機本身具有驅(qū)動的功能,能夠直接控制鍵盤和LCD,還可以實現(xiàn)人機對話[3]。
1.4.1 按鍵接口電路設計
溫度的設定值以及控制參數(shù)的數(shù)值都是由按鍵來調(diào)節(jié)的,按鍵是現(xiàn)階段電子設計中最常用、最實用的輸入設備。單片機通過讀取I/O口的狀態(tài)來判斷按鍵是否按下,一般來說有掃描法、線翻轉(zhuǎn)法、中斷法等。鍵盤可以實現(xiàn)人機對話,還可以通過輸入命令實現(xiàn)輸入數(shù)據(jù)的功能。在該設計中,采用獨立式鍵盤結(jié)構(gòu),設計了4個按鍵:1) 第一個按鍵,設定的溫度值加1。2) 第二個按鍵,設定的溫度值減。3) 第三個按鍵,設定的控制參數(shù)P加1。4) 第四個按鍵,設定的控制參數(shù)P減1。
1.4.2 顯示電路設計
顯示電路選用LCD1602,但是在Proteus仿真中沒有LCD1602,只能找對應的LM016L,實際上LM016L與LCD1602的原理是相同的,并且利用上拉電阻使P0口的電壓增大,從而驅(qū)動LCD。
1.4.3 報警電路的設計
因為電阻爐的溫度是決定電子元件制成品質(zhì)的重要因素,溫度不合適就會影響元件的品質(zhì);所以設置報警電路,當|T實際值-T設定值|≥3 ℃時(為電阻爐當前的溫度;為預設的電阻爐的溫度),報警電路開始工作,蜂鳴器開始鳴響,警示燈開始閃爍。
1.4.4 控制電路的設計
該設計對電阻爐的溫度控制實際上是對電阻爐輸入功率大小的調(diào)控;因此采用光耦隔離器,光耦隔離相當于把2個電路分開,利用光耦隔離器發(fā)光的一端來控制另一端電流的大小。
1.4.5 光耦隔離器非線性消除問題
該設計利用2個光耦隔離器去消除它原本的非線性。用α1(I1)和α2(I1)分別表示2個光耦隔離器的非線性傳輸特性,I1是流過光電耦合器中二極管的電流。如果它們是由同一個廠家生產(chǎn)的,那么就可以認為它們的非線性傳輸特性完全相同,即:α1(I1)=α2(I1)。
則放大器的電壓增益G,如公式(1)所示。
式中:U0為輸出電壓;Ui為輸入電壓;I2和I3分別為流過2個光耦隔離器中三極管集電極的電流;R2和R3為接在2個三極管發(fā)射極的電阻。
綜上所述,可以利用電流傳輸特性的對稱性和反饋原理消除光電耦合器的非線性[4]。
該部分采用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)和控制電阻爐開關(guān)的工作;子程序需要完成測量爐溫、輸入鍵盤、顯示LCD、控制PID和控制PWM等工作。
與七段數(shù)碼管相比,液晶屏LM016L可以把測量值、設定值、文字以及PID的參數(shù)都顯示到屏幕上,使工作人員更直觀地觀測到所需要的信息。但是LM016L的編程復雜,LM016L進行初始化的流程如下:1) 先延時,寫0X38命令字。2) 再進行延時。3) 寫0X0C命令字。4) 寫0X06命令字。5) 寫0X01命令字。6) 寫0X80命令字。
鍵盤輸入作為人機交互電路中的輸入模塊,在系統(tǒng)中起了很大的作用,它可以用來控制基于電阻爐的輸入以及調(diào)節(jié)控制參數(shù)。鍵盤輸入模塊的流程圖如圖1所示。
控制子程序包括PWM技術(shù)和PID算法。PWM技術(shù)是1種脈沖寬度調(diào)制技術(shù)。利用PWM技術(shù)可以對幅值相同的脈沖的寬度進行調(diào)制,改變輸出電壓的大小,從而可以根據(jù)不同實際溫度與目標溫度的差來改變電阻爐輸出的功率[5]。
PID算法是1種控制算法,其中P是指比例,I是指積分,D是指微分。溫度控制系統(tǒng)利用測量的實際溫度與初始溫度值進行比較,并將它們的差作為PID控制的輸入。設時間為t,e(t)為實際溫度與設定溫度值的偏差,則其輸出溫度u(t)與e(t)的關(guān)系,如公式(2)所示。
傳遞函數(shù)G(s),如公式(3)所示。
式中: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]。
圖1 鍵盤輸入模塊流程圖
要實現(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) 控制電路的輸出電壓以及控制溫度的變化。
用Proteus軟件仿真,仿真結(jié)果如圖2所示。圖2中,按鍵K0和電容C1組成了復位電路模塊。晶振X1、電容C2和C3組成了時鐘電路模塊。單片機AT89C51的引腳功能如下:VCC/GND,供電電源;RST為復位;ALE為地址鎖存允許/輸入編程脈沖;PSEN為外部程序存儲器的選通信號;EA/VPP為內(nèi)部鎖定為RESET或內(nèi)部程序存儲器/12 V電源;XTAL1為反向振蕩放大器的內(nèi)部時鐘工作電路的輸入;XTAL2為反向振蕩器的輸出。
數(shù)字溫度傳感器DS18B20、液晶顯示器LCD1602和排阻RP1構(gòu)成了溫度檢測和顯示電路,能夠檢測電路溫度值,并可以直觀地讀出溫度值。因此,在LCD1602上可以看見以下3個數(shù)值:1) 設定的默認溫度為100 ℃,即目標溫度。2) 加熱爐的初始溫度為90 ℃。3) 比例系數(shù)P=35。蜂鳴器SPEAKER和LED燈組成報警電路模塊,報警電路能夠監(jiān)測溫度是否在正常范圍內(nèi)運行,并且可以在超出設定溫度范圍時報警。圖2中,當溫度差值超過3 ℃時,蜂鳴器開始鳴叫,警報燈開始閃爍。當電阻爐的溫度達到97 ℃時,蜂鳴器不再鳴叫,警報燈不再閃爍。2個光耦隔離器U1和U2、電阻爐Heater以及數(shù)模轉(zhuǎn)換器MCP3204組成了控制電路模塊,能夠控制、反饋和調(diào)節(jié)電阻爐的溫度。其中MCP3204的引腳功能如下:VDD為+2.7 V~5.5 V電源;AGND為模擬地;CH0-CH7為模擬輸入;CLK為時鐘;DIN為數(shù)據(jù)輸入;DOUT為數(shù)據(jù)輸出;CS/SHDN為片選 / 關(guān)斷輸入;VREF為電壓輸入。
圖2 設定溫度100 ℃、初值90 ℃且P=35的仿真圖
在仿真中,加熱爐從原本的90 ℃加熱到100 ℃;在該過程中,控制電路控制電阻爐的電壓,從而能夠控制電阻爐的輸出功率,進而使電阻爐的溫度得到控制。當電阻爐的溫度為100 ℃時,電阻爐停止加熱,經(jīng)過多次仿真,得到的最終的電阻爐溫度會控制在99.09 ℃~100.01 ℃,精度為0.01 ℃;多次仿真發(fā)現(xiàn),從99 ℃~100 ℃大約只需要10 s。4個按鍵K1~K4組成鍵盤輸入模塊,能夠設置預設溫度以及調(diào)控速度。如果將比例系數(shù)調(diào)大,可以使電阻爐更快地升溫。
該溫度控制系統(tǒng)是以單片機為核心,應用PID算法和PWM技術(shù)對電阻爐溫度進行調(diào)控,可以通過按鍵來設定需要的溫度值,可以通過LCD來顯示溫度值和其他參量,它還具有1個報警電路,該系統(tǒng)的功能比較完善。該設計具有性價比高、體積小、抗干擾能力強、制作簡單以及精度高等優(yōu)勢,且能夠人為調(diào)節(jié)參數(shù),符合工業(yè)生產(chǎn)中對人性化的要求。