基于单片机的两轮自平衡车控制系统设计

合集下载

基于单片机的智能两轮自平衡车的设计

基于单片机的智能两轮自平衡车的设计

TECHNOLLGY APPLICATION基于单片机的智能两轮自平衡车的设计■■沈阳工学院:赵一澎■■唱红■■夏靖坤■何金■刘莹1.■引言如今移动机器人面临的环境和任务越来越繁杂,在这种情况下,就需要移动机器人必须能够适应一些复杂的环境和危险的任务。

因此开展对两轮自平衡小车的研究,这项研究在该领域的科研水平具有很重要的现实意义。

1.1 两轮自平衡小车的研究意义在面临一些复杂环境和艰巨的任务时,移动机器人通常会碰到一些狭隘的危险工作,在面对这样如此艰难的环境,研究者们针对移动机器人如何灵活快捷的执行任务的问题进行了深度的研究。

正是在这样一个背景下两轮自平衡小车的概念被提出来。

两轮自平衡小车的优点在于可以适应复杂的环境和控制任务,可以保持车身的平衡,在安防或者军事上会有更广阔的应用前景。

1.2 两轮自平衡小车的技术1.2.1 数学建模建立系统的模型,建立的重点在于动力学方面,两轮自平衡小车的结构主要由车身和双轮子两部分构成。

对两轮自平衡小车的建模方法,采用经典的力学方法,对小车进行受力分析,可分为车轮模型和车身模型两部分,最后通过对两者的稳定型和能观性的分析判断出系统的最优状态方程。

1.2.2 姿态检测两轮自平衡小车通过检测小车的姿态来对小车进行控制。

加速度计和陀螺仪等惯性传感器可以实时、准确的检测两轮自平衡车的倾角。

因此,采用陀螺仪和加速度两个传感器相结合,通过融合的算法对于两轮自平衡小车来说是实现有效控制的关键所在。

1.2.3 控制算法控制技术是运动控制的核心,两轮自平衡车属于本质不稳定系统,利用传统的PID技术进行可行性分析,传感器将车体的运动速度和倾角等信息传递给系统控制器,是车轮转速与角度值保持一致,系统控制器将最终命令传递给电机驱动器来完成系统的闭环控制。

2.■系统概述两轮自平衡小车的组成很简单,保持小车平衡和运动都是通过控制两个车轮完成的。

