news 2026/10/23 2:15:12

hoverboard-firmware-hack-FOC 使用指南:让平衡车电机更安静、更快、更省电的 FOC 驱动

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hoverboard-firmware-hack-FOC 使用指南:让平衡车电机更安静、更快、更省电的 FOC 驱动

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 是面向原装平衡车主板(STM32F103 系列)的开源固件,用场定向控制(FOC)替换原车的方波换向。它面向想把平衡车电机用到机器人、代步车或滑板车上的 DIY 用户:噪音更低、扭矩输出更平滑,并可用场削弱扩大最高转速。

问题与定位

如果你尝试过把平衡车电机拆出来装到小车平台上,多半会遇到这些现象:启动时电机发出嗡嗡的低频嗡鸣,油门加大时转速呈一段一段地爬升;载重后功耗比预期更高。根源在于原厂固件的六步方波换向——三相电流每 60° 切换一次,切换点之间扭矩明显跌落,纹波就表现为噪音和顿挫。

这个项目直接在主板上重写程序,用同一颗芯片跑通场定向驱动闭环(部分主板为 GD32F103,同样受支持),不外加驱动板,沿用原有的相电流采样与霍尔信号。

⚙️ 技术原理:用类比讲清楚

电机为 27 槽 30 极结构,转子上装三个霍尔传感器上报位置,A/B/C 三相绕组星形连接。固件要做的事,就是在每个瞬间算出"每一相该流多大的电流"。

它做了什么:把 60° 一跳换成沿磁场方向的连续推进

可以类比推秋千:换向像每隔一段时间猛推一把,推完人先惯性滑行、再被下一次推力打乱节奏,速度忽快忽慢、声响也糙。FOC 则像一直用手顺着人前进的方向持续推,力量连续、不做无用功。电气上对应的是把电流分解为产生转矩的分量和产生磁场的分量,转矩与给定值近似成正比。

它怎么做到:霍尔采样、定点运算与三种控制模式

控制器用霍尔读数估算转子角度,再结合电流反馈,在定时器中断里算出三相 PWM。为节省 CPU,参数全部以定点数存放,集中在 BLDC_controller_data.c 文件中。控制类型(换向 / 正弦 / FOC)与 FOC 下的电压(VLT_MODE)、速度(SPD_MODE)、扭矩(TRQ_MODE)三种模式,在 Inc/config.h 的CTRL_TYP_SEL与CTRL_MOD_REQ中选择;其中速度与扭矩模式仅在 FOC 下可用。

它带来什么变化:从嗡嗡声到平稳运转

相比换向控制,FOC 的效率与平顺性都更好,扭矩模式还具备自由滑行能力——输入目标为 0 时电机直接溜车,空载时更省电。默认限制为单电机 15 A、1000 rpm(I_MOT_MAX/N_MOT_MAX),另有最大转速与最大电流保护,这对需要安全基线的载物或载人场景很重要。

功能与场景

代步车:踏板控速

HOVERCAR 变体把两台电机接到刹车与油门踏板上,静止时双击刹车可切换倒车。电动椅、花园车这类低速载人平台刷完即可驾驶,踏板行程直接对应电机输出。

遥控平台:RC 信号驱动平衡车电机

PPM、PWM、iBUS 变体分别接入左或右侧边板线缆,遥控器即可接管转向与速度。社区常见组合是滑板车底盘加遥控器、选扭矩模式,摇杆输入直接映射为电机扭矩需求,跟手且响应快。

高转速需求:场削弱扩转速上限

电机原厂转速上限受反电动势约束。启用场削弱(FIELD_WEAK_ENA置 1)后,D 轴电流抵消部分磁场,使转速突破原上限:从FIELD_WEAK_LO(默认 750)开始线性增大,到FIELD_WEAK_HI(默认 1000)达到你设定的FIELD_WEAK_MAX(默认 5 A)。

机器人:串口指令驱动双轮

USART 变体通过串口协议控制双轮,仓库根目录 Arduino/hoverserial 下附了配套 Arduino 示例程序,方便先做差速运动测试再接入上位机。

🛠️ 上手路径

  1. 备齐硬件:ST-Link 调试器、平衡车主板,确认 MCU 为 STM32F103RCT6 或 GD32F103RCT6。
  2. 克隆代码:git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC
  3. 在仓库根目录 platformio.ini 中解开所需 env 的注释(如default_envs = VARIANT_HOVERCAR),并把monitor_port改成本机串口。
  4. 编译烧录:pio run -e VARIANT_HOVERCAR,env 已配置 stlink 上传协议。
  5. 刷写后先以默认参数试车,再按电机规格调整N_MOT_MAX、I_MOT_MAX等限值。

常见坑与排查

  • 首次用 ST-Link 连接时若弹出 "Can not read memory",说明芯片开了读保护,需先按仓库 wiki 的 unlock 流程解锁再烧录:

  • 左侧传感器线缆(USART2)不耐受 5 V,勿直接接 5 V 电平设备。
  • 两侧边板需另行刷写对应 hacked 版本;split board 类型主板不在本仓库支持范围。
  • 启用场削弱后功耗上升明显,可能触发 BMS 过压保护,先在低输入档试车再逐步调高阈值。

边界与注意

HOVERBOARD 双轮变体的平衡控制尚未实现,该固件不能直接用于骑行;AT32 主板对应另一个 fork,本仓库只覆盖 STM32F103 与 GD32F103。电机参数为定点数,初学者不建议改动 BLDC_controller_data.c,直接使用作者已标定好的版本即可。启用场削弱时要留意转速上限(10 英寸轮上测试过 10 A)与电池保护阈值,测试时让车轮离地。

结尾

这套固件让拆机平衡车电机成为安静、平稳且可标定上限的驱动单元。仓库地址(仅用于 clone):https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC。延伸阅读可先看 docs/literature/ 目录下的 STM32F103、GD32F103 数据手册与主板原理图,算法设计细节可在 README 指向的 FOC 控制器项目中查阅。

【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 2:12:32

GPT-5.5以96.1分居首:2026-10-22 Smoke快测数据简报

2026-10-22 赢政指数 Smoke 快测覆盖 14 个模型,GPT-5.5 以 96.1 分位居当日首位。Smoke 为每日 10 题快测,适合观察短期信号,不等同 Full 周榜结论。 本次 Smoke 评测只覆盖代码执行和材料约束两个主榜维度,主榜公式为 0.55 代码…

作者头像 李华
网站建设 2026/10/23 2:06:48

无名杀网页版三国杀:3步跑起来的开源网页游戏

无名杀网页版三国杀:3步跑起来的开源网页游戏 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 无名杀(noname)是一个开源、免费的网页版三国杀,直接在浏览器里运行:拉下仓库…

作者头像 李华
网站建设 2026/10/23 2:02:56

QtHttpServer安装配置:SSL证书、CMake与ctest避坑

简介:面向Qt开发者的HTTP/HTTPS服务端学习与集成素材,围绕QtHttpServer库提供可直接查阅和编译的源码、示例测试用例及HTTPS所需SSL证书与密钥文件,帮助需要在Qt应用中嵌入API接口、静态资源服务或安全Web服务的开发者降低选型与上手成本。压…

作者头像 李华