基于微控制器的數(shù)字式溫度伺服控制系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:溫度伺服控制系統(tǒng)是數(shù)碼變溫空調(diào)的一個(gè)重要的子系統(tǒng),是數(shù)碼變溫空調(diào)的執(zhí)行機(jī)構(gòu)。本文根據(jù)數(shù)碼變溫空調(diào)的工作原理,提出了一種基于ARM微控制器的全數(shù)字式溫度伺服控制系統(tǒng)。溫度伺服系統(tǒng)硬件電路是以基于ARM的數(shù)字溫度控制器為核心,通過單線總線數(shù)字溫度傳感器DS1820對室內(nèi)外溫度進(jìn)行采樣,并使用液晶模塊對溫度伺服系統(tǒng)的各個(gè)運(yùn)行參數(shù)進(jìn)行實(shí)時(shí)顯示和分析。采用通用的模塊化設(shè)計(jì)方式,編寫了溫度伺服系統(tǒng)調(diào)速程序, 并且使用C語言對程序進(jìn)行了實(shí)現(xiàn)。
1 引言
居室氣候是一種與人體健康最密切的人造氣候。隨著人們物質(zhì)生活水平的日益提高,各種調(diào)節(jié)居室氣候的電器產(chǎn)品已越來越多地進(jìn)入尋常百姓家,居室氣候已變得越來越舒適,越來越不受自然氣候的制約??照{(diào)控制室內(nèi)溫度隨室外溫度改變而連續(xù)緩慢變化,更貼近人的生理感受,使人感覺更加舒適,健康。本文以數(shù)碼變溫空調(diào)的研究為背景,以其中伺服系統(tǒng)的設(shè)計(jì)為核心,研究內(nèi)容涉及溫度控制器的設(shè)計(jì)、電機(jī)驅(qū)動電路設(shè)計(jì)、電機(jī)調(diào)速方案確定以及程序?qū)崿F(xiàn)等方面。
2 伺服系統(tǒng)硬件結(jié)構(gòu)框圖設(shè)計(jì)
以lpc2214 為核心的溫度控制器硬件框圖如圖1 所示,它由嵌入式微控制器lpc2214,電源模塊,時(shí)鐘系統(tǒng),JTAG 調(diào)試接口,復(fù)位電路,數(shù)字溫度采集部分,LCD 液晶顯示器,獨(dú)立鍵盤,電機(jī)控制模塊等部分組成。
3 硬件部分詳細(xì)電路設(shè)計(jì)
3.1 基于ARM 的最小系統(tǒng)設(shè)計(jì)
基于lpc2214 的最小系統(tǒng)主要由電源模塊、時(shí)鐘模塊、JTAG 調(diào)試模塊、復(fù)位配置模塊構(gòu)成,lpc2214 自帶16K 靜態(tài)SRAM 和128K FLASH,可以下載用戶程序,所以不需要外擴(kuò)存儲器模塊。
1、電源系統(tǒng)??刂葡到y(tǒng)使用的lpc2214 芯片,需要4 組電源輸入:數(shù)字3.3V、數(shù)字1.8V,模擬3.3V、模擬1.8V。理想情況下,電源系統(tǒng)需要提供4 組獨(dú)立的電源:兩組3.3 V 電源和兩組1.8V 電源,它們需要單點(diǎn)接地或者大面積接地。本系統(tǒng)中使用的A/D 功能對電流進(jìn)行采樣,要求不高,所以模擬電源和數(shù)字電源可以不分開供電。數(shù)字溫度傳感器DS1820 可以使用單線寄生電源,可以直接掛入lpc2214 的I/O 口進(jìn)行溫度采集,所以不需要單獨(dú)供電。這樣,末級只需要提供兩組電源。電源的前級設(shè)計(jì)和末級設(shè)計(jì)與供給系統(tǒng)的電源的輸入有關(guān),前級電源使用9-15V 直流電壓輸入。
[!--empirenews.page--]
2、時(shí)鐘系統(tǒng)與復(fù)位電路。系統(tǒng)使用外部晶振或外部時(shí)鐘源,內(nèi)部PLL(鎖相環(huán))電路可以調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)的運(yùn)行速度更快(CPU 的最大操作時(shí)鐘為60MHz)。倘若不使用片內(nèi)的PLL 功能及ISP(在系統(tǒng)編程)功能,則外部晶振頻率范圍是1~30MHz,外部時(shí)鐘頻率的范圍是1~50MHz;若使用外部PLL 功能或ISP 功能,則外部晶振頻率范圍是10~25MHz,外部時(shí)鐘頻率范圍是10~25MHz。lpc2214 有兩個(gè)復(fù)位源,RESET 引腳和看門狗(WDT)復(fù)位。RESET 復(fù)位屬于硬件復(fù)位,看門狗復(fù)位屬于軟件復(fù)位。
3、JTAG 調(diào)試接口。調(diào)試與測試接口不是系統(tǒng)運(yùn)行必需的,但現(xiàn)代系統(tǒng)越來越強(qiáng)調(diào)可測性,調(diào)試、測試接口的設(shè)計(jì)也越來越受到重視。
圖3 是復(fù)位和JTAG 接口電路,它在復(fù)位信號和CPU 之間插入三態(tài)門74HC125。使用三態(tài)門主要是為了復(fù)位芯片和JTAG 仿真器都可復(fù)位。如果沒有74HC125,當(dāng)復(fù)位芯片輸出高電平,JTAG 仿真器就不能把它拉低,這不但不能實(shí)現(xiàn)所需要的功能,還可能損壞復(fù)位芯片或JTAG 仿真器。因?yàn)檫@種電路JTAG 仿真器對lpc2214 有完全的控制,仿真性能最好。
3.2 溫度采集與液晶接口模塊
溫度采集部分是本系統(tǒng)中的關(guān)鍵模塊之一,負(fù)責(zé)實(shí)時(shí)采集室內(nèi)、室外的溫度信息,并以溫度的變化作為控制電機(jī)運(yùn)行的參數(shù),系統(tǒng)對溫度采集的基本要求是:溫度采集的準(zhǔn)確度高,抗干擾性強(qiáng),容易實(shí)現(xiàn)長距離溫度的采集以及多點(diǎn)采集,并且硬件實(shí)現(xiàn)簡單?;谝陨系脑瓌t,本設(shè)計(jì)選擇單線總線數(shù)字溫度傳感器DS1820 來實(shí)現(xiàn)。其框圖如圖3 所示。
DS1820 可以程序設(shè)定9~12 位分辨率,精度為±0.5℃;數(shù)字溫度傳感器DS1820,和傳統(tǒng)的模擬傳感器相比,不需要進(jìn)行A/D 轉(zhuǎn)換,所以抗干擾性有了很大的提高;所謂一線總線的特性,即是指電源和信號復(fù)合在一起,僅使用一根口線,就可以實(shí)現(xiàn)溫度的采集。這點(diǎn)更適合本系統(tǒng)中的長距離、多點(diǎn)采集的要求,且實(shí)現(xiàn)簡單。
液晶模塊是本系統(tǒng)的人機(jī)交互模塊,負(fù)責(zé)實(shí)時(shí)顯示系統(tǒng)運(yùn)行時(shí)的各種參數(shù),包括室內(nèi)、室外溫度,電機(jī)轉(zhuǎn)速、參考電流等模擬量。本系統(tǒng)使用的是SMG240128A 點(diǎn)陣圖形液晶模塊。
SMG240128A 點(diǎn)陣液晶模塊的點(diǎn)像素為240×128 點(diǎn),黑色字/白色底,STN 液晶屏,視角為6:00,內(nèi)嵌控制器為TOSHIBA 公司的T6963C,外部顯示存儲器為32KB。對于lpc2214 微控制器來說,可以采用外部存儲器接口與液晶模塊進(jìn)行連接,LCD 內(nèi)部集成了負(fù)壓DC-DC 電路(LCD驅(qū)動電壓),使用時(shí)只需要提供單5V 電源即可。
3.3 功率驅(qū)動電路
無刷直流電機(jī)驅(qū)動電路由驅(qū)動芯片IR2130 和三相全橋逆變電路構(gòu)成。集成驅(qū)動芯片IR2130 內(nèi)部自舉技術(shù)形成懸浮的高壓側(cè)電源,因而只用一路電源即可驅(qū)動三相橋式逆變電路中母線電壓不超過600V 的六個(gè)MOSFET,降低了電路設(shè)計(jì)復(fù)雜度,提高了系統(tǒng)的可靠性。
前級控制單元輸出的六路脈寬調(diào)制信號經(jīng)過光電隔離輸入到柵極功率驅(qū)動芯片IR2130,經(jīng)過驅(qū)動放大后控制六只功率MOSFET 進(jìn)行開關(guān)動作,實(shí)現(xiàn)對電機(jī)的控制。同時(shí),電流檢測電路實(shí)時(shí)檢測主回路電流,經(jīng)過信號調(diào)理,一方面作為IR2130 自身過流檢測單元的輸入信號,另一方面作為電機(jī)電流反饋信號輸入到lpc2214 的A/D 轉(zhuǎn)換單元,實(shí)現(xiàn)電機(jī)電流的閉環(huán)控制;當(dāng)電路產(chǎn)生過流、過壓和欠壓故障時(shí),產(chǎn)生報(bào)警信號,反饋給前級控制電路,以切斷輸入到功率驅(qū)動電路的脈寬調(diào)制信號。[!--empirenews.page--]
4 伺服系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)也主要是基于ARM 芯片進(jìn)行的,C 語言的可讀性和可移植性都非常好,這樣就能極大地縮短嵌入式軟件開發(fā)的周期,對于實(shí)時(shí)性要求不是很高的場合,應(yīng)用C 語言來編寫ARM 程序,將是未來的主流之一。系統(tǒng)程序開發(fā)總體結(jié)構(gòu)如圖4。電機(jī)伺服調(diào)速系統(tǒng)軟件總體結(jié)構(gòu)分為初始化設(shè)定模塊、轉(zhuǎn)速調(diào)節(jié)模塊、電流調(diào)節(jié)模塊、PWM 更新模塊等4大部分組成。主程序只要調(diào)用每個(gè)模塊即可。
1、系統(tǒng)初始化。由于本系統(tǒng)使用C 語言進(jìn)行軟件系統(tǒng)設(shè)計(jì),所以必須首先建立C 語言運(yùn)行環(huán)境,這項(xiàng)任務(wù)由Startups 這個(gè)函數(shù)來完成,運(yùn)行這個(gè)函數(shù)的方法是可以在程序開始調(diào)用這個(gè)函數(shù)。采用的方法是加載工程模板ARM Executable LPC2200,其中已經(jīng)包含了Startup.s函數(shù)。主要包括時(shí)鐘初始化、中斷向量初始化、I/O 口初始化、通用定時(shí)器初始化、捕獲單元初始化和A/D 轉(zhuǎn)換單元初始化幾部分。
2、轉(zhuǎn)速調(diào)節(jié)模塊。轉(zhuǎn)速調(diào)節(jié)模塊由轉(zhuǎn)速計(jì)算、換相控制、轉(zhuǎn)速PI 調(diào)節(jié)3 部分組成。電機(jī)轉(zhuǎn)速的計(jì)算放在捕獲中斷服務(wù)子程序中進(jìn)行。我們知道霍爾位置傳感器的信號在電機(jī)轉(zhuǎn)子旋轉(zhuǎn)一周周期中有6 次換相,就是說每轉(zhuǎn)過60°機(jī)械角都有一次換相,這樣,只要檢測兩次換相的時(shí)間間隔△t,計(jì)算出兩次換相期間的平均角速度。為了保證得到最大的轉(zhuǎn)矩,就必須不斷的對無刷電機(jī)進(jìn)行換相。掌握恰到好處的換相時(shí)刻,可以減少轉(zhuǎn)矩波動,因而換相的檢測是十分重要的。在程序設(shè)計(jì)中,換相控制安排在換相中斷服務(wù)子程序中完成?;魻栁恢脗鞲衅鞯男盘柌ㄐ稳鐖D5-4 所示,每一個(gè)霍爾傳感器都會產(chǎn)生1800 的脈寬信號,三個(gè)霍爾傳感器的輸出信號相差1200 相位差。這樣在轉(zhuǎn)子旋轉(zhuǎn)一周,正好產(chǎn)生6 個(gè)上升、下降沿,對應(yīng)了6 個(gè)換相時(shí)刻。通過將CAP0.0/CAPO.1/CAP0.2 設(shè)置成雙邊沿捕獲就可以捕獲這6 個(gè)時(shí)刻。同時(shí),要將讀入的三個(gè)捕獲口的控制字,變換成對應(yīng)的開關(guān)管控制字。
3、電流采樣模塊。電流采樣是通過0.5Ω 精密無感電阻R 來實(shí)現(xiàn)的。電阻值的選擇要考慮當(dāng)過流發(fā)生是能輸出的最大電壓,同時(shí)起到過流檢測的作用。每一個(gè)PWM 周期對電流采樣一次。本系統(tǒng)中PWM 周期是50μs,所以電流的采樣頻率為20KHz。電流采樣中有一個(gè)問題需要特別注意,就是電流采樣時(shí)刻的選擇。由于對開關(guān)管采用單極性PWM 控制,在PWM“關(guān)”期間,電流經(jīng)過常開的開關(guān)管和另一個(gè)開關(guān)管的續(xù)流二極管形成續(xù)流回路,這個(gè)續(xù)流回路并不經(jīng)過電流檢測電阻R,因此在R 上也沒有壓降,所以在PWM 周期“關(guān)”器件不能電流采樣。
5 直流無刷電機(jī)調(diào)速控制算法
從理論上看,無刷直流電機(jī)的感應(yīng)電動勢和電磁轉(zhuǎn)矩的公式如下:
由以上兩個(gè)公式可見,感應(yīng)電動勢與轉(zhuǎn)子轉(zhuǎn)速成正比,電磁轉(zhuǎn)矩與定子電流成正比,所以我對無刷電機(jī)的調(diào)速系統(tǒng)采用了如圖5 的控制策略。
本系統(tǒng)中,以高性能ARNI 芯片lpc2214 為核心,采用PWM 控制方式控制電機(jī)的轉(zhuǎn)速和電流,霍耳元件檢測轉(zhuǎn)子位置,以功率MOSFET 場效應(yīng)管作為功率變換器件,實(shí)現(xiàn)全數(shù)字交流溫度伺服系統(tǒng)。
本文作者創(chuàng)新點(diǎn)
本文針對數(shù)碼變溫空調(diào)溫度伺服系統(tǒng)的控制特點(diǎn),提出了一種基于lpc2214 全數(shù)字溫度伺服控制系統(tǒng),完成了系統(tǒng)的總體方案設(shè)計(jì),同時(shí)又系統(tǒng)的軟、硬件各部分進(jìn)行了詳細(xì)的設(shè)計(jì)與實(shí)現(xiàn)。通過合理的利用ARM 的片內(nèi)資源,解決了硬件系統(tǒng)冗余控制難題;根據(jù)伺服系統(tǒng)的控制要求,選用了方波無刷直流電機(jī)作為伺服系統(tǒng)的執(zhí)行機(jī)構(gòu);根據(jù)無刷電機(jī)的控制要求,設(shè)計(jì)了基于功率MOSFET 和柵極接口驅(qū)動芯片IR2130 的驅(qū)動電路。