您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 基于单片机的两轮自平衡车控制系统设计
基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波PID算法DesignofControlSystemofTwo-WheelSelf-BalanceVehiclebasedonMicrocontrollerAbstractTwo-wheelself-balancevehicleisakindofhighlyunstabletwo-wheelrobot.Thecharacteristicoftwo-wheelvehicleisthenatureoftheinstabilityastraditionalinvertedpendulum,andeffectivecontrolmustbeexertedifweneedtomakeitstable.Thispaperpresentsadesignschemeoftwo-wheelself-balancevehicle.WeneedusinggravityaccelerometergyroscopesensorMPU6050fortheinclinationangleofvehicle,andusingcomplementaryfilterforthedatafusionofgyroscopeandaccelerometer.Wechoosean8-bitmicrocontrollernamedSTC12C5A60S2fromSTCCompanyasmaincontrollerofthecontrolsystem.Themaincontrolleroutputcontrolsignal,whichisbasedonthedatafromthesensors,tothemotordrivechipnamedTB6612FNGforcontrollingtwomotorsofvehicle,andkeepingthevehicleinbalance.Afterthecompletionofthecontrolsystem,thevehiclecanachieveautonomousbalanceundertheconditionsofunmannedintervention,thevehiclecanadjustautomaticallyandrestoredtoastablestatequicklyinthecaseofgivingappropriateinterferenceaswell.Inaddition,wecancontrolthevehicleforward,backwardandturnaround.Keywords:Two-WheelSelf-BalanceVehicle;Accelerometer;Gyroscope;Datafusion;Complementaryfilter;PIDalgorithm1绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求。比如,户外移动机器人需要在凹凸不平的地面上行走,有时机器人所需要运行的地方比较狭窄等。如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题。两轮自平衡小车就是在这些的需求下所产生的。这种机器人相对于其他移动机器人的最显着特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务。正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作。两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值。早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念。这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳。本世纪初。美国发明家狄恩·卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行。由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合。自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作。因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面。目前自平衡车的应用如自平衡的代步车正在流行开来。因此两轮自平衡车的研究很有意义。论文的主要内容本论文主要叙述了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程。主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制。整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试。第一章主要讲解了课题的研究背景及意义,国内外研究现状。第二章主要讲解了设计的主要任务与所需的关键技术。第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理。第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计。第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID算法的使用。第六章主要讲解了系统的调试与参数整定。最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述。2课题任务与关键技术主要任务本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能。系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制。系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合。通过编码器获得两轮的速度信息。根据获得的数据信息对速度和倾角进行闭环控制。加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制。关键技术系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计。在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现。数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定。模型的建立主要使用牛顿力学定律。姿态检测两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测。目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测。但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定。控制算法两轮自平衡车所实现的平衡是一种动态的平衡。在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态。传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法。3系统原理分析控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作。相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论。对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动。因此本控制系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制。小车的控制任务可以分解成以下三个基本任务:(1)控制小车直立:通过控制两个电机的转向保持小车的直立状态。(2)控制小车车速:通过控制两个电机的转速实现车速控制。(3)控制小车转向:通过控制两个电机的转速差实现转向控制。以上三个任务都是通过控制小车两个车轮的驱动电机完成的。直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以达到所追求的控制效果。在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:平衡控制速度控制转向控制。由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰。因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰。上述三种控制各自独立进行,它们各自假设其他两个控制都已经达到稳定。比如控制小车加速和减速的时候,平衡控制一直在起作用,它会自动改变小车的倾角,使小车实现加速和减速。控制原理生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立。这需要两个条件:一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势(角加速度)。可以通过手掌的移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这两个条件缺一不可,这就是控制中的负反馈机制。小车的直立也是通过负反馈实现的,但相对于上面的例子来说相对简单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜。控制车轮转动便可抵消倾斜的趋势从而保持车体直立。大脑手掌木棒眼睛控制给定控制算法执行机构控制对象传感器图保持木棍直立的反馈控制系统数学模型二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统。图单摆模型与倒立摆模型通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置。可以得出,单摆保持平衡的条件有两点:(1)受到与位移方向相反的回复力作用;(2)受到和运动速度相反的阻尼力作用。如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时车体垂直,车轮保持静止车体向前倾斜,车轮向前加速行驶车体向后倾斜,车轮向后加速行驶图通过车轮控制车体平衡间最短。倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下。为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反。控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,
本文标题:基于单片机的两轮自平衡车控制系统设计
链接地址:https://www.777doc.com/doc-7770168 .html