劉淵,田彥云,張天宏
(南京航空航天大學江蘇省航空動力系統重點實驗室,南京210016)
基于μC/OS-III和ARM的空心杯電機控制器設計*
劉淵,田彥云,張天宏
(南京航空航天大學江蘇省航空動力系統重點實驗室,南京210016)
針對空心杯電機轉速控制需求,選取Cortex-M4內核的TM4C132GH6PM芯片,實現了μC/OS-III實時操作系統到微控制器的移植,并采用多任務方式優化設計了轉速閉環控制器軟件。實驗結果表明,系統響應速度快,穩定性好,具有較高的工程應用價值。
μC/OS-III;Cortex-M4;TM4C132GH6PM;空心杯電機;前饋PID
空心杯電機在結構上采用了無鐵芯轉子,克服了有鐵芯電動機不可逾越的技術障礙,使其具備了更加突出的節能特性、靈敏方便的控制特性和穩定的運行特性。隨著工業技術的飛速發展,電動機的伺服特性要求不斷提高,空心杯電機以其高效率的能力轉換特性在很多應用場合取得廣泛應用。空心杯電機控制器需要對轉速進行快速精確的閉環控制,其必須具備與上位機實現串口通信、轉速實時采集、前饋PI控制及液晶屏顯示等多個功能。
目前,ARM內核微控制器發展迅速,其性能高、耗電少、成本低,具備16/32位雙指令集。本文選用TI公司的基于Cortex-M4內核的TM4C123GH6PM芯片,該芯片最高具備80 MHz主頻,適用于高性能、低功耗的嵌入式控制領域。它具備多個高精度定時器,可以輸出多達16路互補且帶有死區時間控制的PWM波形,滿足空心杯電機的控制需求。
μC/OS-III是一個可擴展的、可固化的、搶占式第3代實時多任務操作系統內核。其對任務的個數無限制,提供了現代實時內核所期望的所有功能,包括資源管理、同步、內部任務交流等。考慮到系統任務的復雜性,傳統的單任務循環式的程序控制模式難以滿足需求,本文采用了開放源碼的嵌入式操作系統μC/OS-III實現空心杯電機控制器,簡化了系統設計。
1.1 控制器硬件總體結構
空心杯電機閉環控制器硬件結構包括PWM驅動電路、轉速檢測電路、液晶顯示電路及USB轉串口電路等部分,系統框圖如圖1所示。控制器通過串口與上位機進行通信,接收上位機給出的期望轉速指令與控制參數。實際轉速經過轉速檢測電路由TM4C123GH6PM的定時器捕獲得到,在與期望轉速對比后得到轉速差,基于前饋PI控制輸出相應PWM信號,經驅動電路后供給空心杯電機。同時,液晶顯示器通過SPI接口與TM4C123GH6PM進行通信,從而實時顯示實際轉速值。
1.2 驅動電路設計
驅動電路采用一款雙通道橋式電機驅動器DRV8833,該器件具有兩個H橋驅動器,能夠驅動兩個直流電機。每個H橋的輸出驅動器模塊由N溝道功率組成,這些場效應管被配置成一個H橋,以驅動電機繞組。通過調節PWM的占空比,調整輸入電機端電壓的大小,進而控制空心杯電機的轉速。驅動電路如圖2所示,由于本文只需驅動一個直流電機,因此將雙通道輸出并聯處理,以達到增大驅動電流的效果。

圖2 驅動電路
1.3 轉速檢測電路設計
空心杯電機轉速檢測電路如圖3所示。在電機轉軸上固定了一個輪齒,上面均勻分布了4個錯開的齒。輪齒布置在一個對射光耦上,當電機轉動一周時產生4個高低脈沖,該脈沖頻率表征轉速大小。

