基于倒立摆原理的智能平衡车设计

2018-10-20 11:01张奔王鲍刘振超李犇鑫胡博文霍建振
智能计算机与应用 2018年5期
关键词:陀螺仪小车按键

张奔 王鲍 刘振超 李犇鑫 胡博文 霍建振

Abstract: In this paper, a two-wheel balance vehicle control system with high performance-price ratio and strong stability has been designed at the platform of Freescale's MK60FX512VLQ15 microcontroller based on the analysis and innovation of the first-order inverted pendulum theory. The safe driving and smooth steering of the balance car have been controlled by the PID algorithm through the collection of information such as body speed and attitude. At the same time, the data of the current speed, the parameters of the position control and the turning control can be uploaded to the upper computer and saved through the bluetooth module, which facilitates the researchers to master the information of the car and make the system show better robustness.

引言

21世纪以来,面对车辆的全面普及与城市化的潮流态势,交通拥堵的现象时有发生。而随着控制技术与传感器技术等的发展进步与创新融合,双轮平衡小车引起了广泛关注,并取得了较大的突破。因其结构简单,轻便灵活,节能环保,深受上班族与学生的青睐与喜爱。鉴于其便捷、绿色的特点,智能平衡车的应用将日趋广泛[1]。

两轮自平衡车以一级倒立摆理论为基础,具有传统的一阶倒立摆多变量、非线性、强耦合等特点[2],而在设计动力上主要来源于同轴平行连接的2台电机,通过微处理器对车体姿态与速度进行测量,调节2台驱动电机的转速,从而使车体呈现出匀速、转向等不同的姿态。

1总体设计方案

本系统以K60单片机为核心,通过对各种传感器信号的采集分析,利用PID算法[3-4]实现小车的自平衡控制、前行与转向等行为动作。通过按键对直立参数、转向参数等进行调节,并通过OLED实时显示。同时,小车通过蓝牙与上位机通信,并且利用上位机的虚拟示波器对小车的运行状态展开监控。本系统对电机采用MOS全桥驱动,可靠性高、稳定性强。本次研发设计方案则如图1所示。

2系统硬件设计

该系统以MK60FX512VLQ15单片机为平台,通过0.96寸的OLED显示控制参数与传感器的信息。使用MPU6050作为加速度计与陀螺仪,协同融合出小车的姿态。使用龙邱mini512线编码器,通过正交解码对小车的正、反转与电机速度进行测量。同时通过蓝牙模块重点支持实时数据采集,上传到PC上位机,即可对数据启用一定的功能分析。这里,考虑到参数调节的需要,使用3个按键对参数进行实时整定,结合OLED的快速动态显示,在简明、直观的同时也免去了每次改变参数值都要重新编译下载程序的步骤,使得调试过程更趋高效、便捷。研究中,针对系统各部分功能设计的阐释探讨可分述如下。

2.1姿态测量模块

本系统通过MPU6050进行姿态解析,MPU6050是一款六轴加速度陀螺仪模块,其中整合了三轴加速度计与三轴陀螺仪,解决了分离式陀螺仪加速度计之间时间差的问题[5]。MPU6050中有3个16位的ADC,故可将芯片测量的模拟信号转换为稳定的数字信号,并通过I2C 接口输出一个6轴的数字电信号。最终单片机采集到MPU6050的数据,通过卡尔曼滤波[6]得到稳定、可靠的角度信息。

2.2供电系统设计

各个模块的供电设计,是该系统硬件设计的重点内容之一。根据自平衡车对电机的要求,采用36 V锂电池供电,选取高效、安全的电压降压模块转换成12 V电源,为电机驱动板的正常工作提供保障。同时将12 V稳压为5 V和3.3 V,前者可用于各个传感器的正常运转,后者可作为单片机的运行能量基准。电源系统设计流程如图2所示。

2.3電机驱动模块设计

系统硬件设计的另一项重点技术就是电机驱动板的设计[7]。本系统采用占空比来控制电机,采用2路全桥驱动。每一台电机为了实现正、反转,都需要2路PWM信号、共计4 路PWM 信号来控制2台电机[8]。用MOS管取代BJT作为搭建电机驱动板的开关器件,一方面驱动电流大,可高达110 A,另一方面发热少,尤其是在车体制动或突然反转的情况下,其发热量远远小于BJT,具有较强的驱动能力。以单电机为例,可得相关驱动原理则如图3所示。

3软件设计

3.1运动控制系统设计

针对系统的控制研究,分析可知,系统中控制对象为小车,2台电机的电压即为输出量。可见车体的控制分为3部分:小车的平衡控制、小车的匀速控制与小车的转向控制。由于系统的非线性化,信号的简单叠加难以做到精确控制。在实际的应用中,当倾角较小时,可将该系统近似为线性系统进一步设置后续处理,即把整个控制系统作为3个独立的系统来指派控制。对其中任一系统进行分析时,都认为其它系统处于稳定状态。

直立的控制采用PD调节,通过姿态传感器和滤波算法得到角度,再以角速度加以修正,构成PD控制,实现两轮小车的自平衡站立[9]。控制原理的技术架构可如图4所示。

