平衡车FOC固件改造完整指南
【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC
电机嗡嗡作响、续航明显缩水、起步时动力一顿一顿的——传统平衡车几乎都有这三个毛病。hoverboard-firmware-hack-FOC 项目用磁场定向控制(FOC)固件替换主板原装控制,从底层解决这些问题。
项目速览:一块主板换一种控制方式
该项目为原装平衡车主板提供 FOC 固件。相比传统换向控制,它带来的变化是:噪音和振动更小、扭矩输出更平滑、电机效率更高,还支持磁场削弱来扩展最高速度。
原理一瞥:给电机装上指北针
把换向控制想成"盲开":固件只能大致估计转子位置,电流方向总是差一点,于是电机抖、噪音大。FOC 则像给电机装了指北针——每个控制周期先测出转子准确方位,再把电流矢量对准磁力线垂直方向。方向对了,力气就用在刀刃上,平滑和效率自然就上来了。
改造流程:三步完成烧录
- 改造前检查:拆主板确认主控芯片型号,常见为 STM32F103RCT6 或 GD32F103RCT6,本固件两者都支持;同时确认两条侧板数据线的接口完好,后续控制信号都走这两条线。
- 获取固件:克隆仓库:
git clone https://gitcode.com/gh_mirrors/ho/hoverboard-firmware-hack-FOC- 烧录与调参:修改 config.h 选定控制类型与输入变体后编译烧录。控制器已预校准,如需微调,电机参数集中在 Src/BLDC_controller_data.c,参数以定点数格式存储。
玩法指南
平衡车三种FOC控制模式
在 config.h 里通过 CTRL_MOD_REQ 选择:
- 电压模式(VLT_MODE):直接给定恒定电压,电机响应最快,适合机器人应用
- 速度模式(SPD_MODE):闭环跟踪转速目标,自动抵抗负载扰动,适合恒速场景
- 扭矩模式(TRQ_MODE):按扭矩指令驱动,扭矩目标为 0 时电机近乎无阻"自由滑行",适合载人骑行
平衡车四种输入方式
- 踏板控制:油门、刹车双踏板,静止时双击刹车踏板进入倒车
- RC 遥控:支持 PPM、PWM 及 Flysky iBUS 协议
- 串口协议:用 Arduino 发送指令,仓库里附了示例工程 Arduino/hoverserial
- Wii 手柄:Wii Nunchuk 单手柄完成油门、刹车与转向
磁场削弱:突破速度上限
磁场削弱默认关闭,在 config.h 中将 FIELD_WEAK_ENA 置 1 启用;它从 FIELD_WEAK_LO 开始介入,到 FIELD_WEAK_HI 达到最大值 FIELD_WEAK_MAX,相当于把油门开到设计上限之外。⚠️ 开启后电机可能远超设计转速,功耗急剧上升,还可能触发 BMS 过压保护,标定务必在空地上进行。
常见问题
主板芯片不兼容怎么办?先确认型号:STM32F103 和 GD32F103 均受支持;AT32 主板和分体式主板有单独的衍生固件。另外注意左侧侧板线的 USART2 不耐 5V,右侧的 USART3 才耐 5V,接外部模块时别接反。
想改电机参数去哪里找?所有可校准参数都在 Src/BLDC_controller_data.c,以定点数表示;仓库预置了已校准的控制器,一般无需改动。
烧录后电机不转或异常?按顺序排查:先确认 config.h 的输入变体与你的接线一致;再检查电池电压是否充足;所有 FOC 模式都带最高转速与最大电流保护,异常断流时优先怀疑接线松动。
写在最后
把固件刷进去,你的平衡车主板就变成了一台通用的 BLDC 控制器,用途由你自己定义。动手前先断电、先备份,再谈改造。
【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考