陳 柯, 李媛媛, 方 璇, 閆華山, 劉學(xué)晶
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
?
單片機(jī)驅(qū)動(dòng)電機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
陳 柯, 李媛媛, 方 璇, 閆華山, 劉學(xué)晶
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院,上海 201620)
四旋翼飛機(jī)已用于越來(lái)越廣泛的領(lǐng)域,其核心就在于其控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。選擇合適的單片機(jī)和電機(jī)是其整個(gè)系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。隨著電機(jī)技術(shù)的飛速發(fā)展,無(wú)刷電調(diào)的出現(xiàn)極大地滿足了小型四旋翼飛行的需要,本文選擇無(wú)刷電機(jī)作為動(dòng)力系統(tǒng)。STM32系列的處理器有一系列優(yōu)點(diǎn)比如高性能、低成本、低功耗等還有其應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3低功耗高速內(nèi)核,其豐富的片上資源可滿足各種開發(fā)飛行控制系統(tǒng)所需的要求。本文在STM32單片機(jī)的硬件平臺(tái)上開發(fā)了驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)的系統(tǒng),單片機(jī)通過(guò)無(wú)刷電調(diào)與無(wú)刷電機(jī)相連,通過(guò)控制輸出PWM信號(hào)占空比的大小來(lái)控制電機(jī)的轉(zhuǎn)速大小,經(jīng)過(guò)實(shí)際測(cè)試,能夠?qū)崿F(xiàn)電機(jī)的加速減速,且系統(tǒng)穩(wěn)定,運(yùn)行可靠,為進(jìn)一步研究四旋翼飛機(jī)的操控打下良好的基礎(chǔ)。
STM32; 電機(jī); 電調(diào)
單片機(jī)是四旋翼飛行器的控制核心,它能夠?qū)崿F(xiàn)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),并改變電機(jī)的轉(zhuǎn)速。
通常,單片機(jī)驅(qū)動(dòng)電機(jī)系統(tǒng)有單片機(jī)、電調(diào)、電源、電機(jī)組成,一般由單片機(jī)產(chǎn)生信號(hào)對(duì)電機(jī)進(jìn)行控制,通過(guò)改變PWM信號(hào)的占空比來(lái)實(shí)現(xiàn)調(diào)節(jié)電機(jī)的轉(zhuǎn)速。
這些年,隨著電機(jī)技術(shù)和芯片技術(shù)的發(fā)展,在電機(jī)和芯片上有了更多的選擇[1]。以前大部分都是使用有刷電機(jī),而有刷電機(jī)存在著一系列的缺點(diǎn),比如:摩擦大、損耗大;發(fā)熱大、壽命短;效率低、輸出功率小[2]。這些缺點(diǎn)限制了小型四旋翼的進(jìn)一步發(fā)展。而隨著無(wú)刷電機(jī)的出現(xiàn),我們就有了更好的選擇。無(wú)刷電機(jī)具有一系列優(yōu)點(diǎn),比如:無(wú)電刷、無(wú)干擾;噪音低、運(yùn)轉(zhuǎn)流暢;壽命長(zhǎng)、低維護(hù)成本[3]而且其可靠性好[4]。無(wú)刷電機(jī)具有廣闊的應(yīng)用范圍[4]。這些優(yōu)點(diǎn)極大地滿足了四旋翼飛行器對(duì)電機(jī)的要求。在現(xiàn)在的市面上有各種類型的處理器,而ST公司推出的STM32系列處理器具有高性能、低成本、低功耗等優(yōu)點(diǎn)[5],其應(yīng)用專門設(shè)計(jì)的ARM Cortex-M3低功耗高速內(nèi)核。其豐富的片上資源可滿足各種開發(fā)飛行控制系統(tǒng)所需的要求[7-9]。
因此,本文提出了基于STM32驅(qū)動(dòng)無(wú)刷電機(jī)的設(shè)計(jì)與實(shí)現(xiàn)方案。
1.1 基本工作原理
調(diào)節(jié)電機(jī)的轉(zhuǎn)速時(shí),通過(guò)單片機(jī)上的按鈕調(diào)節(jié)輸出PWM信號(hào)的占空比,以此來(lái)調(diào)節(jié)電機(jī)轉(zhuǎn)速,達(dá)到控制電機(jī)的目的。
1.2 設(shè)計(jì)思路
本系統(tǒng)主要由單片機(jī)處理器、無(wú)刷電調(diào)、無(wú)刷電機(jī)以及電源組成,系統(tǒng)總體工作結(jié)構(gòu)如圖1所示,STM32單片機(jī)輸出PWM控制信號(hào)經(jīng)過(guò)無(wú)刷電調(diào)然后控制電機(jī)轉(zhuǎn)速。
圖1 總體結(jié)構(gòu)
在本系統(tǒng)中單片機(jī)作為整個(gè)系統(tǒng)的核心,其輸出的PWM信號(hào)就是控制電機(jī)轉(zhuǎn)速的控制信號(hào)。
無(wú)刷電調(diào)接收單片機(jī)產(chǎn)生的PWM波,然而接收的PWM波是不能直接用的,需要經(jīng)過(guò)轉(zhuǎn)換。在無(wú)刷電調(diào)里具有一個(gè)單片機(jī),從接收那里輸入PWM信號(hào),通過(guò)解調(diào)運(yùn)算,再輸出三個(gè)驅(qū)動(dòng)信號(hào)。
無(wú)刷電機(jī)是依靠改變輸入到無(wú)刷電機(jī)定子線圈上的電流波交變頻率和波形,在繞組線圈周圍形成一個(gè)繞電機(jī)幾何軸心旋轉(zhuǎn)的磁場(chǎng),這個(gè)磁場(chǎng)驅(qū)動(dòng)轉(zhuǎn)子上的永磁磁鋼驅(qū)動(dòng),電機(jī)就轉(zhuǎn)起來(lái)了。因此無(wú)刷電機(jī)接收從電調(diào)輸出的三個(gè)驅(qū)動(dòng)信號(hào),進(jìn)行轉(zhuǎn)動(dòng)。
2.1 STM32單片機(jī)
本文在選擇單片機(jī)時(shí)考慮了擴(kuò)展性、功耗、價(jià)格、穩(wěn)定性和開發(fā)難易程度等因素,最終采用單片機(jī)的型號(hào)為STM32F1032ET6[10-13],如圖2所示,同時(shí)它帶有死區(qū)時(shí)間控制的PWM波形,可以滿足無(wú)刷直流電機(jī)的控制需求。
圖2 STM32單片機(jī)
本文單片機(jī)在系統(tǒng)中的主要作用有:輸出PWM信號(hào);調(diào)節(jié)PWM信號(hào)的占空比。
2.2 無(wú)刷電調(diào)
本文采用的無(wú)刷電調(diào)模塊為HLW XXD-30A,其性能特點(diǎn)為:自動(dòng)選擇2-3LIPO,分別保護(hù)電壓是6 V/9 V;自動(dòng)選NIMH,每節(jié)保護(hù)電壓是0.8 V;安全啟動(dòng),油門位置不對(duì)禁止啟動(dòng);溫度保護(hù),110 ℃表面溫度停機(jī);失控保護(hù),無(wú)信號(hào)1 s以后停機(jī)。轉(zhuǎn)速上限,2極內(nèi)轉(zhuǎn)高達(dá)300 000轉(zhuǎn),12極外轉(zhuǎn)50 000轉(zhuǎn),14極外轉(zhuǎn)42 000轉(zhuǎn)。 8 kHz PWM控制,使用轉(zhuǎn)速控制曲線。自動(dòng)油門適應(yīng),適合更多遙控設(shè)備。使用BEC,MCU分離電源供應(yīng),工作更穩(wěn)定。電調(diào)在初步使用時(shí)要進(jìn)行設(shè)置。設(shè)置步驟為:給單片機(jī)寫程序:使得某引腳輸出500 Hz的PWM信號(hào),初始化時(shí)高電平時(shí)間設(shè)置為1.9 ms,然后在while循環(huán)里面加入檢測(cè)按鍵的程序,當(dāng)按鍵按下,把高電平設(shè)置為0.7 ms。寫好程序后,下載到單片機(jī),上電。用示波器測(cè)試一下是否正確。正確的話,進(jìn)行下一步;等單片機(jī)上電后,再打開開關(guān)電源,給電調(diào)上電,會(huì)聽到電機(jī)發(fā)出“嗶嗶”兩聲,在3 s鐘內(nèi),按下單片機(jī)開發(fā)板上的按鍵,會(huì)聽到一聲比較長(zhǎng)的“嗶”聲,代表設(shè)置成功。如果電機(jī)發(fā)出急促的“嗶嗶嗶嗶……”的聲音,代表設(shè)置不成功,肯定是程序有問(wèn)題。只要第一步做到了,這一步就不會(huì)有問(wèn)題。這時(shí)候電調(diào)就設(shè)置好了。
2.3 無(wú)刷電機(jī)
本文采用的電機(jī)模塊為新西達(dá)A2212型如下圖3所示,其基本參數(shù)為當(dāng)其搭配GWS1047RS槳,電壓為11 V,電流為15.6 A時(shí),其轉(zhuǎn)速達(dá)6 810轉(zhuǎn),推力為886 g。當(dāng)電壓為10 V,電流為14 A,其轉(zhuǎn)速為6 530轉(zhuǎn),推力為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))//檢測(cè)K1鍵是否按下,若按下則增大占空比,是電機(jī)加速
{
i++;
TIM_SetCompare2(TIM3,i);
TIM_SetCompare1(TIM3,i);
}
else
{if(! Key_Scan(GPIOA,GPIO_Pin_0,1)) //檢測(cè)K2鍵是否按下,若按下則減小占空比,使電機(jī)減速
{
i--;
TIM_SetCompare1(TIM3,i);
TIM_SetCompare2(TIM3,i);
}
}
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,u16 GPIO_Pin,uint8_t Down_state)//檢測(cè)按鍵是否按下
{
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;
}
該裝置完整實(shí)物圖如圖5所示,此圖表示的是電機(jī)靜止時(shí)的畫面,本系統(tǒng)可以通過(guò)單片機(jī)上的2個(gè)按鍵來(lái)實(shí)現(xiàn)電機(jī)的加速。
圖5 電機(jī)靜止圖
當(dāng)按下加速鍵是,電機(jī)開始轉(zhuǎn)動(dòng)如圖6所示。
圖6 電機(jī)轉(zhuǎn)動(dòng)
按下按鍵用示波器檢測(cè)輸出的PWM波的信號(hào),通過(guò)觀察可以看見信號(hào)的占空比在逐漸變大。如圖7~9所示。
圖7 PWM信號(hào)輸出波形
圖8 PWM信號(hào)輸出波形
圖9 PWM信號(hào)輸出波形
根據(jù)前文介紹,STM32單片機(jī)可以輸出多路PWM波,所以此單片機(jī)可以驅(qū)動(dòng)多路電機(jī)進(jìn)行轉(zhuǎn)動(dòng)。
圖7表示輸出的PWM波的占空比為10%,連續(xù)按下加速鍵的按鈕,PWM波的占空比就如圖8和圖9所示,從10%增加到30%。
本文所設(shè)計(jì)的系統(tǒng)中,核心的控制器采用基于STM32的單片機(jī),不僅是因?yàn)槠涓呒?jí)定時(shí)器可以輸出三路互補(bǔ)且?guī)в兴绤^(qū)時(shí)間控制的PWM波形,還因?yàn)槠湫阅芸梢赃M(jìn)行后續(xù)四旋翼的開發(fā)。而無(wú)刷電機(jī)足以滿足小型四旋翼的需求。本文設(shè)計(jì)的基于STM32的單片機(jī)驅(qū)動(dòng)無(wú)刷電機(jī)的系統(tǒng)[14-15]。其單片機(jī)通過(guò)控制輸出PWM信號(hào)的占空比的大小來(lái)控制無(wú)刷電機(jī)的轉(zhuǎn)速,當(dāng)想要增大轉(zhuǎn)速時(shí),通過(guò)單片機(jī)上的按鍵增大其占空比,當(dāng)想要減速時(shí)可以通過(guò)按鍵較小其占空比。經(jīng)過(guò)測(cè)試本系統(tǒng)能成功的完成控制電機(jī)轉(zhuǎn)速的要求。
[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] 李發(fā)海.電機(jī)學(xué)[M].北京:科學(xué)出版社,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] 夏長(zhǎng)亮.無(wú)刷直流電機(jī)控制系統(tǒng)[M].北京:科學(xué)出版社,2009.
[5] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版,2003.
[6] 劉 乾,孫志峰.基于ARM的四旋翼無(wú)人飛行器控制系統(tǒng)[J].機(jī)電工程,2011,28(10):1237-1240.
[7] 三恒星科技有限公司.ARM9原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[8] 李 楠,田小玲,鐘灶生,等.基于鎖相環(huán)倍頻的BLDCM速度控制系統(tǒng)[J].傳感器與微系統(tǒng),2011,30(2):91-94.
[9] 王吉忠,車用單片機(jī)系統(tǒng)實(shí)驗(yàn)教程[M].北京:中國(guó)電力出版社,2009.
[10] 崔小玲, 侯思祖, 張 璇,等. 基于STM32的智能終端的設(shè)計(jì)與實(shí)現(xiàn)[J].電力系統(tǒng)通信,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] 李良光,張宏群.模擬電子技術(shù)[M].北京:清華大學(xué)出版社,2011.
[13] 陳小永.直流無(wú)刷電機(jī)控制技術(shù)研發(fā)[M].青島:中國(guó)石油大學(xué),2009.
[14] 李建忠.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002.
[15] 沈建華.楊艷琴. MSP系列16位超低功耗單片機(jī)原理與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,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年上海工程技術(shù)大學(xué)大學(xué)生校重點(diǎn)級(jí)創(chuàng)業(yè)實(shí)踐項(xiàng)目資助(sj15zd017)
陳 柯(1991-),男,河南鄭州人,碩士生,研究方向?yàn)橹悄軅鞲衅鳌el.:15202107035; E-mail:616022149@qq.com
李媛媛(1979-),女,陜西西安人,副教授,自動(dòng)化系主任。Tel.:13916460392;E-mail:liyuanyuanedu@163.com
TM 331
A
1006-7167(2016)03-0119-04