首页 / 资讯中心 / 文章详情

15分钟搞定平衡车主板:解锁芯片、刷入固件,调出第一组FOC参数

15分钟搞定平衡车主板:解锁芯片、刷入固件,调出第一组FOC参数 ★ FEATURED ARTICLE
15分钟搞定平衡车主板解锁芯片、刷入固件调出第一组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 控制方式降低了电机噪声与振动起步加速不再顿挫。安全上限自己定最大相电流与最高转速都有硬保护过流、超速会被及时拦下。控制模式可切换换相、正弦、FOC 三种控制类型可配FOC 下还能在电压、转速、扭矩模式之间选。极速范围可拓展启用弱磁field weakening后电机可在更高转速区间安全工作。开工前备齐这些类别物品说明必须平衡车主板搭载 STM32F103 或 GD32F103 的主板均可固件同时支持这两种 MCU必须ST-Link V2 编程器通过 SWD 接口解锁芯片与写入固件必须ST-Link UtilityST 官方烧录工具本文全部解锁操作都在它里完成必须固件文件.bin 或 .hex 格式可从项目 Actions 构建产物直接获取可选USB转TTL 模块 串口助手第3步串口调参用串口助手推荐 PuTTY可选VESC Tool图形化查看/修改参数的替代方案如果打算自己编译固件clone 仓库即可git clone https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC也可以直接到项目的 Actions 构建页面下载最新产物无需本地工具链第1步解开MCU的读保护为什么原厂板默认锁读保护出厂固件普遍开启了读保护目的是防止别人直接拷走芯片里的程序。副作用是任何 SWD 读操作都会被拒绝写固件自然也被挡住所以解锁必须先做。出现 Can not read memory 报错时怎么办ST-Link 接好线后在 ST-Link Utility 里点击 Connect。如果弹窗提示 Can not read memory! Disable Read Out Protection and retry说明读保护生效中点 OK 继续下一步即可。把 Read Out Protection 设为 Level 0从菜单栏进入 Target → Option Bytes...在弹出的窗口里将 Read Out Protection 一项改为 Level 0点 Apply 写回。Erase Chip 并确认 Memory erased接着执行 Target → Erase Chip 整片擦除。完成后主区域出现 Memory erased、底部状态栏显示 Connected to target就是解锁成功的标志。第2步把固件写进Flash先接好 SWD 四根线主板上的接口定义可在引脚图里核对ST-Link SWCLK → 主板 SWCLKPA13ST-Link SWDIO → 主板 SWDIOPA14ST-Link GND → 主板 GNDST-Link 3.3V → 主板 3.3V可选仅当主板没有其他供电来源时接否则芯片上电不足、连接会断写入固件分三步在 ST-Link Utility 中点 Program Verify选择前面拿到的 .bin 或 .hex 文件确认起始地址为 0x08000000STM32F103 的 Flash 起始位置点 Start。日志里出现 Verification OK 即代表校验通过、刷写成功。若提示验证失败先重新连一次线再刷仍失败就重点排查 SWDIO/SWCLK 是否接反。第3步用串口调出基础FOC参数115200波特率连上主板拔掉 ST-Link把 USB转TTL 接到主板的 UART 引脚上。板上的 USART2/USART3 默认波特率都是 115200定义见 Inc/config.h。串口助手设成 115200、8N1给板子上电后按一下按键有回显即说明链路通了。查电流限制、转速限制并改好串口里输入GET会列出全部参数及当前值重点看三个I_MOT_MAX最大相电流A决定电机能拉多大电流N_MOT_MAX最高转速RPM决定极速上限CTRL_TYP与CTRL_MOD控制类型与控制模式FOC 配合扭矩模式最适合载人平衡场景。修改用SET 参数名 数值逐条下发全部调顺后输入SAVE写入 EEPROM否则下次上电又会回到默认值。不想纯敲命令的话VESC Tool 也能图形化查看和调整这组参数卡住了先查这里QErase Chip 报错读保护解不开。先核对 SWD 接线GND 虚接是最高频原因然后断电重连重新进 Option Bytes 再试一次。部分板子擦除时需要外部给电先接上 3.3V 或给电池充上电再操作。Q烧录后板子完全没反应开不了机。先确认刷写日志里真的出现过 Verification OK只写入一半的固件大概率无法启动。再检查电池是否接好、电源键是否正常并核对主板芯片型号STM32F103 与 GD32F103 都支持但别把目标错选到侧板芯片上。Q主板一定要接 3.3V 吗不一定。3.3V 引脚的作用是在烧录期间给主板供电如果电池或充电口已经上电只接 GND 即可。反之若板子此时没有任何电源断开 3.3V 连接会立刻丢失。Q串口乱码或者没有回显。确认波特率是 115200、TX 与 RX 交叉相接发射对接收、接收对发射仍不行就断电重启板子再按一次按键触发回显。再进一步打开 Inc/config.h 可以选控制类型CTRL_TYP_SEL、控制模式CTRL_MOD_REQ和整套构建变体弱磁由FIELD_WEAK_ENA打开起用区间的标定曲线长这样注意 README 的提醒弱磁标定前务必做好安全准备标定不当可能把电机带入危险的高速区间。电机本体的定点参数集中在 Src/BLDC_controller_data.c配合 README.md 的说明和定点工具做微调能进一步贴合你的电机特性。遇到具体板型、变体或接线层面的问题项目社区与 wiki 里往往已有现成答案值得先翻一翻。到这里解锁、刷写、调参三步全部走完。接上电池、按下电源键手拨轮子时感受到均匀而可控的阻尼就说明一切正常了。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站