尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
手把手教程:从零到平衡车 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 电机控制——从烧录、验证到调参全部按仓库真实内容来讲不掺水分。为什么原装轮子那么吵60° 一拍的开关先看一个反常识的事实原装固件其实并不控制电机电流它只是在切开关。无刷电机被六步换相驱动时电流每转过 60° 就整体换道一次霍尔传感器每 60° 跳变一次。你可以把它想象成六盏灯每次只亮一整组、熄灭另一整组——房间忽明忽暗电机就是被这样拽着走的抖动、噪音和高损耗都是这么来的。而 FOCField Oriented Control场定向控制的思路完全不同它实时追踪转子位置让定子磁场像平滑旋转的磁针一样连续转动扭矩输出从一推一推变成持续丝滑。这就是刷完固件后轮子明显变安静、变省电的原因。不只是又一份固件而是主板上的电机控制工具箱这个项目对平衡车固件的重构不是换个 Logo 或加个灯效而是在原装硬件STM32F103RCT6部分板子是 GD32F103RCT6均被支持上装了一套完整的电机控制底座三种控制类型可选Commutation保留原厂换相作对比、Sinusoidal、FOC通过CTRL_TYP_SEL切换FOC 下再分三种工作模式VOLTAGE快速响应、SPEED闭环恒速、TORQUE扭矩指令松手即滑行由CTRL_MOD_REQ选择十种输入变体电位器、串口、Wii Nunchuk、PPM/PWM/iBUS 遥控、踏板车HOVERCAR、滑板SKATEBOARD等一个仓库全收串口调试控制台GET/SET/WATCH/SAVE 命令参数可写进 EEPROM 持久保存内置保护单电机限流、直流母线限流超过即切断 PWM 输出、电池低电分级报警、板温监控社区用它改出的东西从踏板车到轮椅都有但这都只是同一套控制底座的输入变体。三步跑起来硬件清单与 5 分钟烧录准备这些东西一块平衡车主控板STM32F103RCT6 / GD32F103RCT6 均可一个 ST-Link 烧录器10S 平衡车电池固件默认按 10 串配置BAT_CELLS左右两条 sideboard 线缆——左边接 USART2右边接 USART3。注意左边的线不耐 5V右边那条可以烧录三步走拿到代码git clone https://link.gitcode.com/i/50bcdfe24492ab3570f19116b59383a3选变体再编译。PlatformIO 用户在 platformio.ini 里把default_envs指向VARIANT_ADC双电位器最适合第一次验证命令行用户直接make -e VARIANTVARIANT_ADCKeil 用户则打开 MDK-ARM 工程切换 Target烧录PlatformIO 走 stlink 直接上传Makefile 用户是make flash底层是st-flash写到 0x8000000。个别芯片有读保护时先跑make unlock用 OpenOCD 执行 STM32F1 解锁再烧成功的标志是这样的按住电源键上电松手后听到开机旋律、LED 亮起——但轮子不会转。这是刻意设计bldc.c里enable初始为 0电机默认禁用安全优先。接着用 3.3V 串口适配器接右边线缆115200 波特率你会看到in1:… in2:… cmdL:0 cmdR:0 BatV:…的调试流。转动电位器cmdL/cmdR跟着变再给电机上电轮子平滑转起来——到这里FOC 就已经在你板子上了。FOC 一句话说清舵手不再猛拉舵把电机想象成一条船。换相控制是舵手每 60° 猛拉一次舵FOC 是舵手随时知道舵角只做细微修正。知道舵角这件事在这个仓库里由两样东西完成霍尔传感器给出转子粗位置。左电机接 PB5/PB6/PB7右电机接 PC10/PC11/PC12代码里直接读 IDR 寄存器取三相状态定时器 TIM8 以 16kHz 触发 ADC 采样三相相电流DMA 搬运到adc_bufferDMA 中断里每 64µs 调一次BLDC_controller_step()跑完整控制步控制核心是 Simulink 模型生成的 C 代码Src/BLDC_controller.c 是算法本体Src/BLDC_controller_data.c 是查表数据正弦表、霍尔位置映射、控制器参数。因为这颗 Cortex-M3 没有 FPU所有参数都是定点数——例如16384实际表示1.0换算规则文件头注释里写得很清楚。作者已提供校准好的控制器你不碰BLDC_controller_data.c也能直接用。调参的正确顺序先看反馈再限幅最后碰弱磁第一步先验证反馈而不是急着改控制。开启DEBUG_SERIAL_PROTOCOL见 Inc/config.h 的串口调试段用串口控制台WATCH这些量SPDL/SPDR左右实测转速、LDC_CURR母线电流×100 显示、BATV校准后电池电压。实测转速跟着cmdL/cmdR走、电流读数随负载变化说明电流环和测速都可信后面才有调的根基。第二步设保护限幅。默认单电机I_MOT_MAX15A、N_MOT_MAX1000rpm、母线I_DC_MAX17A注释建议保持I_DC_MAX I_MOT_MAX 2A。第一次上车建议从低限幅开始确认行为正常再往上加。第三步调手感。四个参数决定脚感RATE加速斜率越小越肉、FILTER低通滤波越小越软、SPEED_COEFFICIENT和STEER_COEFFICIENT速度/转向增益16384 1.0不想要转向就置 0。HOVERCAR 变体还内置三档驾驶模式新手/进阶/高手启动时按踏板组合选择限流限速自动切换非常适合给新手骑车。第四步才是弱磁Field Weakening。默认关闭。开启后从FIELD_WEAK_LO默认 750线性爬到FIELD_WEAK_HI默认 1000达到FIELD_WEAK_MAX默认 5A。这是拿功率换极速的手段仓库注释明确警告电机可能转得非常快功耗激增可能触发 BMS 过压保护——务必悬空测试、人离远一点。仓库 docs 里还放了一张电机参数配置的参考图可以对照着理解每个参数在整条控制链里的位置想深入控制器内部README 提供了一个浏览器即可打开的 webviewSimulink 模型的在线版不用装 Matlab 就能看到模型结构和参数表定点参数换算可以用作者的工具 Fixed-Point Viewer。踩坑清单五个高频现象 → 原因 → 处理现象 1烧录后主板完全没反应上电无旋律。原因部分 STM32F1 芯片带读保护烧录器连得上但写不进去或者你烧到一半断电芯片进了保护状态。 处理先make unlockOpenOCD 执行stm32f1x unlock解锁后重新烧录。现象 2插上 5V USB 转串口板子直接烧了/不工作。原因左边 sideboard 线缆的 USART2不耐 5V而且线缆红芯是 15V 电源接错一芯全剧终。 处理调试一律用右边线缆USART3 耐 5V或者老老实实用 3.3V 电平转换器接线时只碰 GND 和 RX/TX红芯别碰。现象 3轮子转但方向是反的。原因电机线序或霍尔相位与固件假设不一致。 处理在 Inc/config.h 对应变体段解开INVERT_R_DIRECTION/INVERT_L_DIRECTION的注释重编重烧。现象 4动电位器轮子乱抖或输入跳变。原因ADC 上下限没校准噪声把输入顶出范围。 处理按住电源键超过 5 秒听到提示音后松开把两个电位器反复打到最小、最大回中位等待确认校准值会写进 Flash 持久保存。之后也可通过串口SET IN1_MIN/IN1_MAX微调。现象 5开了弱磁后 BMS 报过压、耗电飞快。原因这是弱磁的正常代价不是故障——但意味着你的标定太激进。 处理调低FIELD_WEAK_MAX抬高FIELD_WEAK_LO/HI让弱磁更晚介入始终在悬空状态下验证极速行为。它能用在哪不能碰哪直接上手没问题的人群用过 ST-Link、看得懂 C、理解 UART/ADC 基本概念的嵌入式入门者。三步流程照着走第一次就能听到开机旋律。建议先补前置知识的人想自己动电流环——补定点数和小信号 PID 基础再进BLDC_controller_data.c想改控制架构——先看 Simulink 模型 webview直接改生成代码很容易改乱。明确不兼容 / 做不到的AT32F403RCT6 主控的平衡车需另一个社区分支本仓库不覆盖splitboard主控被拆成两块板的板型VARIANT_HOVERBOARD的双边板通信已实现但平衡控制自平衡在仓库中标注为 TODO尚未落地芯片无 FPU、16kHz 控制周期已贴近这颗 F103 的极限别指望再往上提采样率硬件资料都齐反推原理图在 docs/20150722_hoverboard_sch.pdf芯片数据手册和参考手册在 docs/literature 里。写在最后一块 STM32F103、两个轮子、一套 16kHz 跑满的 FOC——这就是把抖动嗡嗡的原装轮子变成平滑省电驱动的全部代价一个 ST-Link和一个愿意读完本文的夜晚。下一步入口就在仓库里硬件从 docs/pictures/mainboard_pinout.png 开始认参数从 Inc/config.h 开始动控制核心从 Src/BLDC_controller.c 开始读。【免费下载链接】hoverboard-firmware-hack-FOCWith Field Oriented Control (FOC)项目地址: https://gitcode.com/GitHub_Trending/ho/hoverboard-firmware-hack-FOC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Rufus 制作 Win11 安装盘教程:3 步绕过 TPM 2.0

