2026/10/23 11:04:51

3步给旧平衡车刷入FOC固件:完整平衡车改装指南(附兼容性自查与避坑清单)

3步给旧平衡车刷入FOC固件:完整平衡车改装指南(附兼容性自查与避坑清单) 3步给旧平衡车刷入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固件前的主板兼容性自查先拆开侧板看一眼主板中央的大芯片确认丝印是STM32F103RCT6市面大多数机型或GD32F103RCT6部分国产板。这两种芯片的固件都支持其他型号或分体主板不在兼容范围内。再确认两根 4 针侧板电缆。它们引出 GND、12/15V 电源以及 USART2 和 USART3是所有外部控制的入口两个串口都能跑 UART、PWM、PPM、iBUS 信号其中 USART2 还能当 12bit ADC 用USART3 额外支持 I2C。仓库里有一份逆向整理的主板原理图看懂电源和引脚功能很有帮助docs/20150722_hoverboard_sch.pdf拆开轮子能看到两台轮毂电机它们就是 FOC 固件的控制对象把三相电流分解成转矩和磁场两个分量分别调节后文所有体验提升都来自这里。动手前准备好这几样ST-Link V2编程器platformio.ini 中 upload_protocol 就是 stlinkUSB 转串口模块串口调试波特率 115200PlatformIO开发环境也可以用 Keil MDK仓库自带 MDK-ARM 工程万用表可选用于电池电压校准三步完成FOC固件刷机第1步按用途选变体固件用「变体」区分输入方式platformio.ini 里一次只能启用一个变体控制输入适合场景VARIANT_ADC两个电位器最简单上手练手VARIANT_USART串口协议Arduino / Raspberry Pi 控车VARIANT_NUNCHUKWii 摇杆手柄单手油门、刹车、转向VARIANT_PPM / PWM / IBUS遥控发射机遥控滑板、无人项目VARIANT_HOVERCAR油门 刹车踏板两轮卡丁车VARIANT_HOVERBOARD原车侧板原地骑行平衡算法尚未实现VARIANT_SKATEBOARD遥控 PWM电动滑板第2步获取代码git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC用 PlatformIO 导入项目根目录即可无需额外安装插件。第3步启用变体并烧录编辑platformio.ini把注释里对应的变体取消注释或新增一行default_envs VARIANT_NUNCHUK然后接好 ST-Link、给主板通电️ 建议先拆掉车轮再通电电机会直接转起来执行构建 烧录PlatformIO 里点 Upload 或命令行pio run -t upload都行。刷完FOC固件后的实际体验对比空场地上做个匀速测试原换向控制在同一速度下能听到明显的哒哒顿挫和高频电声换 FOCVLT_MODE 电压模式后基本只剩轮子与地面的摩擦声压过小坎时车身不再一抖一抖。再测松开油门切到扭矩模式TRQ_MODE后零转矩目标下电机会自由滑行松开踏板车会多滑一段如果你希望松手就停可以在Inc/config.h里打开ELECTRIC_BRAKE_ENABLE把滑行改成电力制动或打开STANDSTILL_HOLD_ENABLE做原地保持。README 里还附了恒速 / 变速换向与 FOC 的对比视频预览docs/pictures/videos_preview/改车前值得先看一遍。所有保护同时生效单电机电流上限默认I_MOT_MAX 15A、直流母线电流上限I_DC_MAX 17A、转速上限N_MOT_MAX 1000rpm外加连续 20 次错误或缺失输入即紧急断电的超时保护。进阶玩法玩家和开发者的两条改装路线玩家路线VARIANT_HOVERCAR油门 刹车双踏板静止时双击刹车进入倒车仓库 docs/pictures/wiki_hovercar/ 下有完整电路图和实拍是社区里最成熟的方案。VARIANT_NUNCHUKWii 手柄一根线完成油门、刹车、转向三个动作常被用于电动扶手椅和手拉货车。开发者路线VARIANT_USART把右侧电缆USART3当串口从 Arduino 或任何 MCU 发送速度 / 转矩指令仓库自带示例工程 Arduino/hoverserial/hoverserial.ino适合当便宜的 FOC 实验平台。参数调优所有电机参数以定点数fixed-point存在Src/BLDC_controller_data.c可用 Fixed-Point Viewer 工具查看和换算。建议先跑默认已校准参数再逐项微调电流与转速上限。避坑指南刷机前必须核对的安全参数参数默认值含义I_MOT_MAX15 A单电机相电流上限I_DC_MAX17 A直流母线电流上限约等于单电机上限 2AN_MOT_MAX1000 rpm电机转速上限TIMEOUT20 次连续错误 / 缺失输入达到该值即紧急断电核心配置都在 Inc/config.h几个容易翻车的点⚠️场削弱Field Weakening默认关闭。把FIELD_WEAK_ENA设为 1 可以突破转速上限但电机转速会非常高还可能触发电池 BMS 的过压保护——务必先卸下车轮、架空测试。FIELD_WEAK_MAX默认 5A10 寸轮实测过 10AFIELD_WEAK_LO/FIELD_WEAK_HI是线性插值区间的低 / 高阈值。USART2左侧电缆不耐 5V接传感器前确认电平USART3 是 5V 耐受的。芯片内部温度传感器未校准时误差可达 45°C校准完成前不要启用过热关机。电池电压阈值基于校准值换算先做一次BAT_CALIB_*校准否则电量报警和低压断电时机都不准。文件开头的 DO-NOT-TOUCH 区块PWM 频率 16kHz、死区、ADC 时序不要动它们和采样对齐绑定。这个平衡车FOC改装适合谁适合手里有一台能正常通电的旧平衡车、不怕接线和串口调试的人也适合想找一个低成本 FOC 实验平台的开发者。不太适合两种情况期望刷完立刻恢复原车平衡功能的人HOVERBOARD 变体的平衡算法仍在开发中以及完全不想碰硬件的人。如果你手边正好有一台 STM32F103RCT6 主板还能转动可以从上面的兼容性自查开始先接上 ST-Link 确认能读通芯片再决定改哪个变体。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考