定向控制讓平衡車(chē)電機(jī)又靜又順)
hoverboard-firmware-hack-FOC 完整指南: 如何用 FOC 場(chǎng)定向控制讓平衡車(chē)電機(jī)又靜又順【免費(fèi)下載鏈接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC你拆開(kāi)平衡車(chē)盯著那臺(tái)嗡嗡作響的輪轂電機(jī)——想讓它轉(zhuǎn)得更安靜、輸出更平滑鑰匙其實(shí)在固件里。hoverboard-firmware-hack-FOC 就是給這類(lèi)平衡車(chē)主板刷入 FOC場(chǎng)定向控制的開(kāi)源方案不用換硬件只換控制算法電機(jī)的噪音、效率和最高轉(zhuǎn)速都會(huì)改觀。項(xiàng)目采用 GPL-3.0 協(xié)議基于 STM32F103RCT6也兼容 GD32F103RCT6 主板今天咱們就帶你把它從頭到尾看一遍。平衡車(chē)電機(jī)為什么總是一頓一頓的原廠固件用的是六步換相給三相互感電流按六個(gè)固定扇區(qū)輪流上電相當(dāng)于用六個(gè)臺(tái)階去逼近一個(gè)圓。電機(jī)能轉(zhuǎn)但每一步切換都會(huì)帶來(lái)拉扯感噪音和振動(dòng)就是這么來(lái)的。FOC 換個(gè)思路它在每個(gè)時(shí)刻實(shí)時(shí)估算轉(zhuǎn)子位置然后給電機(jī)施加一個(gè)方向連續(xù)旋轉(zhuǎn)的電流矢量。臺(tái)階變成了平滑曲線(xiàn)于是你會(huì)得到三樣?xùn)|西——更低的噪音、更穩(wěn)的扭矩輸出以及更高的能量效率省電就是省得電機(jī)白白發(fā)熱。FOC 固件是怎么做到的核心控制器在 Src/BLDC_controller.c電機(jī)校準(zhǔn)參數(shù)集中在 Src/BLDC_controller_data.c。為了在 72MHz 的 Cortex-M3 上跑得快參數(shù)都用定點(diǎn)數(shù)表示想微調(diào)的話(huà)可以直接改這個(gè)文件。電壓、速度、扭矩三種模式按需切換打開(kāi) Inc/config.h兩個(gè)宏決定整個(gè)控制性格CTRL_TYP_SEL選控制類(lèi)型COM_CTRL換相、SIN_CTRL正弦、FOC_CTRL默認(rèn)CTRL_MOD_REQ在 FOC 下再選模式VLT_MODE/SPD_MODE/TRQ_MODE。大白話(huà)解釋電壓模式只管給多少伏響應(yīng)最快適合機(jī)器人這類(lèi)要急停急起的應(yīng)用速度模式是個(gè)閉環(huán)你給個(gè) RPM 目標(biāo)它負(fù)責(zé)頂住負(fù)載偏差適合恒速場(chǎng)合扭矩模式直接追扭矩指令松手后電機(jī)自然滑行freewheeling載人場(chǎng)景最舒服——官方注釋也建議滑板、懸浮車(chē)這類(lèi)有人乘坐的玩法優(yōu)先用TRQ_MODE。場(chǎng)削弱把最高轉(zhuǎn)速往上再抬一抬電機(jī)接近最高轉(zhuǎn)速時(shí)反電動(dòng)勢(shì)會(huì)頂滿(mǎn)母線(xiàn)電壓再快就上不去了。場(chǎng)削弱Field Weakening就是故意讓磁場(chǎng)抵消一部分給轉(zhuǎn)速騰出空間代價(jià)是更費(fèi)電。它默認(rèn)關(guān)閉。在config.h里設(shè)FIELD_WEAK_ENA 1啟用然后用FIELD_WEAK_LO和FIELD_WEAK_HI標(biāo)定起效區(qū)間、FIELD_WEAK_MAX標(biāo)定上限。下面這張圖展示了不同校準(zhǔn)曲線(xiàn)的差別?? 一句安全提醒重新標(biāo)定時(shí)務(wù)必留好安全距離——車(chē)輪可能飛轉(zhuǎn)且功耗飆升可能觸發(fā)電池組BMS過(guò)壓保護(hù)。這些新能力都是為落地場(chǎng)景準(zhǔn)備的近兩年固件明顯往更好用的方向長(zhǎng)了幾塊肌肉電子剎車(chē)ELECTRIC_BRAKE_ENABLE打開(kāi)后扭矩指令為 0 時(shí)不再是滑行而是持續(xù)制動(dòng)ELECTRIC_BRAKE_MAX可調(diào)力度——停車(chē)更利索靜止保持STANDSTILL_HOLD_ENABLE讓車(chē)在斜坡或坡道上停穩(wěn)后鎖住位置不用一直輕踩硬保護(hù)所有 FOC 模式都帶最大轉(zhuǎn)速和最大電流限制給機(jī)器人應(yīng)用留了安全兜底玩法矩陣一套固件切 Variant 就能變身——VARIANT_HOVERCAR雙踏板雙擊剎車(chē)掛倒車(chē)、VARIANT_SKATEBOARD遙控 PWM、VARIANT_TRANSPOTTER、VARIANT_NUNCHUKWii 雙節(jié)棍手柄、VARIANT_ADC雙電位器、VARIANT_USART串口協(xié)議等在 platformio.ini 里選環(huán)境即可。硬件層面主板那兩根 4 針側(cè)板排線(xiàn)引出 GND、12/15V 以及 USART2/3可接 UART、PWM、PPM、iBUSUSART2 還能當(dāng) 12bit ADC、USART3 能接 I2C。引腳定義可看主板文檔 docs/ 里的資料注意左側(cè) USART2 引腳不耐 5V。你該從哪入手一條最短的上手路徑把倉(cāng)庫(kù)拉下來(lái)git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC打開(kāi)platformio.ini按你的玩法取消對(duì)應(yīng) Variant 的注釋新手推薦VARIANT_ADC或VARIANT_HOVERCAR接上 ST-Linkpio runpio run -t upload用stlink協(xié)議燒錄想玩串口控制直接看 Arduino/hoverserial/ 里的示例草圖hoverserial.ino用一塊 Arduino 從右側(cè)傳感器口發(fā)指令就能驅(qū)動(dòng)電機(jī)。電機(jī)參數(shù)、引腳、文獻(xiàn)含 STM32F103 數(shù)據(jù)手冊(cè)和反推原理圖都放在 docs/燒錄遇到問(wèn)題先翻那里的 Getting Started 與 Troubleshooting 頁(yè)面基本能對(duì)上號(hào)?!久赓M(fèi)下載鏈接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考