Rufus 制作 Win11 安装盘教程:3 步绕过 TPM 2.0

Rufus 制作 Win11 安装盘教程:3 步绕过 TPM 2.0 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus 是一款单文件绿色 U 盘格式化工具,最大本事是把 Windows 11 安装器里…

📅 2026/10/23 4:36:41
从0.5.x迁移到0.6:Unreal_mcp单一unreal工具革命完全指南与直接调用移除处理

从0.5.x迁移到0.6:Unreal_mcp单一unreal工具革命完全指南与直接调用移除处理

【免费下载链接】Unreal_mcp A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C Automation Bridge plugin. Built with TypeScript and C. 项目地址: https://gitcode.com/gh_mirro…

📅 2026/10/23 4:31:41
PCL2启动器微软账户登录皮肤显示问题终极解决方案指南

PCL2启动器微软账户登录皮肤显示问题终极解决方案指南

PCL2启动器微软账户登录皮肤显示问题终极解决方案指南 作为一款广受欢迎的Minecraft第三方启动器,PCL2启动器提供了便捷的微软账户登录功能,但部分用户在通过微软账户登录时遇到了皮肤显示异常的问题。本文将深入分析PCL2启动器微软账户登录皮肤显示问题…

📅 2026/10/23 4:31:41
MORE NEWS

