
智能两轮平衡车
简介
智能有刷电机两轮平衡车,主打 “全开源·超稳定·低成本”。磐石级稳定操控、多重防护防摔车、免调参数开机即用、物料易采购、焊接简单、模块化设计易学习。
简介:智能有刷电机两轮平衡车,主打 “全开源·超稳定·低成本”。磐石级稳定操控、多重防护防摔车、免调参数开机即用、物料易采购、焊接简单、模块化设计易学习。开源协议
:CC BY-NC 4.0
描述

智能有刷电机两轮平衡车,主打 “全开源·超稳定·低成本”。磐石级稳定操控、多重防护防摔车、免调参数开机即用、物料易得焊接简单、模块化设计易学习。
视频展示链接:
哔哩哔哩-开源智能两轮平衡车
https://www.bilibili.com/video/BV1aMTy6wEjd/
代码仓库:
github-GM_BalanceCar
https://github.com/lijinshang/GM_BalanceCar
渲染图

项目简介
本项目是基于STM32F401RET6微控制器开发的高性能智能两轮平衡车系统,采用充电板+主控板双板架构,硬件原生兼容有刷/无刷电机,以低成本、高稳定性、易复刻和安全可靠为设计核心,面向高校教学、科研实验及开源硬件爱好者社区快速落地。
系统搭载Cortex-M4内核(带FPU),主频84MHz,具备强大的浮点运算能力,为复杂控制算法提供充足算力。姿态感知采用MPU6052C六轴传感器模块,结合互补滤波算法实现高精度姿态解算,确保平衡车在各种工况下的稳定运行。驱动部分采用EG2133双路电机驱动方案,支持无刷电机和有刷电机,便于后续升级扩展。
电源系统采用两节18650锂电池串联供电,充电板集成IP2326电源管理芯片,支持USB-C充电,具备过充、过放、过流等多重保护。主控板内置DC-DC转换电路,输出5V/3.3V为系统各模块供电,并创新性地设计了零功耗软件开关机电路——长按按键开关机、短按紧急制动,兼顾操作便捷性与使用安全性。
系统在控制算法上采用串级PID架构,实现静态磐石级稳固与动态刚性化操控,免调参。软件基于FreeRTOS实时操作系统,采用多任务调度架构(平衡控制任务1ms、传感器任务1ms、通信任务10ms、显示任务50ms),兼顾控制实时性与系统稳定性。支持标准USB游戏手柄无线遥控,交互界面通过WS2812B RGB灯与音乐蜂鸣器直观反馈系统状态。代码采用分层模块化设计,核心算法与硬件驱动解耦,复用性强、易于二次开发与平台迁移。
本项目采用分层堆叠式结构设计,从上至下依次为:电池充电板 → 平衡车主控板 → 底盘。各层之间通过M3铜柱连接固定,形成稳固的塔式结构。整体重心位于平衡车主控板偏上位置,有利于自平衡控制的动态稳定性。

