基于单片机的两轮自平衡车控制系统设计.docx
《基于单片机的两轮自平衡车控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的两轮自平衡车控制系统设计.docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的
2、情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。关键词:两轮自平衡小车 加速度计 陀螺仪 数据融合 滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based on MicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature
3、of the instability as traditional inverted pendulum, and effective control must be exerted if we need to make it stable. This paper presents a design scheme of two-wheel self-balance vehicle. We need using gravity accelerometer gyroscope sensor MPU6050 for the inclination angle of vehicle, and using
4、 complementary filter for the data fusion of gyroscope and accelerometer. We choose an 8-bit microcontroller named STC12C5A60S2 from STC Company as main controller of the control system. The main controller output control signal, which is based on the data from the sensors, to the motor drive chip n
5、amed TB6612FNG for controlling two motors of vehicle, and keeping the vehicle in balance. After the completion of the control system, the vehicle can achieve autonomous balance under the conditions of unmanned intervention, the vehicle can adjust automatically and restored to a stable state quickly
6、in the case of giving appropriate interference as well. In addition, we can control the vehicle forward, backward and turn around.Key words: Two-Wheel Self-Balance Vehicle; Accelerometer; Gyroscope; Data fusion; Complementary filter; PID algorithm1 绪论1 自平衡小车的研究背景11.2 自平衡小车研究意义11.3 论文的主要内容22 课题任务与关键技
7、术22.1 主要任务2关键技术22.2.1 系统设计22.2.2 数学建模2姿态检测32.2.4 控制算法33 系统原理分析33.1 控制系统任务分解33.2 控制原理43.3 数学模型54 系统硬件设计64.1 STC12C5A60S2单片机介绍74.2 电源管理模块84.3 车身姿态感应模块94.3.1 加速度计104.3.2 陀螺仪124.4 电机驱动模块144.5 速度检测模块165 系统软件设计165.1 软件系统总体结构175.2 单片机的硬件资源配置18定时/计数器设置185.2.2 PWM输出设置205.2.3 串行通信设置235.2.4 中断的开放与禁止265.3 MPU60
8、50资源配置275.3.1 普通IO口模拟IIC通讯285.3.2 MPU6050资源配置325.4 系统控制算法设计345.4.1 PID算法345.4.2 互补滤波算法355.4.3 角度控制与速度控制355.4.4 输出控制算法366 总结与展望376.1 总结376.2 展望37参考文献38学习文档 仅供参考1 绪论 自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求。比方,户外移动机器人需要在凹凸不平的地面上行走,有时
9、机器人所需要运行的地方比较狭窄等。如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题。两轮自平衡小车就是在这些的需求下所产生的。这种机器人相对于其他移动机器人的最显著特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务。正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作。 两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不
10、稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值。早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念。这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳。本世纪初。美国发明家狄恩卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行。由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合。1.2 自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够
11、方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作。因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面。目前自平衡车的应用如自平衡的代步车正在流行开来。因此两轮自平衡车的研究很有意义。1.3 论文的主要内容本论文主要表达了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程。主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制。整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试。第一章主要讲解了课题的研究背景及意义,国内外研究现
12、状。第二章主要讲解了设计的主要任务与所需的关键技术。第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理。第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计。第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID算法的使用。第六章主要讲解了系统的调试与参数整定。最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述。2 课题任务与关键技术2.1 主要任务本文研究并设计了一种基于单片机的
13、两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能。系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制。系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合。通过编码器获得两轮的速度信息。根据获得的数据信息对速度和倾角进行闭环控制。加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制。关键技术2.2.1 系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计。在机械结构上必须保持小车重心的稳定性,才能防止控制系统过于复杂;硬件系统必须
14、包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现。2.2.2 数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定。模型的建立主要使用牛顿力学定律。姿态检测 两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测。目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测。但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定。2.2.
15、4 控制算法两轮自平衡车所实现的平衡是一种动态的平衡。在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态。传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法。3 系统原理分析3.1 控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作。相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论。对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动。因此本控制
16、系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制。小车的控制任务可以分解成以下三个基本任务:(1) 控制小车直立:通过控制两个电机的转向保持小车的直立状态。(2) 控制小车车速:通过控制两个电机的转速实现车速控制。(3) 控制小车转向:通过控制两个电机的转速差实现转向控制。以上三个任务都是通过控制小车两个车轮的驱动电机完成的。直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以到达所追求的控制效果。在这三个任务中,保持小车
17、平衡是关键,三个任务执行的优先级为:平衡控制速度控制转向控制。由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰。因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰。上述三种控制各自独立进行,它们各自假设其他两个控制都已经到达稳定。比方控制小车加速和减速的时候,平衡控制一直在起作用,它会自动改变小车的倾角,使小车实现加速和减速。3.2 控制原理 生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立。这需要两个条件:一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势角加速度。可以通过手掌的
18、移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这两个条件缺一不可,这就是控制中的负反馈机制。控制给定控制对象执行机构控制算法传感器大脑手掌眼睛木棒 图3.1 保持木棍直立的反馈控制系统小车的直立也是通过负反馈实现的,但相对于上面的例子来说相对简单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜。控制车轮转动便可抵消倾斜的趋势从而保持车体直立。 车体垂直,车轮保持静止车体向前倾斜,车轮向前加速行驶车体向后倾斜,车轮向后加速行驶图3.2 通过车轮控制车体平衡3.3 数学模型二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统。 图 单摆
19、模型与倒立摆模型通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置。可以得出,单摆保持平衡的条件有两点:(1) 受到与位移方向相反的回复力作用;(2) 受到和运动速度相反的阻尼力作用。如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时间最短。图3.4 小车受力分析mgsin-macosmgm倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像
20、单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下。为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反。控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,与车轮加速度大小相同,方向相反。因此倒立摆所受到的回复力为 F=mgsin-macos 3-1根据控制系统的特性,角需要控制在很小的范围内,并且假设控制车轮加速度与角成正比,比例系数为k1,因此上式可近似处理为 F=mg-mk1 (3-2)此时,只要k1g,回复力的方向便和位移方向相反,此时小车可以恢复到平衡位置。为使小车能在平衡位置尽快的稳定下来,还需要有阻尼力,阻尼力与角速度方向相反,大小
21、成正比。式3-2可变为 F=mg-mk1-mk2 (3-3)式中,k1,k2均为比例系数,为小车倾角,为角速度。只要满足k1g,k20,便可以将小车维持在直立状态。k2是小车回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证小车可以尽快稳定在垂直位置。因此为了控制小车稳定,需要精确的测量小车倾角的大小和角速度的大小,并以此控制车轮的加速度。4 系统硬件设计本控制系统主要由以下几个模块组成:STC12C5A60S2单片机最小系统、电源管理模块、车身姿态感应模块、电机驱动模块、速度检测模块、蓝牙模块,各模块关系图如下所示:主控制器STC12C5A60S2陀螺仪加速度计MPU6050编码器电机驱动芯
22、片TB6612FNG直流电机蓝牙模块加速度角速度图4.1 硬件设计总体框图4.1 STC12C5A60S2单片机介绍本控制系统采用STC12C5A60S2单片机作为控制核心。该单片机是深圳宏晶科技的典型单片机产品,采用了增强型8051内核,片内集成了60KB程序Flash、1KB数据FlashEEPROM、1280字节RAM、2个16位定时/计数器、44根I/O口线、两个全双工异步串行口UART、高速同步通信端口SPI、8通道10位ADC、2通道PWM/可编程计数器阵列/捕获/比较单元PWM/PCA/CCU、MAX810专用复位电路和硬件看门狗等资源。STC12C5A60S2具有在系统可编程I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 平衡 控制系统 设计
限制150内