1. 程式人生 > >[轉]BLDC電機控制演算法是很難 那是你沒搞清原理

[轉]BLDC電機控制演算法是很難 那是你沒搞清原理

BLDC電機控制演算法

無刷電機屬於自換流型(自我方向轉換),因此控制起來更加複雜。

BLDC電機控制要求瞭解電機進行整流轉向的轉子位置和機制。對於閉環速度控制,有兩個附加要求,即對於轉子速度/或電機電流以及PWM訊號進行測量,以控制電機速度功率。

BLDC電機可以根據應用要求採用邊排列或中心排列PWM訊號。大多數應用僅要求速度變化操作,將採用6個獨立的邊排列PWM訊號。這就提供了最高的解析度。如果應用要求伺服器定位、能耗制動或動力倒轉,推薦使用補充的中心排列PWM訊號。

為了感應轉子位置,BLDC電機採用霍爾效應感測器來提供絕對定位感應。這就導致了更多線的使用和更高的成本。無感測器BLDC控制省去了對於霍爾感測器的需要,而是採用電機的反電動勢(電動勢)來預測轉子位置。無感測器控制對於像風扇和泵這樣的低成本變速應用至關重要。在採有BLDC電機時,冰箱和空調壓縮機也需要無感測器控制。

死區的插入和補充

許多不同的控制演算法都被用以提供對於BLDC電機的控制。典型地,將功率電晶體用作線性穩壓器來控制電機電壓。當驅動高功率電機時,這種方法並不實用。高功率電機必須採用PWM控制,並要求一個微控制器來提供起動和控制功能。

控制演算法必須提供下列三項功能:

· 用於控制電機速度的PWM電壓

· 用於對電機進整流換向的機制

· 利用反電動勢或霍爾感測器來預測轉子位置的方法

脈衝寬度調製僅用於將可變電壓應用到電機繞組。有效電壓與PWM佔空度成正比。當得到適當的整流換向時,BLDC的扭矩速度特性與一下直流電機相同。可以用可變電壓來控制電機的速度和可變轉矩。

功率電晶體的換向實現了定子中的適當繞組,可根據轉子位置生成最佳的轉矩。在一個BLDC電機中,MCU必須知道轉子的位置並能夠在恰當的時間進行整流換向。

BLDC電機的梯形整流換向

對於直流無刷電機的最簡單的方法之一是採用所謂的梯形整流換向。

圖1:用於BLDC電機的梯形控制器的簡化框圖

在這個原理圖中,每一次要通過一對電機終端來控制電流,而第三個電機終端總是與電源電子性斷開。

嵌入大電機中的三種霍爾器件用於提供數字訊號,它們在60度的扇形區內測量轉子位置,並在電機控制器上提供這些資訊。由於每次兩個繞組上的電流量相等,而第三個繞組上的電流為零,這種方法僅能產生具有六個方向共中之一的電流空間向量。隨著電機的轉向,電機終端的電流在每轉60度時,電開關一次(整流換向),因此電流空間向量總是在90度相移的最接近30度的位置。

圖2:梯形控制:驅動波形和整流處的轉矩

因此每個繞組的電流波型為梯形,從零開始到正電流再到零然後再到負電流。

這就產生了電流空間向量,當它隨著轉子的旋轉在6個不同的方向上進行步升時,它將接近平衡旋轉。

在像空調和冰霜這樣的電機應用中,採用霍爾感測器並不是一個不變的選擇。在非聯繞組中感應的反電動勢感測器可以用來取得相同的結果。

這種梯形驅動系統因其控制電路的簡易性而非常普通,但是它們在整流過程中卻要遭遇轉矩紋波問題。

BDLC電機的正弦整流換向

梯形整流換向還不足以為提供平衡、精準的無刷直流電機控制。這主要是因為在一個三相無刷電機(帶有一個正統波反電動勢)中所產生的轉矩由下列等式來定義:

轉軸轉矩= Kt [IRSin(o) + ISSin(o+120) +ITSin(o+240)]

其中:

o為轉軸的電角度

Kt為電機的轉矩常數

IR, IS和IT為相位電流

如果相位電流是正弦的:IR = I0Sino; IS = I0Sin (+120o); IT = I0Sin (+240o)

將得到:

轉軸轉矩= 1.5I0*Kt(一個獨立於轉軸角度的常數)

正弦整流換向無刷電機控制器努力驅動三個電機繞組,其三路電流隨著電機轉動而平穩的進行正弦變化。選擇這些電流的相關相位,這樣它們將會產生平穩的轉子電流空間向量,方向是與轉子正交的方向,並具有不變數。這就消除了與北形轉向相關的轉矩紋波和轉向脈衝。

為了隨著電機的旋轉,生成電機電流的平穩的正弦波調製,就要求對於轉子位置有一個精確有測量。霍爾器件僅提供了對於轉子位置的粗略計算,還不足以達到目的要求。基於這個原因,就要求從編碼器或相似器件發出角反饋。

