基于MEMS惯性传感器的两轮自平衡小车设计

  作者:闫俊岭 张郭 时间:2016-03-09来源:电子产品世界

编者按:着重分析了两轮自平衡小车的设计原理与控制算法,采用卡尔曼滤波算法融合陀螺仪与加速度计信号,得到系统姿态倾角与角速度最优估计值,通过双闭环数字PID 算法实现系统的自平衡控制。设计了以MPU-6050传感器为姿态感知的两轮自平衡小车系统,选用8位单片机HT66FU50A为控制核心处理器,完成对传感器信号的采集处理、车身控制以及人机交互的设计,实现小车自主控制平衡状态、运行速度以及转向角度大小等功能。

5 硬件设计

  系统硬件主要由以下几个模块组成:小车模型、HT66FU50单片机最小系统、姿态检测模块、电机驱动模块、速度检测电路、蓝牙模块和电源模块。

5.1 合泰HT66FU50芯片

  HT66FU50单片机[7]的增强型TM模块具备两路PWM输出,分别是TP1A与TP1B,对应复用管脚分别是PA1与PE4,作为两路线圈驱动的PWM信号。

  具备串行接口模块SIM(I2C通信仅从机模式)和一个独立的SPIA串行接口模块,用于SPI通信。与MPU-6050模块连接,方案一,单片机模拟I2C通信主机模式连接,两线制;方案二,采用独立的SPIA串行接口模块连接,四线制,仅限MPU-6000模块。

  单片机内部的串行接口模块SIM+HT45B0F可以实现与蓝牙模块通信。外部中断INT0与INT1可以用于光电编码器的连接。

5.2 姿态检测模块

  方案1:

  由加速度计MMA7260 /MMA7361、陀螺仪ENC-03及放大电路组成,输出角度与角速度的模拟信号要通过ADC转换为数字信号,参考文献文献[3]。

  方案2:

  MPU-6050[8]的角速度全格感测范围为±250°/sec(dps)、±500°/sec(dps)、±1000°/sec(dps)与±2000°/sec (dps),可准确追踪快速与慢速动作,并且用户可程式控制的加速器全格感测范围为±2g、±4g、±8g与±16g。产品传输可透过最高至400KHz的I2C。

  MPU6050输出的位数为16位(65536)对应满量程,当量程为±8g时对应灵敏度就为65536LSB/16g=4096LSB/g,选择测量范围越大,对应精度就越低。

5.3 电机驱动模块

  本设计的采用两块半桥驱动IR2111芯片驱动4只场效应管IRF1405,作为电机驱动模块。CD4001BCN四2输入或非门芯片,可实现单路输出高低电平来控制我们电机的正反转,节省控制端口。JP3的另一路输入为控制ENA使能端,随时关闭任何一路驱动桥的输入,这个使能端口用来输入PWM信号。如图7所示。

5.4 电机速度检测电路

  电机速度控制需要测量电机的转速,系统的电机速度检测主要是采用光电编码器来完成,利用控制单片机的计数器测量在固定时间间隔内速度脉冲信号的个数可以测量电机的转速。光电编码器输出,如图8所示。

5.5 无线通信解决方案

  蓝牙透传模式非常方便,将普通串口变为无线串口。选用HC-06蓝牙模块作为与外部设备(PC或手机)连接的模块,实现数据监控与无线操控。

6 软件设计

  系统软件设计框架主要包括:资源模块初始化、姿态信息采集、数据融合、速度检测、直流电机PID控制,系统软件流程如图9所示。

7 组装与调试

  本文采用液晶LCD1602辅助数据显示。调试方法与测试方法依次如下:

  首先,蓝牙收发串口调试;第二步,单片机串口收发测试;第三步,编码器测速调试;第四步,I2C通信调试;第五步,MPU6050数据采集调试;第六步,PWM控制电机调试;最后,卡尔曼与PID算法调试。控制算法、建模及PD调节的取值,参考文献。

8 总结

  本作品参考arduino开源平衡车与nBot平衡车[3],感谢全球默默无闻的平衡车爱好者无私奉献,感谢参考文献作者的付出。

  理论研究的仿真过程与实际控制过程算法、卡尔曼系数、PID调节系数相结合很难[10]。这也是作者在研发设计平衡车过程中最棘手的问题,也是多数论文几乎不涉及的内容。

参考文献:

  [1]陆军.基于PID和LQR控制的两轮自平衡小车研究[D].西安交通大学. 2012(6)

  [2]姜良银. 两轮自平衡机器人控制关键技术的研究[D].上海大学. 2011(4)

  [3]David P.Anderson .nBot Balancing Robot [EB/OL]. http://geology.heroy.smu.edu/~dpa-www/robo/nbot/ .2003(1)

  [4]李荣伟,李鑫,孙传开,等.两轮自平衡小车的设计[J].常熟理工学院学报(自然科学), 2012,26(10):70-75

  [5]“飞思卡尔”杯电磁组直立行车参考设计(版本2.0)[EB/OL]. http://www.smartcar.au.tsinghua.edu.cn/column/pxxz .2012(3)

  [6]鲁云,赵亮,陈晓东,等. 基于磁导航的两轮智能车系统设计[J].湖南师范大学自然科学学报. 2013,36(1):17-21

  [7]钟启仁. HT66Fxx Flash单片机原理与实践[M].北京:北京航空航天大学出版杜. 2011

  [8]MPU-6050官方手册. [EB/OL]. http://www.invensense.com/mems/gyro/mpu6050.html .2014-12

  [9]LEGO MINDSTORMS NXTway-GS Model-Based Design [EB/OL]

  http://www.mathworks.com/matlabcentral/fileexchange/19147-nxtway-gs-self-balancing-two-wheeled-robot-controller-design 2009-5

  [10]侯继红,马聪承. 自平衡两轮电动车控制系统设计与仿真[J]. 湖北大学学报(自然科学版),2014,36(4):307-312


本文来源于中国科技期刊威廉希尔 官网app 2016年第2期第51页,欢迎您写论文时引用,并注明出处。

1 2

关键词: 两轮自平衡 姿态检测 卡尔曼滤波 数据融合 PID 控制器 201603

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版