【導讀】各參賽同學好,關注了逐飛科技微信公眾號的同學應該還記得,受英飛凌委托,逐飛科技在2021年12月9日發(fā)布了針對第十七屆無刷電機驅動的開源項目,供大家參考,相信已經(jīng)有部分同學根據(jù)之前的開源方案玩起來了,還沒注意到原開源項目的可以通過此篇推文進行了解,“英飛凌BLDC驅動方案開源啦--逐飛科技”可以和今天的方案進行對比穿插學習,以便達到更好的理解效果。
01 前??言
各參賽同學好,關注了逐飛科技微信公眾號的同學應該還記得,受英飛凌委托,逐飛科技在2021年12月9日發(fā)布了針對第十七屆無刷電機驅動的開源項目,供大家參考,相信已經(jīng)有部分同學根據(jù)之前的開源方案玩起來了,還沒注意到原開源項目的可以通過此篇推文進行了解,“英飛凌BLDC驅動方案開源啦--逐飛科技”可以和今天的方案進行對比穿插學習,以便達到更好的理解效果。
在上一個項目開源后,我們又了解到不少同學都想把無刷驅動和主板合二為一,使用一顆TC264芯片來控制所有的外設,但是前段時間開源的無刷驅動項目使用的是CCU6模塊,需要CPU頻繁的處理無刷驅動的換相控制,所以不少同學就擔心后期CPU可能會處理不過來,同時英飛凌也希望我們再制作一個基于AURIX系列MCU GTM模塊的無刷驅動方案供同學們參考,于是一拍即合,今天給同學們帶來了一個新的無刷驅動開源方案——基于Infineon MCU GTM的模塊無刷驅動開源方案。
圖1 Infineon 上海總部
02 無刷電機
??
自第十七屆智能汽車競賽規(guī)則發(fā)布以來,這已經(jīng)是逐飛發(fā)布的第三個關于無刷驅動的開源項目了,相信參加允許使用無刷電機組別的大部分同學都已經(jīng)對無刷電機的旋轉原理比較熟悉啦,不過為了方便閱讀,請大家允許我們在這里再簡要的講解一下無刷電機的原理部分。
2.1 無刷電機內部結構
圖2.1 永磁無刷直流電機(BLDC)內部結構
??
上圖為無刷電機內部導線連接情況的簡筆畫,可以看到有三對線圈,分別成為A,B,C線圈。每對線圈的一端都連接起來,作為中點,上圖中電機定子外邊黑線表示三個線圈中點。三個線圈另外一端引出到外部,鏈接驅動三相橋電路。
圖2.2 BLDC 電機連接驅動三相橋電路
??
在無刷電機的結構中我們一般稱線圈的部分為定子。而中間部分則有一個具有N/S兩極的永磁鐵,我們一般稱它為轉子。大家有沒有發(fā)現(xiàn)無刷電機中的定子和轉子跟有刷電機的定子和轉子的定義是不是恰恰相反呢?
2.2 無刷電機旋轉原理
??
為了驅動無刷電機旋轉,需要在轉子適當角度時,給電機三相引線中兩相施加恰當電流,使得定子產生磁性作用在轉子上形成定向轉矩。當轉子旋轉過一定角度,將通電線圈進行切換,使得定子磁極作用在轉子上永遠形成一個方向上的轉矩。
圖2.3 同時給A,B兩相通電之后定子磁極與轉子形成轉矩
??
下圖給出了三相電施加電壓極性組合以及變化是順序,按照這個順序,定子就會在內部形成旋轉磁場,帶動轉子旋轉。
圖2.4 無刷電機三相通電順序和組合
??
為了獲得最大輸出轉矩,需要定子產生磁場在旋轉方向上領先轉子90°。通常使用霍爾傳感器來測量轉子磁極角度,下圖現(xiàn)實了電機內部三個霍爾傳感器在轉子旋轉時,輸出的電壓波形。
圖2.5 鑲嵌在定子上的HALL角度傳感器以及輸出信號
??
三個霍爾傳感器總共有八種狀態(tài)組合,其中全0,全1是無效狀態(tài)。剩下六個狀態(tài)組合代表了轉子處在360°六個區(qū)間。在不同區(qū)間,給電機A,B,C三相施加不同驅動電壓,便可以產生領先轉子磁場90°的定子磁場,進而可以產生最大旋轉轉矩。
??
所以這個時候就可以梳理出大致的無刷電機控制原理了:
??1. 通過霍爾傳感器檢測當前轉子所在的角度區(qū)間
??2. 通過判斷當前轉子角度區(qū)間來讓單片機輸出下一個區(qū)間的控制信號
??3. 控制信號通過預驅和MOS開關輸出到電機
??4. 當轉子到達下一個角度區(qū)間時,重復第一步
??
同樣,如果對這部分也比較生疏的還是推薦去年12月9號發(fā)布的推文,里面有詳細講解。
03 GTM模塊
3.1 GTM模塊簡介
??
GTM(Generic Timer Module),直譯出來就是通用定時器模塊的意思,但是它又與我們平時理解的通用定時器有點不同,我們平時用定時器無非就是用來輸出PWM信號或者用于周期中斷等等,這些功能GTM模塊都支持,而且還有一些我們沒了解過的功能,大家看下圖:
圖3.1 GTM模塊內部功能圖
??
這個就是GTM模塊的總體框圖啦,我們第一眼肯定看到的就是里面最大的模塊-ARU模塊,它是用來處理數(shù)據(jù)流的,并且可以控制整個GTM模塊的輸出,但是它不是我們今天的主角,我們的主角在ARU模塊的左側和左下部分,分別是TIM模塊、SPE模塊、TOM模塊,這幾個模塊的組合實現(xiàn)了單片機硬件檢測霍爾并且換相輸出的操作,我們的CPU就不用再反復執(zhí)行無刷電機驅動部分的代碼了。
3.2 驅動邏輯分析
??
在單獨介紹我們要用到的這幾個模塊之前,我們先簡單描述一下它們的工作流程。
??
TIM模塊負責采集霍爾信號并且對其進行濾波,然后將霍爾信號送到SPE模塊,SPE模塊通過判斷當前的霍爾值來控制TOM模塊輸出固定相位的PWM信號,而這個固定的相位就是我們初始化時預先在SPE模塊中寫好的一個換相表。具體的工作流程大家可以看看下圖:
圖3.2 TIM模塊
(1)TIM模塊
??
TIM(Timer Input Module)模塊,定時器輸入模塊。
??
在我們的實際應用中,該模塊主要負責采集霍爾信號和剎車信號,同時模塊自帶濾波功能,保證捕獲到的是準確的值。TIM模塊會將捕獲到的霍爾值直接送到SPE模塊進行后續(xù)處理。
??
從上面總的工作流程圖可以看出來TIM0模塊的輸入有8個通道,而我們只用了三個用于捕獲霍爾信號,然后將處理好的三路霍爾信號送到了SPE0模塊。
(2)SPE模塊
??
SPE (Sensor Pattern Evaluation) 模塊,傳感器評估模塊。
??
SPE模塊專用于評估當前霍爾信號的值,并且根據(jù)當前的霍爾值去查表通過寄存器控制TOM模塊的輸出,具體控制邏輯看下圖:
圖3.3 SPE模塊
??
左上角的三路信號就是由TIM模塊濾波之后送過來的信號,然后通過NIP寄存器進行保存(我們通過讀取NIP寄存器就可以知道當前的霍爾值),之后三路信號分別送到了Pattern進行查表,這里的查表是查的霍爾與輸出的對應關系,比如霍爾實際值是1,然后查表輸出值是3,那么后面就會根據(jù)查表輸出的霍爾值來再次查表輸出實際PWM的控制值。上圖中,SPE_PAT_PTR就是根據(jù)實際霍爾值查表輸出的矯正值,而SPE_OUT_PATx是控制PWM輸出的寄存器值,將SPE_OUT_PATx的值根據(jù)SPE_PAT_PTR送到SPE_OUT_CTRL寄存器,后續(xù)的輸出就是判斷SPE_OUT_CTRL寄存器的內容來控制不同端口的輸出情況。
??
值得注意的是,右上角的剎車信號是通過FSOI進行控制,當FSOI為有效時,最終的輸出將被修改為FSOM寄存器的輸出值,而FSOM寄存器的是我們在初始化時就給了的,我們只要設置FSOM寄存器是控制所有上橋關閉、所有下橋開啟,那么就是正常的剎車效果。
(3)TOM模塊
TOM(Timer Output Module)模塊,定時器輸出模塊。
??
該模塊將根據(jù)設置的參數(shù)生成PWM信號,以及根據(jù)SPE模塊選擇的輸出通道輸出PWM信號或者是高低電平,從而驅動無刷電機旋轉。
04 開源下載
??
基于Infineon單片機設計的無刷電機驅動開源硬件、軟件下載鏈接為:
https://gitee.com/seekfree/TC264_GTM_BLDC_Project
??
打包下載開源庫壓縮包,就可以愉快的開始玩無刷啦,各位下載之前別忘了幫我們點一點小星星哦,感謝各位的支持。
05 總 結
??
為了測試方便,本開源項目的硬件依然是將TC264和驅動電路做在一個板子上的,同學們自己在做板子時可以考慮直接使用主控TC264來控制驅動輸出,我們在引腳分配的時候也已經(jīng)避開了常用的資源,也就是一顆TC264就既是小車的主控,也是無刷電機驅動的控制器,并且文章開頭也說過,使用GTM模塊來實現(xiàn)無刷驅動的方案也降低了CPU消耗,同時我們測試的板子是為了兼容更大的電流采用了MOS管并聯(lián),所以大家也可以根據(jù)實際需要來進行減半的設計,這樣差不多就可以做到將驅動板縮小一半,并且也推薦大家用一顆TC264實現(xiàn)無刷驅動和主控兩個需求,以適應平衡單車組的輕量化整體設計。
??
所以本開源項目所對應的驅動板實物并未生產學習板來進行銷售,目前逐飛在售的無刷驅動學習板只有CCU6的那種方案,所以同學們直接根據(jù)開源項目的原理圖自行設計就行了。
??
無刷電機可以采用逐飛演示車模中推薦的型號,在越野組的開源方案中我們講到過,我們對很多款電機進行了測試,單車平衡組最終采用的是和極速越野組的同一款電機,開源項目代碼和硬件也是以這款電機為樣品來進行測試的。
電機的參數(shù)如下:有感、三槽兩極、2860Kv(Kv表示每增加一伏電壓電機增加的轉速,最高12V)、尺寸36(mm)*50(mm)、額定功率190W、支持1-3S鋰電池供電。
圖5.1 無刷電機驅動的平衡單車
??
溫馨提示:此款電機僅為逐飛推薦款,同學們也可以選擇自己認為合適的無刷電機,這一點上規(guī)則是沒有限制的,但建議大家選擇有感無刷。
??
以上開源項目經(jīng)過逐飛的精心設計和代碼編寫,真實可靠,在昨天的直播中也進行了講解,可以通過逐飛B站回看視頻,平衡單車組的逐飛演示車模也是用的這套開源方案制作的,證明了此開源方案的可行性,剩下的就是大家盡情發(fā)揮自己算法的時候了。學習過程中可以結合直播視頻回放和往期相關推文來加深理解,鏈接及直播回放鏈接見下方:
第十七屆智能車競賽英飛凌|逐飛聯(lián)合專題培訓之無刷電機驅動:https://www.bilibili.com/video/BV1JY411p7bH?spm_id_from=333.999.0.0
第十七屆智能車競賽英飛凌|逐飛聯(lián)合專題培訓之平衡單車入門講解:https://www.bilibili.com/video/BV1er4y1H7Wt?spm_id_from=333.999.0.0
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯(lián)系小編進行處理。
推薦閱讀: