1. 毕业设计分享 stm32的智能平衡小车
基于 STM32 的智能平衡小车:项目分享与设计思路
### 智能平衡小车的背景与意义
随着机器人研究的深入,两轮自平衡机器人因其体积小、运动灵活等特性,在工业生产、安防系统、智能家居、物流网等领域展现出广泛应用的潜力。与多轮的轮式机器人相比,两轮自平衡机器人能够在狭窄、需要大转角的场合中更加自如地运动,其结构特殊性使其能够适应多样的地形环境,研究此类机器人具有重要的意义。此外,两轮自平衡车作为交通工具,体积减小、重量减轻,运动灵活,更加环保,是一种理想的代步工具。
### 设计思路与控制策略
智能平衡小车的核心在于控制,电机作为唯一的控制对象,其运动控制任务主要分为三个基本控制任务:
1. **直立控制**:通过PID算法控制车模稳定在平衡位置,使用PD算法调节倾角作为输入量。
2. **速度控制**:在直立系统中,通过改变车模倾角来实现速度控制,采用PI算法。
3. **方向控制**:通过控制两个电机的差速实现转向,使用PD算法,以X轴的角速度作为微分项的因子,提高转向的动态性能,避免振荡。
### 硬件设计
项目采用主控电路板+电机驱动电路板的结构,旨在避免电机驱动对主控电路的影响和电磁干扰,同时考虑成本效益。硬件设计包括:
- **微控制器电路**:负责数据处理和控制逻辑。
- **电源管理电路**:提供稳定的3.3V和5V电源,使用LM2940和LM1117稳压器。
- **微控制器接口**:包括OLED、蓝牙、传感器(MMA7361、L3G4200D)、编码器、PWM、遥控器解码等接口。
- **按键电路**:用于手动控制和调试。
- **蜂鸣器电路**:用于系统状态反馈。
### 软件设计
**PID控制算法**:
PID控制算法基于偏差的比例、积分、微分三部分,用于闭环控制,适用于目标系统和控制对象模型不明确的情况。该算法通过传感器构成反馈回路,实现精确控制。
**直立控制程序**:
通过负反馈系统测量车体倾角,使用PID算法实现闭环控制,保持车模平衡。关键在于计算和调整控制参数,确保系统稳定。
**速度控制程序**:
速度控制采用与普通车模不同的方法,通过调整电机输出来实现。核心是利用直立系统的倾斜特性,使车模在保持直立的同时实现速度控制。
**方向控制程序**:
方向控制使用PD算法,通过遥控器输入参数,调整微分项因子为陀螺仪输出,提高转向的动态特性,避免振荡。
### 关键代码与调试
项目采用互补滤波法调试,关键代码负责控制逻辑的实现,如电机驱动、传感器数据处理、控制算法的计算等。通过优化算法参数,实现智能平衡小车的稳定运行。
### 项目总结与分享
基于 STM32 的智能平衡小车项目,集成了先进的控制理论与硬件设计,实现了一种高效、灵活的自平衡车系统。通过分享项目详细描述与设计思路,旨在为其他设计者提供参考与灵感,共同推动智能机器人技术的发展。
2. 如何通过一个陀螺仪传感器配合PID算法实现两轮车的平衡
陀螺仪的作用
两轮自平衡机器人控制系统除了需要实时的倾角信号,还要用到角速度以给出控制量。理论上可以对加速度计测得的倾角求导得到角速度,但实际上这样求得的结果远远低于陀螺仪测量的精度,陀螺仪具有动态性能好的优点。
(1)陀螺仪的直接输出值是相对灵敏轴的角速率,角速率对时间积分即可得到围绕灵敏轴旋转过的角度值。由于系统采用微控制器循环采样程序获得陀螺仪角速率信息,即每隔一段很短的时间采样一次,所以采用累加的方法实现积分的功能来计算角度值。
(2)陀螺仪是用来测量角速度信号的,通过对角速度积分,能得到角度值。但由于温度变化、摩擦力、不稳定力矩等因素,陀螺仪会产生漂移误差。而无论多么小的常值漂移通过积分都会得到无限大的角度误差。因而不能单独使用陀螺仪作为自平衡小车的角度传感器。
2.倾角传感器的作用
(1)倾角传感器中加速度计可能测量动态和静态线性加速度。静态加速度的一个典型例子就是重力加速度,用加速度计数直接测量物体静态重力加速度可以确定倾斜角度。
加速度传感器静止时,加速传感器仅仅输出作用在加速度灵敏轴上的重力加速度值,即重力加速度的分量值。根据各轴上的重力加速度的分量值可以算出物体垂直和水平方向上的倾斜角度。
(2)加速度计动态响应慢,不适应跟踪动态角度运动;如果期望快速地响应,又会引起较大的噪声。再加上其测量范围的限制,使得单独应用加速度计检测车体倾角并不合适,需要与其它传感器共同使用。
3.原理
其运作原理主要是建立在一种被称为“动态稳定”(Dynamic Stabilization)的基本原理上,利用车体内部的陀螺仪和加速度传感器,来检测车体姿态的变化,并利用伺服控制系统,精确地驱动电机进行相应的调整,以保持系统的平衡。