3 步把旧平衡车改造成可编程双电机动力源:hoverboard-firmware-hack-FOC FOC 固件实践指南

发布时间:2026/10/23 4:11:30
3 步把旧平衡车改造成可编程双电机动力源:hoverboard-firmware-hack-FOC FOC 固件实践指南 3 步把旧平衡车改造成可编程双电机动力源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磁场定向控制移植到平衡车主板的开源固件不更换电机、不加驱动板就能让平衡车里的两个轮毂电机变成转速、扭矩、电压都可精确控制的动力源。对创客来说它把一台骑完就闲置的代步工具变成了可编程的双电机驱动平台。一、原厂的换向控制差在哪FOC 改了什么平衡车原装固件用的是换向控制Commutation粗暴点说像隔着一段时间踹一脚电机每踹一脚都有相位误差。表现出来就是噪音偏大、电流有浪费、扭矩一顿一顿的。FOC 的做法不同先用三相电流反推出转子的实时位置再在最省力的角度上施加电流。落到使用感受上你能直接拿到四样东西更安静恒速巡航时电机的高频嘶嘶声明显减弱震动也小了更省电能量不再浪费在相位误差上同样的电池跑得比原来远扭矩可感知TORQUE 模式下目标扭矩设 0 时电机几乎无阻力自由滑行像汽车松油后顺着下坡溜车更高极速磁场削弱Field Weakening能突破电机原有限速细节见第六章这一切都跑在主板原有的 STM32F103也支持 GD32F103芯片上PWM 频率 16 kHz不需要任何额外硬件。二、上手前必选三种控制模式怎么选打开 Inc/config.h先定这两个宏CTRL_TYP_SEL选控制算法默认FOC_CTRL新手直接用它CTRL_MOD_REQ选控制模式三选一模式行为适合场景VLT_MODE电压施加恒定电压响应最快机器人底盘、需要即时响应的机构SPD_MODE速度闭环控制带载也稳住设定转速传送带、测功台等恒速场景TRQ_MODE扭矩扭矩目标0 扭矩 自由滑行载人载具、需要自然手感的场景别担心电机跑飞固件默认带最大电流保护I_MOT_MAX默认 15 A和最大转速保护N_MOT_MAX默认 1000 rpmFOC 三种模式下均生效。三、硬件确认主板上要看的 3 个点烧录前先在主板上确认三件事芯片型号STM32F103RCT6 或 GD32F103RCT6两者都支持其他型号请先核对主板变体BOARD_VARIANT默认 0部分主板引脚排布不同需按实物改成 1左右两根 4 针传感器线引出 GND、12/15V 和 USART2/3后面所有输入方式都从这里接入一个必须知道的坑左侧线USART2不耐 5V直接接 Arduino Uno 这类 5V 逻辑设备会烧引脚右侧线USART3是 5V 容忍的外接单片机优先走右边。轮毂电机本身是标准 BLDC常见规格为 14 极、83 mm 轮径内部结构长这样四、编译烧录 3 步克隆、选变体、刷入第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/ho/hoverboard-firmware-hack-FOC第 2 步选变体并编译。固件内置 9 个变体各对应一种输入方式用环境变量指定make -e VARIANTVARIANT_USART也可以用 PlatformIO在 platformio.ini 里取消注释想用的 env 后执行pio run -e VARIANT_USART -t upload。常用变体VARIANT_ADC两个电位器当油门方向、VARIANT_USART串口协议可用 Arduino 驱动、VARIANT_PPM/VARIANT_PWM/VARIANT_IBUS三种遥控器协议、VARIANT_NUNCHUKWii 双节棍手柄、VARIANT_HOVERCAR刹车油门踏板。第 3 步刷入主板。主板上有一个 SWD 编程口3.3V接上 ST-Link 后执行make flash如果芯片被旧固件锁住了先执行make unlock内部用 OpenOCD 解锁。这两条命令都封装在 Makefile 里参数不用背。串口协议怎么写可参考 Arduino/hoverserial/hoverserial.ino 这个示例草图——帧头 校验和 自动重同步通信很稳。五、参数调校改什么去哪里改不想深究的话这一步可以跳过固件自带一套已校准好的电机参数刷完就能用。想调整时两个文件分工明确控制器参数电机本体相关的定点数据Src/BLDC_controller_data.c保护与限制最大电流、最大转速、磁场削弱阈值Inc/config.h参数全是定点数肉眼难读作者提供了 Fixed-Point Viewer 工具和控制器 Webview 页面不用装 Matlab/Simulink 也能看模型。如果你的电机之前在 VESC 驱动器上测过参数可以按这种方式核对极对数、定子电阻等数值六、想跑更快磁场削弱的收益与代价平衡车电机一般限速在 1000 rpm 附近。FOC 的磁场削弱通过注入一路反向的 D 轴电流相当于把定子和转子之间的磁抓力适度松开不升电压也能转得更快——用 10 寸轮子实测削弱电流最大开到 10 A 是可行的。相关开关都在 Inc/config.hFIELD_WEAK_ENA设为 1 启用默认 0关闭状态FIELD_WEAK_LO/FIELD_WEAK_HI决定从多快到多快之间线性 ramp 到最大削弱值⚠️ 这是全项目最危险的功能轮速远超设计值离心力可能把轮子甩飞功率骤增还可能触发电池 BMS 过压保护。测试时人不要坐上去先把电机架在测试台上从很小的FIELD_WEAK_MAX起步。七、真实案例别人拿它做了什么最经典的玩法是Hovercar 卡丁车给平衡车主板装上座椅和方向盘用刹车/油门踏板控制停车时双击刹车踏板还能进入倒车档其他有实物的路线包括电动轮椅驱动SPD_MODE 的恒速闭环让轮椅起步、爬坡都平稳TranspOtter 搬运车自动运货机器人本项目专设了VARIANT_TRANSPOTTER变体遥控电动滑板遥控器 PWM 信号接右传感器线踩上就走串口平台Arduino 通过 USART 同时控制左右轮还能回读实测转速、电池电压、主板温度配合 ROS 驱动可搭完整机器人八、谁适合用谁不适合用适合你如果你手头有平衡车哪怕只剩主板两个电机想做机器人、测功台或小车你会用串口终端和 ST-Link愿意读一个 config 文件你需要电机的速度、扭矩反馈数据串口协议自带反馈帧不适合你如果你只想把平衡车当平衡车用、不改任何输入方式——VARIANT_HOVERBOARD变体的自平衡控制目前尚未实现你的车是 splitboard左右各一块小板的方案本固件不支持你不愿意承担接线、刷机和 15V 高压系统带来的风险安全清单刷机前读完主板供电 12-15VXT60 接口在部分改装里甚至接 36-42V 再降压操作前先断开电池固件有 20 帧超时保护TIMEOUT 20输入异常时电机会进入安全状态但它不能替代你戴护具解锁被锁死的 MCU 若操作不当可能让芯片变砖跑make unlock前先确认接口线和电源磁场削弱、最大电流、最大转速属于自负参数从最小值开始调你的下一步从今晚开始今晚拆开机盖确认主板芯片型号是 STM32F103 或 GD32F103拍照留档这个周末克隆仓库用 ST-Link 刷一版VARIANT_USART固件从串口终端发速度指令确认左右两轮同步、安静地转起来下周按自己的用法电位器、遥控器或踏板选对应变体重新编译把输入接上当你看到轮子在指尖的指令下安静地加速、电流曲线平滑得像一条直线时就知道这套固件值了。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询