陳 柯, 李媛媛, 方 璇, 閆華山, 劉學晶
(上海工程技術大學 電子電氣工程學院,上海 201620)
?
單片機驅動電機的設計與實現
陳 柯, 李媛媛, 方 璇, 閆華山, 劉學晶
(上海工程技術大學 電子電氣工程學院,上海 201620)

四旋翼飛機已用于越來越廣泛的領域,其核心就在于其控制系統的設計與實現。選擇合適的單片機和電機是其整個系統實現的基礎。隨著電機技術的飛速發展,無刷電調的出現極大地滿足了小型四旋翼飛行的需要,本文選擇無刷電機作為動力系統。STM32系列的處理器有一系列優點比如高性能、低成本、低功耗等還有其應用專門設計的ARM Cortex-M3低功耗高速內核,其豐富的片上資源可滿足各種開發飛行控制系統所需的要求。本文在STM32單片機的硬件平臺上開發了驅動電機轉動的系統,單片機通過無刷電調與無刷電機相連,通過控制輸出PWM信號占空比的大小來控制電機的轉速大小,經過實際測試,能夠實現電機的加速減速,且系統穩定,運行可靠,為進一步研究四旋翼飛機的操控打下良好的基礎。
STM32; 電機; 電調
單片機是四旋翼飛行器的控制核心,它能夠實現驅動電機轉動,并改變電機的轉速。
通常,單片機驅動電機系統有單片機、電調、電源、電機組成,一般由單片機產生信號對電機進行控制,通過改變PWM信號的占空比來實現調節電機的轉速。
這些年,隨著電機技術和芯片技術的發展,在電機和芯片上有了更多的選擇[1]。以前大部分都是使用有刷電機,而有刷電機存在著一系列的缺點,比如:摩擦大、損耗大;發熱大、壽命短;效率低、輸出功率小[2]。這些缺點限制了小型四旋翼的進一步發展。而隨著無刷電機的出現,我們就有了更好的選擇。無刷電機具有一系列優點,比如:無電刷、無干擾;噪音低、運轉流暢;壽命長、低維護成本[3]而且其可靠性好[4]。無刷電機具有廣闊的應用范圍[4]。這些優點極大地滿足了四旋翼飛行器對電機的要求。在現在的市面上有各種類型的處理器,而ST公司推出的STM32系列處理器具有高性能、低成本、低功耗等優點[5],其應用專門設計的ARM Cortex-M3低功耗高速內核。其豐富的片上資源可滿足各種開發飛行控制系統所需的要求[7-9]。
因此,本文提出了基于STM32驅動無刷電機的設計與實現方案。
1.1 基本工作原理
調節電機的轉速時,通過單片機上的按鈕調節輸出PWM信號的占空比,以此來調節電機轉速,達到控制電機的目的。
1.2 設計思路
本系統主要由單片機處理器、無刷電調、無刷電機以及電源組成,系統總體工作結構如圖1所示,STM32單片機輸出PWM控制信號經過無刷電調然后控制電機轉速。

圖1 總體結構
在本系統中單片機作為整個系統的核心,其輸出的PWM信號就是控制電機轉速的控制信號。
無刷電調接收單片機產生的PWM波,然而接收的PWM波是不能直接用的,需要經過轉換。在無刷電調里具有一個單片機,從接收那里輸入PWM信號,通過解調運算,再輸出三個驅動信號。
無刷電機是依靠改變輸入到無刷電機定子線圈上的電流波交變頻率和波形,在繞組線圈周圍形成一個繞電機幾何軸心旋轉的磁場,這個磁場驅動轉子上的永磁磁鋼驅動,電機就轉起來了。因此無刷電機接收從電調輸出的三個驅動信號,進行轉動。
2.1 STM32單片機
本文在選擇單片機時考慮了擴展性、功耗、價格、穩定性和開發難易程度等因素,最終采用單片機的型號為STM32F1032ET6[10-13],如圖2所示,同時它帶有死區時間控制的PWM波形,可以滿足無刷直流電機的控制需求。