项目功能
核心控制功能
- 自平衡站立:基于MPU6052C六轴姿态传感器与串级PID控制算法,实现两轮平衡车的稳定直立,静态晃动小,抗干扰能力强,轻碰撞不倾倒
- 运动控制:支持前进、后退、原地转向及速度连续调节,响应迅速、操控精准
- 三档速度调节:通过手柄按键切换低速/中速/高速三档,适应不同场景(室内调试、户外行驶、快速机动)
- 自动校准:首次上电自动执行编码器角度校准(车轮悬空,耗时约20秒),校准数据永久存入Flash,后续开机免等待。长按开关机键10秒可清除校准数据,下次开机重新校准
遥控交互功能
- USB游戏手柄遥控:兼容标准USB HID协议游戏手柄(如Xbox风格手柄),按键功能如下:
- START键:启动平衡
- SELECT键:停止平衡
- 左摇杆左右:左转/右转控制
- 右摇杆上下:前进/后退控制
- 方向键:低速精细控制
- L1键:转向限幅(降低转向灵敏度)
- R1键:半速(中速),R2键:全速(高速)
- B键:喇叭提醒
- 手柄断线保护:手柄连接断开后自动将控制指令清零,速度降为零并维持平衡,杜绝失控风险
- 板载POWER按键控制:长按3秒开关机,短按紧急制动停车,长按10秒清除校准数据
免调参
- 免调参设计:参数预设即完美,用户无需调整PID参数即可稳定运行
安全保障功能
- 分级保护响应:根据异常严重程度分为三级——轻异常告警(LED+蜂鸣器提醒)、中异常降速(逐步降低输出)、重异常停机(切断电机输出),平衡安全与操控连续性
- 姿态超限保护:当车体倾斜角度超过安全阈值(±30°)且持续1秒时自动停机,防止侧翻
- 电机过流保护:实时监测电机驱动电流,超过设定阈值自动衰减输出而非立即停机,防摔车。衰减后至少保留 50% 输出,避免动力完全中断
- 低压报警停机:电池电压低于6.4V时触发三级保护——平衡状态下先蜂鸣警告再自动关机,行驶中先将速度归零维持平衡再关机,防止突然断电摔车
- 车轮离地保护:检测到车轮空转(转速>450RPM 且 角度<30° 持续1秒)时自动停止电机输出,防止飞车
- 传感器异常保护:MPU6052C通信异常或数据超时自动进入安全停机模式。编码器故障时发出报警并阻止系统启动
- 二次启动保护:停机后必须检测到一次角度超限事件,才允许再次启动,防止误触发重复启动
状态可视化
- RGB LED状态指示:WS2812B灯珠,支持纯色常亮、呼吸、追逐、故障、渐变五种显示效果,运行状态颜色映射如下:
- 未直立:亮红色 | 待机:绿色 | 平衡中:蓝绿色
- 速度映射:低速偏蓝 → 高速偏红渐变
- 车身照明:前进时前白光照明亮起,后退时红光照明亮起,自平衡状态时全灯点亮
- 蜂鸣器提示:音乐蜂鸣,消息队列非阻塞播放,支持开机音、关机音、启动音、停止音、低电量警告、角度异常警告、校准完成等多种场景音效
- 串口调试输出:通过UART实时输出姿态角、电机转速等关键调试数据,支持在线参数调试,无需重新烧录
应用场景
- 高校教学实验:作为控制理论、嵌入式系统、传感器应用的综合性实验平台,覆盖串级PID控制、姿态解算、电机驱动、通信协议等知识点
- 创新实践与竞赛:适合电子设计大赛、机器人竞赛、创新项目等,可快速搭建、稳定可靠
- 科技科普展示:适合实验室、科创社团、科技馆进行互动展示,观赏性强
- 开源学习项目:物料易得、成本低廉,学生与爱好者可轻松复刻
- 二次开发平台:预留UART、SPI等扩展接口,可加装超声波避障、OLED显示、蓝牙通信、AI摄像头等模块
项目设计
总体硬件架构

系统架构设计
系统采用分层模块化架构,硬件层面划分为上下两级功能板:
-
上层:电池充电板
负责外部能量输入、锂电池充放电管理、过流保护及车身照明配电。该板作为整车能量枢纽,向下级主控板提供+8.4V电源。 -
下层:平衡车主控板
作为系统计算与控制核心,承担姿态解算、平衡控制算法执行、电机驱动、状态监测及外部通信等功能。
两板之间通过主电源母线与信号线束互联,形成从能量获取到运动执行的完整闭环。
电池充电板设计


能量输入与充电管理
外部能量通过USB Type-C接口接入,由IP2326电池管理芯片实现锂电池的充电状态机控制。IP2326在本项目中承担以下关键职能:
- 恒流/恒压(CC/CV)充电控制;
- 两节18650锂离子电池的均衡管理;
- 过充电压、过放电压、过温及短路保护。
电池组采用两节18650电芯串联方案,额定电压7.4V,满电电压8.4V,为整车电机驱动及控制电路提供原始动力。
电源保护与前级配电
电池输出端串接保险丝,作为系统最后一级过流与短路保护屏障。经保护后的+8.4V母线直接输出至主控板。
照明系统
电池充电板集成车身照明功能,包括:
- 彩灯×4(氛围灯);
- 前进灯×2、后退灯×2(方向指示和照明);
平衡车主控板设计



