ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

5步玩转hoverboard-firmware-hack-FOC:把闲置平衡车改成丝滑的FOC电机控制板

5步玩转hoverboard-firmware-hack-FOC:把闲置平衡车改成丝滑的FOC电机控制板 5步玩转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固件它让同一台电机更安静、更顺滑、更省电。读完这篇文章你将走完芯片解锁、固件刷写、参数调优的完整链路亲手把吃灰的平衡车变成一块动力可控的 FOC 电机控制板。动手前先定目标FOC到底能给你带来什么改造之前先回答一个问题你装这套固件图什么答案直接决定你后面选哪种控制模式。这一节只用一张图、一张表帮你把目标量化。对照三个换固件之后能直接感受到的变化换 FOC 固件不是玄学下面三条都是到手即可验证的体感差异安静FOC 用磁场定向驱动替代六步换相电机噪音和振动大幅下降这是最有体感的一条顺滑扭矩输出连续平滑起步不再一顿一顿低速跟手更省电、能跑更快控制效率更高配合弱磁Field Weakening还能把最高转速顶上去。这套固件在国外社区被玩出了很多花样四轮卡丁车hovercar、电动滑板、轮椅、AGV 小车都有成品。下面就是其中一台基于它改装的 hovercar可以作为你的目标参考。图注同样是这套 FOC 电机控制固件被人改成了四轮卡丁车你也可以用来改别的载具用一张表选对控制方式和控制模式Inc/config.h里有两个关键宏CTRL_TYP_SEL选控制方式CTRL_MOD_REQ选 FOC 下的控制模式控制方式三选一COM_CTRL传统换相、SIN_CTRL正弦波、FOC_CTRL磁场定向控制默认FOC 模式下再选VLT_MODE电压模式响应快机器人首选、SPD_MODE速度闭环锁定转速、TRQ_MODE扭矩模式松油门自由滑行载人首选。你的场景推荐控制方式推荐模式载人骑行、代步FOCTRQ_MODE 或 VLT_MODE机器人、AGV 精确控制FOCVLT_MODE 或 SPD_MODE只想快速跑通验证SIN 或 COM任意检查硬件确认你的板子在支持名单里动手前先看主控丝印绝大多数平衡车主板用的是STM32F103RCT6部分国产板用GD32F103RCT6两者都在官方支持名单内。只要你的板子符合这个条件后面所有步骤都能照做。备料与认脚把手术台先支起来刷写像做手术术前把器械和图纸摆齐比中途翻抽屉省心得多。这一节的目标很单纯备齐工具、认清引脚、避开那根要命的红线。把几样手术器械一次备齐清单不长但缺一样都可能卡壳ST-Link V2 编程器 4 根杜邦线刷写专用USB 转 TTL 模块3.3V 电平串口调参用别买成 5V 的万用表量电压用防呆神器一台能联网的电脑。固件获取方式二选一想自己编译先把仓库拉下来git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC不想折腾编译直接下载仓库自动构建产物里现成的.bin/.hex文件即可如下图所示挑最新一次成功的构建下载。图注在构建页面下载编译好的 FOC 固件文件省去本地编译环境配置认识主板引脚认准 SWD 和两条侧板线刷写真正要用的口子其实只有两个SWD 调试口和两侧板线。看下面这张引脚图先记住三件事图注认准 PA13/SWCLK、PA14/SWDIO 的 SWD 调试口以及左右两条侧板线接口SWD 调试口PA13/SWCLK、PA14/SWDIO刷写全靠它左侧板线长线引出 GND、12/15V 和 USART2注意 USART2不耐 5V右侧板线短线引出 GND、12/15V 和 USART35V 兼容串口调参一般用它。怎么接线才不出事刷写接线就四根按下面的表对号入座ST-Link V2主板SWCLKPA13 / SWCLKSWDIOPA14 / SWDIOGNDGND3.3V3.3V部分主板可不接⚠️ 避坑提示侧板线的红线是 12/15V 电源线做串口调参时千万不能把它接进 USB 转 TTL接错直接烧接口。只接 GND、RX、TX 三根红线碰都不要碰。第一道坎芯片被读保护锁死怎么办十台平衡车里八台都带着读保护新手最容易在第一步就卡死软件永远提示连不上。别急着怀疑线材先怀疑芯片的保险锁。怎么判断芯片是不是被锁了连接 ST-Link 后如果软件弹出这样的提示恭喜你找到了真凶——这是芯片开了读保护Read Out Protection的典型症状图注提示Disable Read Out Protection and retry就说明 MCU 被读保护锁定不是线的问题三步解除读保护在 STM32 ST-Link Utility 里按顺序操作菜单Target → Option Bytes...把Read Out Protection从 Level 1 改到Level 0点 Apply菜单Target → Erase Chip整片擦除解除读保护本身就会触发全片擦除属于正常现象擦除完成后Flash 区会显示全FFFFFF状态栏出现连接成功字样解锁完成。图注Memory erased Connected 字样出现说明 FOC 固件刷写的门已经打开解锁后第一件事先别急着刷写。重新执行一次内存读取确认能正常读到内容、不会再弹读保护报错再进行下一步。这一步多花一分钟能省下后面排查刷一半失败的半小时。⚠️ 避坑提示解除读保护会清空整片 Flash出厂数据全部消失。另外部分 GD32 克隆芯片有解锁失败的个案遇到就检查 SWD 线是否过长、杜邦线是否松动多试几次。从刷进去到转起来验证FOC是否真的生效刷进去只算成功了一半能安全地转起来才算数。这一节从烧写地址讲到上电手感帮你把刷了和能用之间的缝隙填上。用0x08000000这个地址把固件写进Flash在 ST-Link Utility 里点Program Verify选择刚才下载或编译好的固件文件.bin或.hex确认烧写起始地址是0x08000000STM32F103 的 Flash 起始地址不要改点 Start等待校验通过Verification OK。上电首测手感是最快的验证方式烧写完成后断开编程器、接上电池、短按电源键开机然后做两个动作手动缓慢转动左右电机如果 FOC 生效转动时会感到均匀、连续的阻力上电空转时电机应该几乎无声和原厂换相固件的滋滋声形成鲜明对比。首测翻车清单电机完全不转检查相线和霍尔线是否插牢左右侧板线是否接反只有一边转确认MOTOR_LEFT_ENA/MOTOR_RIGHT_ENA都开启了再看方向是否需要反相一转就报错断电多半是电流限制太低I_MOT_MAX参数留的余量不够。⚠️ 避坑提示首次上电测试务必把轮子架空FOC 出力非常直接扭矩远比你想象的大在实地上轰油门有失控风险。参数微调用几条命令让电机更顺手固件出厂带一套稳妥的默认参数但想让电机顺手通常还得动几下螺丝刀。串口就是那把螺丝刀。用一根USB转TTL线进入参数后厨把 USB 转 TTL3.3V的 GND 接右侧板线 GND、TX 接板子 RX、RX 接板子 TX波特率设为115200打开任意串口助手。注意命令协议需要在编译时打开DEBUG_SERIAL_PROTOCOL和DEBUG_SERIAL_USART3都在Inc/config.h里刷入后先输入HELP确认通没通。三件套GET看、SET改、SAVE存这套固件的串口命令非常直白记住三个就够用HELP # 列出全部命令和参数说明 GET # 打印所有参数与变量的当前值 GET I_MOT_MAX # 只查看电机最大电流 SET I_MOT_MAX 20 # 把最大电流改成 20A SAVE # 保存到 EEPROM断电不丢关键一点SET只改内存里的值必须SAVE才会写入 EEPROM否则断电就还原了。改完记得存。新手最值得动的三个参数I_MOT_MAX单电机最大电流默认 15A。想更有劲可以调大但别超过电池和 MOS 管的余量N_MOT_MAX最大转速默认 1000 rpm。限制极速新手期建议别调大CTRL_MOD1电压、2速度、3扭矩按第一节的表格选场景。FI_WEAK_ENA弱磁开关。不想自己编译的朋友也可以用 VESC Tool 这类上位机直观查看和调整 FOC 电机参数效果一样。图注用 VESC Tool 这类图形化工具也能直观查看 FOC 电机控制固件的极对数、电流等参数弱磁开启后的效果可以参考下面这张标定曲线输入目标超过FI_WEAK_LO后弱磁电流线性爬升到FI_WEAK_HI时达到最大极速随之提升。图注弱磁标定曲线横轴是输入目标纵轴是弱磁电流/相位超前超过阈值后线性介入调参避坑⚠️ 避坑提示弱磁Field Weakening一旦开启电机可能转得飞快功耗暴涨还可能触发电池 BMS 过压保护。务必架空轮子、穿好护具再测。另外每次改动前先用GET记下原值翻车了能一键改回。到这里一台从芯片解锁、固件刷写到参数调优全部完成的 FOC 电机控制板就诞生了。想继续深挖的这几个文件值得收藏参数总开关在 固件配置说明串口命令与参数定义在 串口协议实现主板逆向原理图在 主板原理图想用 Arduino 做上位机可以参考 Arduino 串口控制示例。祝你早日把闲置平衡车玩出新花样【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表