背景:原始提案
我們的項目專注于改進電動汽車電機的控制系統(tǒng),該系統(tǒng)以前由 UDA E-Team(厄瓜多爾阿蘇埃大學(xué)的簡稱)在賽車比賽中使用。該項目提出了控制器的第三個版本(第一個和第二個版本是用不同的微控制器建模的)。借助新的 Arduino Portenta,我們不僅希望提高電機能效,增加新的電流和電壓傳感器,還希望改善控制器多個階段的整體電子設(shè)計,例如預(yù)驅(qū)動器、功率級等等。
背景:UDA 電子團隊
Universidad del Azuay 此前曾參加過電動汽車競賽。在其中一個內(nèi)容中,UDA 的學(xué)生和教授設(shè)計并實現(xiàn)了電動賽車卡丁車。該實施包括開發(fā)主要用于控制和監(jiān)控中型無刷直流 (BLDC) 電機的電氣和電子電路。
學(xué)生設(shè)計了很多電路,其中包括許多不同類型的晶體管,例如 MOSFET、IGBT、COOLMOS 等。這些器件用于為電機創(chuàng)建三相驅(qū)動器。然而,這項任務(wù)是系統(tǒng)中最復(fù)雜和最關(guān)鍵的任務(wù)之一。需要許多設(shè)計和嘗試來創(chuàng)建能夠根據(jù)用戶命令使電機移動的三相驅(qū)動器。
除了最初的問題,該團隊還面臨許多其他缺點:由于運輸和定制時間,我國的 PCB 制造速度較慢。由于電路板內(nèi)附近設(shè)備中大電流的影響,電源系統(tǒng)的 PCB 設(shè)計要困難得多。糟糕的設(shè)計也會導(dǎo)致散熱問題。預(yù)算限制以及測試它們的電子設(shè)備和設(shè)備的可用性是團隊必須克服的另一個限制。
因此,電機有一個專為開環(huán)控制而設(shè)計的電路。電機運行良好,但我們需要監(jiān)控其他參數(shù)并添加閉環(huán)控制以提高各種情況下的性能。
提案
- 改進我們的 BLDC 電機的三相驅(qū)動器
- 閉環(huán)控制器:梯形控制和磁場定向控制(FOC)
- 獲取電機的霍爾傳感器信號和電流傳感器信號
- 使用 Arduino Portenta 集成所有部件
- 使用 Altium Designer 為所有部件設(shè)計新的 PCB
新設(shè)計
新設(shè)計由多個 PCB 組成,適合使用 Arduino Portenta 調(diào)整所有部件。
由于 Portenta 使用 3.3 V,我們決定創(chuàng)建一個小型適配器板來為我們的新控制器提供電壓水平。
前置驅(qū)動板由STRDRIVE601芯片組成,三路半橋高壓門極驅(qū)動,兼容3.3V輸入(如Portenta),一般用于驅(qū)動下一級功率晶體管. 該芯片周圍環(huán)繞著其他元素,以適應(yīng)其所有功能。例如,我們可以使用帶有放大器和幾個無源元件的簡單電路來監(jiān)控來自電機相位的電流。對于輸入,我們可以完全控制電機的三相,也可以簡單地輸入一個電壓電平來加速或制動電機。
電源驅(qū)動板由六個半橋 MOSFET 驅(qū)動器組成。由于電機使用的電流超過了單個 MOSFET 可以驅(qū)動的最大電流,因此我們?yōu)槊總€驅(qū)動器相位并聯(lián)了三個 MOSFET,總共有 18 個器件。
為了能夠監(jiān)控電機各相吸收的電流,在每個驅(qū)動器相中添加了精密大功率電阻器。
編碼
我們將代碼基于一個名為SimpleFOC的開源庫,該庫是為 Arduino 制作的。該庫為 BLDC 和其他電機實現(xiàn)了 FOC 算法。該算法允許根據(jù)每個電機上可用的反饋(傳感器)完全控制 BLDC 電機,包括位置、扭矩和速度。
我們基于 SimpleFOC 庫的示例創(chuàng)建了三個不同的代碼來測試電機:
- Vel1.ino。這個 Arduino 草圖是第一個測試。它只是由一個模擬輸入(加速器/油門)組成,它決定了電機的速度。這個簡單的測試使我們能夠評估電機特性和 PCB 功能。在此模式下,電機以開環(huán)控制運行。
- Vel2.ino。制作這個 Arduino 草圖是為了使用嵌入在電機中的霍爾傳感器來測試之前的功能。我們對此進行了測試以檢查霍爾傳感器讀數(shù)的準(zhǔn)確性,以便我們可以對常數(shù)進行一些調(diào)整。
- Vel3.ino。在最后的草圖中,我們調(diào)用庫中的函數(shù)進行 FOC 速度控制并設(shè)置 PID 控制器參數(shù)。
結(jié)論和注釋
- 與新的 Arduino Portenta 合作,我們感到非常高興和興奮。在本次比賽之前,我們回顧了這款設(shè)備的新功能,我們期待看到我們還能用它做些什么。
- 因為這是一款新設(shè)備,新 Portenta 的一些功能無法與 SimpleFOC 庫一起使用。例如,我們有 Portenta 分線板,但庫與分線板的庫不兼容。因此,即使有超過 9 個 PWM 端口可用,我們也只能使用其中的 6 個(Portenta 板上的那些)。這足以控制電機驅(qū)動器。但是,我們需要更改庫中的幾個值以使用所有 PWM 引腳。最后,我們需要做更多的實驗,這樣我們才能驅(qū)動我們的半橋驅(qū)動器的所有高端和低端。目前,Portenta Board 及其庫與 SimpleFOC 庫并不完全兼容。
- 為了利用 Portenta 處理器的速度,我們想讀取功率晶體管板上的分流電阻器中的所有電流值。但是,Arduino 中的命令analogRead() 的處理似乎仍然很慢。同樣,我們需要做更多的實驗(例如,使用板的多線程能力)來運行與 PID 和 FOC 算法分離的模擬讀取()過程。
- 我們對結(jié)果非常滿意,但我們需要對代碼進行更多的實驗和改進,以實現(xiàn)一個只使用 Portenta 板及其所有功能的干凈實現(xiàn)。
- 此演練中可用的其他文件包含此項目中使用的設(shè)計和代碼。此外,圖片和視頻顯示了系統(tǒng)的運行情況。
審核編輯:劉清
-
驅(qū)動器
+關(guān)注
關(guān)注
52文章
8236瀏覽量
146329 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6611瀏覽量
110599 -
BLDC
+關(guān)注
關(guān)注
206文章
801瀏覽量
96897 -
汽車電機
+關(guān)注
關(guān)注
0文章
47瀏覽量
10235
發(fā)布評論請先 登錄
相關(guān)推薦
評論