劉淵,田彥云,張?zhí)旌?/p>
(南京航空航天大學(xué)江蘇省航空動力系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,南京210016)
基于μC/OS-III和ARM的空心杯電機(jī)控制器設(shè)計(jì)*
劉淵,田彥云,張?zhí)旌?/p>
(南京航空航天大學(xué)江蘇省航空動力系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,南京210016)
針對空心杯電機(jī)轉(zhuǎn)速控制需求,選取Cortex-M4內(nèi)核的TM4C132GH6PM芯片,實(shí)現(xiàn)了μC/OS-III實(shí)時(shí)操作系統(tǒng)到微控制器的移植,并采用多任務(wù)方式優(yōu)化設(shè)計(jì)了轉(zhuǎn)速閉環(huán)控制器軟件。實(shí)驗(yàn)結(jié)果表明,系統(tǒng)響應(yīng)速度快,穩(wěn)定性好,具有較高的工程應(yīng)用價(jià)值。
μC/OS-III;Cortex-M4;TM4C132GH6PM;空心杯電機(jī);前饋PID
空心杯電機(jī)在結(jié)構(gòu)上采用了無鐵芯轉(zhuǎn)子,克服了有鐵芯電動機(jī)不可逾越的技術(shù)障礙,使其具備了更加突出的節(jié)能特性、靈敏方便的控制特性和穩(wěn)定的運(yùn)行特性。隨著工業(yè)技術(shù)的飛速發(fā)展,電動機(jī)的伺服特性要求不斷提高,空心杯電機(jī)以其高效率的能力轉(zhuǎn)換特性在很多應(yīng)用場合取得廣泛應(yīng)用??招谋姍C(jī)控制器需要對轉(zhuǎn)速進(jìn)行快速精確的閉環(huán)控制,其必須具備與上位機(jī)實(shí)現(xiàn)串口通信、轉(zhuǎn)速實(shí)時(shí)采集、前饋PI控制及液晶屏顯示等多個(gè)功能。
目前,ARM內(nèi)核微控制器發(fā)展迅速,其性能高、耗電少、成本低,具備16/32位雙指令集。本文選用TI公司的基于Cortex-M4內(nèi)核的TM4C123GH6PM芯片,該芯片最高具備80 MHz主頻,適用于高性能、低功耗的嵌入式控制領(lǐng)域。它具備多個(gè)高精度定時(shí)器,可以輸出多達(dá)16路互補(bǔ)且?guī)в兴绤^(qū)時(shí)間控制的PWM波形,滿足空心杯電機(jī)的控制需求。
μC/OS-III是一個(gè)可擴(kuò)展的、可固化的、搶占式第3代實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核。其對任務(wù)的個(gè)數(shù)無限制,提供了現(xiàn)代實(shí)時(shí)內(nèi)核所期望的所有功能,包括資源管理、同步、內(nèi)部任務(wù)交流等??紤]到系統(tǒng)任務(wù)的復(fù)雜性,傳統(tǒng)的單任務(wù)循環(huán)式的程序控制模式難以滿足需求,本文采用了開放源碼的嵌入式操作系統(tǒng)μC/OS-III實(shí)現(xiàn)空心杯電機(jī)控制器,簡化了系統(tǒng)設(shè)計(jì)。
1.1 控制器硬件總體結(jié)構(gòu)
空心杯電機(jī)閉環(huán)控制器硬件結(jié)構(gòu)包括PWM驅(qū)動電路、轉(zhuǎn)速檢測電路、液晶顯示電路及USB轉(zhuǎn)串口電路等部分,系統(tǒng)框圖如圖1所示??刂破魍ㄟ^串口與上位機(jī)進(jìn)行通信,接收上位機(jī)給出的期望轉(zhuǎn)速指令與控制參數(shù)。實(shí)際轉(zhuǎn)速經(jīng)過轉(zhuǎn)速檢測電路由TM4C123GH6PM的定時(shí)器捕獲得到,在與期望轉(zhuǎn)速對比后得到轉(zhuǎn)速差,基于前饋PI控制輸出相應(yīng)PWM信號,經(jīng)驅(qū)動電路后供給空心杯電機(jī)。同時(shí),液晶顯示器通過SPI接口與TM4C123GH6PM進(jìn)行通信,從而實(shí)時(shí)顯示實(shí)際轉(zhuǎn)速值。
1.2 驅(qū)動電路設(shè)計(jì)
驅(qū)動電路采用一款雙通道橋式電機(jī)驅(qū)動器DRV8833,該器件具有兩個(gè)H橋驅(qū)動器,能夠驅(qū)動兩個(gè)直流電機(jī)。每個(gè)H橋的輸出驅(qū)動器模塊由N溝道功率組成,這些場效應(yīng)管被配置成一個(gè)H橋,以驅(qū)動電機(jī)繞組。通過調(diào)節(jié)PWM的占空比,調(diào)整輸入電機(jī)端電壓的大小,進(jìn)而控制空心杯電機(jī)的轉(zhuǎn)速。驅(qū)動電路如圖2所示,由于本文只需驅(qū)動一個(gè)直流電機(jī),因此將雙通道輸出并聯(lián)處理,以達(dá)到增大驅(qū)動電流的效果。
圖2 驅(qū)動電路
1.3 轉(zhuǎn)速檢測電路設(shè)計(jì)
空心杯電機(jī)轉(zhuǎn)速檢測電路如圖3所示。在電機(jī)轉(zhuǎn)軸上固定了一個(gè)輪齒,上面均勻分布了4個(gè)錯(cuò)開的齒。輪齒布置在一個(gè)對射光耦上,當(dāng)電機(jī)轉(zhuǎn)動一周時(shí)產(chǎn)生4個(gè)高低脈沖,該脈沖頻率表征轉(zhuǎn)速大小。
圖3 轉(zhuǎn)速檢測電路
在官網(wǎng)上下載已移植到TM4C129XL的μC/OS-III,基于此工程模板進(jìn)行修改,可以免除完全移植操作系統(tǒng)的繁瑣工作。由于該工程模板是針對TM4C129XL系列的,該系列的芯片主頻與TM4C123XL系列有所差別,因此需要在板級支持包(BSP)系統(tǒng)初始化文件中進(jìn)行修改,文件名為“BSP_SysInit”。將原系統(tǒng)時(shí)鐘設(shè)置部分注釋掉,添加對應(yīng)于TM4C123GXL的配置代碼:
cpu_clk_freq=BSP_SysClkFreqGet();//確定systick參考頻率
SysCtlClockSet(SYSCTL_SYSDIV_16|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ); //系統(tǒng)時(shí)鐘設(shè)置
此處設(shè)置在原文件中需要多條語句才能完成,利用TI公司的設(shè)備驅(qū)動庫函數(shù)可以高效便捷地完成設(shè)置。
3.1 μC/OS-III的任務(wù)分配
本控制器軟件需要實(shí)現(xiàn)的功能如下:
①上位機(jī)通過串口給定期望電機(jī)轉(zhuǎn)速和控制參數(shù);
②要求空心杯電機(jī)轉(zhuǎn)速連續(xù)可調(diào)并且具有良好的動、靜態(tài)性能,通過定時(shí)器捕獲實(shí)際轉(zhuǎn)速,并采用前饋PID算法調(diào)節(jié);
③液晶顯示屏實(shí)時(shí)顯示轉(zhuǎn)速。
基于μC/OS-III的程序設(shè)計(jì)是將一個(gè)大的應(yīng)用程序分成多個(gè)相對獨(dú)立的任務(wù)來完成。定義好每個(gè)任務(wù)的優(yōu)先級后,μC/OS-III內(nèi)核對這些任務(wù)進(jìn)行調(diào)度和管理。本程序設(shè)置OS時(shí)鐘節(jié)拍為 50 Hz,共分為 3個(gè)任務(wù)(AppTaskStart、MyTask1、MyTask2),優(yōu)先級分別為2、12、13,具體的工作流程如圖4所示。其中,AppTaskStart為電機(jī)控制任務(wù),主要負(fù)責(zé)進(jìn)行前饋PI控制,其延時(shí)1個(gè)節(jié)拍進(jìn)入就緒狀態(tài),即相當(dāng)于20 ms執(zhí)行一次;MyTask1為上位機(jī)給定任務(wù),負(fù)責(zé)串口接收,其延時(shí)2個(gè)節(jié)拍進(jìn)入就緒態(tài),即相當(dāng)于40 ms執(zhí)行一次;MyTask2為液晶顯示任務(wù),負(fù)責(zé)LCD顯示,其延時(shí)3個(gè)節(jié)拍進(jìn)入就緒態(tài),即相當(dāng)于60 ms執(zhí)行一次。
圖4 μC/OS-III工作流程圖
3.2 電機(jī)控制任務(wù)
電機(jī)控制任務(wù) AppTaskStart達(dá)到就緒態(tài)后,讀取空心杯電機(jī)當(dāng)前轉(zhuǎn)速。在實(shí)際測試中,發(fā)現(xiàn)該電機(jī)的非線性特性較強(qiáng),因此采用帶前饋量的PI控制,使電機(jī)轉(zhuǎn)速能在全范圍內(nèi)都能快速準(zhǔn)確地進(jìn)行調(diào)節(jié)。其中,PWM前饋量由實(shí)際轉(zhuǎn)速插值取得,插值表在開環(huán)情況下標(biāo)定獲得。電機(jī)控制任務(wù)工作流程如圖5所示。
圖5 電機(jī)控制任務(wù)工作流程圖
3.3 上位機(jī)給定任務(wù)
上位機(jī)給定任務(wù) MyTask1中,控制器通過串口接收上位機(jī)指令,接收內(nèi)容包括期望轉(zhuǎn)速及控制參數(shù)Kp與Ki。由于控制參數(shù)往往需要根據(jù)經(jīng)驗(yàn)反復(fù)整定,而且起初并不能確定其量級大小,為了快速方便地進(jìn)行控制參數(shù)整定,此處串口數(shù)據(jù)采取浮點(diǎn)數(shù)格式傳輸,相對于用整型數(shù)傳輸沒有精度損失。數(shù)據(jù)類型轉(zhuǎn)換具體代碼如下:
float char_float(unsigned char*s){//char型轉(zhuǎn)換為float型
float p;
p=*(float*)s;
return p;
}
void float_char(float f,unsigned char*s){
//float型轉(zhuǎn)換為char型
unsigned char*p;
p=(unsigned char*)&f;
*s=*p;
*(s+1)=*(p+1);
*(s+2)=*(p+2);
*(s+3)=*(p+3);}
實(shí)驗(yàn)采用的空心杯電機(jī)額定電壓為3.7 V,額定轉(zhuǎn)速為20 000 r/min。在本控制器作用下,實(shí)驗(yàn)結(jié)果曲線如圖6所示。輸出PWM占空比快速調(diào)整,從而對電機(jī)速度進(jìn)行閉環(huán)控制。由圖中轉(zhuǎn)速曲線可得,系統(tǒng)穩(wěn)定時(shí)間約為0.12 s,超調(diào)量為2.7%,穩(wěn)態(tài)誤差僅為0.33%,且系統(tǒng)動態(tài)響應(yīng)較好,能滿足速度調(diào)節(jié)平穩(wěn)性和快速性的要求。
圖6 實(shí)驗(yàn)結(jié)果曲線
本文實(shí)現(xiàn)了空心杯電機(jī)控制器的軟硬件設(shè)計(jì),在TM4C123GH6PM上嵌入了μC/OS-III實(shí)時(shí)操作系統(tǒng),采取多任務(wù)的方式高效地完成了轉(zhuǎn)速前饋PI控制。實(shí)驗(yàn)表明:系統(tǒng)具備很好的動、靜態(tài)性能,為空心杯轉(zhuǎn)速閉環(huán)控制提供了一種行之有效的解決方案。
[1]袁先圣,劉星,葉波,等.STM32的無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(10):18-20.
[2]錢兒,邵定國,許路,等.空心杯永磁同步電機(jī)控制策略[J].電機(jī)與控制應(yīng)用,2010,37(1):20-24.
[3]王廣平,馬選謀.速度反饋信號的檢測和處理[J].機(jī)械與電子,2004(1):59-62.
[4]陳德益.基于嵌入式單片機(jī)的電機(jī)控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)仿真,2010(1):359-362.
[5]李昌.基于μC/OS-III的多功能控制器[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(3):33-38.
劉淵、田彥云(碩士研究生),主要從事航空發(fā)動機(jī)控制系統(tǒng)設(shè)計(jì)與仿真;張?zhí)旌辏ń淌冢?,研究方向?yàn)榍度胧娇刂葡到y(tǒng)、系統(tǒng)控制與仿真。
Controller of Coreless Motor Based on μC/OS-III and ARM
Liu Yuan,Tian Yanyun,Zhang Tianhong
(Jiangsu Province Key Laboratory of Aerospace Power System,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)
Aiming at the speed control requirements of coreless motor,the design realizes the transplant real-time operating system μC/OS-III on to microcontroller,which takes TM4C123GH6PM MCU based on Cortex-M4 as the core.And the design uses multi-tasking approach to optimize the speed closed-loop controller software.The experimental results show that the system has a quick response and good stability,which has high value for practical engineering application.
μC/OS-III;Cortex-M4;TM4C132GH6PM;coreless motor;feed forward PID
TM331
A
楊迪娜
2014-11-18)
南京航空航天大學(xué)研究生創(chuàng)新基地(實(shí)驗(yàn)室)開放基金(kfjj201462);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金資助。