圖3:BLDC電機正弦波控制器的簡化框圖

由於繞組電流必須結合產生一個平穩的常量轉子電流空間向量,而且定子繞組的每個定位相距120度角,因此每個線組的電流必須是正弦的而且相移為120度。採用編碼器中的位置資訊來對兩個正弦波進行合成,兩個間的相移為120度。然後,將這些訊號乘以轉矩命令,因此正弦波的振幅與所需要的轉矩成正比。結果,兩個正弦波電流命令得到恰當的定相,從而在正交方向產生轉動定子電流空間向量。

正弦電流命令訊號輸出一對在兩個適當的電機繞組中調製電流的P-I控制器。第三個轉子繞組中的電流是受控繞組電流的負和,因此不能被分別控制。每個P-I控制器的輸出被送到一個PWM調製器,然後送到輸出橋和兩個電機終端。應用到第三個電機終端的電壓源於應用到前兩個線組的訊號的負數和,適當用於分別間隔120度的三個正弦電壓。

結果,實際輸出電流波型精確的跟蹤正弦電流命令訊號,所得電流空間向量平穩轉動,在量上得以穩定並以所需的方向定位。

一般通過梯形整流轉向,不能達到穩定控制的正弦整流轉向結果。然而,由於其在低電機速度下效率很高,在高電機速度下將會分開。這是由於速度提高,電流回流控制器必須跟蹤一個增加頻率的正弦訊號。同時,它們必須克服隨著速度提高在振幅和頻率下增加的電機的反電動勢。

由於P-I控制器具有有限增益和頻率響應,對於電流控制迴路的時間變數干擾將引起相位滯後和電機電流中的增益誤差,速度越高,誤差越大。這將干擾電流空間向量相對於轉子的方向,從而引起與正交方向產生位移。

當產生這種情況時,通過一定量的電流可以產生較小的轉矩,因此需要更多的電流來保持轉矩,效率降低。隨著速度的增加,這種降低將會延續。在某種程度上,電流的相位位移超過90度。當產生這種情況時,轉矩減至為零。通過正弦的結合,上面這點的速度導致了負轉矩,因此也就無法實現。

相關推薦

[]BLDC電機控制演算法 搞清原理

BLDC電機控制演算法 無刷電機屬於自換流型(自我方向轉換),因此控制起來更加複雜。 BLDC電機控制要求瞭解電機進行整流轉向的轉子位置和機制。對於閉環速度控制,有兩個附加要求,即對於轉子速度/或電機電流以及PWM訊號進行測量,以控制電機速度功率。 BLDC電機

BLDC電機控制演算法——FOC簡述

最近做完了一個直流無刷電機的電機調速專案,查閱了各種大神所寫的部落格和論文,在這裡我只做一下小小的總結; FOC(Filed Oriented Control)是採用數學方法實現三相馬達的力矩與勵磁的解耦控制。 主要是對電機的控制電流進行向量分解,變成勵磁電

()Julia: 函式手冊,有哪些函式見過?

http://www.jlhub.com/julia/manual/en/ Julia Manual - Function List and Reference View by functional groups Functions : :, :@a

