项目概述
智能移动机器人在各种应用场景中得到广泛应用,其中两轮平衡车因其简洁、灵活的结构和自主平衡能力而备受关注。本项目旨在设计和实现一款两轮平衡车,利用PID控制算法实时调整电机输出,以保持平衡状态,实现自主移动和精准操控。
功能描述
姿态控制
通过MPU6050获取三轴加速度和角速度,经过卡尔曼滤波融合计算得到小车倾角。使用串级PID算法,实时调整电机输出,以抵消车身倾斜,从而保持平衡状态。
实时操作系统
移植FreeRTOS实现多任务调度和管理。
数据显示
把测得电池电压、倾角、编码器值数据实时显示在OLED屏幕上。
蓝牙遥控
通过蓝牙发送指令,控制小车前进、后退、左右转、刹车。
硬件设计概述
系统总体设计

动力系统
电机和编码器
电机为25GA-370直流减速电机(带霍尔编码器),额定电压12V,配备编码器。

左侧为减速齿轮,中间为电机部分,右侧是电路板(带霍尔编码器)
TB6612FNG电机驱动芯片
STM32可以实现小车的转向与前进后退控制,但是STM32的IO口带负载能力较弱,而直流电机是大电流感性负载,所以需要功率放大器件,选择使用TB6612FNG这款电机驱动芯片。
姿态计算
MPU6050集成了三轴加速度计和三轴陀螺仪,用于检测和测量物体的线性加速度和角速度。


遥控系统
为了方便通过手机操作小车,遥控方面我们选择ECB01蓝牙模块。这个模块使用串口和单片机通信,官方提供固件,简单可用。
其他交互模块
除了上述主要模块,为了方便和小车交互,我们还可以预留以下模块:
0.96英寸OLED显示屏模块方便输出信息
LED灯等增加小车其他输出