电源管理单元
主控板接收来自电池板的+8.4V母线,首先通过零功耗开关机管理电路实现系统的一键启停与极低功耗待机。随后经二次稳压网络生成:
- +5V电源:为电机栅极驱动器、蜂鸣器及模拟外设供电;
- +3.3V电源:为MCU内核、IMU传感器、通信接口等数字电路供电。
电压检测模块对电池母线进行实时采样,为电量估算(SOC)及低压报警、欠压保护提供数据支撑。
核心控制单元
本项目选用STM32F401RE作为主控制器,其基于ARM Cortex-M4内核,最高工作频率84MHz,具备浮点运算单元(FPU),满足姿态解算与实时控制算法的计算需求。MCU在本系统中的核心职责包括:
- 与IMU模块通信,获取姿态信息;
- 闭环平衡控制算法执行;
- 双路电机PWM控制;
- 系统状态监测与保护逻辑;
- 外部通信与调试接口管理。
运动执行单元
本项目采用双通道有刷直流电机驱动方案(支持无刷电机),每通道配置如下:
- EG2133半桥栅极驱动器:接收MCU输出的PWM信号,组成H桥驱动有刷电机,支持电机正反转及调速;
- INA181A1电流检测放大器:实时监测电机电流,实现过流保护及力矩闭环控制;
- 电机反馈接口(SPI):通过SPI总线连接磁性编码器,获取电机转子位置与转速信息。
人机交互与调试接口
主控板提供丰富的外部接口资源,以支持调试、扩展及人机交互:
- 蜂鸣器:用于开机提示、故障报警、低电量及超速等声学状态提示;
- LED指示灯/LED灯接口:用于电源状态、运行状态及外部灯带的视觉反馈;
- USB接收器:用于无线游戏手柄接收;
- 串口(UART):支持在线参数调试、数据示波等;
- SWD调试口:程序下载、实时在线调试;
- SPI扩展接口:为显示屏等外设预留高速总线资源。
项目参数
电源系统
- 电池类型:两节18650锂电池串联(标称7.4V,满电8.4V),容量建议2600mAh以上
- 充电管理:IP2326,支持USB-C 5V输入,最大充电电流2A,带NTC温度保护
- DC-DC转换:5V/3A降压,3.3V/500mA LDO(MCU及传感器电源)
- 软件开关机:长按3秒开机/关机,短按紧急制动,关机功耗<1μA(零功耗待机)
- 续航时间:2600mAh电池组,连续直立约30小时
主控及传感器
- 主控芯片:STM32F401RET6,Cortex-M4内核,带FPU,主频84MHz,Flash 512KB,SRAM 96KB
- 姿态传感器:MPU6052C六轴(三轴陀螺仪+三轴加速度计),采样率500Hz
电机驱动
- 驱动芯片:EG2133双路半桥栅极驱动,每路组成H桥驱动有刷电机
- 电机类型:直流有刷电机
- PWM频率:12kHz
- 最大持续驱动电流:5A(单路)
- 电流采样:低侧分流电阻+运放放大
- 编码器接口:磁性编码器(SPI通信),支持位置与速度检测
控制性能
- 控制周期:2ms
- 姿态解算算法:四元数互补滤波
- 静态直立角度稳态误差:<0.02度
- 指令响应延迟:2ms
- 控制架构:姿态环(直立/转向) + 速度环串级PID
- 操作系统:FreeRTOS 实时多任务调度
PCB设计
- 板层结构:两层板(双面板),板厚1.6mm,铜厚1oz
- 板卡架构:电池充电板(电源管理)+ 平衡车主控板(控制与驱动)
- 充电板尺寸:92mm × 54mm
- 主控板尺寸:92mm × 54mm
物理参数
- 整体尺寸:约160mm × 56mm × 100mm
- 整机重量:约480g(含电池,不含手柄)
- 轮径:65mm橡胶轮胎
- 轮距:130mm
- 质心高度:60mm
- 最大载重:>1kg
通信接口
- USB HID:通过STM32内置USB FS外设实现,用于连接游戏手柄
- UART6:调试串口,115200bps,输出实时数据
- UART:连接MPU6052C传感器
- SPI1:磁性编码器接口*2
- SPI2:预留扩展接口
- SWD:程序下载与调试接口
系统状态机
系统运行过程中在不同状态之间切换,确保运行逻辑清晰、安全可控:
| 状态 | 含义 |
|---|---|
| 初始化 | 系统上电,硬件自检,加载校准数据 |
| 待机 | 等待启动指令,监测启动角度(±10°范围内自动启动) |
| 平衡 | 车身自主稳定直立 |
| 运动 | 平衡状态下接收遥控指令,执行前进/转向 |
| 保护 | 异常触发,安全停机或降级运行 |
关键状态转换:
- 待机→平衡:车身进入启动角度范围,自动启动平衡
- 平衡↔运动:接收/停止遥控指令
- 平衡/运动→保护:姿态异常、过流、低电量等触发
- 保护→待机:异常解除后返回
仿真调试
本项目开发了一款基于html5的两轮平衡车仿真调试器,以倒立摆为物理模型,融合角度环与速度环双闭环PID控制策略。仿真器提供直观的图形界面,支持实时调节车身质量、重心高度、阻尼系数等物理参数,并可在线修改PID系数、积分限幅和输出限幅,直观观察系统动态响应。通过六组实时曲线和动态侧视图,用户可清晰监测角度、速度、位移及PID分量变化,并可注入扰动、设定目标速度,测试控制系统的鲁棒性与抗干扰能力。该仿真工具有效缩短了控制参数调试周期,降低了实物实验风险,为平衡车初期算法开发和后期参数调试提供了可靠的验证平台。