圖2 STM32單片機
本文單片機在系統中的主要作用有:輸出PWM信號;調節PWM信號的占空比。
2.2 無刷電調
本文采用的無刷電調模塊為HLW XXD-30A,其性能特點為:自動選擇2-3LIPO,分別保護電壓是6 V/9 V;自動選NIMH,每節保護電壓是0.8 V;安全啟動,油門位置不對禁止啟動;溫度保護,110 ℃表面溫度停機;失控保護,無信號1 s以后停機。轉速上限,2極內轉高達300 000轉,12極外轉50 000轉,14極外轉42 000轉。 8 kHz PWM控制,使用轉速控制曲線。自動油門適應,適合更多遙控設備。使用BEC,MCU分離電源供應,工作更穩定。電調在初步使用時要進行設置。設置步驟為:給單片機寫程序:使得某引腳輸出500 Hz的PWM信號,初始化時高電平時間設置為1.9 ms,然后在while循環里面加入檢測按鍵的程序,當按鍵按下,把高電平設置為0.7 ms。寫好程序后,下載到單片機,上電。用示波器測試一下是否正確。正確的話,進行下一步;等單片機上電后,再打開開關電源,給電調上電,會聽到電機發出“嗶嗶”兩聲,在3 s鐘內,按下單片機開發板上的按鍵,會聽到一聲比較長的“嗶”聲,代表設置成功。如果電機發出急促的“嗶嗶嗶嗶……”的聲音,代表設置不成功,肯定是程序有問題。只要第一步做到了,這一步就不會有問題。這時候電調就設置好了。
2.3 無刷電機
本文采用的電機模塊為新西達A2212型如下圖3所示,其基本參數為當其搭配GWS1047RS槳,電壓為11 V,電流為15.6 A時,其轉速達6 810轉,推力為886 g。當電壓為10 V,電流為14 A,其轉速為6 530轉,推力為820 g。
2.4 電 源
所用電源為獅子2 200 mAh大容量電池。
基本流程圖如圖4所示。
圖4 流程圖
其中部分主程序如下:
#define KEY_ON0
#define KEY_OFF1
void Key_GPIO_Config(void);
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,u16 GPIO_Pin,uint8_t Down_state);
int main(void)
{
TIM3_PWM_Init();
Key_GPIO_Config();
int i=8;
while(1)
{
if( !Key_Scan(GPIOC,GPIO_Pin_13,1))//檢測K1鍵是否按下,若按下則增大占空比,是電機加速
{
i++;
TIM_SetCompare2(TIM3,i);
TIM_SetCompare1(TIM3,i);
}
else
{if(! Key_Scan(GPIOA,GPIO_Pin_0,1)) //檢測K2鍵是否按下,若按下則減小占空比,使電機減速
{
i--;
TIM_SetCompare1(TIM3,i);
TIM_SetCompare2(TIM3,i);
}
}
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,u16 GPIO_Pin,uint8_t Down_state)//檢測按鍵是否按下
{
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) ==Down_state)
{Key_Delay(10 000);
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)== Down_state)
{while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin) == Down_state);
return KEY_ON;
}
Else
return KEY_OFF;
}
Else
return KEY_OFF;
}
void TIM_SetCompare1(TIM_TypeDef* TIMx,uint16_t Compare1)//改變占空比
{assert_param(IS_TIM_LIST8_PERIPH(TIMx));
TIMx->CCR1 = Compare1;
}
該裝置完整實物圖如圖5所示,此圖表示的是電機靜止時的畫面,本系統可以通過單片機上的2個按鍵來實現電機的加速。

圖5 電機靜止圖
當按下加速鍵是,電機開始轉動如圖6所示。

圖6 電機轉動
按下按鍵用示波器檢測輸出的PWM波的信號,通過觀察可以看見信號的占空比在逐漸變大。如圖7~9所示。

圖7 PWM信號輸出波形

圖8 PWM信號輸出波形

