全球旧事资料 分类
形又会超调或者振荡;调小时反应时间会变长,如图3所示,通过对比发现随着值的增大,角度自恢复时的幅值也会变小。想得到更短的反应时间就必须调大的值,这时也要相应的增大的值。由于的值大于2时就会有毛刺,波形也基本上稳定不了,所以的值不能超过1。
通过以上的分析可以得出:的值应在02之间,的值应在01之间。、分别表示为比例系数、微分系数或积分系数,本系统的平衡控制、速度控制、方向控制刚好可以利用这种方式最终调节小车电机的PWM,这种控制方式可以称为PID控制,整个系统主要就是根据小车的角度与角速度来对小车进行调节。
3系统总体方案设计
31总体方案设计
采用STM32F103C8T6做主控制器来对各种数据进行处理;MPU6050进行姿态的检测;TB6612FNG芯片来驱动电机;HC06蓝牙来控制平衡车的几个动作;锂电池对小车的整个系统进行供电,整个系统的结构框图如图4所示。首先要给整个系统进行供电,当小车出现倾倒时,主控制器STM32F103C8T6通过IIC的方式读取由MPU6050模块测得的小车的角度与角加速度,然后STM32进行数据的处理在通过驱动模块来驱动两个电机使小车达到平衡。STM32读取编码器的位移来测得小车的速度,从而达到小车能够前进、后退、左转、右转。而上位机是通过蓝牙模块来进行控制小车的运行状态35。
32驱动电路设计
TB6612的PWM引脚是直接与STM32的PWM端相连的,具体的作用是通过改变PWM波的占空比来控制电机的速度。VM的供电电压在12V以内,其中加两个电容主要是对其进行滤波。而电容是对5V的电压滤波使其更稳定,如图5所示。
4系统软件设计
f龙源期刊网httpwwwqika
comc
41单片机软件设计
整个系统软件涉及到了定时器,时间一到,定时器就开始执行,串口接收中断也是一样的。由于小车的姿态的获取、编码器数值的获取、算法的实现、PID控制以及电机的PWM都需要在中断的条件下进行的,在进行编程的时候需要对定时器是否计时完成进行判定,从而再执行具体的功能,如图6所示6。
42PID控制软件设计
本文采用的主要是平衡PD控制、速度PI控制以及转向PD控制。在第二章是已经讲述了、分别表示为比例系数、微分系数,所以在得到角度与角速度的稳定值后就可以直接得出一个PWM值了,但是在实际中有考虑车身重心角度所带来的影响。在进行平衡控制的时候小车也能直立,但是系统本身存在稳态误差,小车会不停地摆动,要解决这个问题就必须加上速度反馈来补偿稳态误差。这里要注意由于车轮的速度反馈信号中往往存在着噪声,对速度r
好听全球资料 返回顶部