鄒存名,韓秀梅
STM8S 的高速無刷直流電機恒速控制系統(tǒng)設(shè)計
鄒存名,韓秀梅
(大連科技學(xué)院電氣工程學(xué)院,大連116052)
為解決高速無刷直流電機恒速控制投入高、穩(wěn)定性差、無法實現(xiàn)低功耗高速無刷直流電機恒速控制等問題,提出一種基于STM8S003微控制器的高速無刷直流電機恒速控制系統(tǒng)的解決方案。通過分析無刷直流電機控制時序,應(yīng)用PID算法程序,實現(xiàn)無刷直流電機5萬轉(zhuǎn)恒速控制。實際應(yīng)用表明,該方案的設(shè)計在高速電機控制方面,成本低、電機起速平穩(wěn)、控速性能良好。
無刷直流電機;STM8S;PID;恒速控制
目前,微型高速無刷直流電機具有響應(yīng)快速、較大的起動轉(zhuǎn)矩、從零轉(zhuǎn)速至額定轉(zhuǎn)速具備可提供額定轉(zhuǎn)矩的性能等特點,在打磨、切割等領(lǐng)域有一定的應(yīng)用價值。微型高速無刷直流電機控制對時序要求較高,一般控制模塊主要采用無刷直流電機專用時序控制芯片實現(xiàn)控制[1],然而這種控制模塊造價相對較高,PCB制板面積較大,而且對實現(xiàn)高速控制方面板耗較大,效率低[2]。因此,本設(shè)計采用STM8S003微控制器,充分利用該微控器的資源,通過直接對上下橋臂MOS管導(dǎo)通控制,實現(xiàn)高速無刷直流電機5萬轉(zhuǎn)恒速控制。
1.1無刷直流電機的控制電路設(shè)計
無刷直流電機內(nèi)部由永磁轉(zhuǎn)子和三相定子組成,通過反向極性的吸引產(chǎn)生相矩力,從而使電機轉(zhuǎn)動。定子磁場和轉(zhuǎn)子磁場之間的相角度近似為正交,從而獲得最大力矩。一般控制無刷電機啟動需要判斷轉(zhuǎn)子的當前位置,然后根據(jù)當前位置改變MOS管驅(qū)動電路上下橋臂的通電順序,使其在氣隙中產(chǎn)生步進式旋轉(zhuǎn)磁場,拖動永磁轉(zhuǎn)子轉(zhuǎn)動。本設(shè)計采用120°帶霍爾傳感器無刷直流電機,通過霍爾傳感器測量轉(zhuǎn)子相對于定子線圈的位置信息[3]。根據(jù)無刷直流電機運行原理,設(shè)計的電路如圖1所示。
本文采用6個MOS管來實現(xiàn)無刷直流電機控制,Q1、Q5、Q9為驅(qū)動上橋臂,Q3、Q7、Q11為驅(qū)動下橋臂,Q2、Q6、Q10為開關(guān)控制三極管,通過Q2、Q6、Q10提供上橋臂導(dǎo)通電流。該設(shè)計結(jié)構(gòu)設(shè)計簡單、功耗小、成本低、運行穩(wěn)定,并具有過流保護功能。
1.2電源電路
本設(shè)計需要提供12 V、5 V低紋波電源,因此采用78M12和78L05線性低壓差電源,分別提供12 V和5 V電源。其中12 V給電機驅(qū)動電路供電,5 V用于給STM8S003供電,電源電路如圖2所示。
1.3位置檢測電路
本控制系統(tǒng)采用霍爾傳感器來檢測BLCD轉(zhuǎn)子的位置,該方案硬件電路簡單、精確度高、響應(yīng)速度快。位置信號由3個霍爾傳感器反饋信號分析得到,分別是HA、HB、HC,每個霍爾傳感器都會產(chǎn)生180°脈寬的輸出信號,而HA、HB、HC的輸出信號互差120°相位差。它們在每個機械轉(zhuǎn)中會產(chǎn)生6個上升沿或者下降沿,對應(yīng)著6個位置和換相時刻[4]。把STM8S003微控器的I/O口設(shè)置為雙邊沿外部中斷捕獲功能,即可獲得這6個換相時刻。再根據(jù)3個霍爾傳感器的電平狀態(tài),即可獲得轉(zhuǎn)子準確的位置信息。通過R1、R2、R3為霍爾速度采集的上拉電阻,C13、C3、C4為濾波電容,用于采集速度信號準確性,這也主要是處理位置采集信號毛刺問題[5]。位置檢測電路,如圖3所示。
2.1軟件整體設(shè)計
系統(tǒng)程序總體設(shè)計主要包括初始化、位置檢測、換相及速度調(diào)節(jié)、PID控制算法等組成,如圖4所示。
初始化主要是設(shè)置STM8S003的系統(tǒng)時鐘、I/O端口、定時器,以及中斷控制。通過無刷直流電機3個霍爾傳感器邏輯圖采集位置信息,如圖5所示,再利用位置信息輸出驅(qū)動信號,使電機順利換向,特別是在設(shè)計高速電機時,必須嚴格按照時序圖來進行換向驅(qū)動,否則將大大提高驅(qū)動板功耗,即使PWM輸出占空比最大也很難達到5萬轉(zhuǎn)轉(zhuǎn)速。

