hoverboard-firmware-hack-FOC 新手完整指南:从烧录固件到调出 FOC 电机控制
发布时间:2026/10/23 1:50:08 锦皓数字建站

hoverboard-firmware-hack-FOC 新手完整指南从烧录固件到调出 FOC 电机控制【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOChoverboard-firmware-hack-FOC 用 FOCField Oriented Control即场定向控制一种按磁场方向精确驱动无刷电机的算法替换平衡车原厂固件的换相控制降低噪音、提升效率还能通过弱磁控制提高极速。本文按一次完整刷机流程走一遍拆机、接 ST-Link、编译、烧录、调参、试跑并标注每个环节的坑位。为什么要换原厂换相控制的天花板平衡车原厂固件用换相Commutation方式驱动电机按霍尔传感器给出的位置信号每隔 60 电角度切换一次通电相序。这种方式实现简单但扭矩有周期性波动表现为电机嗡嗡的噪音和抖动感效率也不高。FOC 的思路不同它在数学上建立一个随转子旋转的坐标系把电流分解为产生扭矩的轴和产生磁场的轴通过高速 PWM 合成近似正弦的电流。带来的实际好处噪音和振动明显降低扭矩输出平滑电机效率提升同等速度下功耗更低支持弱磁控制Field Weakening即主动抵消一部分电机反电动势突破电机原有转速上限。固件默认就是 FOC。在Inc/config.h里也可以切回其他方案三选一| 控制类型 | 宏定义 | 特点 | | -- | -- | -- | | 换相 |COM_CTRL| 与原厂一致效率和平顺性最差 | | 正弦 |SIN_CTRL| 介于两者之间不支持弱磁闭环 | | FOC |FOC_CTRL| 默认支持弱磁、速度环和扭矩环 |FOC 下的三种运行模式电压、速度、扭矩选定FOC_CTRL后还有一层模式选择由CTRL_MOD_REQ参数决定默认是VLT_MODEVOLTAGE MODEVLT_MODE给电机施加恒定电压响应快适合机器人或需要快速动态的应用SPEED MODESPD_MODE闭环控制PID 算法抵消负载扰动让电机稳定在目标转速适合恒速场景TORQUE MODETRQ_MODE以扭矩为目标值。把目标设为 0 时电机空转滑行适合有乘客上车的车辆。每种模式的能力差异可以从下表快速判断源自 README.md 的对比表| 控制方式 | 效率 | 平顺性 | 弱磁 | 滑行 | 静止驻车 | | -- | -- | -- | -- | -- | -- | | Commutation | 一般 | 一般 | 不支持 | 不支持 | 支持 | | FOC VOLTAGE | 高 | 较好 | 支持 | 不支持 | 需手动开启 | | FOC SPEED | 高 | 一般 | 支持 | 不支持 | 支持 | | FOC TORQUE | 高 | 最好 | 支持 | 支持 | 需手动开启 |两个可选项STANDSTILL_HOLD_ENABLE让电压/扭矩模式也能驻车ELECTRIC_BRAKE_ENABLE把扭矩模式的滑行换成可调的电机制动。所有 FOC 模式下都内置了最大转速和最大电流保护。烧录前的硬件检查清单动手之前把下面几样东西核对一遍可以避免绝大多数翻车确认主控芯片主流平衡车主控板使用 STM32F103RCT6少数板子是 GD32F103RCT6引脚兼容两者都受支持。ST-Link 仿真器 杜邦线接主控板上的 SWDIO、SWCLK、GND、NRST 四个测试点。主控板引脚分布见下图SWD 测试点在板边位置。电池先拆掉拆机断开电池后再操作避免短路。留意两条 4 针传感器线主控板原本靠两条 4 针线连接左右副板破引出 GND、12/15V 和 USART2/USART3。右侧短线USART3支持 5V 电平左侧长线USART2不耐 5V外接 Arduino 等 5V 设备时务必走右侧线或用 3.3V 设备。备查资料仓库 docs/ 目录里有逆向出的主控板原理图 20150722_hoverboard_sch.pdf 和芯片手册接错线之前先翻一翻。编译与烧录三种环境任选其一先把代码拉到本地git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC然后按自己顺手的工具链走三条路产物相同都针对STM32F103RCPlatformIO最省事打开 platformio.ini在default_envs里取消你需要的 variant 的注释比如VARIANT_HOVERCAR然后执行pio run -t upload。调试串口波特率是 115200记得把monitor_port改成你系统的 COM 口。Keil MDK-ARM打开 MDK-ARM/mainboard-hack.uvprojx在 Target 下拉菜单选 variant编译后用 On-Chip Debugger 烧录。make ARM GCCLinux安装arm-none-eabi-gcc工具链后make -e VARIANTVARIANT_HOVERBOARD # 编译可选任意 variant make flash # st-flash 写入 0x08000000 并复位 make unlock # openocd 解锁芯片被锁定时variant 决定了电机输入信号从哪来编译时只能选一个详见下一节。调参config.h 里的关键数字编译通过后真正决定骑感的参数在Inc/config.h和Src/BLDC_controller_data.c里。新手优先关注这几个| 参数 | 默认值 | 含义 | | -- | -- | -- | |I_MOT_MAX| 15 A | 单个电机的最大电流限制越大扭矩越强注意线路发热 | |I_DC_MAX| 17 A | 母线电流兜底保护建议 I_MOT_MAX 2A | |N_MOT_MAX| 1000 rpm | 电机最大转速限制 | |FIELD_WEAK_ENA| 0 | 弱磁总开关默认关闭 |弱磁的调法把FIELD_WEAK_ENA设为 1 后FIELD_WEAK_LO到FIELD_WEAK_HI之间线性起效FIELD_WEAK_MAX是最大 D 轴电流作者用 10 寸轮实测到过 10A。不同标定曲线如下图所示⚠️ 重新标定弱磁时务必做好安全准备电机可能转得很快且功耗激增可能触发 BMS 过压保护。调参建议在台架轮子离地上进行。电机级参数电感、极对数等以定点数形式存放在Src/BLDC_controller_data.c仓库已提供标定好的默认值一般不需要动。如果你的电机不是原厂规格需要参考 VESC 里的对应参数逐项换算另外两个容易忽略的校准电池电压BAT_CALIB_ADC/BAT_CALIB_REAL_VOLTAGE配多用电表实测值和芯片温度传感器TEMP_CAL_*未校准前不要开启TEMP_POWEROFF_ENABLE误差可达 45°C。选一个输入 variant你想怎么驱动这台车variant 在编译期二选一或十选一直接决定输入通道VARIANT_HOVERBOARD保留原厂双副板输入最接近刷个新固件继续当平衡车用的体验。注意平衡控制算法尚未实现目前只是换上了 FOC 电机驱动。VARIANT_HOVERCAR双踏板油门/刹车静止时双击刹车可反转适合改造 Hovercar见下方原理图。VARIANT_USART串口协议控制仓库自带 Arduino 示例 Arduino/hoverserial/hoverserial.ino115200 波特率帧含起始帧和校验适合用单片机做上位机。VARIANT_ADC/VARIANT_NUNCHUK电位器或 Wii 摇杆控制适合轮椅、代步小车类项目。VARIANT_PPM/VARIANT_PWM/VARIANT_IBUS接收机信号输入VARIANT_SKATEBOARD滑滑板用的就是右侧线的 PWM。VARIANT_TRANSPOTTER面向 TranspOtter 类搬运车的专门配置。常见坑位与试跑建议烧录后电机立刻乱转先别急着上电骑行。轮子架离地面缓慢给输入确认转向与预期一致再试跑。串口无反馈先确认走的是 USART3右侧线左侧线接 5V 设备可能直接烧引脚。make unlock才需要 openocd只有芯片被原厂固件锁定时才执行普通烧录用make flash即可。variant 混编config.h里若手动定义了 variant又通过-D传入会冲突按编译环境选一种方式定义。试跑通过之后建议按这个顺序深入读 Src/BLDC_controller.c看电流采样和 FOC 闭环的 C 实现打开 Src/comms.c 对照hoverserial.ino理解串口帧格式方便接自己的上位机翻 docs/literature/ 里的 STM32 和 GD32 手册解决引脚级问题。仓库采用 GPLv3 协议见 LICENSE修改后自用或再分发都自由动手前先把电池拆下来——这是全流程里最重要的一步。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。