利用 GM CommsDebug 的串口示波功能,可在平衡车运行过程中实时抓取并绘制数据曲线,瞬时反馈控制效果,让实物调试从“盲调”迈向可视化精准调校。告别烧录-观察-再烧录的低效循环。

整车BOM
| 描述 | 类别 | 数量 | 单价 | 金额 |
|---|---|---|---|---|
| 平衡车主控板(SMT不含价格浮动元件) | PCBA | 1 | 22 | 22 |
| 电池充电板(SMT不含价格浮动元件) | PCBA | 1 | 13 | 13 |
| 磁性编码器板(SMT不含价格浮动元件) | PCBA | 2 | 1.5 | 3 |
| 50P06 | MOS管 | 1 | 0.5 | 0.5 |
| BSC0702LS | MOS管 | 12 | 0.8 | 9.6 |
| INA181A1IDBVR | 运放 | 2 | 1 | 2 |
| EG2133 | 栅极驱动芯片 | 2 | 1.3 | 2.6 |
| STM32F401RET6 | MCU | 1 | 7 | 7 |
| IMU姿态传感器板 | IMU | 1 | 15 | 15 |
| 10mR R2010 2W | 电流采样电阻 | 1 | 0.5 | 0.5 |
| 电解电容 | 电容 | 2 | 0.2 | 0.4 |
| USB-A-SMD | USB | 1 | 0.23 | 0.23 |
| 2节 18650插脚 电池盒 | 电池仓 | 1 | 0.8 | 0.8 |
| 1808 8A保险丝+1808底座 | 保险丝 | 1 | 0.5 | 0.5 |
| WS2812B | LED | 4 | 0.08 | 0.32 |
| 5mm直插LED灯(红光、白光) | LED | 4 | 0.05 | 0.2 |
| USB-TYPEC | USB | 1 | 0.11 | 0.11 |
| TLE5012BE1000 | 芯片 | 2 | 5 | 10 |
| 径向充磁编码器磁铁4x3mm | 磁铁 | 2 | 0.26 | 0.52 |
| 全牙内六角M2.5*6 | 螺丝 | 4 | 0.0084 | 0.0336 |
| 全牙内六角M3*16 | 螺丝 | 4 | 0.0429 | 0.1716 |
| 全牙内六角M3*8 | 螺丝 | 4 | 0.0118 | 0.0472 |
| 双通铜柱六角M3*20 | 铜柱 | 4 | 0.201 | 0.804 |
| 车架RC385 | 3D打印 | 1 | 19.53 | 19.53 |
| 轴套 | 轴套 | 2 | 0.2 | 0.4 |
| 六角联轴器 | 联轴器 | 2 | 1.62 | 3.24 |
| 电机RC385 | 电机 | 2 | 2.8 | 5.6 |
| 65mm橡胶轮 | 车轮 | 2 | 3.36 | 6.72 |
| 黑色16AWG硅胶线10cm | 线 | 1 | 0.183 | 0.183 |
| 红色16AWG硅胶线10cm | 线 | 1 | 0.183 | 0.183 |
| MX1.25-5P;100mm;双头反向 | 线束 | 3 | 0.3395 | 1.0185 |
| 鑫旺成X3无线游戏手柄+接收器 | 手柄 | 1 | 28 | 28 |
| 18650电池 | 电池 | 2 | 5 | 10 |
总成本约:165 元(不含邮费)
注意:有些物料价格不稳定,上表中的价格是我采购的样品价,供参考
组装流程
全部物料一览图

