ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

零基础给平衡车换上FOC固件:hoverboard-firmware-hack-FOC刷写与调参全记录

零基础给平衡车换上FOC固件:hoverboard-firmware-hack-FOC刷写与调参全记录 零基础给平衡车换上FOC固件hoverboard-firmware-hack-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的差别在动手之前值得花三分钟搞清楚一个核心问题我们到底在给电机换什么大脑原厂固件用的是换向控制Commutation它像一个人走楼梯——每跨一级台阶都能感到一次明确的震动。霍尔传感器报一个位置控制器就哐地切换一相动力输出是台阶式的所以起步会顿、高速会吵。而 FOC 的思路完全不同它不再粗暴地切换相位而是把三相电流实时翻译成跟转子同步旋转的坐标系来管理相当于给电机配了一个会思考的指挥。用大白话说换向是一格格蹦FOC 是平滑滑行。这就是为什么刷完固件后同样一台车声音明显变轻、油门跟手很多。项目里其实把三种控制方式都留好了方便你对比着玩控制类型平顺度效率噪音适合人群换向COM_CTRL★★明显只想体验原厂手感正弦SIN_CTRL★★★★★较轻想低成本升级FOCFOC_CTRL★★★★★★很轻追求极致控制默认配置已经选好 FOCCTRL_TYP_SEL FOC_CTRL新手不需要纠结直接用就好。二、开工前的三样装备编程器、软件与固件文件从哪来工欲善其事必先利其器。刷写 FOC 固件只需要三样东西ST-Link V2 编程器几十块钱的淘宝货就够用烧录软件Windows 上用 STM32 ST-Link UtilityLinux/macOS 用 openocd 或 st-flash 都行固件文件两种拿法任选其一。最省事的方式是直接下载项目页面上自动构建好的产物。每次代码更新后构建流水线都会生成一份打包好的固件点开构建记录里的 Artifacts 就能看到类似hoverboard-firmware-hack-FOC_build_10的文件下载解压即可。如果你更喜欢自己编译、心里有数的路线也完全支持。项目同时提供了 PlatformIO、Makefile 和 Keil 工程三种构建方式先克隆仓库git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC然后用任一种方式编译# 方式一PlatformIO推荐配置最简单 pio run -e VARIANT_USART # 方式二Makefile用 VARIANT 环境变量指定目标 make -e VARIANTVARIANT_USART产物会生成build/hover.bin或.hex这就是待会儿要烧进芯片的文件。三、读懂主板引脚图SWD接口和两根线缆千万别认错拿到固件先别急着插线花两分钟把主板认熟能帮你躲开最大的坑。绝大多数平衡车主板的心脏是一颗STM32F103RCT6也有部分是 GD32F103RCT6本固件同样支持它旁边留着两组关键接口SWD 调试口固件烧录就靠它。认准PA13/SWCLK和PA14/SWDIO两根信号线再接上 GND两根 4 针传感器线缆左侧长线接 USART2右侧短线接 USART3。它们不仅给侧板供电还透传出串口、PWM、PPM 等信号。这里有个必须刻进脑子的提醒左侧线缆USART2不兼容 5V 电平接串口模块必须用 3.3V否则可能烧引脚右侧线缆USART3则带 5V 容限接 5V 的 Arduino 更安全。另外线缆里的红线和 15V 电源有关千万别把它当串口线去接——这是无数人用血泪验证过的一条警告。烧录接线只需四条杜邦线ST-Link SWCLK → 主板 PA13 (SWCLK) ST-Link SWDIO → 主板 PA14 (SWDIO) ST-Link GND → 主板 GND ST-Link 3.3V → 主板 3.3V可选建议外部供电更稳四、解锁芯片读保护不解除烧录永远只会失败第一次把 ST-Link 连上主板你大概率会遇到下面这个弹窗。别慌这是原厂为了保护固件不被抄写而开启的读保护Read Out Protection属于正常现象但必须处理掉才能继续。解锁流程就三步菜单栏依次点Target → Option Bytes...快捷键 CtrlB在弹出的窗口里把Read Out Protection改为Level 0点Apply再执行Target → Erase Chip擦除整片 Flash。擦除成功后软件底部会显示Memory erased内存区变成清一色的0xFFFFFFFF到此芯片彻底解锁。如果你是命令行爱好者Makefile 里也已经封装好了解锁命令make unlock小提示解锁和擦除会把原厂固件彻底清空这是预期行为反正我们马上就要写入新固件。但请务必在断开电池供电的状态下操作避免高电压窜进调试口。五、烧录固件起始地址填 0x08000000 这一步别偷懒解锁完成下面进入最激动人心的环节——写入 FOC 固件。图形界面操作非常直观在 STM32 ST-Link Utility 里点Program Verify选择刚才下载的.bin或.hex文件然后注意地址栏——Flash 起始地址必须填0x08000000这是 STM32F103 片上 Flash 的起点。点 Start 稍等片刻出现 Verification OK 就大功告成了。命令行党同样有捷径Makefile 已经帮你写好了make flash它内部会执行st-flash --reset write build/hover.bin 0x8000000。无论用哪种方式刷完先别急着上电检查一遍接线再进入下一步。六、按你的电机校准参数控制模式、电流上限与转速上限怎么改固件能跑起来只是及格线想让电机真正听话还得做参数校准。这一步有两类入口分别对应两种使用习惯。第一类编译期改配置文件。打开 Inc/config.h控制相关的核心宏都集中在这里#define CTRL_TYP_SEL FOC_CTRL // 控制类型COM_CTRL / SIN_CTRL / FOC_CTRL #define CTRL_MOD_REQ VLT_MODE // 控制模式VLT_MODE / SPD_MODE / TRQ_MODE #define I_MOT_MAX 15 // 单电机最大电流限制 [A] #define N_MOT_MAX 1000 // 最大转速限制 [rpm]三种控制模式适合完全不同的场景别选错VLT_MODE电压模式给电机施加恒定电压响应最快适合机器人这类需要指哪打哪的场景SPD_MODE速度模式闭环锁定目标转速负载变化也不怕适合恒定速度的应用TRQ_MODE扭矩模式扭矩目标为 0 时电机可自由滑行最适合载人骑行。至于电机极对数、绕组参数这些更底层的参数作者已经在 Src/BLDC_controller_data.c 里预校准过典型平衡车电机新手可以直接沿用等想深挖时再自行微调。第二类串口实时调参。把 USB 转 TTL 模块3.3V接到右侧线缆的 USART3串口助手里选115200 波特率命令以$开头。常用命令如下$HELP // 查看全部命令和参数说明 $GET CTRL_MOD // 查看当前控制模式 $SET CTRL_MOD 3 // 切到扭矩模式1VLT 2SPD 3TRQ $SAVE // 保存到芯片Flash断电不丢失 $WATCH SPD_AVG // 实时盯转速配合调试很顺手提醒一句改完参数一定要执行$SAVE否则断电后一切回到初始值。另外I_MOT_MAX和N_MOT_MAX是安全上限初学者宁可保守一点等手感熟悉了再逐步放开。七、从能转到更好用弱磁提速、巡航控制与更多玩法参数校准完你的平衡车主板已经从只能踩进化成了可编程的控制平台。想再往上走一层项目里还藏着不少进阶开关。比如弱磁控制Field Weakening。它的原理简单说就是高速时通过注入反向磁场抵消一部分转子磁场让电机突破原有的转速天花板。在 Inc/config.h 里打开FIELD_WEAK_ENA再配合FIELD_WEAK_MAX、FIELD_WEAK_LO/HI三个参数就能按上图的曲线获得一段额外的速度区间。但这里必须先泼一盆冷水弱磁开启后电机可能转得飞快功率消耗也显著上升极可能触发电池保护板的过压保护。想动这个开关请务必在空旷场地、人车分离的前提下测试。此外项目内置了十种应用变体能让同一块主板变身成完全不同的小车VARIANT_USART串口控制配 Arduino/hoverserial/hoverserial.ino 示例上手零门槛VARIANT_HOVERCAR脚踏刹车油门变成一台能倒车的卡丁车VARIANT_NUNCHUK接 Wii 手柄摇杆控制改装轮椅的经典方案VARIANT_PPM / PWM / IBUS接遥控器适合滑板、机器人底盘。走到这一步你已经完成了一次完整的嵌入式改造从下载 FOC 固件、解锁读保护、烧录进 STM32 主控再到按需校准电流、转速和弱磁参数。下一次当你听到自己的小车安静顺滑地起步时应该会想起第一次听见嗡嗡声时那个好奇的自己。想继续深入不妨从 Inc/config.h 的注释开始读每一段都写清了参数的意义去 Src/comms.c 看看串口协议表你还能解锁更多可调变量。玩得开心注意安全。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表