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