资讯动态

hoverboard-firmware-hack-FOC 完整指南:从零把 FOC 固件烧进平衡车主控

发布时间:2026/10/23 4:38:18 来源:尧图企业网站定制
hoverboard-firmware-hack-FOC 完整指南从零把 FOC 固件烧进平衡车主控【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC你手里的平衡车主控板电机控制逻辑被原厂固件锁死了——速度上限、电流限制、控制接口统统改不了原厂换相方案高速时还吵、效率低。hoverboard-firmware-hack-FOC 用场定向控制FOC换掉这套逻辑并开放串口/ADC/遥控等控制接口让你自己重写这块 STM32F103 主控的电机控制。⚡ 这份 FOC 固件能改什么、谁不该碰先说结论它是完整替换原厂固件的方案给你算法、输入、保护阈值三层自定义空间。固件支持换相/正弦/FOC 三种控制类型其中 FOC 又分电压VLT_MODE、速度SPD_MODE、扭矩TRQ_MODE三种模式输入端提供电位器 ADC、串口、RC 遥控PPM/PWM/iBUS、Wii 键鼠手柄、踏板等 10 个 variant。适合有原装平衡车主控板主控一般为 STM32F103RCT6部分 GD32F103RCT6 也支持 ST-Link想把两个电机改造成电动滑板车、hovercar、机械臂或恒速平台的人不适合split 分体板本仓库不支持需换用对应分支、想要原厂两轮自平衡功能的人平衡控制器在本固件中尚未实现config.h 里标注为 TODO、没有 ST-Link 且不想学 SWD 烧录的人 从克隆到烧录三步走每步都有成功标准准备主板、ST-Link V2、3.3V USB-UART仅调试用。原厂主板的 MCU 通常处于 RDP 锁定状态必须先解锁——docs 里有逐步解锁截图Makefile 内置 unlock 目标openocd 执行stm32f1x unlock 0。判断标准openocd 或 stlink 能识别到目标芯片并读回器件信息。执行克隆仓库git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC在 platformio.ini 里取消注释一个 variant一次只选一个或走 make 用 VARIANT 环境变量选择。编译并烧录make -e VARIANTVARIANT_ADC生成固件后make flash会把 build/hover.bin 通过 st-flash 写入 0x8000000。判断标准build/hover.bin 生成且终端打印 Flash/RAM 占用大小st-flash 报 Memory programmed 后自动复位。验证在 Inc/config.h 打开 DEBUG_SERIAL_USART3右排线 5V 容忍把 3.3V 串口只接 GND 和 RX 到传感器线终端设 115200。判断标准每 5ms 收到一行in1:345 in2:1337 cmdL:0 cmdR:0 BatADC:0 BatV:0 TempADC:0 Temp:0且 BatV 除以 100 与万用表实测电压一致。FOC 到底怎么控制电机一个类比讲明白推门最省力的方向是垂直于门面的切向朝门体方向推只是锁紧它不会打开。FOC 干的就是这个分解靠霍尔传感器角度把三相绕组电流实时拆成切向的 q 轴产生转矩和径向的 d 轴只改变磁场强弱任何转角下电流都全花在转矩上所以烧录 FOC 固件后电机比原厂换相更安静、更顺滑。采样与分解逻辑在 Src/BLDC_controller.c参数以定点数存在 Src/BLDC_controller_data.cPWM 频率 16 kHzconfig.h 中 PWM_FREQ。想跑得更快还有场弱主动注入 d 轴电流削弱反电动势突破原速度上限。固件用三个参数控制——FIELD_WEAK_LO默认 750开始介入到 FIELD_WEAK_HI默认 1000达到最大值 FIELD_WEAK_MAX默认 5Aconfig.h 里哪几个参数最值得调Inc/config.h 参数很多真正会改变体感的只有这四个I_MOT_MAX默认 15A单轮电机电流限。调大加速更猛但掉电更快、有触发 BMS 过流的隐患调小则安全但发肉N_MOT_MAX默认 1000 rpm超速保护。换小轮径要调大小轮需要更高转速达到同速调小是最直接的速度上限保险FIELD_WEAK_MAX默认 5A仓库注明 10 寸轮测到 10A决定提顶多高。调大功耗明显上升可能触发 BMS 过压保护调小则接近禁用需配合 FIELD_WEAK_ENA1 才生效CTRL_MOD_REQ选驾驶性格。VLT_MODE 响应最快机械臂、SPD_MODE 保持恒速巡航、TRQ_MODE 按扭矩请求且输入为 0 时自由滑行人骑最自然电机电感、电阻等参数不用自己标定仓库已附带校准好的控制器可参考 VESC 风格的参数标定界面️ 烧不进去或乱转常见故障速查现象st-flash 找不到目标 / 解锁失败。原因SWD 没接好或 RDP 锁定禁用了调试口。处理对照引脚分布图核对 SWD 引脚跑make unlock后重新上电现象上电后电机无反应或只转一边。原因variant 与输入接线不匹配或 MOTOR_LEFT_ENA/MOTOR_RIGHT_ENA 被注释、转向反了INVERT_*_DIRECTION。处理看调试串口 cmdL/cmdR 有没有值现象碰油门电机乱跳。原因输入上下限未校准。处理长按电源键 5 秒至蜂鸣反复把电位器打到最小和最大回中后按电源键确认数值会存入 flash现象开场弱后电机突然疯转。原因FIELD_WEAK_MAX 过高或 FIELD_WEAK_HI 过低。处理立即恢复 FIELD_WEAK_ENA0README 明确警告电机可能极速旋转后续标定必须悬空测试现象插上 USB-UART 后端口锁死。原因左线USART2不耐 5V且线上有 15V 红线。处理改用右线USART3或 3.3V 适配器红线永不接入内置保护兜底连续 TIMEOUT默认 20次错误/丢失命令即紧急停机换相/正弦控制另有母线限流 I_DC_MAX默认 17A建议设为 I_MOT_MAX2A超限斩波电池分级报警3.60V/cell 轻鸣、3.37V/cell 欠压断电过温断电需先校准温度传感器才能启用。调试转向或霍尔问题时看一眼电机内部霍尔排布会更容易理解 FOC 的角度采样能继续延伸的方向踏板 hovercarVARIANT_HOVERCAR刹车踏板双击倒车开机三档速度可选电动滑板车 / TranspOtterVARIANT_TRANSPOTTERGameTrak 转向 I2C LCD恒速平台 / 机械臂 / AGVSPD_MODE 串口控制仓库自带 Arduino 控制示例智能轮椅 / 电动搬运车TRQ_MODE iBUS 遥控最快路径先用 VARIANT_ADC 烧录验证电机再换回你自己的输入方式。从 Inc/config.h 的参数注释和 platformio.ini 的 variant 列表开始读。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