圖3 轉速檢測電路
在官網上下載已移植到TM4C129XL的μC/OS-III,基于此工程模板進行修改,可以免除完全移植操作系統的繁瑣工作。由于該工程模板是針對TM4C129XL系列的,該系列的芯片主頻與TM4C123XL系列有所差別,因此需要在板級支持包(BSP)系統初始化文件中進行修改,文件名為“BSP_SysInit”。將原系統時鐘設置部分注釋掉,添加對應于TM4C123GXL的配置代碼:
cpu_clk_freq=BSP_SysClkFreqGet();//確定systick參考頻率
SysCtlClockSet(SYSCTL_SYSDIV_16|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ); //系統時鐘設置
此處設置在原文件中需要多條語句才能完成,利用TI公司的設備驅動庫函數可以高效便捷地完成設置。
3.1 μC/OS-III的任務分配
本控制器軟件需要實現的功能如下:
①上位機通過串口給定期望電機轉速和控制參數;
②要求空心杯電機轉速連續可調并且具有良好的動、靜態性能,通過定時器捕獲實際轉速,并采用前饋PID算法調節;
③液晶顯示屏實時顯示轉速。
基于μC/OS-III的程序設計是將一個大的應用程序分成多個相對獨立的任務來完成。定義好每個任務的優先級后,μC/OS-III內核對這些任務進行調度和管理。本程序設置OS時鐘節拍為 50 Hz,共分為 3個任務(AppTaskStart、MyTask1、MyTask2),優先級分別為2、12、13,具體的工作流程如圖4所示。其中,AppTaskStart為電機控制任務,主要負責進行前饋PI控制,其延時1個節拍進入就緒狀態,即相當于20 ms執行一次;MyTask1為上位機給定任務,負責串口接收,其延時2個節拍進入就緒態,即相當于40 ms執行一次;MyTask2為液晶顯示任務,負責LCD顯示,其延時3個節拍進入就緒態,即相當于60 ms執行一次。

圖4 μC/OS-III工作流程圖
3.2 電機控制任務
電機控制任務 AppTaskStart達到就緒態后,讀取空心杯電機當前轉速。在實際測試中,發現該電機的非線性特性較強,因此采用帶前饋量的PI控制,使電機轉速能在全范圍內都能快速準確地進行調節。其中,PWM前饋量由實際轉速插值取得,插值表在開環情況下標定獲得。電機控制任務工作流程如圖5所示。

圖5 電機控制任務工作流程圖
3.3 上位機給定任務
上位機給定任務 MyTask1中,控制器通過串口接收上位機指令,接收內容包括期望轉速及控制參數Kp與Ki。由于控制參數往往需要根據經驗反復整定,而且起初并不能確定其量級大小,為了快速方便地進行控制參數整定,此處串口數據采取浮點數格式傳輸,相對于用整型數傳輸沒有精度損失。數據類型轉換具體代碼如下:
float char_float(unsigned char*s){//char型轉換為float型
float p;
p=*(float*)s;
return p;
}
void float_char(float f,unsigned char*s){
//float型轉換為char型
unsigned char*p;
p=(unsigned char*)&f;
*s=*p;
*(s+1)=*(p+1);
*(s+2)=*(p+2);
*(s+3)=*(p+3);}
實驗采用的空心杯電機額定電壓為3.7 V,額定轉速為20 000 r/min。在本控制器作用下,實驗結果曲線如圖6所示。輸出PWM占空比快速調整,從而對電機速度進行閉環控制。由圖中轉速曲線可得,系統穩定時間約為0.12 s,超調量為2.7%,穩態誤差僅為0.33%,且系統動態響應較好,能滿足速度調節平穩性和快速性的要求。

圖6 實驗結果曲線
本文實現了空心杯電機控制器的軟硬件設計,在TM4C123GH6PM上嵌入了μC/OS-III實時操作系統,采取多任務的方式高效地完成了轉速前饋PI控制。實驗表明:系統具備很好的動、靜態性能,為空心杯轉速閉環控制提供了一種行之有效的解決方案。
[1]袁先圣,劉星,葉波,等.STM32的無刷直流電機控制系統設計[J].單片機與嵌入式系統應用,2013(10):18-20.
[2]錢兒,邵定國,許路,等.空心杯永磁同步電機控制策略[J].電機與控制應用,2010,37(1):20-24.
[3]王廣平,馬選謀.速度反饋信號的檢測和處理[J].機械與電子,2004(1):59-62.
[4]陳德益.基于嵌入式單片機的電機控制系統設計[J].計算機仿真,2010(1):359-362.
[5]李昌.基于μC/OS-III的多功能控制器[J].單片機與嵌入式系統應用,2014(3):33-38.
劉淵、田彥云(碩士研究生),主要從事航空發動機控制系統設計與仿真;張天宏(教授),研究方向為嵌入式控制系統、系統控制與仿真。
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)
南京航空航天大學研究生創新基地(實驗室)開放基金(kfjj201462);中央高校基本科研業務費專項資金資助。