3种控制模式+1套FOC算法:平衡车固件从嗡鸣到顺滑的完整指南
【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC
还在为平衡车起步嗡嗡响、高速发飘、电量消耗快而发愁吗?开源项目 hoverboard-firmware-hack-FOC 直接在原厂主板的 STM32F103 上实现场定向控制(FOC),让两台轮毂电机重新变得安静、顺滑、高效。
📋 项目速览:给平衡车主板换上FOC大脑
原厂固件用的是简单的换相驱动,电流是"一刀切"的,噪声大、扭矩有齿感,电池电量也是"看不见的流失"。这个项目重写主控制器,在原装 STM32F103RCT6(部分主板的 GD32F103RCT6 也支持)上跑起完整的 FOC 电流环,把无刷电机当成"能任意调相位的直流电机"来驱动,并内置单电机 15A、母线 17A 限流和最高转速保护。
标注密集的主板丝印图:左上是霍尔信号,右上是 SWD 编程口,底部两组排针分别引出 USART2/3 作为外部输入,所有引脚旁都标了电压上限,是接线前的必备参照。
⚙️ 核心能力拆解:三个最直观的改变
🔇 用FOC换掉粗糙换相,噪声和顿挫感一起消失
传统换相法按霍尔信号硬切电流,轮子每转一圈都在"顿"一下,高速时尤其明显。FOC 实时估算转子位置、连续调节三相电流相位,输出扭矩变成平滑的曲线,嗡嗡声随之大幅下降,低速时不再一顿一顿。
拆开轮毂后的定子和转子:一圈圈铜线绕组加三颗霍尔传感器,正是 FOC 做转子定位所依赖的硬件,算法再强也得靠它们"看见"转子。
🔋 电流环闭环降功耗,续航和安全性一起提升
同样是 15 km/h,FOC 下的电流波形比换相法更"满",损耗更低,同电池跑得更远。配合I_MOT_MAX、N_MOT_MAX这类限流限速参数,过载时先触顶的是保护而不是电池,老固件里"冲到 BMS 保护"的情况基本消失。
🚀 场削弱功能解锁更高的极速上限
想突破电机原本的转速天花板?FOC 支持场削弱:注入一定的 D 轴负电流抵消磁场,转速就能继续往上走。在config.h里打开FIELD_WEAK_ENA,再用FIELD_WEAK_LO/HI设定从何时介入、何时到顶。
图中不同标定曲线给出了从介入点到满值的不同斜率,照着实际轮径和电池规格挑一条,再留足安全余量即可。
🛠️ 适用场景与人群:三档玩法各取所需
- 入门玩法:只想让原车更静更省。刷入默认配置(FOC + VLT_MODE),微调
I_MOT_MAX和N_MOT_MAX就够,半小时搞定。 - 进阶玩法:做自制车辆。固件自带 8 种输入变体——
VARIANT_ADC(电位器)、VARIANT_USART(串口协议,仓库里连 Arduino 示例hoverserial.ino都给了)、VARIANT_PPM/PWM/iBUS(遥控)、VARIANT_HOVERCAR(双踏板)等,各取所需。
踏板驱动的 Hovercar 小车就是VARIANT_HOVERCAR的成品形态:踩油门、刹车双踏板,扭矩模式下松开即滑行,FOC 的平顺感在这里被放大到最明显。
- 深度玩法:玩参数。场削弱重新标定、定浮点参数细调(电机参数都在 Src/BLDC_controller_data.c,控制逻辑在 Src/BLDC_controller.c),甚至按自己的轮子改 KV 值。
🚀 上手指南:从克隆到点亮五步走
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC,本地留一份随时对照。 - 解锁主芯片:原厂 STM32F103 的调试口默认锁死,先按文档用 SWD 解锁(docs/pictures/wiki_unlock/ 下有分步图解),否则烧什么都白搭。
- 选定变体:打开 Inc/config.h 的 VARIANT SELECTION 区,按你的输入方式取消注释对应一行;PlatformIO 用户在 platformio.ini 里选也行。
- 编译烧录:
pio run -t upload一把过,或者用 Keil 打开 MDK-ARM/mainboard-hack.uvprojx 构建后下载。 - 空载试车:先断电目检接线,通电后看指示灯、听蜂鸣自检,再抬离地空转,最后轻载跑一圈,确认电流读数正常再上路。
⚠️ 常见坑与排查:三个新手高频问题
- 左边排针接了5V设备,主板上"嗝屁"?USART2(左侧)不是 5V 容忍口,只接 3.3V 信号;5V 设备请走右侧 USART3,或串分压。
- 标定场削弱时电机疯转、BMS 报过压?这是预期内的风险,务必先卸车固定轮子、单人操作、备好急停,
FIELD_WEAK_MAX别一步拉满,从 2~3A 往上加。 - 骑行中突然断电,是坏了?大概率是输入信号连续丢失(
TIMEOUT计数到 20)触发保护性急停,属设计行为;先查输入信号线有没有松脱或干扰,再谈其他。
✅ 收尾:把平衡车变成更静、更省、更快的机器
一套 FOC 固件,就把原本嗡嗡作响、提速发飘的平衡车主板,换成了闭环电流控制、三重保护、多模式可选的状态;接下来平衡控制器的补齐、更多车辆变体和参数标定工具,还会持续往仓库里加。这个周末就解锁你的 STM32,刷完一遍,你会明显听到轮子里那个"嗡"字变小了。
【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考