更多资讯

📰

GitHub Copilot 入门:在 VS Code 里解释代码和补全函数

适合人群:已经在用或准备用 VS Code 写代码的学生和编程新手,想让 AI 帮忙解释代码、补全代码,又不想换编辑器。需要说明:GitHub Copilot 的免费计划每月有一定的补全和 AI 额度,具体数量和套餐内容以 GitHub 官方页面…

📰

装甲车辆人的毕设自救指南:从传动系统设计到降AIGC,AI 搭子怎么选?

先自报家门:工学 / 兵器类 / 装甲车辆工程,一个常年和"铁疙瘩"打交道的专业。我们的课表长什么样?坦克构造、车辆传动、悬挂系统、弹道防护、发动机原理……听起来很酷,但真到了大四,所有人都会面对同一个大…

📰

用 MCP 让 AI 把网页直接发布成链接(Claude Code / Cursor / Codex)

作者声明:我是 dochost 的开发者。本文以 dochost 的 MCP 为例,流程对其他“发布类” MCP 也适用。一、这篇解决什么问题 AI 写完一个 HTML 页面后,通常要你手动复制代码、打开托管网站、粘贴、复制链接。接入 MCP 以后,可以直接对…

📰

《WorkBuddy 在财务中的应用》——写给财务人的一本 AI 实战手册

通过百度网盘分享的文件:WorkBudd… 链接:https://pan.baidu.com/s/1dmWWCR8cP108-iSaWdacLA?pwd2und 复制这段内容打开如果让你说出财务工作里最"磨人"的三件事,十个人里有八个会提到:月底对不平的账、贴不完的发票、永远在催的…

📰

爬虫逆向补环境(3)-原型与原型链

爬虫逆向补环境(3)-原型与原型链前言在浏览器里面,可以把原型看成浏览器内置对象的创建类,原型链指的是创建的类和它的父类之间的关系 浏览器内置对象拥有固定原生原型链结构,反爬会检测对象之间的原型引用链条,原型上的属性&…

📰

TGV玻璃通孔激光加工供给方类别对照

TGV玻璃通孔激光加工供给方类别对照这篇文章讲的是TGV玻璃通孔激光加工的供给方格局:按十类供给方形态对照其能力圈、工艺侧重、试点适配与可核实材料,为小批量试点阶段的合作对象筛选提供一份可对照的目录。TGV玻璃通孔激光加工是先进封装领域受关注的新…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