在未对系统进行控制时,小车处于静止的状态,此时的车身的状态可能会出现前倾或后倾。

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定;本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合;系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID 算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态;整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态;通过蓝牙,还可以控制小车前进,后退,左右转;关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based onMicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature 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 accelerometergyroscope sensor MPU6050 for the inclination angle of vehicle, and using 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 named 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 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 绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求;比如,户外移动机器人需要在凹凸不平的地面上行走,有时机器人所需要运行的地方比较狭窄等;如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题;两轮自平衡小车就是在这些的需求下所产生的;这种机器人相对于其他移动机器人的最显着特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务;正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作;两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值;早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念;这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳;本世纪初;美国发明家狄恩·卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行;由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合;自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作;因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面;目前自平衡车的应用如自平衡的代步车正在流行开来;因此两轮自平衡车的研究很有意义;论文的主要内容本论文主要叙述了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程;主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制;整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试;第一章主要讲解了课题的研究背景及意义,国内外研究现状;第二章主要讲解了设计的主要任务与所需的关键技术;第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理;第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计;第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID算法的使用;第六章主要讲解了系统的调试与参数整定;最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述;2 课题任务与关键技术主要任务本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能;系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制;系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合;通过编码器获得两轮的速度信息;根据获得的数据信息对速度和倾角进行闭环控制;加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制;关键技术系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计;在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现;数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定;模型的建立主要使用牛顿力学定律;姿态检测两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测;目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测;但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定;控制算法两轮自平衡车所实现的平衡是一种动态的平衡;在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态;传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法;3 系统原理分析控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作;相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论;对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动;因此本控制系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制;小车的控制任务可以分解成以下三个基本任务:(1)控制小车直立:通过控制两个电机的转向保持小车的直立状态;(2)控制小车车速:通过控制两个电机的转速实现车速控制;(3)控制小车转向:通过控制两个电机的转速差实现转向控制;以上三个任务都是通过控制小车两个车轮的驱动电机完成的;直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以达到所追求的控制效果;在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:平衡控制>速度控制>转向控制;由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰;因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰;上述三种控制各自独立进行,它们各自假设其他两个控制都已经达到稳定;比如控制小车加速和减速的时候,平衡控制一直在起作用,它会自动改变小车的倾角,使小车实现加速和减速;控制原理生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立;这需要两个条件:一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势角加速度;可以通过手掌的移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立;这两个条件缺一不可,这就是控制中的负反馈机制;单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜;控制车轮转动便可抵消倾斜的趋势从而保持车体直立;数学模型二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统;图 单摆模型与倒立摆模型通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置;可以得出,单摆保持平衡的条件有两点:(1) 受到与位移方向相反的回复力作用;(2) 受到和运动速度相反的阻尼力作用;如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时间最短;车体垂直,车车体向前倾车体向后倾斜,图 通过车轮控制车体平衡倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下;为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反;控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,与车轮加速度大小相同,方向相反;因此倒立摆所受到的回复力为F =mgsinθ−macosθ 3-1根据控制系统的特性,角θ需要控制在很小的范围内,并且假设控制车轮加速度与角θ成正比,比例系数为k 1,因此上式可近似处理为F =mgθ−mk 1θ 3-2此时,只要k 1>g ,回复力的方向便和位移方向相反,此时小车可以恢复到平衡位置;为使小车能在平衡位置尽快的稳定下来,还需要有阻尼力,阻尼力与角速度方向相反,大小成正比;式3-2可变为 F =mgθ−mk 1θ−mk 2θ′ 图 小车受力分析mgsinθ−macosθmgθ m3-3式中,k1,k2均为比例系数,θ为小车倾角,θ′为角速度;只要满足k1>g,k2>0,便可以将小车维持在直立状态;k2是小车回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证小车可以尽快稳定在垂直位置;因此为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度;4 系统硬件设计本控制系统主要由以下几个模块组成:STC12C5A60S2单片机最小系统、电源管理模块、车身姿态感应模块、电机驱动模块、速度检测模块、蓝牙模块,各模块关系图如下所示:图硬件设计总体框图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具有在系统可编程ISP功能和在系统调试ISD功能,可以省去价格较高的专门编程器,开发环境的搭建非常容易,并且该单片机所有指令和标准的8051内核完全兼容,具有良好的兼容性和很强的数据处理能力;STC12C5A60S2系列单片机的内部结构框图如下所示,该单片机中包含中央处理器CPU、程序存储器Flash、数据存储器SRAM、定时/计数器、UART 串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块;STC12C5A60S2单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统;图 STC12C5A60S2系列内部结构框图图单片机最小系统电源管理模块电源管理模块为整个硬件电路提供所需的电源,其稳定性是整个硬件电路可靠运行的基础;为了减少各个模块之间的相互干扰,电源模块由若干相互独立的稳压电路模块组成;整个系统由三节的18650锂电池串联供电;选择LM2596S作为稳压芯片,整个系统的供电模块如下图所示;图系统供电模块示意图LM2596S开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性;该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件;该器件还有其他一些特点:在特定的输入电压和输出载荷的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80uA的待机电流;可实现外部断电;具有自我保护电路;该器件完全可以满足系统需要;稳压电路原理图如下图所示;图稳压电路原理图车身姿态感应模块在第三章原理分析中可知,为了控制小车稳定,需要精确的测量小车倾角θ的大小和角速度θ′的大小,并以此控制车轮的加速度,以此消除小车的倾角;因此小车倾角以及倾角的角速度的测量成为了控制小车直立的关键;测量小车倾角和角速度可以通过加速度传感器和陀螺仪实现;本控制系统的设计使用了整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时的轴间差的问题,减少了大量的封装空间;MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,和所有设备寄存器之间的通信采用400kHz 的I2C 接口;为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪的可测范围为±250,±500,±1000,±2000°/秒dps,加速度计可测范围为±2,±4,±8,±16g;量程越大,测量精度越低;MPU6050实物及坐标轴示意图如下图所示;加速度计MPU6050的加速度计部分可以测量出各轴方向上的加速度,并经过AD 转换后可输出数字信号;加速度检测的基本原理如下图所示;++++X++X图 MPU6050实物图与对应坐标轴示意图 加速度检测的基本原理通过微机械加工技术在硅片上加工形成了一个机械悬臂;它与相邻的电极形成了两个电容;由于加速度使得机械悬臂与两个电极之间的距离发生了变化,从而改变了两个电容的参数;通过集成的开关电容放大电路测量电容参数的变化,形成了与加速度成正比的电压输出;只需要测量出一个轴上的加速度,便可计算出小车的倾角;如下图所示,设小车前进方向是小车直立时MPU6050的Y 轴正向;当小车前倾时,小车重心在Y 轴上所受的力便是重力在Y 轴上的分力,为mgsinθ,因此MPU6050在Y 轴上所获得的加速度为 gsinθ;似乎只需要获得加速度数据就可以获得小车的倾角,但在实际小车的运行过程中,由于小车本身的运动所产生的加速度会产生很大的干扰信号叠加在上述测量信号上,使得输出信号无法准确的反映小车的倾角,如下图所示;小车运动所产生的振动加速度使得输出电压在实际倾角电压附近波动,可以使用低通滤波将其过滤,但也会使得信号无法实时反映小车的倾角变化,从而影响对小车的控制,使得小车无法保持平衡;图 小车受力分析图 加速度计信号波动陀螺仪陀螺仪可以用来测量物体的旋转角速度,它利用了旋转坐标系中的物体会受到克里利奥力的原理,在器件中利用压电陶瓷做成振动单元;当器件旋转时会改变振动频率从而反映出物体旋转的角速度;将MPU6050安装在小车上时,可以测量出小车倾斜的角速度,将角速度信号进行积分便可得到小车的倾角;如下图所示;由于陀螺仪输出的是车模的角速度,不会受到车体振动的影响,因此该信号中的噪声很小,小车的倾角数据又是由所测角速度积分得来,进一步使信号变得平滑,从而使得角度信号更加稳定;但是在实际情况中,测量所得的角速度信号存在微小的误差,经过积分运算之后,会形成累计误差,并会随着时间的延长逐步增加,最终导致电路饱和,无法形成正确的角度信号;如下图所示;测t图 小车的角速度和角图 角度积分漂如上所述,加速度计对加速度很敏感,所获得的数据会由于小车的运动产生高频噪声;而陀螺仪所测得的数据受到车体振动影响很少,但是随着时间延长,容易存在积分漂移;因此可以使用互补滤波,使得这两个传感器正好能弥补相互的缺点;简而言之,互补滤波就是在短时间内采用陀螺仪得到的角度作为最优,定时对加速度转化而来的角度进行取平均值处理来校正陀螺仪所得到的角度;具体实现方法如下图所示;利用加速度计所获得的角度信息θg 与陀螺仪积分后的角度θ进行比较,将比较的误差信号经过比例T g 放大之后与陀螺仪输出的角速度信号叠加之后再进行积分;从上图的框图可以看出,对于加速度计给定的角度θg ,经过比例、积分环节之后产生的角度θ必然最终等于θg ;由于加速度计获得的角度信息不会存在积累误差,所以最终将输出角度θ中的积累误差消除了;加速度计所产生的角度信息θg 中会叠加很强的噪声信号;为了避免该噪声信号对于角度θ的影响,比例系数T g 应该非常小;这样,加速度的噪声图 互补滤波原理框图信号经过比例、积分后,在输出角度信息中就会变得很小;由于存在积分环节,所以无论T g多小,最终输出角度θ必然与加速度计测量的角度θg相等,但是这个调节过程会随着T g的减小而延长;为了避免输出角度θ跟着θg过长,可以采取以下两个方面的措施:(1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于设定值,并且稳定;(2)在控制电路和程序运行的开始,尽量保持小车处于直立状态,这样一开始就使得输出角度θ和θg相等;此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差;电机驱动模块本控制系统采用了TB6612FNG作为直流电机驱动器件,该器件具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件;TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机;该器件每通道输出最高的连续驱动电流,启动峰值电流达2A/连续脉冲/单脉冲;4种电机控制模式:正转/反转/制动/停止;PWM支持频率高达100kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:-20~85℃;SSOP24小型贴片封装;如上图所示,TB6612FNG 的主要引脚功能:AIN1/AIN2、BIN1/BIN2、PWMA/PWMB 为控制信号输入端;AO1/AO2、BO1/BO2为2路电机控制输出端;STBY 为正常工作/待机状态控制引脚;VM~15V 和VCC~分别为电机驱动电压输入和逻辑电平输入端;TB6612FNG 是基于MOSFET 的H 桥集成电路,其效率高于晶体管H 桥驱动器,并且外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸;对于PWM 信号,它支持高达100kHz 的频率;TB6612FNG 在本控制系统中的电路连接如下图所示;如上图所示,AIN1/AIN2,BIN1/BIN2以及STBY 连接直单片机的普通I/O 口,STBY 控制器件的工作状态,AIN1/AIN2和BIN1/BIN2的输入决定电机的正反转;单片机的PCA 模块产生PWM 输出作为电机转速的控制手段,连接至TB6612FNG 的PWMA/PWMB;电路采用耐压值25V 的10uF 电解电容和的电容进行电源滤波,使用功率MOSFET 对VM 和VCC 提供电源反接保护;TB6612FNG 图 TB6612FNG 芯片功能示意图图 TB6612FNG 电路连接示意图的逻辑真值表如下图所示;表1 TB6612FNG逻辑真值表输入输出H H H/L H L L制动L H H H L H反转L H L H L L制动H L H H H L正转H L L H L L制动L L H H OFF停止H/L H/L H/L L OFF待机速度检测模块本系统采用安华高公司的L15D11型光电编码器作为车速检测元件,其精度达到车轮每旋转一周,旋转编码器产生448个脉冲,可满足控制精度的要求;图光电编码器由于光电管器件直接输出数字脉冲信号,因此可以直接将这些脉冲信号连接到单片机的计数器或外部中断端口;编码器每个光电管输出两个脉冲信号,它们波形相同,相位相差90°;如果电机正转,第二个脉冲落后90°;如果电机反转,第二个脉冲超前90°;可以通过这个关系判断电机是否正反转,但是在实际电路中,只检测一路脉冲信号,通过该信号得到电机。

自平衡车的控制系统设计

自平衡车的控制系统设计

• 156•本文主要是对两轮自平衡车进行设计,以STC89C52单片机作为主控制器,用MPU6050姿态传感器来对两轮小车当前的状态进行检测操作,利用电机驱动对小车轮子进行控制,整体上实现小车的平衡状态。

Kalman 滤波对现场采集的数据进行实时的更新和处理,同时系统可以通过编码电路进行速度检测,以控制平衡小车的行驶方向。

现如今,随着社会经济的发展以及人们物质生活水平的提高,汽车等交通工具的出现在一定意义上满足了人们的现代化需求,带来了一定程度上的便利,但是也带来了一定的问题,例如:体积较大、在大城市中的停车问题、效能使用率较低,一旦发生交通拥堵还会带来一定的安全隐患。

所以为了满足不同环境内的需求,即使是在狭小的空间范围内也可以正常使用,自平衡小车的设计应运而生。

自平衡小车整体控制较为灵活,能够大大减少能源的消耗,整体运行操作简单,同时符合绿色环保的理念,在实际应用中可以作为人们短距离内的代步工具。

自平衡小车的设计推广不仅便利了人们的日常出行,同时激发了人们的外出运动的兴趣,在一定程度上锻炼了人们的身体素质,有益身心健康。

所以针对自平衡小车的进一步研究具有较强的现实推广意义。

1 系统设计及原理分析1.1 控制要求分析小车保持平衡和自然界中各种物体保持平衡的原理是一样的,那就是在一个相对平衡的状态下,哪个方向有变化的趋势,就向那个方向加一个相反方向的力,来推动物体保持平衡。

而对于自然界中的倾斜问题,往往采取的是物体向哪倾斜,就在那个方向上施加一个力,使它向倾斜的方向产生一个加速度,这样物体就保持平衡了。

例如美国人发明的运货的机器马,用力推它,它只会向你推它的方向运动,以此来保持平衡,这是一种负反馈的调节方式。

小车运动过程中保持平衡就是采用的负反馈控制,小车是靠两个轮子保持平衡的。

因此小车在出现倾斜时,平衡检测系统就会检测到小车的倾斜数据,然后调节小车两个轮子的速度来使其恢复之前的平衡状态。

1.2 小车数学模型控制小车的稳定运行,使小车始终保持平稳,需要对小车的模型进行受力分析,来找出使小车达到平衡最好的方法。

基于STM32的两轮自平衡小车控制系统设计

基于STM32的两轮自平衡小车控制系统设计

基于STM32的两轮自平衡小车控制系统设计本文主要对两轮自平衡小车的姿态检测算法、PID控制算法两方面进行展开研究。

用加速度传感器和陀螺仪传感器融合而成的姿态传感系统与互补滤波器组合得到自平衡小车准确而稳定的姿态信息,然后PID调节器则利用这些姿态信息输出电机控制信号,控制电机的转动,从而使小车得以平衡。

标签:STM32;自平衡小车;控制系统;控制算法1 研究意义应用意义:两轮平衡车是一种新型的交通工具,它与电动自行车和摩托车车轮前后排列方式不同,而是采用两轮并排固定的方式,就像一种两轮平行的机器人一样。

两轮自平衡控制系统是一种两轮左右平行布置的,像传统的倒立摆一样,本身是一个自然不稳定体,必须施加强有力的控制手段才能使之稳定。

两轮平衡车具有运动灵活、智能控制、操作简单、节省能源、绿色环保、转弯半径为0等优点。

因此它适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。

具有很大的市场和应用前景。

理论研究意义:车体状态运算主要是将各传感器测量的数据加以融合得出车体倾斜角度值、倾斜角速度值以及行车速度等。

平衡控制运算根据车体状态数据,计算保持平衡需要的行车速度和加速度,或者转弯所需要的左右电机速度变化值,向电机控制驱动模块发送控制指令。

运算模块相当于两轮自平衡电动车的大脑,它主要负责的工作是:控制电机的起停,向控制模块发出加速、减速、电机正反转和制动等速度控制信号,接收电机Hall信号进行车速度计算,并通过RS 一232串口向PC发送车速数据以供存储和分析。

另外,还负责接收车体平衡姿态数据,进行自平衡运算。

现有的自平衡车结构种类繁多,但车体都归根于由三层的基本结构组成,从上到下依次是电池层、主控层、电机驱动层。

电池层用于放置给整个系统供电的6V锂电池,主控层由主控芯片系统和传感器模块组成,电机驱动层接受单片机信号,并控制电机。

基于STM32F103C8T6的两轮自平衡车系统设计

基于STM32F103C8T6的两轮自平衡车系统设计

文章编号:1007-757X(2021)01-0010-03基于STM32F103C8T6的两轮自平衡车系统设计聂茹(华南理工大学广州学院电子信息工程学院,广东广州510800)摘要:在STM32F103C8T6微控制器芯片基础上,提出了两轮自平衡车系统的一种设计方案。

系统方案包括STM32F103C8T6微控制器电路设计、车体姿态传感器MPU6050检测电路设计、电机驱动电路设计、以PID控制器为核心的软件设计。

经过测试,两轮自平衡车系统样机能够保持车体自我平衡并简单的直立行走,验证了硬件设计和软件设计的有效性和可靠性。

关键词:MPU6050;STM32;PID控制器;自平衡车中图分类号:TP212.9文献标志码:ADesign of Two-wheel Self-balancing Vehicle System Based on STM32F103C8T6NIE Ru(School of Electronic Information Engineering,Guangzhou College of SouthChina University of Technology,Guangzhou510800,China)Abstract:On the basis of STM32F103C8T6microcontroller chip,this paper presents a design scheme of two-wheel self-balan­cing vehicle system.The system scheme includesthe circuit design of STM32F103C8T6microcontroller,the detection circuit design of vehicle body attitude sensor MPU6050,the circuit design of motor drive,software design with PID controller as the core.After test,two-wheel self-balancing vehicle system prototype can maintain the self-balance of the car body and simply walk upright,which verifies the effectiveness and reliability of hardware design and software design.Key words:MPU6050;STM32;PID controller;self-balanced vehicle0引言当今社会,生活向着智能化、便捷化发展,两轮平衡车顺应时代潮流,成为适合多种场合使用的代步工具。

基于51单片机的双轮平衡车设计方案

基于51单片机的双轮平衡车设计方案

摘要本设计采用两块Cygnal公司推出的C8051F005单片机分别作为“双轮直立自平衡机器人”(以下命名为Sway)和人机交互上位机的控制核心。

车体倾斜角度检测采用AD公司推出的双轴加速度传感器ADXL202及反射式红外线距离传感器。

利用PWM技术动态控制两台直流电机的转速。

上位机与机器人间的数据通信采用迅通生产的PTR2000超小型超低功耗高速无线收发数传MODEM。

人机交互界面采用240*128图形液晶点阵、方向摇杆及按键。

基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了Sway的平衡控制与数据交换。

本设计的主要特色:1.高速(25MIPS)低功耗的SOC单片机为各种复杂算法的实现提供了保障,丰富的片内外设为高速数据采集及PWM调制信号的生成提供了方便,片内温度传感器方便对温度的采集。

片内JTAG功能为程序的调试及对系统的现场编程提供了方便。

2.高效的H型PWM电路提高了电源的利用率,实现了电机的平滑变速。

3.双轴加速度传感器及光电传感器的使用提高了车体倾斜角度检测的精度,差分算法的应用提高了系统的抗干扰能力。

4.优化的软件算法,智能化的自动控制使车体运动准确平稳。

5.高速的无线数据传输给各种远程数据采集和智能控制提供了保障。

6.大屏幕液晶(蓝屏)显示及360度方向摇杆为人机交互提供了良好的界面。

一、硬件方案的选择与论证根据设计要求,系统可以划分为几个基本模块,如下图所示。

对各模块的实现,分别有以下一些不同的设计方案。

车体系统模块组成无线控制上位机模块组成1、MCU主控制器方案一:采用89S52单片机作为主控制器。

优点:价格低廉,程序资源丰富,技术比较成熟。

缺点:运算速度慢,很难担任复杂算法的计算工作;程序储存空间小,不能储存大规模程序代码;数字外设少,片内没有模数转换器,不能直接进行数据采集。

方案二:采用PHILIPS公司出品的LPC2119ARM7内核处理器。

优点:处理速度快(指令速度可达60MIPS),可以担任大部分复杂算法的计算工作;片内外设非常丰富,可以进行实时数据采集,多种数据通信方式可供选择。

基于MC9S12XS128的双轮平衡车控制系统设计毕业设计

基于MC9S12XS128的双轮平衡车控制系统设计毕业设计

基于MC9S12XS128的双轮平衡车控制系统设计[摘要]本文主要介绍了双轮平衡车的控制系统设计方案。

采用MC9S12XS128作为核心控制器,在此基础上增加了各种接口电路板组成整个硬件系统,包括单片机最小系统,直流驱动电机控制模块,电源管理模块,测速编码模块,人机交互等模块。

软件调试部分依次对应硬件各模块进行程序设计,包括A/D模块,PWM模块,ECT模块,PID控制算法,人机交互控制等。

完成车模的制作和软件设计后对整个控制系统进行调试,先阐述了调试的策略,再分别就现有调试工具条件下的软件和硬件调试进行了分析,对相应的调试方法做了基本的介绍。

最后根据调试情况对整个系统做了修改,基本达到设计要求。

[关键词]双轮平衡车;MC9S12XS128;模块设计;调试策略Based On MC9S12XS128 of the Two-wheeled BalancingVehicle Control System DesignElectrical Engineering and Automation Specialty CHEN MingAbstract: This article mainly introduces the balance of the Two-wheeled balancing vehicle control system design scheme. The MC9S12XS128 as core controller, on the basis of interface circuit board of increasing the hardware system, including single chip minimize system, dc motor control module, power management module, code modules speed, man-machine interaction module. Software debugging session in the corresponding module design program, including A/D module, PWM module, ECT module, PID control algorithm, the man-machine interactive control, etc. Accomplish the production and the software design draw after the whole control system for debugging, first expounds the commissioning of the strategy, second,different debugging tools under the conditions of existing software and hardware debugging are analyzed, the corresponding debugging method basic introduction. According to the situation of the whole system debugging have modified, basic to meet the design requirements.Key words: the Two-wheeled balancing vehicle; MC9S12XS128; MODULAR DESIGN ; Debugging strategy目录1 引言 (1)1.1 双轮自平衡小车的研究意义 (1)1.2 双轮自平衡小车的发展历程和现状 (1)1.2.1国外的研究成果 (2)1.2.2国内的研究成果 (2)1.3 本课题的研究内容和关键问题 (2)2 双轮平衡小车系统的总体概述 (3)2.1 系统组成 (3)2.2 系统各模块的主要功能 (3)2.3 系统的主要特点 (4)3 双轮平衡小车硬件电路设计 (4)3.1 整体电路设计 (4)3.2 单片机最小系统 (5)3.3 直流驱动电机控制电路 (6)3.4 电源模块电路设计 (6)3.5 测速编码电路设计 (7)3.5.1 陀螺仪电路 (8)3.5.2 编码器电路 (8)3.6 人机交互接口电路设计 (9)3.6.1CAN总线与LIN总线设计 (9)3.6.2通信接口设计 (10)3.6.3人机交互电路设计 (10)4 双轮平衡小车软件设计 (11)4.1 软件模块功能与框架 (11)4.1 A/D模块 (12)4.1.1A/D转换原理 (12)4.1.2A/D转换模块功能结构 (12)4.1.3A/D转换模块的编程步骤 (13)4.2 PWM模块 (13)4.2.1PWM的主要特点 (13)4.2.2PWM应用及初始化 (14)4.3 ECT模块 (14)4.4 PID控制算法 (15)4.4.1PID控制原理 (15)4.4.2 PID参数的整定 (16)4.5 人机交互 (16)4.5.1 LCD液晶显示 (16)4.5.2 矩阵键盘按键识别 (17)4.5.3 串口与上位机的通讯 (17)5 双轮平衡小车的系统调试 (18)5.1 调试策略 (18)5.1.1硬件调试 (18)5.1.2软件调试 (18)5.1.3综合调试 (18)5.2 串口调试 (18)5.2 监控调试 (20)5.3 无线调试 (21)5.3.1无限遥控开关 (21)5.3.2无线通信模块 (21)6 结论 (23)参考文献 (24)附录1:单片机最小系统原理图 (25)附录2:单片机最小系统电路图 (26)附录3:单片机最小系统PCB图 (26)致谢 (27)1 引言本章简要的介绍了两轮自平衡小车的起源与发展、研究意义以及国内外的研究现状,并依此提出了本论文研究的主要内容。

基于单片机的两轮自动平衡小车设计

基于单片机的两轮自动平衡小车设计
15 senseB 8 GND

6 11 enableA
enableA
vVcCcC6I l 4. V Vs s s
D D8 D。 Dl{1
VCC 6

o UT C 0 U TC 0 U TB 0 U T
.......LI
in4007

L298N
VC C6

D2 D3 D |D
参 考 文
P13 一
5K
P23
D6
5 IN 1 0 U T1 2
P22
7 IN 2 0 U T2 3
P21
10 1N 3 o U T3 13
P20 只2



12 IN 4 o U T4 14
1 senseA
应用技一
是将 控制 直立 和方 向 的控制 信号 叠加 在一起 加 载 电 机上 .只要 电机处 于线 性状 态就 可 以同 时完成 上面 两个 任务 。速 度是 通过 调节 车模倾 角 来完 成 的 ,不 同的倾角 会 引起小 车 的加减 速 。从 而达 到对 于速度 的控制。两轮 自平衡小车的系统方程式如下 :
图 3 陀 螺 仪 电 路接 口图
3.2 加速度传感器 电路设计 MMA736 1是三 轴小 量程 的加速 传感 器 ,用 于检
测 物件 运 动 和方 向 .它 根 据 物件 运 动 和方 向改变 输 出信号 的电压值 。三轴 的信号在不运动或不被重力 作用的状态下 ,其输 出电压为 1.65 V。如果 沿着某 一 个方 向活 动 ,或 者受 到 重力 作 用 ,输 出 电压就 会 根 据其 运 动方 向 以及 设 定 的传 感 器 灵敏 度 而 输 出相 应的电压值 。采用单片机的片内 A/D转换器就可 以 检 测其 运 动 方 向 。但 是 小 车 运动 所 产 生 的加 速度 会 产生很大的干扰信号叠加在上述测量信号上 ,使得 输 出信号无法准确反映车模的倾角 ,因此 ,采用加 角速度传感 器和陀螺可使小车的直立控制取得 良好 的效果 (见 第 92页 图 4)。 3.3 电机驱 动 电路 的设计

基于KEAZ128单片机的自平衡车设计

基于KEAZ128单片机的自平衡车设计

• 110•本文设计了一种基于PID控制的自平衡车调速系统,该系统的核心控制单元采用逐飞科技提供的KEAZ128单片机,通过HIP4082驱动电机转动,MPU6050传感器获取角度和角速度。

通过大量实验证明,该系统可以较好地满足自平衡车在直立过程中对角度和角速度的快速响应以及对稳态误差的要求,使系统具备了较好的动态性能。

1.引言随着近代科学技术的迅速发展,两轮自平衡车的应用在日常生活中越来越广泛。

智能车系统是一种以汽车电子为背景,包含传感器数据采集、运动状态解算、运动控制、机械调校等多方面的科技性设计。

它主要由路径识别、角度转换和车速控制等多个模块组成(孙浩,程磊,黄卫华,程宇,基于HCS12的小车智能控制系统设计:单片机与嵌入式系统应用,2007)。

为了深入探究它的工作原理,本文制作了它的模型,并进行了一定的研究,解决了欠驱动、抗干扰的难题,初步实现了直立行走的功能。

本次设计选用由S9KEAZ128AMLK 单片机主板电路、MOS 管双驱电路集成的一体板为核心板块,MPU6050作为姿态传感器。

利用清华滤波算法对MPU6050获取的数据进行融合,采用经典PID 控制方案对自平衡车的直立姿态进行调校。

通过蓝牙、串口和上位机对数据进行观测,设计出了具有较好抗干扰能力的自平衡车,为后续平衡车的应用奠定了基础。

2.硬件模块自平衡车的系统设计应该考虑到车辆整体的对称性和可拓展性。

该系统的硬件机械结构主要由电源模块、微控制器模块、传感器模块、驱动电路模块和无线收发模块组成。

主要涉及到以下几个方面:2.1 电源管理两轮自平衡车总电源由7.2V ,2200mAH 的镍镉电池提供,为自平衡车提供强大动力。

由于该系统工作过程中各功能模块所需电压不同,所以本文采用稳压电路进行分压处理。

如图2.1所示。

图2.1 系统电压分配图2.2 主控板电路部分本文采用KEAZ128单片机,KEA 单片机为汽车级单片机,其工作电压为2.7V-5.5V ,使用AMS1117给芯片供电。

基于STM32单片机红外遥控两轮自平衡小车的设计

基于STM32单片机红外遥控两轮自平衡小车的设计
本设计使用过的电机驱动包括4路PWM输入、5V输入、7.4V电源输入、两路电 机输出和一个电源指示灯。控制引脚具体解释:
GND1:5V电源地;
EN:5V使能引脚(5V工作,0V关闭,禁止悬空);
PWM1:控制电机1的转速;
DR1:控制电机1的转向;
PWM2:控制电机2的转速;
DR2:控制电机2的转向;
系统的整体设计框图如图2-2所示:
图2-2系统整体框图
3
3.1
STM32F1系列屈于中低端的32位ARM微控制器,其内核是Cortex-M3㈡。
STM32F103是一款常用的中等容量增强型、低功耗、32位基于ARM核心的带64K或128K字节闪存的微控制器,拥有USB、CAN、7个定时器(3个16位定时器、1个16位带死区控制和紧急刹车、2个看门狗定时器、系统时间定时器:24位自减型计数器)、2个ADC、9个通信接口(2个I2C接口、3个USART接口、2个SPI接口、CAN接 口USB 2.0全速接口)等众多资源。这款芯片运行时的最高频率可达到72MHz,其供 电电压为2.0V至3.6V,拥有64K或128K字节的闪存程序存储器,带有4个片选的静 态存储器控制器15o该芯片还具有看门狗定时器,系统时间定时器,低功耗空闲和CRC计算单元,使得STM32F103芯片在众多嵌入式控制应用系统提供高灵活、超有效的解 决方案。
2.3
程序是系统稳定运行的大脑神经,如果一个单片机控制系统没有可以用來控制的 程序,那么再好的电路也是没有实际意义的。
程序的编写过程中需要注意以下儿点:
1、程序的编写一定要按照预先搭建好的电路进行,操作一定要针对与被操作的对 象。
2、程序的编写应该做到以尽量少的编程语言去实现更复杂的控制内容,只有这样, 编写的程序才能够简洁完整。

基于飞思卡尔单片机的两轮车控制系统设计

基于飞思卡尔单片机的两轮车控制系统设计

基于飞思卡尔单片机的两轮车控制系统设计
1.前言
本文以飞思卡尔的小车模型为对象,设计了以飞思卡尔单片机
MC9S12XS128 为核心,自主循迹的两轮车自平衡控制系统。

实验证明该方案在摄像头导航的两轮车系统中具有准确、快速、稳定的自主寻迹效果。

2.系统设计与原理
本系统以飞思卡尔公司生产的MC9S12XS128 单片机为控制核心,主要由电源管理模块、路径检测模块、车速检测块、加速度检测模块、角速度检测模块、直流电机驱动模块、液晶显示模块、串口调试等功能模块构成。

在电源管理模块为系统提供稳定电源的基础上,单片机把加速度和角速度检测模块获得的小车姿态信息、路径信息检测模块获得的小车前进方向信息、车速检测模块返回的车速信息通过PID 算法控制直流电机驱动模块,以使得小车在保持直立的前提下快速地行驶。

液晶显示模块可以实时地显示系统相关参数,串口调试模块把接收到单片机的数据送往上位机,方便相关参数及波形的实时观察和调试。

系统框图如图1 所示。

3.系统硬件设计
3.1 主控制器模块
本系统的主控制器是飞思卡尔公司生产的16 位MC9S12XS128 单片机,它负责对智能车所采集到的信号进行处理并向各个功能模块发送控制信号。

MC9S12XS128 单片机最高总线频率可达40MHz,片内资源包括8KRAM、8K。

基于STM32单片机的双轮小车近静态动平衡控制统

基于STM32单片机的双轮小车近静态动平衡控制统

摘要本文介绍以STM32F103RCT6单片机为核心的智能自平衡小车技术的研究,本系统分为单片机最小系统,PID自动反馈调节,驱动控制电路。

通过MPU-6050传感器采集到姿态感知信号传给STM32F103RCT6单片机,经单片机PID反馈调节,发出命令控制驱动模块L298N,驱动2台直流电动机进行相应的动作,最终使得小车能够平稳站立。

为了提高平衡效果,本文引入了卡尔曼滤波器,在调试中应注意初始角度的矫正和PID的参数调节。

本设计现能实现小车在正负2度内平衡,时超超过4S,在小车的控制方面还有待改进。

关键词:STM32F103RCT6单片机姿态检测卡尔曼滤波 PID控制电机驱动AbstractIn this paper, we introduce STM32F103RCT6 single-chip microcomputer as the core of intelligent since the balance of the car technology research, this system is divided into single chip microcomputer minimum system, PID automatic feedback adjustment, the drive control circuit. By MPU - 6050 sensor collected posture perception to STM32F103RCT6 MCU signals, the microcontroller PID feedback control, a command control L298N drive module, drive two dc motor for the corresponding action, eventually making the car can stand steadily.In order to improve the effect of equilibrium, this paper introduced the Calman filter, in needing attention in debugging the parameters initial angle correction and PID regulation. This design is to achieve car in the positive and negative balance within 2 degrees, super than 4S, in control of the car has to require improvement.KeyWord: STM32F103RCT6 single-chip microcomputer Posture perception Kalman filter PID controller motor drive目录中英文摘要 (I)1 引言 (1)1.1 选题背景及实际意义 (1)2 整体方案设计 (1)2.1系统整体设计 (1)2.2姿态检测模块选型方案比较 (2)2.3项目设计要求 (2)2.4平衡小车的总体框图 (2)3 各单元模块的硬件设计 (3)3.1 STM32F103RCT6单片机系统 (3)3.2 稳压模块选型 (3)3.3 姿态检测模块 (4)3.3.1加速度计模块 (5)3.3.2陀螺仪模块 (7)3.4 电机驱动模块选型 (7)3.5电机选型 (8)3.6 电路接线表 (9)3.6.1电源接口解析 (9)3.6.2器件I/O口连接表 (9)4 理论分析与计算 (10)4.1 自平衡小车数学模型 (10)4.2 PID控制器设计 (11)4.2.1 PID控制器原理 (11)4.2.2 PID控制器设计 (11)4.3基于卡尔曼滤波的数据融合 (12)4.4 本章小结 (14)5 系统软件设计 (15)5.1软件系统总体结构 (15)5.2单片机初始化软件设计 (15)5.3姿态检测系统调试 (15)5.3.1角度矫正 (15)5.3.2卡尔曼滤波调试 (16)5.3.3控制系统PID参数整定 (18)6 系统测试 (19)6.1 平衡度测试 (19)6.2站立时间测试 (20)7 器件清单 (20)7.1元器件清单 (20)7.2平衡小车实物图 (21)8 总结与展望 (21)8.1 总结 (21)8.2 展望 (22)参考文献 (22)附录 (i)致谢 (vii)1 引言两轮自平衡小车是一种特殊轮式移动机器人,其动力学系统具有多变量、非线性、强耦合、参数不确定等特性。

基于单片机的两轮自动平衡小车设计

基于单片机的两轮自动平衡小车设计

P14
X1
PH4
VCC 3
3 硬件电路设计 3.1 角速度传感器-陀螺仪设计
角速度传感器 EN-03 具有体积小尧 重量轻尧 低功耗等特点遥 它应用了旋转坐标系中的物体会受 克里利奥力的原理袁 在器件中应用压电陶瓷做成振 动单元袁 输出一个与角速度成正比的模拟电压值遥 在车模上安装陀螺仪袁 可以测量车模倾斜的角速
度袁 将角速度信号进行积分便可以得到车模的倾角 渊见图 3冤遥
两轮自平衡小车采用倒立摆的平衡控制原理自 主保持车体动态平衡袁 两个后轮平行共轴放置袁 且 各由一个直流减速电机单独驱动曰 工作时需通过获 取倾角和电机的速度运行袁 从而完成前进尧 后退和 转弯等功能遥 其系统具有非线性尧 强耦合尧 不稳定 系统等特点[1]遥 文献[2]研究了一种基于 MMA7260 两轮自平衡小车控制系统设计曰 文献[3]提出了基 于单片机控制的小车在跷跷板上的平衡系统设计曰 文献[4-5]对两轮自平衡小车的建模和控制进行了 研究曰 文献[6]研究了一种两轮自平衡机器人运动 控制遥 本文通过 MMA7361 加速度传感器尧 EN-03 陀螺仪感知的小车运动状态袁 并将实时数据通过单 片机片内 10 位 A/D 进行数据处理袁 单片机根据角 度传感器传来的数据判断小车的状态袁 采用 PI 控 制算法袁 输出 PWM 驱动 L298 芯片控制电机正反 转和速度袁 使车体保持平衡运动遥 1 两轮自平衡小车的设计方案
Copyright©博看网 . All Rights Reserved.
术 Applied Technology 应 用 技
是将控制直立和方向的控制信号叠加在一起加载电
机上袁 只要电机处于线性状态就可以同时完成上面
两个任务遥 速度是通过调节车模倾角来完成的袁 不

基于单片机的两轮自动平衡小车系统的设计

基于单片机的两轮自动平衡小车系统的设计

第30卷第12期2020年12月长春大学学报JOURNAL OF CHANGCHUN UNIVERSITYVol.30No.12Dec.2020基于单片机的两轮自动平衡小车系统的设计杜丽敏,王岩(长春大学电子信息工程学院,长春130022)摘要:通过对倒立摆模型的受力分析,使两轮小车保持自平衡运行状态。

硬件上采用STM32F103ZET6单片机为核心控制器,利用MPU6050检测小车的速度和加速度,选择L298N驱动两个两相直流电机,采用霍尔测速码盘获得电机的转速,通过电磁检测电路实现电磁轨迹跟踪。

软件上采用PI和PD构成串级控制算法,MPU6050采集到的小车姿态数据经卡尔曼滤波进行数据处理。

最终实现了平衡车的稳定控制,完成了小车直立和行走功能。

关键词:两轮自动平衡小车;STM32F103ZET6;MPU6050;串级控制器;卡尔曼滤波中图分类号:TP273文献标志码:A文章编号:1009-3907(2020)12-0019-06两轮自动平衡车凭借其运动灵活、体积小巧、经济环保等优点逐渐被人们喜欢,并且在人们的生产生活中起着越来越重要的作用。

两轮自动平衡小车采用倒立摆工作原理,使小车保持平衡状态,其系统具有非线性、强耦合、不稳定等特点⑴。

因此,两轮自平衡车不仅在市场中有很大的价值和前景,在验证或校验控制算法和控制理论上更有一个很好的实验平台[2]。

文献[3-4]设计了基于LQR的最优控制器,该控制算法具有较快的动态响应速度,对于干扰具有良好的鲁棒性;文献[5]针对和LQR两种控制方法进行了对比分析,证明了前者在欠驱动系统的控制中具有一定的参考价值;文献[6]针对两轮平衡小车给出了硬件设计方案,以及基于PID的控制算法,实验中验证了设计方案的可行性。

本文主要研究了PID控制算法在两轮自动平衡小车中的应用。

首先,构建以STM32F103ZET6单片机为核心的两轮直立小车控制系统;其次,对两轮自动平衡小车进行了数学建模,验证了PD控制算法可以使小车保持直立稳定状态,进而基于PID设计了串级控制算法;最后将所设计的控制算法应用在了实物中,实现了小车的直立和行走功能。

毕业设计任务书-(基于单片机的两轮平衡车控制系统设计)

毕业设计任务书-(基于单片机的两轮平衡车控制系统设计)

任务书填写要求
1.毕业设计任务书由指导教师根据各课题的具体情况填写,经学生所在学院的负责人审查、负责人签字后生效。

此任务书应在毕业设计开始前一周内填好并发给学生;
2.任务书内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,不得随便涂改或潦草书写,禁止打印在其它纸上后剪贴;
3.任务书内填写的内容,必须和学生毕业设计完成的情况相一致,若有变更,应当经过所在专业及学院领导审批后方可重新填写;
4.任务书内有关“学院”、“专业”等名称的填写,应写中文全称,不能写数字代码。

学生的“学号”要写全号(如020*******,为10位数),不能只写最后2位或1位数字;
5.有关年月日等日期的填写,应当按照国标GB/T 7408—94《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。

如“2004年3月15日”或“2004-03-15”。

毕业设计任务书
毕业设计任务书。

基于STM32单片机的双轮自平衡小车系统的设计

基于STM32单片机的双轮自平衡小车系统的设计

基于STM32单片机的双轮自平衡小车系统的设计本文介绍了基于STM32F103C8T6 单片机的双轮自平衡小车系统的设计,以MPU6050 三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID 算法实现小车两轮自平衡,使用TB6612 电机驱动模块实现小车的驱动电机,综合实现小车的直立行走。

通过蓝宙的线性CCD 实现小车的循迹功能。

标签:姿态感知;卡尔曼滤波;PID控制;MPU6050三轴陀螺仪加速计;TB6612电机驱动;线性CCD1 电路设计1.1 MPU6050三轴陀螺仪加速计模块子系统框图1.2 TB6612电机驱动模块子系统框图1.3 线性CCD模块子系统框图2 程序设计2.1 程序功能描述(1)实现直立平衡控制(2)平衡的基础上实现行走(3)进而实现循迹功能2.2 程序设计思路首先写程序要有整体思路,小车最先应该让电机先转,然后达到平衡的目的,利用MPU6050三轴陀螺仪加速计为传感器的姿态感知系统,通过卡尔曼滤波对传感器的数据进行滤波融合,采用PID算法实现小车两轮自平衡,使用TB6612电机驱动模块实现小车的驱动电机,综合实现小车的直立行走,差速转向。

进而写出线性CCD的部分程序。

所以程序中应该有平衡部分,速度控制部分,转向控制部分,然后应该根据芯片与电路的链接方法,写出芯片的初始化程序。

3 测试分析与结论3.1 根据直立控制调试,由此可以得出结论见表1,表2(1)可以确定得到kp=500,kd=1.7是P、D 参数的最大值;(2)对每个系数乘以0.6,取整得到kp=300,kd=1,为理想的值。

(3)小车的机械中值在0°。

3.2 根据速度控制调试,由此可以得出结论见表3(1)kp=80,ki=kp/200是速度控制P、I参数的理想值;(2)kp=80,ki=kp/200是正极性。

3.3 根据转向控制调试,由此可以得出结论见表4(1)kp=0.6为它的正极性;(2)kp=1是转向控P参数的理想值。

两轮自平衡小车设计报告

两轮自平衡小车设计报告

沈阳工业大学信息科学与工程学院第五届创新杯大学生电子设计竞赛双轮自平衡小车摘要:本作品采用STM32单片机作为主控制器,用一个陀螺仪传感器来检测车的状态,通过TB6612控制小车两个电机,来使小车保持平衡状态,通过手机蓝牙与小车上蓝牙模块连接以控制小车运行状态。

关键字:智能小车;单片机;陀螺仪;蓝牙模块。

一、系统完成的功能根据老师的指导要求,在规定的时间内,由团队合作完成两轮自平衡小车的制作,使小车在一定时间内能够自助站立并且自由行走,以及原地转圈,上坡和送高处跃下站立。

二、系统总体设计原理框架图图2.1 系统总体框图三.系统硬件各个组成部分介绍3.1.STM32单片机简介(stm32rbt6)主控模块的STM32单片机是控制器的核心部分。

该单片机是ST意法半导体公司生产的32位高性能、低成本和低功耗的增强型单片机,它的内核采用ARM 公司最新生产的Cortex—M3架构,最高工作频率可达72MHz,256K的程序存储空间、48K的RAM,8个定时器/计数器、两个看门狗和一个实时时钟RTC,片上集成通信接口有两个I2C、3个SPI、5个USART、一个USB、一个CAN、两个和一个SDIO,并集成有3个ADC和一个DAC,具有80个I/0端口。

STM32单片机要求2.0~3.6V的操作电压(VDD),本设计采用5.0V电源通过移动电源给单片机供电。

3.2.陀螺仪传感器陀螺仪可以用来测量物体的旋转角速度。

本设计选用MPU-6050。

MPU-60X0 是全球首例9 轴运动处理传感器。

它集成了3 轴MEMS 陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。

扩展之后就可以通过其I2C 或SPI 接口输出一个9 轴的信号(SPI 接口仅在MPU-6000 可用)。

MPU-60X0 也可以通过其I2C 接口连接非惯性的数字传感器,比如压力传感器MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。

毕业论文基于msp430f149单片机的两轮自平衡小车的设计与研究【管理资料】

毕业论文基于msp430f149单片机的两轮自平衡小车的设计与研究【管理资料】

基于MSP430F149单片机的两轮自平衡小车的设计与研究摘要两轮自平衡小车类似于传统的倒立摆,其本身是不稳定的,必须施加强有力的控制手段才能使之稳定,是研究各种控制方法的一个理想平台。

其工作原理是系统通过陀螺仪和加速度传感器整合出当前车身较精确的与垂直方向的偏角和小车的运行加速度,利用光电编码器测得当前运行速度。

依据运动学原理,通过微控制器计算出适当的数据,输出相应占空比的PWM波形驱动电机以适当的速度运行,从而来维持车体的平衡。

本文选用MSP430F149单片机为控制器,光电编码器来测得车体当前速度,MPU-6050测得车体的角加速度和运行加速度,并通过带有减速器的直流电机实现小车的平衡控制。

关键词:两轮自平衡小车,陀螺仪,加速度计,MSP430F149,光电编码器,PWMABSTRACTTwo-wheeled self-balancing car is similar to that of a traditional inverted pendulum, which itself is not stable whom must be exerted strong control to make .It is an ideal platform for the research of various control methods. Its working principle is through the system of gyro and acceleration sensor integrated operation of the body of vehicle acceleration accurately and the angle, measured its speed by the photoelectric encoder. Through the single-chip microprocessor to calculate the appropriate data based on kinematics, and output the corresponding PWM waveform to drive motor running at an appropriate rate in order to maintain body balance. This paper chooses MSP430F149 MCU as the controller, photoelectric encoder to measure the velocity, MPU-6050 as the gyro and acceleration sensor, and the DC motor with reducer to realize the control system of car.Keywords: gyroscope, accelerometer, MSP430F149, photoelectric encoder, PWM,self-balanced two-wheel vehicle目录2 自平衡小车自平衡设计原理 ------------------------------------------ 0自平衡小车直立控制------------------------------------------------------------------------------------------ 0自平衡小车速度控制------------------------------------------------------------------------------------------ 2 ------------------------------------------------------------------------------------------------------------------------- 5 ------------------------------------------------------------------------------------------------------------------------- 7 3 自平衡小车硬件电路的设计 ------------------------------------------ 7 MSP430F149单片机最小系统 ------------------------------------------------------------------------------- 7 ------------------------------------------------------------------------------------------------------------------------- 8 MPU6050电路 ---------------------------------------------------------------------------------------------------- 9供电电源电路-------------------------------------------------------------------------------------------------- 10 4 自平衡小车软件分析设计 ------------------------------------------- 10系统程序结构分析 ------------------------------------------------------------------------------------------- 10 IIC通信程序设计 -------------------------------------------------------------------------------------------- 11计数程序设计-------------------------------------------------------------------------------------------------- 13 PID调节器程序设计----------------------------------------------------------------------------------------- 13卡尔曼滤波器程 ---------------------------------------------------------------------------------------------- 14 5 结论 ------------------------------------------------------------- 16参考文献 ----------------------------------------------------------- 17致谢 ----------------------------------------------- 错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的两轮自平衡车控制系统设计文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。

本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。

系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。

整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。

通过蓝牙,还可以控制小车前进,后退,左右转。

关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based onMicrocontrollerAbstractTwo-wheel self-balance vehicle is a kind of highly unstable two-wheel robot. The characteristic of two-wheel vehicle is the nature 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 gravityaccelerometer gyroscope sensor MPU6050 for the inclination angle of vehicle, and using 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 named TB6612FNG forcontrolling 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 statequickly 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 绪论自平衡小车的研究背景近几年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求。

比如,户外移动机器人需要在凹凸不平的地面上行走,有时机器人所需要运行的地方比较狭窄等。

如何解决机器人在这些环境中运行的问题,已成为现实应用中所需要面对的一个问题。

两轮自平衡小车就是在这些的需求下所产生的。

这种机器人相对于其他移动机器人的最显着特点是:采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务。

正是由于其特殊的构造,两轮自平衡小车适应地形变化的能力较强,且运动灵活,可以胜任一些复杂环境中的工作。

两轮自平衡车自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡车具有独特的外形和结构,更重要的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值。

早在1987年,日本电信大学教授山藤一雄就提出了两轮自平衡机器人的概念。

这个基本的概念就是用数字处理器来侦测平衡的改变,然后以平行的双轮来保持机器的平稳。

本世纪初。

美国发明家狄恩·卡门与他的DEKA公司研发出了可以用于载人的两轮自平衡车,并命名为赛格威,投入市场后,引发了自平衡车的流行。

由于两轮自平衡车有着活动灵活,环境无害等优点,其被广泛应用于各类高规格社会活动中,目前该车已用于奥运会、世博会、机场、火车站等大型场合。

自平衡小车研究意义由于两轮自平衡小车具有结构特殊、体积小、运动灵活、适应地形变化能力强、能够方便的实现零半径回转、适合在拥挤和危险的空间内活动、可以胜任一些复杂环境里的工作。

因此两轮自平衡车有着广泛的应用前景,其典型应用包括代步工具、通勤车、空间探索、危险品运输、高科技玩具、控制理论测试平台等方面。

目前自平衡车的应用如自平衡的代步车正在流行开来。

因此两轮自平衡车的研究很有意义。

论文的主要内容本论文主要叙述了基于单片机的两轮自平衡车控制系统的设计与实现的整个过程。

主要内容为两轮自平衡小车的平衡原理,直立控制,蓝牙控制。

整个内容分为六章,包括绪论、课题任务与关键技术、系统原理概述、系统硬件设计、系统软件设计和系统的机械安装及调试。

第一章主要讲解了课题的研究背景及意义,国内外研究现状。

第二章主要讲解了设计的主要任务与所需的关键技术。

第三章主要讲解了两轮自平衡小车控制系统的直立控制原理,转向控制原理。

第四章主要讲解了系统的硬件设计,介绍了自平衡小车控制系统的硬件构成,主控芯片STC12C5A60S2的结构及组成,以及稳压电源模块,倾角测量模块,直流电机驱动模块,蓝牙控制模块和两轮测速模块的设计。

第五章主要讲解了软件设计的算法功能与框架,主要描述了控制系统的程序实现以及PID 算法的使用。

第六章主要讲解了系统的调试与参数整定。

最后总结与展望,总结本设计的各个模块,并对两轮自平衡小车的优化方向进行简要的阐述。

2 课题任务与关键技术主要任务本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能。

系统采用STC12C5A60S2单片机作为核心控制单元,通过增加各种传感器,设计相应电路并编写相应程序完成平衡控制与蓝牙控制。

系统需要利用加速度计和陀螺仪获得车体的倾角和角速度,并对数据进行互补滤波融合。

通过编码器获得两轮的速度信息。

根据获得的数据信息对速度和倾角进行闭环控制。

加入蓝牙通信控制,将所有输出数据进行叠加,输出至驱动芯片,实现对小车的控制。

关键技术系统设计两轮自平衡车的系统设计包括:车身机械结构设计,硬件系统设计和软件系统设计。

在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备;软件系统则负责车身平衡控制与目标效果的实现。

数学建模模型的建立有助于控制器的设计,以及控制系统各项参数的大概确定。

模型的建立主要使用牛顿力学定律。

姿态检测两轮自平衡车是一个本质不平衡的系统,控制系统对小车的精确控制依赖于姿态检测系统对车身姿态及运动状态的精确检测。

目前,一般采用由陀螺仪和加速度计等惯性传感器组成的姿态检测系统对车身倾角进行实时、准确的检测。

但是由于惯性传感器自身固有的特性,随着温度、震动等外界变化,会产生不同程度的噪声与漂移,因此必须采用一些滤波算法,对加速度计和陀螺仪所采集的数据进行融合,使测量角度更加真实稳定。

控制算法两轮自平衡车所实现的平衡是一种动态的平衡。

在遇到外界干扰时,需要通过控制算法来快速将小车恢复至平衡状态。

传统的PID算法在各类工业场合有着广泛的应用,完全可以满足本控制系统的要求,因此本控制系统设计采用PID控制算法。

3 系统原理分析控制系统任务分解根据系统要求,小车必须能够在没有外界干预的情况下依靠两个同轴安装的车轮保持平衡,并完成前进,后退,左右转等动作。

相对于四轮车,控制系统的任务更为复杂,为了能解决该问题,首先将复杂的问题分解成简单的几个问题进行讨论。

对系统要求进行分析,可知维持小车直立,并在受到外界干扰后迅速恢复稳态,完全依赖于一对直流电机对车轮的驱动。

因此本控制系统的设计可以从对电机的控制着手,控制电机的转速以及转向来实现对小车的控制。

小车的控制任务可以分解成以下三个基本任务:(1)控制小车直立:通过控制两个电机的转向保持小车的直立状态。

(2)控制小车车速:通过控制两个电机的转速实现车速控制。

(3)控制小车转向:通过控制两个电机的转速差实现转向控制。

以上三个任务都是通过控制小车两个车轮的驱动电机完成的。

直流电机的控制最终取决于电机两端输入的电压大小,将电机近似认为处于线性状态,因此上述三个基本任务可以等效成三种不同控制目标的电压,将这三种电压进行叠加后,便可以得到最终所需的电压,并将其施加在电机上以达到所追求的控制效果。

在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:平衡控制>速度控制>转向控制。

由于小车同时受到三种控制的影响,从平衡控制角度来看,其他两个控制就成为了它的干扰。

因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰。

相关文档
最新文档