2双轮平衡车的系统结构分析
双轮平衡车是一个看似结构简单,实则十分复杂的机电一体化系统,其硬件结构包括机械部分和电系统部分,要控制一个控制对象首先要对控制对象的状态信息实时检测,本章对机器人的硬件结构和各种传感器做了详细的介绍。
2.1双轮平衡车的系统整体设计
双轮平衡车对结构有更高的要求,车身应该做到尽量的对称,元器件的放置尽可能的靠近车轴承,整个车的中心应该位于轴承上方并且尽可能靠近。系统整体结构组建的对称与否会对整个系统的控制产生重要影响,如果结构对称,会更容易控制使系统平衡,反之,结构对称性不好,则会导致软件算法复杂度增加,甚至是双轮平衡车系统不能控制达到自平衡。本文的双轮平衡车结构如图2.1。
图2.1
从图中可以看到系统的各个模块全部分布在两轮间轴承上面,控制模块位于小车中间,这样更利于小车处于动态平衡位置,姿态传感器采集的车身状态的信息也能更精确。本文搭建的双轮平衡车实物图如图2.2。
图2.2
系统总体设计框图和实物图如图2.3所示,自动平衡车系统主要由陀螺仪MPU6050、直流电机驱动器TB6612FNG、控制器STM32F103C8T6和带编码器的直流电机组成。小车系统采用两块7.5V锂电池串联,利用LM2578和LM2576分别把串联电压转换为12V和5V电压给系统供电。
图2.3
小车系统的主控制器通过定时器中断,利用I2C协议读取陀螺仪MPU6050检测的姿态信息,并经过主控器的卡尔曼滤波和数据融合处理后,与串口通信,把姿态信息实时显示在上位机上,采用模糊控制定时器输出PWM波形,再利用双路驱动器TB6612FNG驱动电机。小车系统采用带光栅编码器测速的直流电机,通过光栅测速把电机速度反馈给控制器,形成负反馈控制系统。本系统的主控制器通过串口实时向上位机发送姿态检测信息,同时也便于模糊PD算法的参数整定
2.2双轮平衡车的硬件组成
主板的构成如图2.4。
图2.4
2.2.1主控制器
本系统的主控芯片采用了ST公司的STM32F103C8T6,该主控芯片是拥有64KSRAM,512K嵌入式高速F1ash闪存的Cortex?-M的微控制器,操作频率可达72MHz。STM32F103C8支持I2C和USART通信,拥有多达112个快速I/O端口,所有I/O口可以映像到16个外部中断,几乎所有端口均可容忍5V信号,驱动能力一般为3.3V。该主控芯片具有多达11个定时器,2个16位带死区控制和紧急刹车的高级定时器,能够产生用于电机控制的PWM波。系统结构图如图
图2.5
2.2.2陀螺仪MPU6050
MPU6050是全球首个9轴运动处理传感器。它集成了3轴MEMS陀螺仪、3轴MEMS加速度计以及一个可扩展的数字运动处理器DMP(DigitalMotionProcessor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050对陀螺仪和加速度计分别用了3个16位的ADC,将其测量的模拟量转化为可输出的数字量,通过I2C协议与控制器实时发送姿态信息。传感器原理及电路接口如图2.
图2.6图2.7
2.2.3驱动单元
TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。TB6612每通道输出最高1.2A的连续驱动电流,启动峰值电流达2A/3.2A(连续脉冲/单脉冲);4种电机控制模式:正转、反转、制动和停止;PWM支持频率高达100kHz;芯片内设计有低压检测电路与热停机保护电路。TB6612FNG接口电路图为图2.8所示。
图2.8
2.2.4直流电机模块
本系统采用自带编码器测速码盘的直流减速电机,工作电压为:6~24V,额定电压为12V,最高转速可达到1000r/min,减速比为1:30。编码器采用448线AB相输出,448线码盘保证了测速精度,也就是电机转一圈输出448×30个脉冲。电机模块带有高速4脚霍尔芯片,保证输出波形为理想的矩形波,用示波器检测相当稳定,也可以直接接入微处理器触发中断,不需要对触发信号进行任何其他处理。
2.3双轮平衡车的软件设计
2.3.1总体软件设计
软件设计的总框图如图2.9所示。
图2.9
将自平衡小车软件设计的功能划分为6个任务来完成,分别为:陀螺仪MPU6050的姿态检测信息的获取、数据的滤波和数据融合算法的实现、串口通信协议的实现、定时器1产生PW