堅持做自己?生活是的選擇!(https://www.hjenglish.com/speeches/p533918/)

tle build 一點 like 發展 conf ive 為我 這一 When it comes to being yourself, there can be a lot of pressure from the outside world as it tries to

QQ能把語音文字!為啥微信確沒有?嗎?十行Python代碼就行

開放 return 設置 介紹 open 開放平臺 異地 保護 sta QQ和微信這兩款都是非常受人喜歡的聊天交友軟件!可能大家平時沒有留意到,也或者是大家可能很少用微信,或者很少用QQ吧!所以可能沒有留意這些小細節!就是QQ上面發的語音消息是可以直接文字識別的,但是微信為

覺得python只是沒有懂而已!

在 Python 尤其是 Python2 中,編碼問題是困擾開發者尤其初學者的一大問題。什麼 Unicode/UTF-8/str,又是 decode/encode 的,搞得人頭都大了。其實不然,看似龐大難懂,但是可以非常精細地定製需求。 0.Python 中的編碼 Python 中有兩個常用

重要底層又演算法-1

昨天下午閒著沒事刷公眾號,看到了一篇關於演算法的介紹,之前就見過那個課程,但是沒報名,昨天又看到了,一激動就報了名,報名之後看了前幾章,說的演算法都不懂啊,有的聽都沒聽說過(本人非計算機專業,培訓半年出道),後來想買都買了,不能浪費了,就在這準備把每章課程都copy過來,以後

直流電機控制 pwm 和 pid 演算法

下面的文章是我轉載的。所以作者若是看到不允許轉載,請給我留言或給我郵件([email protected]),我會立即刪除。 轉載原因:這篇文章把pid 演算法解釋的很詳細。我擔心以後這篇文章無故刪除,才轉載到我這邊的。謝謝。 平衡小車和倒立擺都是用的位置式

文字圖片識別,碰到驗證碼一點辦法?是因為不會python

  實現效果:   步驟一:接入介面   進入上述網站申請賬號,然後執行相關程式碼,獲取 access_token 即算完成(由於百度json每30天更新一次,故程式碼中進行日期更新了的,如何獲取accss_token也可見程式

STM32定時器輸出PWM頻率和步進電機控制速度計算

內部 定時 .cn 但是 nbsp 返回 定時器 開發 r12 1、STM32F4系列定時器輸出PWM頻率計算 第一步,了解定時器的時鐘多少:   我們知道AHP總線是168Mhz的頻率,而APB1和APB2都是掛在AHP總線上的。 (1)高級定時器timer1, time

問題有意思和傳統實體消費品不同文化消費品

clas jsp 不同 ndt 有意思 gpe fbx rpv dfa 赫檔淘控旨KHE棺揪惶紡http://baobao.baidu.com/article/a8051e073a7b4c47b31f0ac15e9e04b1.html?2017/10/04=j913H3

愛一個人真的,但失去太過容易。

個人 恢復 後來 失去 後悔 世界 喜歡 時間 愛一個人 ---恢復內容開始--- 曾經我有一個愛人,是她追的我,剛開始不喜歡她,後來慢慢的愛上了她,時間還是一把刀還是經不起磨煉,最後還是分開了。到現在還是挺懷念的,有點後悔。人就是這樣當失去後的時候,才知道可

3星|《哈佛商業評論》201710:人工智能難免會犯錯,但我們發現出錯的地方並做出精確調整。

記敘文 性能 應該 接受 成功 滿意度 數據顯示 es2017 打字 剛發現這本雜誌在27寸曲面屏上閱讀體驗非常好,不需要放大就能看清楚圖片上的數字,在以前的21寸顯示器上看圖表有困難,在kindle上看圖表也比較困難。 本期主題是人工智能,還有一篇講A/B測試,從I

】windows 控制臺cmd亂碼的解決辦法

保存 技術分享 == net fde weight 通過 avi ole windows 控制臺cmd亂碼的解決辦法 我本機的系統環境: OS Name: Microsoft Windows 10 企業版 OS Version: 10.0.14393 N/A Build 1

第一次真正接觸滑板,,這能成為我的一個新興趣嗎?

新興 val plugins load 網上 壓力 src plugin swf 閑來無事和同事去超市逛圈,就在有塊滑板的置物架旁停下了腳步,這是我第一次真正接觸滑板,以前從網上略微了解到叫雙翹滑板,是人們接觸比較多的滑板類型,比起長板略小也略輕。 因為可以試用,於是我拿

【PAT-一道看著的水題】L2-023. 圖著色問題

pre math urn 問題 png info scan 水題 image 水題!沒其他想說的,還以為可以搞點高大上的搜索呢!十五分鐘,暴力兩重循環就OK了! 代碼如下: #include<iostream> #include<stdio.h>

想進BAT面試的Java程序員 看完這個你們還覺得offer拿嗎???

java 分布式 程序員阿裏面試問些什麽? 參加阿裏的社招面試,而社招不同於校招,問題的範圍其實是很隨機的。因為能參加一些比較知名的互聯網公司社招的人,70%以上都會有個3-5年的經驗。這倒不是說一兩年經驗的同學沒有機會進這些公司,而是因為這種公司,大部分情況下只招一些比較資深的開發和應屆生,而不招那些處於中

“轉行做程序員”?這裏有4個建議

面試題 時間 一定的 失敗 思維 直觀 應聘 list 開發 近幾年來,傳統行業多處於經濟下行,加上互聯網行業的賺錢效應,想要轉行到這一行的人越來越多,其中程序員這個行業更是很多人夢寐以求的。 但另一方面,我們也發現,這些想要轉行的同學們往往會遇到很多困擾。就在一周以前

區塊鏈嗎? 40行python開發一個區塊鏈

Python 區塊鏈 金融 盡管有人認為區塊鏈目前還是個不成熟的解決方案,但它無疑稱得上是計算機發展歷史上的一個奇跡。但是,到底區塊鏈是什麽呢? 我們將通過動手實現一個迷你的區塊鏈來幫你真正理解區塊鏈技術的核心原理。python源代碼保存在Github。區塊鏈區塊鏈是一個公開的數字賬本,它按時間順

如果我告訴,程序員這條路走,還要堅持走下去嗎

程序員 職場 可能很多人都覺得程序員是個高薪行業,動不動就聽見誰月薪幾萬幾萬,心裏羨慕不已。回頭看自己每個月手裏可憐的工資條,心裏更是煩躁不已,於是乎下定決心一定要像人家一樣,月薪幾萬。但是實際上,高薪程序員並不像人們想象中的那麽輕松。許多程序員自稱碼農,因為每天事情總也做不完,而這些工作也沒有給自