STM32 電機教程 29 - 無刷無感入門1

前言

      無刷直流 Brushless Direct Current BLDC)電機是一種正快速普及的電機類型,它可在家用電器、汽車、航空航天、消費品、醫療、工業自動化設備和儀器等行業中使用。正如名稱指出的那樣,BLDC 電機不用電刷來換向,而是使用電子換向。BLDC 電機和有刷直流電機以及感應電機相比,有許多優點。其中包括:

更好的轉速-轉矩特性

快速動態響應

高效率

使用壽命長

運轉無噪音

較高的轉速範圍此外,

由於輸出轉矩與電機體積之比更高,使之在需要着重考慮空間與重量因素的應用中,大有用武之地。

http://file.elecfans.com/web1/M00/54/35/pIYBAFsjC5KAIWX6AAlIvqoUoGY137.gif

無刷電機    

 

前面的課程內容我們講了無刷電機有感方式控制,有6步方波控制,FOC控制等,但這些控制也得到電機的轉子位置,即需要額外的電機轉子位置檢測傳感器,前面的課程我們也學習過步進電機的基本控制方法,那麼三相無刷電機BLDC/PMSM能否也像步進電機一樣控制它運轉呢,其實也是可以的(不過電機的控制效率不高),本節將用NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH快速爲演示一下BLDC電機的無感控制(步進電機方式,6步方波換相)

本節所用電機爲2836無刷電機,電機有兩組線(hall傳感器線和電機三相線),工作電壓24V,最大轉速12000rpm:

示例詳解

本節用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 開發板。

NUCLEO-F103RB對應的大致原理接線圖:

X-NUCLEO-IHM07M1 3SH部分原理圖:

 

 

    1. 準備操作
      1. X-NUCLEO-IHM07M1 3SH是一款專門用於PMSM(永磁同步)或BLDC(直流無刷 )的電機驅動板,其電機驅動板驅動芯片型號爲L6230(詳細數據手冊可在st官網下載),本節主要目的是給大家演示無位置傳感器時的BLDC 6步方波控制(步進式),僅需讓BLDC電機實現簡單正反轉動即可,僅需用到IN1,IN2, IN3和OUT1,OUT2,OUT3以及HALL傳感器信號接口H1,H2,H3。

 

需要用到的信號

對應MCU引腳

EN1

PC10

IN1

PA8

EN2

PC11

IN2

PA9

EN3

PC12

IN3

PA10

H1(本節不用)

PA15

H2(本節不用)

PB3

H3(本節不用)

PB10

爲了更加簡單地介紹清楚BLDC 6 步方波控制的具體實現,爲了實現電機的速度控制,本節直接使用STM32的TIM1產生三路PWM波對應信號IN1、IN2、IN3,通過調節PWM波佔空比實現電機的速度控制;將EN1、EN2、EN3配置成普通輸出IO口輸出模式,(接下來紅色內容本節用不上,可不管)H1,H2,H3配置成TIM2的hall傳感器模式,並開啓T1的捕獲中斷,中斷觸發模式爲雙邊觸發模式,在中斷服務程序中實理更加快帶的電機換相(6步換步)操作。

 

      1. 本節工程直接在《STM32 電機教程 11 - BLDC 6 步方波開環速度控制》一節工程基礎上修改即可,直接修改源代碼:

在BLDC.C中修改GetBldcHall函數:

在BLDC.C中修改BldcStart函數:

最後修改main.c:

設置工程下載後自動運行:

編譯程序無誤後,下載運行程序,可以看到電機可以成功運轉起來,要控制電機的正反轉,只需控制虛擬HALL狀態的產生順序,即修改GetBldcHall函數中代碼是i%6 + 1還是(i+4)%6 +1:

控制電機轉速只需修改虛擬HALL狀態產生的時間間隔:

 

 

OK,本期實驗完成!本節是將無刷電機按步進電機的控制思路來進行控制,即虛擬的開環6步控制,併成功實現了電機的正轉反,不過電機轉動時效率不高,電流大,同時轉矩波動(6步方波控制的缺點)也比較大,下一講我們將試試無刷電機的無感步進控制中將6步細分,用SPWM波控制方式來控制!!最後喜歡這個公衆號的同學們記得加關注了,每天都會有技術乾貨推出!!

 

 

文中源碼及資料下載,關注十三公衆號:

在公衆號裏給十三發送 “下載|STM32 電機教程29” :

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章