圖1 驅(qū)動電路圖

圖2 電源電路

圖3 位置檢測電路
2.2PlD算法模塊
本設(shè)計采用PID控制算法,這是一般常用的恒速控制算法,但是由于STM8S003F3P6微控器內(nèi)部資源有限,因此在設(shè)計PID算法模塊時,程序必須精簡,優(yōu)化程度高,運行可靠,從而保持電機轉(zhuǎn)速恒定不隨負載變化而變化。程序如下:float PP=P,II=I,DD=D;
//PID參數(shù)值,修改這三個值調(diào)
節(jié)電機的升降速度和誤差調(diào)節(jié)
double Sum Error=0,Prev Error
=0,LastError=0;
long d Error=0,Error=0;
void PID_init(void){
Error=0;SumError=0;
LastError=0;
}
void PIDcompute(unsigned int
Target,unsigned int Real){
float j=0.0,i;
Error=(Target-(long)Real);SumError+=Error;
d Error=Error-(long)LastError;
LastError=Error;
i=PP;
j=Error*i;
i=II;
j=j+Sum Error*i;i=DD;
j=j+d Error*i;
j=j/100;
if(j>=h ArrPwm Val)OutPwm Value=h Arr Pwm Val;
else if(j<25)OutPwm Value=25;
else OutPwm Value=(unsigned int)j;
}

圖4 系統(tǒng)程序流程圖
本系統(tǒng)的位置傳感器測試結(jié)果,如圖6所示。通過測量單路位置傳感器反饋脈沖信號HA周期為1.25 ms,電機轉(zhuǎn)速為5萬轉(zhuǎn)。實驗證明PID算法運行正常,該設(shè)計運行穩(wěn)定,性能良好,無雜音。
Constant-velocity Control System of High-speed Brushless DC Motor Based on STM8S
Zou Cunming,Han Xiumei
(Institute of Electrical Engineering,Dalian Institute of Science and Technology,Dalian 116052,China)
In order to solve the problems of large expense,the poor stability,the unachievable of low-power constant-velocity control for high-speed brushless DC motor,a constant-velocity control system based on the microcontroller STM8S003 is proposed.Through analyzing the control time sequence of the DC motor and applying PID algorithm program,it can realize constant-velocity(50 000 r/min)control for the brushless DC motor.The actual application shows that this solution can reduce the expense and start the motor smoothly and the performance of speed control is well.
brushless DC motor;STM8S;PID;constant-velocity control

圖5 霍爾位置檢測傳感器時序圖

圖6 位置傳感器
TP23
A