基于單片機的自由活塞制冷機測控系統(tǒng)設(shè)計
自由活塞斯特林制冷機采用直線電機、純氣動膨脹等先進技術(shù),具有結(jié)構(gòu)緊湊、低振動噪音、壽命長、制冷量方便可調(diào)等優(yōu)點。近年來,傳統(tǒng)制冷系統(tǒng)由于臭氧層破壞、溫室效應(yīng)等原因而受到越來越嚴格的限制,這為自由活塞斯特林制冷機的發(fā)展提供了難得的歷史機遇。與傳統(tǒng)的蒸汽壓縮節(jié)流制冷有極大不同,自由活塞斯特林制冷機采用氦氣膨脹制冷,無節(jié)流系統(tǒng)和蒸發(fā)器,具有高效率、“綠色”制冷劑、制冷溫區(qū)廣等特點,在環(huán)保和節(jié)能方面具有重要優(yōu)勢.
1測控系統(tǒng)設(shè)計及硬件組成
根據(jù)自由活塞斯特林制冷機要求,測控系統(tǒng)總體設(shè)計如圖1所示。本測控系統(tǒng)基于MC9S12DG256[2]單片機,屬于HCS12系列。大多數(shù)單片機均采用JTAG仿真調(diào)試方式,MC9S12DG256單片機采用BDM單線背景調(diào)試模式為開發(fā)者提供了便利,其能在單片機運行時對單片機進行動態(tài)調(diào)試,該單片機一大特色就是單線背景調(diào)試模式和時鐘監(jiān)視部分用于開發(fā)支持和運行安全。大多數(shù)引腳具有復(fù)用功能,即通用I/O功能和特殊接口功能,這些具有復(fù)用功能的端口和控制邏輯全部集成在單片機的內(nèi)部,因此具有體積小、功耗低、可靠性高和應(yīng)用簡單的特點。該單片機內(nèi)部程序存儲器Flash可以用作保存軟件代碼和測控原始數(shù)據(jù)其容量達256KB;12KB的RAM存儲器可以用于堆棧設(shè)置、保存中間零時變量以及動態(tài)運行數(shù)據(jù)信息,甚至在軟件調(diào)試時存放程序;EEPROM存儲器容量為4KB,可以用于設(shè)置運行參數(shù)、保存組態(tài)等需要長期保存信息數(shù)據(jù);特有的BDM調(diào)試方式在沒有仿真器條件下就可以實現(xiàn)硬件斷點、條件斷點和在線調(diào)試等全部功能;內(nèi)置的看門狗可以保證軟件跑飛后快速恢復(fù),當系統(tǒng)的始終運行異常時,可以用過時鐘監(jiān)視系統(tǒng)功能進行查看。此外,該單片機內(nèi)部集成了A/D、PWM、SRAM、EEPROM、CAN、Watch-dog等,大幅度簡化外圍電路,支持在線仿真、調(diào)試和編程,內(nèi)部總線速率高達25MHz,有工業(yè)控制專用的通信模塊,用作數(shù)據(jù)運算處理和通信可以取得較好的效果。
測控系統(tǒng)框圖
測控系統(tǒng)硬件組成有:以MC9S12DG256單片機為核心的控制器、壓力測量變送器、溫度測量傳感器Pt100、角度測量變送器、直線電機電壓電流測量變送器、散熱風扇、聲光報警和上位機PC等。
測控系統(tǒng)工作原理:圖1中上位機PC主要用于顯示自由活塞斯特林制冷機的參數(shù)數(shù)據(jù)狀態(tài),是人機對話窗口,通過點擊上位機PC的操作按鈕,向單片機控制器下發(fā)例如“開機”、“停機”和“復(fù)位”等控制操作,在上位機PC也可設(shè)置制冷機的運行參數(shù)。單片機控制器用作下位機,主要用于采集和處理各個傳感器信號,當傳感器信號出現(xiàn)異常之時能夠提供報警信息;為了保證制冷機安全可靠運行,采用反電動勢控制策略實現(xiàn)制冷機直線電機行程控制,采用快速制冷與溫度PID控制相結(jié)合的控制策略實現(xiàn)制冷機冷端溫度的控制;調(diào)節(jié)和控制直線電機的正常運轉(zhuǎn),當直線電機出現(xiàn)異常時能夠提供報警信息或者直接發(fā)送停機指令;控制風扇進行散熱或驅(qū)動報警器進行聲光報警;單片機控制器將制冷機的各個傳感器數(shù)據(jù)信息或報警信息通過串口通訊傳送給上位機PC,并根據(jù)上位機PC的控制指令執(zhí)行相應(yīng)的控制指令。
1.1壓力測量
壓力測量用于測量自由活塞斯特林內(nèi)部的工質(zhì)壓力,采用工業(yè)控制上常用的電流型兩線制壓力變送器,型號為:CS20FUF-5MPa,該傳感器工作電壓為24VDC,測量精度為全量程±0.2%,輸出信號為4~20mA。該電流信號通過249歐姆精密電阻對地產(chǎn)生非常高4.98V的電壓信號,再經(jīng)過信號調(diào)理后進入MC9S12DG256單片機的內(nèi)部AD模塊進行模數(shù)轉(zhuǎn)換。
1.2溫度測量
需要對制冷機的冷端、熱端溫度以及直線電機溫度的實時采集,這里采用熱電阻Pt100完成。為了保證測量精度,Pt100測溫使用三線制接法,如圖2所示,Pt100信號采集采用電橋測量方式完成,Pt100和精密電阻R1、R2、R組成測量電橋電路,其中R1=R2且R3為可調(diào)電阻,連接Pt100的三根導(dǎo)線a、b和c等長,則其導(dǎo)線電阻也基本一致,可以互為抵消導(dǎo)線電阻引起的測量誤差,進而提高了Pt100信號測量準確度。Pt100在溫度變化時其電阻值變化是線性的,因此圖2所示的測量電路的輸出V=V+-V-也是線性的,MC9S12DG256單片機的內(nèi)部AD采集這個電壓就能獲得當前制冷機相關(guān)測點的溫度。
熱電阻三線制測量
1.3傾角測量
自由活塞斯特林制冷機整體結(jié)構(gòu)較為精密,運行中如果發(fā)生移位而形成一定傾角則可能給制冷機帶來損壞,因此設(shè)置了傾角傳感器,當制冷機達到一定的傾角數(shù)值,則報警并停止運行。傾角傳感器型號為:HCA526T,信號輸出為4~20mA,同樣采用249歐姆精密電阻對地產(chǎn)生非常高4.98V的電壓信號后再經(jīng)過調(diào)理后送給MC9S12DG256單片機處理。
1.4直線電機電壓電流測量
直線電機驅(qū)動斯特林活塞工作,形成穩(wěn)定的工作循環(huán),達到制冷目的。為了控制斯特林活塞的行程和計算系統(tǒng)的效率需要測量直線電機的電壓和電流,使用的變送器型號分別為CHZ-50VT/A1和CHZ-50G/A1,為了提高系統(tǒng)的抗干擾性能,其信號輸出均采用4~20mA。
1.5執(zhí)行器控制
自由活塞斯特林制冷機工作過程中,需要用散熱風扇及時把熱端產(chǎn)生的熱量帶走;當有異常產(chǎn)生時需要進行聲光報警,在本系統(tǒng)中,散熱風扇和報警器屬于執(zhí)行器,其控制相對簡單,結(jié)合散熱風扇和報警器的自身特性和成本考慮,MC9S12DG256單片機輸出指令經(jīng)過三極管放大后對二者進行驅(qū)動控制,可靠性較高且降低了系統(tǒng)成本。
1.6直線電機控制
自由活塞斯特林制冷機依靠直線電機的周期性往復(fù)運動驅(qū)動斯特林機的自由活塞壓縮工質(zhì),從而實現(xiàn)熱量從冷端向熱端的傳輸,達到制冷的目的。因直線電機的周期性往復(fù)運動則驅(qū)動電源必須以周期性方波形式。本系統(tǒng)采用基于IR2181S的MOSFET全橋結(jié)構(gòu)[3],IR2181S芯片電路內(nèi)部集成了CMOS控制電路和由MOS管組成的驅(qū)動橋,它能為負載提供2.3A的連續(xù)電流。該電路能在600V的供電電源范圍內(nèi)安全工作,用戶只需提供與TTL電平兼容的PWM信號就可進行4象限模式的幅值和方向同時控制,而且與數(shù)字控制器的接口非常簡單。直線電機往復(fù)運動控制原理如圖3所示,4個MOS管(M1~M4)和一個直線電機(M)組成的H全橋。在圖3(a)中,當M1和M4導(dǎo)通時,電流從電源正極經(jīng)M1從左至右穿過直線電機,然后再經(jīng)M4回到電源負極,電機沿順時針轉(zhuǎn)動。在圖3(b)中,當M3和M2導(dǎo)通時,電流從右至左流過直線電機,直線電機沿逆時針轉(zhuǎn)動。因此,通過調(diào)整MOS管的導(dǎo)通與截止時序可以控制直線電機的轉(zhuǎn)向,通過調(diào)整流經(jīng)電機電流的大小可以控制直線電機的轉(zhuǎn)速。本測控系統(tǒng)通過MC9S12DG256單片機的PWM通道輸出方波激勵,驅(qū)動IR2181S工作,周期性地開啟與關(guān)閉M1-M4、M2-M4可以達到直線發(fā)電機驅(qū)動功率可控且可靠的要求。
直線電機控制電路示意圖
1.7上位機PC
上位機PC是人機對話的窗口,采用國產(chǎn)組態(tài)王軟件設(shè)計完成。由參數(shù)數(shù)據(jù)、控制操作、歷史曲線和報警信息等4個部分組成,如在參數(shù)數(shù)據(jù)窗口顯示制冷機的溫度、功率,電流和壓力;報警信息記錄主要記錄制冷機警報類型,方便分析故障;歷史曲線趨勢可以查看制冷機各個參數(shù)的運行趨勢,也可用作壽命統(tǒng)計分析。
2測控策略
自由活塞斯特林制冷機測控策略核心之一是直線電機的行程控制,要保證行程非常大化而避免撞缸并使斯特林機達到非常佳效率;另一個核心策略是溫度控制,是自由活塞斯特林制冷機的核心需求,其控制精度直接體現(xiàn)制冷機的質(zhì)量。
2.1直線電機行程控制策略
自由活塞斯特林制冷機結(jié)構(gòu)非常緊湊,導(dǎo)致無法直接測量直線電機的行程,根據(jù)有關(guān)資料[4-5],直線電機的反電動勢(BEMF)與直線電機的有效行程存在確定的近似線性關(guān)系。反電動勢的本質(zhì)是通電線圈在磁場中的運動,即:
基于閉環(huán)反饋電機驅(qū)動電壓調(diào)節(jié)方法
其中:I為線圈中的電流,R為直線電機線圈的有效電阻。
由式(1)、(2)分析可知,通過實時測量直線電機輸入端電流和電壓,則可以推導(dǎo)出在給定負載條件下的反電動勢,進而得到直線電機的非常大行程。直線電機驅(qū)動電壓決定了制冷機的效率同時也決定了制冷機的安全,增加直線電機驅(qū)動電壓以使電機驅(qū)動斯特林發(fā)動機活塞盡可能地壓縮工質(zhì)做功,但是過大的驅(qū)動電壓會使活塞行程過大而發(fā)生撞缸事故,因此,需要避免撞缸事故并使斯特林機達到非常佳效率。本系統(tǒng)采用基于直線電機非常大行程的閉環(huán)反饋式驅(qū)動電壓調(diào)節(jié)方法:實時檢測直線電機的非常大行程,對比希望達到的非常大行程Smax,確定MC9S12DG256單片機PWM波的占空比。
2.2溫度控制策略
溫度控制是自由活塞斯特林制冷機的關(guān)鍵控制邏輯,其溫度控制原理如圖5所示??傮w上來說,溫度控制需要實現(xiàn)兩大基本功能:
1)快速制冷。即制冷機冷端溫度以非常快速度達到用戶設(shè)定的需求溫度(T_d)。該過程一般體現(xiàn)在啟動階段。在該階段,需求溫度(T_d)與實際溫度(T_c)偏差較大,當以直線電機的額定非常大功率運行,直至abs(T_d-T_c)<T_0;
2)溫度保持階段。該階段要求冷端溫度(T_c)在T_d小范圍內(nèi)波動(<0.5℃)。在本系統(tǒng)中采用PID控溫法。以T_d與T_c之間的偏差&T及其變化趨勢來調(diào)節(jié)PWM波的占空比(DutyCycle),從而控制直線電機的輸出功率,進而控制系統(tǒng)的制冷量。
基于 PID 的溫度控制策略原理圖
3軟件設(shè)計
自由活塞斯特林制冷機測控系統(tǒng)需要處理的任務(wù)較多,要求實時響應(yīng)的速度較快,因此,傳統(tǒng)的前后臺處理方式不能滿足測控系統(tǒng)的實時性和可靠性要求。所以本測控系統(tǒng)引入了嵌入式實時操作系統(tǒng)。μCOS-II是專門為嵌入式應(yīng)用設(shè)計的且內(nèi)核源代碼公開的多任務(wù)嵌入式操作系統(tǒng),具有占用存儲空間小、代碼執(zhí)行效率高、可移植性好、可擴展性強和優(yōu)良的實時性能等特點。所以本系統(tǒng)選擇uC/OS-Ⅱ作為系統(tǒng)任務(wù)調(diào)度內(nèi)核[5]。因此,軟件設(shè)計主要包括嵌入式操作系統(tǒng)軟件設(shè)計、基于uC/OS-Ⅱ的MC9S12DG256單片機應(yīng)用軟件設(shè)計以及上位機PC軟件設(shè)計。
3.1嵌入式操作系統(tǒng)軟件設(shè)計
在特定MCU上使用μC/OS-Ⅱ進行軟件開發(fā)前,需要進行操作系統(tǒng)移植,使他能在該MCU上遠行。所以首先必須進行μC/OS-Ⅱ在MCU上的移植。MC9S12DG256的軟件開發(fā)基于CodeWarrior4.7集成C編譯平臺,該編譯器支持匯編語言程序,允許用戶在C源代碼中嵌入?yún)R編語言。
將μCOS-II嵌入式操作系統(tǒng)移植到MC9S12DG25單片機上就是使μC/OS-Ⅱ?qū)崟r內(nèi)核能在CodeWarrior4.7集成C編譯平臺上運行。移植工作主要主要分為三大步驟:μC/OS-Ⅱ中與文處理器相關(guān)代碼的修改、與編譯器相關(guān)代碼的修改和應(yīng)用軟件的添加[6];移植工作主要包括以下5個方面內(nèi)容:
1)用Typedef聲明與編譯器相關(guān)的數(shù)據(jù)類型(在OS-CPU.H文件中),由于不同的微處理器有不同的字長,在μC/OS-Ⅱ代碼中不能使用CodeWarrior4.7集成C編譯平臺C語言的short、int、long等數(shù)據(jù)類型,而采用INT8U、INT16U、INT32U等直觀又可移植的數(shù)據(jù)類型來代換相應(yīng)數(shù)據(jù)類型。
2)采用#define定義一個常量OS-STK-GROWTH的值(OS-CPU.H),決定堆棧的填充排列方向,如果是1位則表示堆棧由上向下填充;如果是0位則表示堆棧由下向上填充;
3)采用#define定義說明3個宏函數(shù)(OS-CPU.H)。
4)用C語言編寫10個與MC9S12DG25單片機相關(guān)的函數(shù)(OS-CPU-C.C)。
5)定義說明4個CodeWarrior4.7集成C編譯平臺匯編語言函數(shù)(OS-CPU-A.S)。
3.2單片機應(yīng)用軟件設(shè)計
自由活塞制冷機的主要任務(wù)是根據(jù)設(shè)置的冷端溫度,MC9S12DG256單片機輸出一定的PWM信號,驅(qū)動直線電機周期運動,帶動斯特林活塞運動,使冷端溫度快速達到設(shè)定值。本測控系統(tǒng)采用的控制流程見圖6,系統(tǒng)上電后,立即檢測系統(tǒng)的各個狀態(tài)參數(shù),MC9S12DG256單片機讀入設(shè)定的運行參數(shù),依據(jù)這些參數(shù),判斷系統(tǒng)是否處于可運行狀態(tài),若系統(tǒng)通過自檢,則立即進入啟動過程,此時,計算設(shè)定溫度與冷端當前溫度的差值,如果其差值大于設(shè)定的偏差值,則單片機輸出兩對相位相差180°的PWM波,每對PWM波的幅值相同、極性相反,驅(qū)動直線電機運行,為了避免初始啟動電流過大而燒壞直線電機,系統(tǒng)采用分步升壓的方法來起動直線電機,即驅(qū)動電壓以一定的速率上升,上升速率根據(jù)設(shè)定溫度溫度與冷端當前溫度的差值由單片機決定,期間,監(jiān)測直線電機的行程,如果直線電機的行程達到設(shè)定值,單片機維持當前直線電機運行狀態(tài),直至設(shè)定溫度與冷端當前溫度的偏差小于0.5℃。表明制冷機已經(jīng)完成目標工作,此時,單片機以設(shè)定溫度與冷端當前溫度的偏差變化趨勢確定PWM波的占空比來調(diào)節(jié)控制直線電機的工作狀態(tài),進而控制系統(tǒng)的制冷量,維持當前的溫度。
3.3上位機軟件設(shè)計
上位機采用工控PC機,使用組態(tài)王軟件進行設(shè)計。上位機主要用于實時收集自由活塞斯特林制冷機的各運行參數(shù),為后續(xù)對整個系統(tǒng)的優(yōu)化提供分析基礎(chǔ)及目標對象。制冷機控制流程圖因此制冷機運行完全好立于上位機程序,僅用作數(shù)據(jù)采集、記錄、分析與匯總等功能。
設(shè)計完成的上位機監(jiān)控界面如圖7所示,上位機PC顯示自由活塞制冷機的工質(zhì)壓力和傾斜角度,直線電機輸入端的電壓、電流、功率以及直線電機內(nèi)部溫度,冷端和熱端的溫度信息;點擊控制操作可以手動調(diào)試直線電機、散熱風扇以及蜂鳴器;在參數(shù)設(shè)置則可以設(shè)置制冷機的報警項,如溫度、工質(zhì)壓力、電壓和電流等上下限;歷史曲線運行記錄保存了自由活塞制冷機的參數(shù)運行信息。運行記錄的文件按年月日的格式生成,可以調(diào)查查看;報警信息部分主要顯示系統(tǒng)警報及錯誤信息,如超溫、超壓等,故障記錄主要有:故障代號、故障發(fā)生時間以及故障清除時間等;溫度參數(shù)設(shè)置可以設(shè)定制冷機目標運行溫度,點擊“寫入EEPROOM”,則把設(shè)定的溫度數(shù)值寫入MC9S12DG256單片機存儲空間且掉電仍然能保存,控制面板中“開機”“停機”鈕實現(xiàn)對制冷機的簡單開關(guān)機控制,“復(fù)位”按鈕用于清除當前發(fā)生的故障報警。
4實驗結(jié)果與分析
研制的基于MC9S12DG256單片機的制冷機測控系統(tǒng)在某型自由活塞斯特林制冷機上獲得了應(yīng)用,在上位機PC上設(shè)置制冷機的目標冷端溫度,MC9S12DG256單片機驅(qū)動直線電機做周期運動,進而帶動斯特林活塞做功,完成了一系列制冷機的性能是試驗,獲得了大量應(yīng)用數(shù)據(jù),圖8是制冷機在不同環(huán)境溫度/制冷溫度下的制冷量與制冷系數(shù)(COP)曲線圖,證明本測控系統(tǒng)達到了預(yù)期目標。
5結(jié)束語
為實現(xiàn)對自由活塞斯特林制冷機的測控,設(shè)計了一款基于MC9S12DG256單片機的測控系統(tǒng)。采用組態(tài)王軟件設(shè)計了人機對話窗口,編寫了單片機的嵌入式μC/OS-Ⅱ操作系統(tǒng)移植軟件,設(shè)計了直線電機行程和制冷機的溫度控制策略,講述了制冷機的控制流程。運行結(jié)果表明,該測控系統(tǒng)操作簡單,界面人機對話方便,能夠?qū)崟r顯示制冷機運行參數(shù)數(shù)據(jù),能夠自動記錄壓力、溫度、電流和電壓等參數(shù),并能夠通過反電動勢實現(xiàn)制冷機直線電機行程控制,采用快速制冷與溫度PID控制相結(jié)合的控制策略實現(xiàn)制冷機冷端溫度的控制。該測控系統(tǒng)滿足了自由活塞斯特林制冷機高性價比要求,其經(jīng)驗可以用于其它類似的測控系統(tǒng)的研制工作。