STM32 电机教程 30 - 无刷无感入门2
前言
????? 無刷直流 (Brushless Direct Current, BLDC)電機(jī)是一種正快速普及的電機(jī)類型,它可在家用電器、汽車、航空航天、消費(fèi)品、醫(yī)療、工業(yè)自動(dòng)化設(shè)備和儀器等行業(yè)中使用。正如名稱指出的那樣,BLDC 電機(jī)不用電刷來換向,而是使用電子換向。BLDC 電機(jī)和有刷直流電機(jī)以及感應(yīng)電機(jī)相比,有許多優(yōu)點(diǎn)。其中包括:
? 更好的轉(zhuǎn)速-轉(zhuǎn)矩特性
? 快速動(dòng)態(tài)響應(yīng)
? 高效率
? 使用壽命長
? 運(yùn)轉(zhuǎn)無噪音
? 較高的轉(zhuǎn)速范圍此外,
由于輸出轉(zhuǎn)矩與電機(jī)體積之比更高,使之在需要著重考慮空間與重量因素的應(yīng)用中,大有用武之地。
無刷電機(jī) ???
?
前面的課程內(nèi)容我們講了無刷電機(jī)有感方式控制,有6步方波控制,FOC控制等,但這些控制也得到電機(jī)的轉(zhuǎn)子位置,即需要額外的電機(jī)轉(zhuǎn)子位置檢測傳感器,前面的課程我們也學(xué)習(xí)過步進(jìn)電機(jī)的基本控制方法,那么三相無刷電機(jī)BLDC/PMSM能否也像步進(jìn)電機(jī)一樣控制它運(yùn)轉(zhuǎn)呢,其實(shí)也是可以的(不過電機(jī)的控制效率不高),上一講我們實(shí)現(xiàn)了步進(jìn)電機(jī)控制思想下的BLDC無感6步方波控制,實(shí)現(xiàn)了電機(jī)的正反轉(zhuǎn),但電機(jī)效率底,轉(zhuǎn)矩脈動(dòng)大,本節(jié)再給大家演示無感無刷電機(jī)的步進(jìn)電機(jī)控制思想下的 正弦脈寬調(diào)制(SPWM)波控制效果。
先解釋一下正弦脈寬調(diào)制(SPWM),疊加在MOS管的直流電壓可以通過PWM開關(guān)控制來等效成正弦電壓,由于中性點(diǎn)為0,因此電機(jī)的相電壓也為正弦,從而使得電機(jī)相線電流也成正弦變化規(guī)則,消除了轉(zhuǎn)矩波動(dòng)。根據(jù)面積等效原理,正弦波還可以等效成PWM波。下圖所示,通過這種方式我們不停的調(diào)整PWM的占空比來實(shí)現(xiàn)正弦電壓效應(yīng)。
?
正弦波與PWM波的等效圖
本節(jié)SPNUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH快速為演示一下BLDC電機(jī)的無感控制(步進(jìn)電機(jī)方式,SPWM波)!
本節(jié)所用電機(jī)為2836無刷電機(jī),電機(jī)有兩組線(hall傳感器線和電機(jī)三相線),工作電壓24V,最大轉(zhuǎn)速12000rpm:
示例詳解
本節(jié)用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 開發(fā)板。
NUCLEO-F103RB對應(yīng)的大致原理接線圖:
X-NUCLEO-IHM07M1 3SH部分原理圖:
?
?
?
| 需要用到的信號 | 對應(yīng)MCU引腳 |
| EN1 | PC10 |
| IN1 | PA8 |
| EN2 | PC11 |
| IN2 | PA9 |
| EN3 | PC12 |
| IN3 | PA10 |
| H1(本節(jié)不用) | PA15 |
| H2(本節(jié)不用) | PB3 |
| H3(本節(jié)不用) | PB10 |
為了更加簡單地介紹清楚BLDC 6 步方波控制的具體實(shí)現(xiàn),為了實(shí)現(xiàn)電機(jī)的速度控制,本節(jié)直接使用STM32的TIM1產(chǎn)生三路PWM波對應(yīng)信號IN1、IN2、IN3,通過調(diào)節(jié)PWM波占空比實(shí)現(xiàn)電機(jī)的速度控制;將EN1、EN2、EN3配置成普通輸出IO口輸出模式,(接下來紅色內(nèi)容本節(jié)用不上,可不管)H1,H2,H3配置成TIM2的hall傳感器模式,并開啟T1的捕獲中斷,中斷觸發(fā)模式為雙邊觸發(fā)模式,在中斷服務(wù)程序中實(shí)理更加快帶的電機(jī)換相(6步換步)操作。
?
給工程加入本節(jié)需用到的fastSin.c、delay.c((放于Src文件夾中))及cfastSin.h、delay.h、User.h(放于inc文件夾中):
在BLDC.C中修改GetBldcHall函數(shù):
在BLDC.C中修改BldcStart函數(shù):
最后修改main.c:
?
設(shè)置工程下載后自動(dòng)運(yùn)行:
編譯程序無誤后,下載運(yùn)行程序,可以看到電機(jī)可以成功運(yùn)轉(zhuǎn)起來,要控制電機(jī)的正反轉(zhuǎn),只需控制虛擬HALL狀態(tài)的產(chǎn)生順序,即修改main函數(shù)中主循環(huán)中下圖所示代碼 :
控制電機(jī)轉(zhuǎn)速只需修改虛擬角度產(chǎn)生的時(shí)間間隔:
?
OK,本期實(shí)驗(yàn)完成!可以看出本節(jié)使用SPWM波驅(qū)動(dòng)后電機(jī)的轉(zhuǎn)動(dòng)效果要比上一節(jié)的6步方控制控制方式更好平穩(wěn),噪音也更小,同時(shí)電機(jī)的轉(zhuǎn)矩波動(dòng)也變小了 ,不過和上一節(jié)一樣,本節(jié)的電機(jī)運(yùn)行效率也不高,電流同樣大,同時(shí)電機(jī)在啟動(dòng)時(shí)有時(shí)會(huì)抖一下,接下來的章節(jié)我們將一一解決上述問題,實(shí)現(xiàn)直正的無感無刷電機(jī)控制。最后喜歡這個(gè)公眾號的同學(xué)們記得加關(guān)注了,每天都會(huì)有技術(shù)干貨推出!!
?
?
文中源碼及資料下載,關(guān)注十三公眾號:
在公眾號里給十三發(fā)送 “下載|STM32 電機(jī)教程 30” :
?
?
總結(jié)
以上是生活随笔為你收集整理的STM32 电机教程 30 - 无刷无感入门2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 电机教程 29 - 无刷无感
- 下一篇: 使用windows自带远程桌面远程办公