速度的控制可视作是对直立控制的干扰,通过调整车模倾角来实现小车速度的控制。转向的发生可经由控制两轮的差速而自然得到,转向要求可以比直立的速度更低一些,故将其控制周期设为80 ms,采用以Z轴陀螺仪的数据作为转向速度偏差的比例P控制实现。

当本次研发程序接受运行指令后,首先就是各模块的初始化,如LED初始化、OLED初始化、按键初始化、PWM初始化、串口初始化、MPU6050初始化等。然后将转入使能中断,设置定时/计时器中断,并开启定时/计数器。程序随即就按照时序进行按键扫描、液晶显示、传感器数据采集、滤波、速度给定等。为了使电机控制平滑且开关频率不至于过高,采用平滑控制方案,即将最终得到的电机PWM值,平滑地分配到80 ms的控制周期中,从而获得平滑连续的控制输出。主程序的流程设计将如图5所示。

3.2PID算法实现

PID调节器是一种线性调节器[10-11],可将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象部署有效控制。由此得到研究提出的微分方程表示如下:u(t)=Kp[e(t)+1TI∫t0e(t)dt+TDde(t)dt] (1)其中,e(t)为误差,即:e(t)=r(t)-c(t)。

3.3调试部分

使用按键与OLED配合,同时利用蓝牙与电脑的上位机进行通信,实时将运动过程中的角度、角速度和积分值等动态数据,通过串口助手上的虚拟示波器提送得出结果的处理展示,从而为参数的整定、以及车身姿态的实时反馈与车身鲁棒性的分析提供了依据。

上位机界面如图7所示。该界面从左到右、自上而下不仅定制了普通串口助手所包含的基本选项,还配置了波形数量选择、数据类型选择、以及对波形的放大缩小、数据保存等功能。而这些都将为数据的分析发挥有益的帮助作用。

3.4调试结果

通过上位机分析波形与按键调节参数,智能平衡车的直立部分通过PD控制,经过调试,当直立车受到扰动时,其上升时间与调节时间都大大缩短,超调量降低,达到预期目标。在匀速与转向控制中,合理的PID算法能使小车在堵转及不干扰直立的情况下,较快地达到目标速度,且超调量很小,对驾驶人员几乎无影响,满足预期设计要求。

4结束语

本文从一阶倒立摆的控制原理得到启发,并根据两轮平衡车的工作机制,设计了一套基于K60单片机的运动系统。采用数字式的姿态传感器MPU6050,避免了分离式陀螺仪与加速度计时间差的问题,同时结合卡尔曼滤波算法,对小车的姿态进行精确实时控制。使用PID算法实现了小车的自平衡控制及匀速与转向控制,使其具有较好的鲁棒性。并通过按键与OLED配合,完成了参数的实时整定,从而大大提高了实践应用效率。

参考文献

[1] 张洪伟. 基于STM32 的平衡车设计[J]. 科技创新与应用, 2016(2): 78-79.

[2] 阮晓钢,孙荣毅,马圣策,等. 两轮自平衡机器人运动平衡控制研究[J]. 科学技术与工程,2014,14(24):84-88.

[3] 孟鹏,章政. 基于陀螺仪与加速度计的二轮自平衡控制系统设计[J]. 传感器与微系统,2014,33(10 ):61-64.

[4] 王加银. 基于变论域自适应模糊控制的倒立摆仿真与实物实现[D]. 北京:北京师范大学,2002.

[5] 孙亮, 孙启兵. 神经元PID控制器在两轮机器人控制中的应用[J]. 控制工程, 2011,18(1): 113-115.

[6] 刘二林, 姜香菊. 基于卡尔曼滤波的两轮自平衡车姿态检测[J]. 自动化与仪器仪表, 2015(2): 52-54.

[7] SHEN Xiaowei,YAO Minli,JIA Weiming,et al. Adaptive complementary filter using fuzzy logic and simultaneous perturbation stochastic approximation algorithm [J]. Measurement,2012,45(5):1257-1265.

[8] 蔣纬洋, 邓迟,肖晓萍. 两轮自平衡小车系统制作研究[J]. 国外电子测量技术,2012,31 (6): 76-79.

[9] 周牡丹, 康恺,蔡普郎,等. 两轮自平衡车控制系统的设计与实现[J]. 自动化技术与应用, 2014, 33(10):4-8.

[10]梁华,李晓虹,杨光祥. 两轮自平衡机器人动力学模型分析及PID控制方法研究[J]. 重庆师范大学学报(自然科学版),2016,33(1):163-167.

[11]GUO Qi,ZHOU Zhaoying,XIONG Wei, et al. Design of a barometric altimeter based on a micro pressure sensor[J]. Nano Technology and Precision Engineering, 2012,10(4):337-341.

猜你喜欢
陀螺仪小车按键
追车
非触勿动 秒治键盘误触
积木小车
Micro Beast Plus陀螺仪使用心得(上)
Kyosho Drone Racer穿越机
去修理厂
未来的笔
其实真的很简单教你轻松关闭WP8.1手机按键灯
计算器
基于DSP的MEMS陀螺仪信号处理平台的设计