首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
hoverboard-firmware-hack-FOC 的 config.h 改哪几处,电机才既稳又快
📅 2026/10/23 6:04:02
✍️ 爱科研究院
👁 阅读 3,247
hoverboard-firmware-hack-FOC 的 config.h 改哪几处电机才既稳又快【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC你手里有块跑 hoverboard-firmware-hack-FOC磁场定向控制 / FOC 固件的悬浮板主板Inc/config.h 有 800 多行到底该动哪几行这篇文章只讲必须改的 6 处、每处的推荐值和依据。先定变体输入设备决定你烧哪个固件这个固件一个源码树编出十种固件区别只在于控制信号从哪根线进来。主板上有两根四芯传感器排线先搞清楚它们各管什么左线USART2不耐 5V仅 3.3V、30mA。可当 12bit ADC 用PA2/ADC1、PA3/ADC2电位器和串口控制走这里右线USART35V 容忍PPM / PWM / iBUS / Nunchuk / I2C 屏都走这里你的输入设备选哪个变体两个电位器VARIANT_ADC串口如 ArduinoVARIANT_USART遥控 PPM 和弦信号VARIANT_PPM遥控 PWMVARIANT_PWMFlySky iBUSVARIANT_IBUSWii Nunchuk 手柄VARIANT_NUNCHUK刹车/油门踏板hovercarVARIANT_HOVERCAR滑板 遥控 PWMVARIANT_SKATEBOARD变体在哪改三种工具三种地方PlatformIO 用户改 platformio.ini 顶部的选择区;default_envs VARIANT_ADC ; ← 改这里取消注释且只保留一个变体default_envs决定pio run编哪套环境只能留一行生效留两行会编出不确定的东西。Keil uVision 用户不用碰代码直接点 Load 按钮右侧的 Target 下拉框选变体。命令行 make 的话看 Makefile 里的用法make -e VARIANTVARIANT_ADC # ← 改这里替换成你要的变体 make make flash也可以在 config.h 开头 VARIANT SELECTION 区直接取消注释对应行。编译时报Variant not defined!就是这步漏了。第一次刷不进去先解锁主板上的 STM32F103RCT6部分板子是 GD32F103RCT6出厂可能开了读保护make flash会失败。先用 ST-Link 执行make unlock内部是stm32f1x unlock 0再刷。线不知道接哪对照这张引脚图主控板引脚布局左/右传感器排线、XT60 电源输入和 SWD 编程口PA13/PA14都在板上左线只认 3.3V、右线 5V 容忍红线位置已标注把电流和转速锁到安全线config.h 电机最大电流 I_MOT_MAX 怎么改#define I_MOT_MAX 15 // [A] ← 改这里单个电机的最大电流 #define I_DC_MAX 17 // [A] ← 保持 I_MOT_MAX 2AI_MOT_MAX是每只轮机电流的硬上限超过就触发斩波限流I_DC_MAX是 DC 母线的最后一道保护文件注释明确要求它等于I_MOT_MAX 2A两个数要一起动。默认 15A 对原厂 10S 电池36~40V是留了余量的保守值想要更大扭矩可以逐步试到 18~20A——但上限由电池放电能力决定这块板上没有额外保险丝兜底。轮子里那台电机的承受力看什么拆掉外环的悬浮板电机定子上的铜线绕组和霍尔传感器环电流上限就是按这套绕组的线径留的余量15A 默认值对原厂电机是安全的转速上限 N_MOT_MAX 给多少#define N_MOT_MAX 1000 // [rpm] ← 改这里单轮最大转速这是单轮转速的天花板。默认 1000rpm 是原厂轮径下的保守值想再快不是调大它就行反电动势会把电机卡死得配合磁场削弱一起用见下文。选控制模式VLT、SPD、TRQ 各管什么改这一行就能换电机控制方式#define CTRL_TYP_SEL FOC_CTRL // ← 改这里COM_CTRL / SIN_CTRL / FOC_CTRL #define CTRL_MOD_REQ VLT_MODE // ← 改这里VLT_MODE / SPD_MODE / TRQ_MODECTRL_TYP_SEL切换整个控制算法FOC_CTRL 是默认的磁场定向控制噪声最小、效率最高SIN_CTRL 是正弦换相COM_CTRL 是传统六步换相。CTRL_MOD_REQ只在 FOC 下生效决定内环跟什么物理量。三种 FOC 模式怎么选模式行为适合VLT_MODE恒定电压输出响应最快需要快响应的机器人机构SPD_MODE闭环追目标转速可抗负载扰动恒速、定速巡航类应用TRQ_MODE跟随扭矩指令为 0 时电机自由滑行坐姿载人最舒服HOVERCAR / SKATEBOARD 变体默认就是它注意 HOVERCAR 和 SKATEBOARD 变体在 config.h 里会自己#undef再重定义CTRL_MOD_REQ你手填的值会被变体覆盖以变体为准。松手之后轮子要滑行还是刹车// #define ELECTRIC_BRAKE_ENABLE // ← 改这里取消注释TRQ 模式松输入变恒定制动 // #define ELECTRIC_BRAKE_MAX 100 // (0, 500) 制动强度越小越溜 // #define STANDSTILL_HOLD_ENABLE // ← 可选停稳后保持位置默认松手电机就自由滑行打开ELECTRIC_BRAKE_ENABLE后松手变成温和制动STANDSTILL_HOLD_ENABLE进一步让车停稳后锁在原地。两个开关只对 VLT/TRQ 模式有意义其中电闸只生效于 TRQ 模式。电池压到多少会断电先改串数否则阈值全错#define BAT_CELLS 10 // ← 改这里电池串数原厂悬浮板是 10S后面的 LVL2 / LVL1 / DEAD 全部按BAT_CELLS算。原厂悬浮板电池是 10S36~40V如果你换了 9S 或 13S 电池只改这一个数保护线就还落在对的位置上。三级电压保护线在哪宏每节电压板上动作BAT_LVL23.60 V慢速蜂鸣BAT_LVL2_ENABLE0可关BAT_LVL13.50 V快速蜂鸣该充电了BAT_DEAD3.37 V直接断电仅限未行驶状态数字的单位是每节电压 × 100改行首那个数就行#define BAT_DEAD (337 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE // ← 改 337锂电池低于 3.3V 就开始伤寿命默认 3.37V 断电线合理。如果你总骑到没电可以略微下探BAT_DEAD代价是电池寿命。电压读数差得远两步校准用万用表量实际输入电压×100 写进BAT_CALIB_REAL_VOLTAGE文件注释里的例子39.70V → 3970读串口调试输出的第 5 项BatADC写进BAT_CALIB_ADC再核对调试输出第 6 项×100 的电压是否和万用表一致默认BAT_CALIB_ADC1492对应 39.70V你的板子读数偏差大基本就是这两个数没对上。想突破 1000rpm磁场削弱怎么开开之前先动这四行#define FIELD_WEAK_ENA 0 // ← 改成 1 开启磁场削弱 #define FIELD_WEAK_MAX 5 // [A] ← 改这里最大削弱电流10A 以内实测过 #define FIELD_WEAK_LO 750 // (500, 1000] 输入目标到它开始介入 #define FIELD_WEAK_HI 1000 // (1000, 1500] 到它时削弱最大硬上限 1500FIELD_WEAK_MAX是 d 轴削弱电流越大极速越高但功耗越大——文件注释里写了 10A 只在 10 寸轮上实测过别一上来就拉满。LO/HI注意它们指的是输入指令值-1000~1000 那个区间不是 rpm削弱电流在这两点之间从 0 线性爬到最大值。曲线长什么样磁场削弱 / 相位提前在 FIELD_WEAK_LO 到 FIELD_WEAK_HI 之间从 0 线性升到 FIELD_WEAK_MAX图中是完全混合、部分混合、目标落在区间外三种标定对照着定 LO/HI如果用的是 SIN_CTRL对应参数换成PHASE_ADV_MAX角度制默认 25°原理相同。⚠️ 官方 README 的警告必须转述给你重新标定磁场削弱后电机可能转得非常快功耗骤增还会触发 BMS 过压保护——先在空地上用小的FIELD_WEAK_MAX试。避坑这几处改错轻则翻车重则烧板为什么别碰传感器线上的红 15V 线调试串口、串口控制、输入接线都复用最开始那两根排线最容易烧板的是接线的 30 秒适配器必须用 3.3V 版 UART-USB只接 GND、RX需要发命令再加 TX排线里的红色供电线是 15V绝对不要接到适配器的 VCC碰一下整条链路报废波特率统一 115200和 platformio.ini 里monitor_speed一致// #define DEBUG_SERIAL_USART3 // ← 改这里右线调试 // #define DEBUG_SERIAL_PROTOCOL // ← 改这里要发命令、在线改参数才打开调试口和控制/反馈口共用引脚config.h 末尾的#error检查会在冲突时直接编译失败比如DEBUG_SERIAL_USART3 and FEEDBACK_SERIAL_USART3 not allowed看到报错先想是不是两条路都想占同一根线。温度保护没校准别开 ENABLE#define TEMP_WARNING_ENABLE 0 // ← 校准完才改成 1 #define TEMP_POWEROFF_ENABLE 0 // ← 校准完才改成 1温度传感器就在 STM/GD 芯片内部不校准误差最大能有 45°C。直接开的话要么 30°C 就拒动要么烧到 100°C 才断电。按注释流程做两点校准冷态 热态各采一组 ADC/温度再启用警告值 60.0°C、断电值 65.0°C 对多数场景够用。改了 config 不生效校准值存在 flash 里VARIANT_ADC 的自动校准长按电源 5 秒以上听到蜂鸣再把电位器扫到最小/最大回中后按电源确认会把 min/max 写进 flash此后生效的是 flash 里的值不是你 config.h 里PRI_INPUT1/2的写法。输入手感不对时改一下FLASH_WRITE_KEY让板子忽略 flash 值、改用 config 值或者整片擦除PlatformIO 刷机默认带 erase后重新校准原厂自平衡那个变体还没做完VARIANT_HOVERBOARD 是给两根原厂边板准备的要求边板也刷了改版固件而且文件里明确标注平衡控制器还是 TODO——别指望它自动平衡想骑平衡车模式现在还不行。踏板改 hovercar 的接线拿不准时对照这张完整接线图![HOVERCAR 变体完整接线示意踏板接左线【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/23 6:04:02
VRCX:管理你的 VRChat 社交圈
2026/10/23 6:04:02
借来的电脑 10 分钟改造:GTweak 便携 Windows 优化实战
2026/10/23 6:04:02
Unreal_mcp 双传输架构剖析:EngineWire C++ 插件如何在游戏线程驱动 Unreal 编辑器(完整指南)
2026/10/23 7:09:10
嵌入式工程师如何让通宵查死机的技术价值被看见
2026/10/23 7:09:10
纯Java Swing实现俄罗斯方块:从数据结构到碰撞检测的完整实战
2026/10/23 7:09:10
单链表选择排序详解:数据交换实现与指针调试技巧
2026/10/23 7:09:10
MATLAB光纤色散仿真与链路预算:D/β2换算、SSFM和眼图Q值
2026/10/23 7:09:10
智能体工具系统落地指南:从工具定义到调度与错误处理
2026/10/23 7:04:10
Seedance 2.0人像动态短片全链路实战:从照片到成片的参数调优与避坑指南
2026/10/23 0:02:44
Verilog实现FPGA密码锁:矩阵键盘与状态机设计实战
2026/10/23 0:02:44
数据服务监控运维实战:从指标体系到告警治理与故障排查
2026/10/23 0:02:44
FreeRTOS任务通知实战详解:内核原理、API与避坑指南
2026/10/23 0:52:23
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/22 17:15:21
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/23 0:52:11
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/22 5:06:15
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/22 2:07:18
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/21 19:01:08
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)