视频安装流程详见开头:视频展示链接
安装电机径向磁铁
使用AB胶粘接径向磁铁到电机尾部轴承及输出轴


注意:用AB胶粘接时先少量涂抹在轴端,放置磁铁,固化后再次磁铁表面与轴端再涂一层胶
安装电机
安装磁性编码器板


注意:电机红色标记对应电机+
注意:先安装电机再焊接磁性编码器板
安装轴套与六角联轴器

注意:紧固六角联轴器时要分别旋转两侧紧固螺丝,防止偏心
安装车轮

焊磁性编码器板电机线、插编码器排线
安装平衡车主控板
焊主控板电机线、电源线
插磁性编码器排线

注意:电机+极对应电路板A相,电机-极对应电路板B相
焊电池充电板电源线
插LED灯排线
安装电池充电板


注意:电池充电板的USBTypeC对应平衡车主控板的USBTypeA方向
实物图
充电板和主控板

整机正面视图

整机侧面视图

电机部分特写

注意事项
- MPU6052C模块应Z轴垂直向上,安装偏差>1°将导致平衡性能显著下降
- 电机接线时需确认正反转方向,接线错误会导致平衡车旋转失控
- 电池首次使用前请确认正负极正确安装,电池正负极以电路板标识为准
- USB手柄兼容性:仅支持标准USB HID协议的游戏手柄(Xbox等),非标准协议手柄可能无法识别
- 如需户外使用,PCB建议喷涂三防漆,防止潮湿环境导致短路或腐蚀
🎁 【盲盒盖楼抽奖】动态算法抽奖!
本次活动送出 8套奖品! 采用“阶梯累计+动态盲盒算法+点赞评选”,越认真盖楼,中奖概率越高!你不仅可能在最新楼层中奖,之前认真评论过的楼层也有机会被后续算法“击中”!
🎁 奖品:智能两轮平衡车成品(不含电池和游戏手柄)
🎯 如何参与活动
只需简单三步,即可解锁中奖资格:
- 点赞与关注:为本工程点击「点赞」,并「关注」作者。
- 有效评论盖楼:在评论区发布与本项目相关的技术提问、改进建议或复刻进度(字数必须 ≥ 15字,带图最佳,禁止水贴)。
- 坐等盲盒击中:保持活跃,并邀请好友为你的优质评论点赞,争夺人气大奖!
📜 活动规则
1. 阶梯累计触发机制与系数(7套)
评论区总楼层数达到以下阶梯节点时,解锁1套新奖品,并基于当前总楼层数(设为N)重新计算所有中奖楼层。 所有系数依次为:1.0、0.9、0.8、0.7、0.6、0.5、0.4。
- 达到 10 楼:解锁 1 套(计算 N×1.0)
- 达到 20 楼:解锁 2 套(计算 N×1.0,N×0.9)
- 达到 50 楼:解锁 3 套(计算 N×1.0,N×0.9,N×0.8)
- 达到 100 楼:解锁 4 套(计算 N×1.0,N×0.9,N×0.8,N×0.7)
- 达到 200 楼:解锁 5 套(计算 N×1.0,N×0.9,N×0.8,N×0.7,N×0.6)
- 达到 300 楼:解锁 6 套(计算 N×1.0,N×0.9,N×0.8,N×0.7,N×0.6,N×0.5)
- 达到 500 楼:解锁 7 套(计算 N×1.0,N×0.9,N×0.8,N×0.7,N×0.6,N×0.5,N×0.4)
> 举例说明:假设当前帖子达到 53 楼,触发50楼阶梯,解锁 3 套。算法为:53×1.0=53楼,53×0.9=47.7向下取整为47楼,53×0.8=42.4向下取整为42楼。中奖楼层为:53楼、47楼、42楼。大家要认真留意自己发过的每一楼!
2. 人气特别奖(1套)
活动截止时,评论区中点赞数最高的一条评论将直接获得一套。(若点赞数相同,以评论时间较早者优先)。
3. 防重复中奖与顺延规则
- 若公式计算出的楼层在历史开奖中已有人中奖,则该楼层向下顺延至最近的未中奖楼层。
- 若公式计算出的楼层为无效水贴,同样向下顺延至最近的有效楼层。
4. 有效楼层判定
为确保交流区的高质量,中奖楼层必须满足以下条件:
- 字数限制:评论内容必须 ≥ 15个字。
- 内容有效:必须是与本项目相关的提问、技术探讨、改进建议、复刻进度分享(带图最佳)。
- 禁止水贴:单纯发“支持”、“顶”、无意义标点符号、重复复制粘贴他人内容,一律判定为无效。
📅 活动时间与开奖
- 楼层截止时间:2026年9月30日 23:59:59(含)。
- 开奖时间:楼层截止后的3天内,作者将统一核算并公布最终所有中奖结果。
- 奖品发放:中奖网友请加QQ交流群(281111878),奖品全国包邮。
⚖️ 补充声明
本活动最终解释权归作者所有。参与本次活动即视为同意上述规则,请注意:未点赞、未关注或未发布有效评论的用户,将不具备中奖资格。
更新日志
2026-7-14:拼板改单板(方便PCB免费打样)
2026-7-13:增加盲盒盖楼抽奖
2026-7-12:开源软件发布
2026-7-11:开源硬件、3D模型发布
2026-7-5:项目设计视频发布
2026-5-24:软件调试完成
2026-5-4:整车组装完成
2026-4-25:平衡车主控板PCB完成
2026-4-11:电池充电板PCB完成
2026-4-5:机械设计完成
后续计划
套件供应计划
写在最后
最后想说的是,这也是本人的第一个嵌入式开源项目。期间第一次深度使用了嘉立创EDA,体验下来真的非常好用!对于之前用过其它EDA软件的朋友来说,基本可以实现无缝衔接、直接上手无压力。非常感谢大家的支持与鼓励,后续我也会持续开源更多有意思的项目,希望能与大家共同进步!
交流群及版权声明
更多硬核玩法与技术答疑,欢迎加入「GM开源交流群:281111878」,和志同道合的创客们一起玩转硬件、少走弯路!
版权声明:本项目(智能两轮平衡车)采用CC BY-NC 4.0许可协议(知识共享署名-非商业性使用4.0国际许可协议)。
你可以自由地:
- 共享 — 在任何媒介以任何形式复制、发行本作品。
- 二创 — 修改、转换或以本作品为基础进行创作。
惟须遵守下列条件:
- 署名 — 必须给出适当的署名,提供指向本许可协议的链接,并指出是否对作品进行了修改。
- 非商业性使用 — 不得将本作品直接用于或修改、二创后用于商业目的。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