圖9 PWM信號輸出波形
根據前文介紹,STM32單片機可以輸出多路PWM波,所以此單片機可以驅動多路電機進行轉動。
圖7表示輸出的PWM波的占空比為10%,連續按下加速鍵的按鈕,PWM波的占空比就如圖8和圖9所示,從10%增加到30%。
本文所設計的系統中,核心的控制器采用基于STM32的單片機,不僅是因為其高級定時器可以輸出三路互補且帶有死區時間控制的PWM波形,還因為其性能可以進行后續四旋翼的開發。而無刷電機足以滿足小型四旋翼的需求。本文設計的基于STM32的單片機驅動無刷電機的系統[14-15]。其單片機通過控制輸出PWM信號的占空比的大小來控制無刷電機的轉速,當想要增大轉速時,通過單片機上的按鍵增大其占空比,當想要減速時可以通過按鍵較小其占空比。經過測試本系統能成功的完成控制電機轉速的要求。
[1] CASTILLOP,DZUL A,LOZANO R. Real-time stabilization and tracking of a four rotor mini rotorcaft[J].IEEE Trans. Control Syst Techool,2004,12(4):510-516.
[2] 李發海.電機學[M].北京:科學出版社,2007.
[3] LORINCZ ISTVAN R,COROBA-SCHRAMEL V,TIPOUT V. A novel initial rotor-position estimation method for BLDC motors based on four voltage pulses[C]//2010 ,12thInternational Conference on Optimization of Electrical and Electronic Equipment.Basov:2010.512-519.
[4] 夏長亮.無刷直流電機控制系統[M].北京:科學出版社,2009.
[5] 杜春雷.ARM體系結構與編程[M].北京:清華大學出版,2003.
[6] 劉 乾,孫志峰.基于ARM的四旋翼無人飛行器控制系統[J].機電工程,2011,28(10):1237-1240.
[7] 三恒星科技有限公司.ARM9原理與應用設計[M].北京:電子工業出版社,2008.
[8] 李 楠,田小玲,鐘灶生,等.基于鎖相環倍頻的BLDCM速度控制系統[J].傳感器與微系統,2011,30(2):91-94.
[9] 王吉忠,車用單片機系統實驗教程[M].北京:中國電力出版社,2009.
[10] 崔小玲, 侯思祖, 張 璇,等. 基于STM32的智能終端的設計與實現[J].電力系統通信,2012, 33:76-79.
[11] Cui Xiao-ling, Hou Si-zu, Zhang-xuan.Design and implementationof intellignet terminal based on STM 32[J].Telecommunications for Electric Power System,2012,33(235):76-79.
[12] 李良光,張宏群.模擬電子技術[M].北京:清華大學出版社,2011.
[13] 陳小永.直流無刷電機控制技術研發[M].青島:中國石油大學,2009.
[14] 李建忠.單片機原理及應用[M].西安:西安電子科技大學出版社,2002.
[15] 沈建華.楊艷琴. MSP系列16位超低功耗單片機原理與實踐[M].北京:北京航空航天大學出版社,2008.
Design and Implementation of Driving Motor Based on MCU
CHENKe,LIYuan-yuan,FANGXuan,YANHua-shan,LIUXue-jing
(College of Electrical and Electronic Engineering, Shanghai University of Engineering Science,Shanghai 201620, China)
Four rotor aircraft is being used in more and more fields, and its core lies in the design and implementation of the control system. The elementary requirement is to select the appropriate SCM to the motor drive. With the rapid development of the technology of motor, brushless ESC has greatly met the need of small four rotor aircraft, so this paper selects brushless motor as power system. The processor of STM32 series has a series of advantages such as high performance, low cost, low power consumption, and it has been specifically designed with ARM Cortex-M3 kernel to meet low power consumption and high speed. Moreover, its rich resources on chip can meet various development of flight control system requirements. In this paper, the STM32 hardware is developed on the platform of driving system of motor rotation, MCU brushless ESC and brushless motor are connected through PWM through the control of output signal duty cycle relation to control the speed of the motor size. After actual tests, the system can realize motor acceleration deceleration, and is stable, reliable in operation. It provides a good foundation for the further study of four rotor aircraft.
STM32; motor; electronic speed control
2015-10-16
2015年上海工程技術大學大學生校重點級創業實踐項目資助(sj15zd017)
陳 柯(1991-),男,河南鄭州人,碩士生,研究方向為智能傳感器。Tel.:15202107035; E-mail:616022149@qq.com
李媛媛(1979-),女,陜西西安人,副教授,自動化系主任。Tel.:13916460392;E-mail:liyuanyuanedu@163.com
TM 331
A
1006-7167(2016)03-0119-04