文档介绍:双轮自平衡小车
摘要:本系统主要包括控制系统模块、电机驱动模块和角速度测量模块三个模块,根据角加速度传感器测量出的数据,利用myRIO调节占空比,调节电机的转速,使小车能始终保持平衡。
关键词:PID控制,PWM,自平衡;
目录
1 方案分析 1
模块方案比较与选择 1
总体方案论述 1
2 电路与硬件设计.........................................................................................................2
.........................................................................................................................2
2
3 系统软件设计............................................................................................................4
4
程序流程图...........................................................7
程序清单............................................................10
4 系统测试及结果分析 13
总结 15
参考文献 15
附录实物图表 16
一、方案分析
方案一:采用传统的89C51芯片为控制核心。具有4KB的程序存储器,128KB的数据存储器,64KB的片外存储器寻址能力,64KB的片外数据存储器寻址能力,32根输入/输出线,1个全双工异步串行口,2个16位定时/计数器,5个中断源,2个优先级。但数学处理能力差,功能单一,运算速度慢,控制过程比较烦琐。
方案二:采用采用NI myRIO。NI myRIO内嵌Xilinx Zynq芯片,使学生可以利用双核ARM Cortex-A9的实时性能以及强大的计算功能,编程开发简单,支持用LabVIEW进行编程,图形编程,明了易懂,同时包含大量现成算法函数,方便快速调用。同时,myRIO自带三轴加速度传感器,可通过LabVIEW观察波形,进行自平衡小车测量时非常方便。
综合考虑采用方案二控制。
方案一:
采用步进电机为驱动源,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。且速度不是很快,不好操作。
方案二:
使用MOSFET构成H桥式驱动电路,利用PWM波形来控制电机的转速,此电路驱动功率比较大耗能高,电机的转速较快。
方案三:
使用直流电机驱动芯片L298N来驱动直流电机,通过占空比来调节转速,控制较为方便。
综合考虑采用方案三。
方案一:
使用三轴加速度传感器MMA7260Q可以测量小车加速度大小,选取最佳重心位置,将测量出的数据传入控制系统。
方案二:
使用myRIO自带三轴加速度传感器,由于是本身自带,便于使用与测量。
本系统主要包括控制系统模块、电机驱动模块和角速度测量模块三个模块,根据角加速度传感器测量出的数据,利用myRIO调节占空比,调节电机的转速,使小车能始终保持平衡。
显示
NI
myRIO
.
角加速度传感器
电机
电路与硬件设计
本电路选择TB6612FNG新型驱动器件,与传统电动机驱动相比,具有较高的集成度,且能独立双向控制2个直流电机,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机, A的连续驱动电流,启动峰值电流达2A/ A(连续脉冲/单脉冲);4种电机控制模式:正转/反转/制动/停止;PWM支持频率高达100 kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;SSOP24小型贴片封装。
AINl/AIN2、BIN1/BIN2、PWMA/PWMB为控制信号输入端;AO1/A02、B01/B02为