文/李曉蕓 彭源 劉自強(qiáng) 李豪杰 江善和
溫度是工業(yè)生產(chǎn)中主要的被控參數(shù)之一,與之相關(guān)的各種溫度控制系統(tǒng)廣泛應(yīng)用于冶金、化工、機(jī)械、食品等領(lǐng)域。溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過程控制,有些工藝過程對其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計(jì)一種較為理想的溫度控制系統(tǒng)是非常有價(jià)值的。
目前,常見的恒溫控制系統(tǒng)設(shè)計(jì)方法有基于單片機(jī)的溫度控制系統(tǒng)、基于DSP 的PID溫度控制系統(tǒng)、基于ARM 的模糊PID 控制系統(tǒng)等。本文采用無線測量方法實(shí)現(xiàn)水容器溫度控制系統(tǒng)的恒溫調(diào)節(jié),該系統(tǒng)以水容器為控制對象,溫度作為主控制變量,采用溫度傳感器完成溫度信號的采樣,利用繼電器通斷控制電加熱器件。通過下位機(jī)的微處理器完成采樣溫度信號的AD 轉(zhuǎn)換和控制運(yùn)算算法處理及顯示,從而實(shí)現(xiàn)水溫的有效控制。借助無線通信模塊,利用上位機(jī)獲得遠(yuǎn)方測量點(diǎn)的溫度信息并控制溫度變化,能夠控制加熱單元的總通斷,并在遙控點(diǎn)和測量點(diǎn)均可顯示當(dāng)前水溫值;同時,利用上位機(jī)可以進(jìn)行預(yù)定控制設(shè)置管理,設(shè)置溫度和液位的上下限值,并對水溫按著預(yù)定規(guī)律變化進(jìn)行控制。上位機(jī)和下位機(jī)的通信則是通過無線通信模塊實(shí)現(xiàn)數(shù)據(jù)和控制信號的發(fā)射與接收。
本文設(shè)計(jì)思路為:首先,利用傳感器完成溫度信號的實(shí)時采集,并進(jìn)行A/D 轉(zhuǎn)換;其次,下位機(jī)則通過單片機(jī)完成數(shù)據(jù)處理、運(yùn)算、顯示和燈光報(bào)警,再由控制信號控制繼電器實(shí)現(xiàn)加熱器的通斷;再其次,無線通信模塊實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的數(shù)據(jù)通信;上位機(jī)則采用PC 機(jī)實(shí)現(xiàn)溫度的實(shí)時曲線顯示、設(shè)定和總通斷控制。該設(shè)計(jì)思路的特點(diǎn):下位機(jī)利用單片機(jī)的抗干擾能力強(qiáng)、價(jià)格低廉、功耗小、溫度控制運(yùn)算容易實(shí)現(xiàn)等優(yōu)點(diǎn);上位機(jī)充分利用PC 機(jī)的編程能力實(shí)現(xiàn)溫度的實(shí)時曲線顯示、設(shè)定,直觀簡單,良好的人機(jī)界面等;無線通信模塊則可以實(shí)現(xiàn)溫度的遠(yuǎn)程測量、控制、顯示和報(bào)警等。
圖1:系統(tǒng)設(shè)計(jì)總體方案框圖
圖2:傳感器放大電路
圖3:顯示電路原理圖
本控制系統(tǒng)設(shè)計(jì)的總體方案框圖如圖1所示。該控制系統(tǒng)可分為兩部分:前段測量點(diǎn)的核心部分為下位機(jī)的單片機(jī),其余為相應(yīng)的采集、顯示、控制和通信模塊;后端遙控點(diǎn)為PC 機(jī)和無限通信模塊。該系統(tǒng)以SPCE061A為核心,前向通道包括傳感器及其信號放大電路,按鍵輸入電路;后向通道包括三部分:LED 顯示電路,上位機(jī)通信電路以及控制加熱器的繼電器驅(qū)動電路。由于SPCE061A 內(nèi)部有8 路10 位精度的AD 轉(zhuǎn)換器,所以直接將傳感器輸出信號放大后輸入SPCE061A 的AD轉(zhuǎn)換通道即可,不需要外接ADC。SPCE061A實(shí)時采樣溫度,并根據(jù)采樣結(jié)果控制加熱器,調(diào)節(jié)加熱功率大??;同時將當(dāng)前溫度信息通過數(shù)碼管在下位機(jī)顯示出來,并通過無線通信模塊nRF2401A 完成與上位機(jī)PC 的數(shù)據(jù)通信。
針對測量點(diǎn)的核心部分——下位機(jī)的單片機(jī)設(shè)計(jì)采用SPCE061A 單片機(jī)作為主控制器。PT100 溫度傳感器采集溫度信號,將信號送到單片機(jī)中,在單片機(jī)中通過對采集的溫度與原來設(shè)定的溫度相比較,并將溫度曲線在PC 機(jī)中顯示,同時將溫度通過LED 顯示,采用LED 鍵盤模組作為輸入和顯示單元,同時采用Nodic 公司的nRF2401A 芯片作為無線收發(fā)核心器件,將下位機(jī)采集到的數(shù)據(jù)信號傳送到上位機(jī)和發(fā)送控制信號至下位機(jī)控制溫度。
控制系統(tǒng)的溫度控制采用PID 閉環(huán)控制方案,將預(yù)置初值與傳感器反饋信號比較得到偏差,對偏差進(jìn)行PID 運(yùn)算處理得到控制量,通過此控制量來控制加熱器的加熱時間,從而控制加熱功率。在系統(tǒng)實(shí)現(xiàn)過程中,通過VC所編的上位機(jī)中的軟件進(jìn)行在線監(jiān)控可通過上位機(jī)設(shè)置上限、下限溫度,當(dāng)超出溫度上下限時,實(shí)現(xiàn)在測量點(diǎn)用燈光報(bào)警等功能。
系統(tǒng)的整體硬件電路組成主要是:下位機(jī)以SPCE061A 為核心控制器,包括傳感器電路,鍵盤和顯示電路,控制電路和無線通信收發(fā)電路4 大模塊。上位機(jī)以PC 機(jī)為核心,包括無線通信收發(fā)電路。
如圖2所示,傳感器電路包括傳感器橋路和放大電路兩部分,經(jīng)過兩級放大后輸出模擬電壓信號Uo。直接將運(yùn)放的輸出腳接SPCE061A 的AD 輸入通道AN5(IOA4)。
R2、R3、R4和Pt100組成傳感器測量電橋,為了保證電橋輸出電壓信號的穩(wěn)定性,電橋的輸入電壓通過TL431 穩(wěn)至2.5V。從電橋獲取的差分信號通過兩級運(yùn)放放大后輸入單片機(jī)。電橋的一個橋臂采用可調(diào)電阻R3,通過調(diào)節(jié)R3可以調(diào)整輸入到運(yùn)放的差分電壓信號大小,通常用于調(diào)整零點(diǎn)。
放大電路采用LM358 集成運(yùn)算放大器,為了防止單級放大倍數(shù)過高帶來的非線性誤差,放大電路采用兩級放大,前一級約為10 倍,后一級約為3 倍。溫度在0~100 度變化,當(dāng)溫度上升時,Pt100 阻值變大,輸入放大電路的差分信號變大,放大電路的輸出電壓Av 對應(yīng)升高。
按鍵直接使用61 板自帶的按鍵,不需要連接硬件即可使用。 顯示采用LED 鍵盤模組6 位數(shù)碼管的其中3 位進(jìn)行動態(tài)顯示,電路原理如圖3所示。在使用時,將a~dp 接IOA8~I(xiàn)OA15,DIG4~DIG6 接IOB3~5。
系統(tǒng)的主要功率器件為一個交流220V~1000W 的電加熱器,采用繼電器來驅(qū)動該加熱器。繼電器選擇OMRON G6B-1174P 型繼電器,該繼電器具有觸發(fā)電壓低(DC5V),可 控 功 率 大(AC:8A250V,DC:8A30V),以及反應(yīng)時間短等優(yōu)點(diǎn)。繼電器采用NPN8050 三極管驅(qū)動,并在三極管的基極加一個470 歐的電阻,當(dāng)三極管的基極加載高電平信號時,三極管導(dǎo)通繼電器工作,當(dāng)三極管的基極為低電平信號時,三極管截止繼電器停止工作。并在繼電器的周圍添加了續(xù)流保護(hù)電路和工作指示電路,功率驅(qū)動部分電路如圖4所示。
表1:標(biāo)準(zhǔn)溫度計(jì)測量的溫度和溫控系統(tǒng)顯示的溫度比較(℃)
表2:溫度穩(wěn)定性測試
表3:遙測距離測試
無線傳輸模組以nRF2401A 芯片為核心,它把射頻收發(fā)電路集成在一塊芯片上。它的射頻范圍為2.4GHz ~2.5GHz,這個芯片內(nèi)部包含頻率綜合器、微波功率放大器、信號調(diào)制和解調(diào)器等部分。微控制器與nRF2401A 芯片之間的數(shù)字傳輸通過串行接口實(shí)現(xiàn)。它提供了一路的無線發(fā)射和兩路的無線接收功能,應(yīng)用時,為方便與61 板的連接,模組提供了兩個接口J1、J2,其中J1 為nRF2401A 的控制端口和通道1 的收發(fā)通道,J2 為預(yù)留端口,是通道2 的接收通道。J1 接口為10Pin 的插孔,其布局和61 板的I/O 端口布局一致,可以直接插接到61 板的I/O 端口使用。J2 預(yù)留,如果需要采用雙通道接收時,可以將J2 對應(yīng)的3 根信號線引出,接到單片機(jī)的I/O 上即可。nRF2401A 的電路原理圖如圖5所示。
為引起工作人員對異常信息的注意,該監(jiān)控系統(tǒng)提供了燈光報(bào)警和聲音報(bào)警的功能。燈光報(bào)警是通過下位機(jī)的單片機(jī)輸出信號,IOB0 低電平有效,通過發(fā)光二極管進(jìn)行報(bào)警,它主要是超溫報(bào)警。聲音報(bào)警是由上位機(jī)與單片機(jī)之間相互通信,經(jīng)單片機(jī)輸出信號,通過三極管進(jìn)行放大來驅(qū)動蜂鳴器進(jìn)行報(bào)警。單片機(jī)IOB8 輸出高電平時,三極管導(dǎo)通,蜂鳴器工作發(fā)出報(bào)警聲。IOB8 為低電平時三極管關(guān)斷,蜂鳴器不工作。
系統(tǒng)上位PC 機(jī)與接受端單片機(jī)的數(shù)據(jù)傳輸通過UART 接口完成,該部分的電路如圖6所示。UART 模組的COM1 接口與PC 機(jī)串口相連接,J1 口的VCC、GND、Tx1、Rx1 分別與61 板的“+”、“-”、IOB10,IOB7 相連接。
圖4:功率驅(qū)動電路原理圖
圖5:nRF2401A 電路原理圖
軟件程序的控制思想:設(shè)置目標(biāo)溫度后,系統(tǒng)采樣水溫,并通過預(yù)設(shè)溫度,當(dāng)前溫度,歷史偏差等進(jìn)行PID 運(yùn)算產(chǎn)生fOut 輸出參數(shù),通過該參數(shù)控制加熱時間,從而調(diào)節(jié)加熱器的平均功率,實(shí)現(xiàn)系統(tǒng)的PID 控制。整體功能通過主程序和中斷服務(wù)程序配合實(shí)現(xiàn),主程序流程圖如圖7所示。
系統(tǒng)運(yùn)行首先初始化IO,Timer,Ua7部件,同時初始化顯示,并初始化系統(tǒng)狀態(tài)設(shè)定狀態(tài),等待輸入設(shè)定溫度。初始化完成之后進(jìn)入主程序循環(huán)體,在循環(huán)體中判斷是否進(jìn)行AD 轉(zhuǎn)換,如果已經(jīng)完成AD 轉(zhuǎn)換,則對AD 結(jié)果進(jìn)行處理轉(zhuǎn)化為溫度值,將溫度值傳送給上位機(jī),之后對溫度值進(jìn)行PID 運(yùn)算。運(yùn)算產(chǎn)生結(jié)果fOut,如果fOut>0,證明當(dāng)前溫度低于設(shè)定溫度,開啟加熱器;如果fOut<= 0,證明當(dāng)前溫度等于或者略超過設(shè)定溫度,關(guān)閉加熱器。然后再重復(fù)執(zhí)行上述過程,周而復(fù)始。
圖6:UART 模塊電路圖
圖7:主程序流程圖
將硬件電路各個模塊組成整體搭建溫度控制系統(tǒng),軟件程序使用凌陽開發(fā)系統(tǒng),該軟件的模擬調(diào)試器支持C 語言及匯編語言源代碼調(diào)試,其匯編程序支持宏匯編及模塊化編程,使用方便。上位機(jī)控制程序使用VC++開發(fā)。將匯編程序下載到各子模塊,進(jìn)行各子模塊調(diào)試,正常后在PC 主控程序下進(jìn)行各種功能的測試。 現(xiàn)將功能測試結(jié)果記錄如下:
將標(biāo)準(zhǔn)溫度計(jì)和Pt100 放人同一容器中,選定若干不同的溫度點(diǎn),記錄下標(biāo)準(zhǔn)溫度計(jì)顯示的溫度和PC 機(jī)界面顯示的溫度進(jìn)行比較,測量結(jié)果如表1所示。由表1可知,該控制系統(tǒng)能夠成功的在溫度控制在0 ~80℃范圍內(nèi),實(shí)現(xiàn)溫度的實(shí)時顯示,同時利用標(biāo)準(zhǔn)溫度計(jì)測量的溫度和該控制系統(tǒng)的顯示溫度差值很小。
在溫度偏離設(shè)定值時,通過控制繼電器的通斷,控制加熱電路的狀態(tài),能夠使溫度穩(wěn)定在45℃。測量水溫在10 分鐘內(nèi)的變化情況,每分鐘的溫度值顯示如表2所示。從表2可以看出,開始階段,在加熱作用下水溫之間上升,經(jīng)過5 分鐘加熱后,水溫逐漸達(dá)到45℃左右,且后期誤差穩(wěn)定在±2℃內(nèi),達(dá)到設(shè)計(jì)者的要求。
為了評價(jià)設(shè)計(jì)系統(tǒng)遙測距離與溫度的變化情況,我們做了如下測試:當(dāng)溫度穩(wěn)定在45℃時,使遙測遙控距離大于10 米,觀察不同距離時溫度的變化,遙測距離與溫度測量值如表3所示。
本系統(tǒng)設(shè)計(jì)了一種以SPCE061A 單片機(jī)為核心,基于nRF2401A 和PT100 構(gòu)成的無線測量溫度控制系統(tǒng)設(shè)計(jì),并通過繼電器驅(qū)動電路實(shí)現(xiàn)溫度的恒溫控制。系統(tǒng)測試表明,該系統(tǒng)完成了設(shè)計(jì)的各項(xiàng)基本要求,實(shí)現(xiàn)了雙向無線通信,通過上位機(jī)可對被測控對象設(shè)置上下限溫度,完成測量端溫度的實(shí)時顯示和報(bào)警監(jiān)測。實(shí)現(xiàn)了在上位機(jī)中設(shè)置溫度的上下限,超溫報(bào)警功能。測試結(jié)果表明,該系統(tǒng)性能穩(wěn)定、精度高,能夠完成溫度的遠(yuǎn)程測控,具有一定的實(shí)用推廣性。