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

上传人:b****5 文档编号:6941898 上传时间:2023-01-12 格式:DOCX 页数:21 大小:349.35KB
下载 相关 举报
基于单片机的两轮自平衡车控制系统设计.docx_第1页
第1页 / 共21页
基于单片机的两轮自平衡车控制系统设计.docx_第2页
第2页 / 共21页
基于单片机的两轮自平衡车控制系统设计.docx_第3页
第3页 / 共21页
基于单片机的两轮自平衡车控制系统设计.docx_第4页
第4页 / 共21页
基于单片机的两轮自平衡车控制系统设计.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

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

《基于单片机的两轮自平衡车控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的两轮自平衡车控制系统设计.docx(21页珍藏版)》请在冰豆网上搜索。

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

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

基于单片机的两轮自平

衡车控制系统设计

文件排版存档编号:

[UYTR-OUPT28-KBNTL98-UYNN208]

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

摘要

两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。

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

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

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

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

关键词:

两轮自平衡小车加速度计陀螺仪数据融合滤波PID算法

DesignofControlSystemofTwo-WheelSelf-BalanceVehiclebasedon

Microcontrol1er

Abstract

Two-wheelself-balancevehicleisakindofhighlyunstabletwo-wheelrobot・Thecharacteristicoftwo-wheelvehicleisthenatureoftheinstabilityastraditionalinvertedpendulum,andeffectivecontrolmustbeexertedifweneedtomakeitstable・Thispaperpresentsadesignschemeoftwo-wheelself-balancevehicle・WeneedusinggravityaccelerometergyroscopesensorMPU6050fortheinclinationangleofvehicle,andusingcomplementaryfilterforthedatafusionofgyroscopeandaccelerometer・Wechoosean8~bitmicrocontrollernamedSTC12C5A60S2fromSTCCompanyasmaincontrollerofthecontrolsystem.Themaincontrolleroutputcontrolsignal,whichisbasedonthedatafromthesensors,tothemotordrivechipnamedTB6612FNGforcontrollingtwomotorsofvehicle,andkeepingthevehicleinbalance・Afterthecompletionofthecontrolsystem,thevehiclecanachieveautonomousbalanceundertheconditionsofunmannedintervention,thevehiclecanadjustautomaticallyandrestoredtoastablestatequicklyinthecaseofgivingappropriateinterferenceaswel1・Inaddition,wecancontrolthevehicleforward,backwardandturnaround.Keywords:

Two-WheelSelf-BalanceVehicle;Accelerometer;Gyroscope;Datafusion;

Complementaryfilter;PIDalgorithm

1绪论

自平衡小车的研究背景

近儿年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前机器人研究领域的一个重要组成部分,并且其应用领域日益广泛,其所需适应的环境和执行的任务也更复杂,这就对移动机器人提出了更高的要求。

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

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

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

这种机器人相对于其他移动机器人的最显着特点是:

采用了两轮共轴、各自独立驱动的方式工作,车身重心位于车轮轴上方,通过车轮的前后滚动来保持车身的动态平衡,并可以在直立平衡状态下完成前进、后退、左右转等任务。

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

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

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

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

本世纪初。

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

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

自平衡小车研究意义

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

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

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

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

论文的主要内容

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

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

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

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

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

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

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

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

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

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

2课题任务与关键技术

主要任务

本文研究并设计了一种基于单片机的两轮自平衡小车控制系统,实现了两轮小车的自主直立控制与蓝牙控制功能。

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

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

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

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

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

关键技术

系统设计

两轮自平衡车的系统设计包括:

车身机械结构设计,硬件系统设计和软件系统设计。

在机械结构上必须保持小车重心的稳定性,才能避免控制系统过于复杂;硬件系统必须包含自平衡车所需的所有电子系统与电气设备:

软件系统则负责车身平衡控制与目标效果的实现。

数学建模

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

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

姿态检测

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

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

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

控制算法

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

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

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

3系统原理分析

控制系统任务分解

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

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

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

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

小车的控制任务可以分解成以下三个基本任务:

(1)控制小车直立:

通过控制两个电机的转向保持小车的直立状态。

(2)控制小车车速:

通过控制两个电机的转速实现车速控制。

(3)控制小车转向:

通过控制两个电机的转速差实现转向控制。

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

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

在这三个任务中,保持小车平衡是关键,三个任务执行的优先级为:

平衡控制〉速度控制〉转向控制。

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

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

上述三种控制各自独立进行,它们各自假设其他两个控制都己经达到稳定。

比如控制小车加速和减速的时候,平衡控制一直在起作用,它会白动改变小车的倾角,使小车实现加速和减速。

控制原理

生活中有很多直立控制的例子,例如一个正常人可以经过简单的练习,让一根直木棒在水平的掌心中保持直立。

这需要两个条件:

一是托着木棒的手掌可以移动;二是眼睛可以观察到木棒的倾斜角和倾斜趋势(角加速度)。

可以通过手掌的移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。

这两个条件缺一不可,这就是控制中的负反馈机制。

囱狸址*熄吉帖后他绘生||玄

小车的直立也是通过负反馈实现的,但相对于上面的例子来说相对简单,因为小车有两个车轮着地,因此车体只会在一个平面内发生倾斜。

控制车轮转动便可抵消倾斜的趋势从而保持车体直立。

囱牺符年松绘生||乍休平临

数学模型

二轮自平衡小车在建模时可以将其简化为倒立摆,便于进行受力分析并建立其数学模型,从而更好的设计控制系统。

图单摆模型与倒立摆模型

通过对单摆模型的观察可知,当物体离开平衡位置后会受到重力与线的合作用力,驱使重物回复至平衡位置,并进行周期运动,由于空气阻力的存在,单摆最终会停在平衡位置。

可以得出,单摆保持平衡的条件有两点:

(1)受到与位移方向相反的回复力作用;

(2)受到和运动速度相反的阻尼力作用。

如果没有阻尼力的作用,单摆会在平衡位置左右晃动无法停止,如果阻尼力过小,单摆会在平衡位置震荡,如果阻尼力过大,则单摆的回复时间将变长,因此存在一个临界阻尼系数,使得单摆停止在平衡位置所需时间最短。

mgsin0

園小车辱力◎折

倒立摆在偏离平衡位置时,受到的合力与位移方向相同,因此倒立摆不能像单摆一样稳定在垂直位置,并且会加速偏离平衡位置直至倒下。

为了让倒立摆能像单摆一样平衡在稳定位置,只能通过增加额外受力使回复力与位移方向相反。

控制车轮做加速运动,以小车作为参考系,重心受到一个额外的惯性力,与车轮加速度大小相同,方向相反。

因此倒立摆所受到的回复力为

F=mgsin0—macos0

(3-1)

根据控制系统的特性,角0需要控制在很小的范围内,并且假设控制车轮加速度与角0成正比,比例系数为因此上式可近似处理为

F=mg0—mlq0

(3-2)

此时,只要kL>g,回复力的方向便和位移方向相反,此时小车可以恢复到平衡位置。

为使小车能在平衡位置尽快的稳定下来,还需要有阻尼力,阻尼力与角速度方向相反,大小成正比。

式(3-2)可变为

F=mg0—mk]0—mk2°'

(3-3)

式中,lq,%均为比例系数,0为小车倾角,0’为角速度。

只要满足町>g,k2>0,便可以将小车维持在直立状态。

屹是小车回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证小车可以尽快稳定在垂直位置。

因此为了控制小车稳定,需要精确的测量小车倾角0的大小和角速度

0'的大小,并以此控制车轮的加速度。

4系统硬件设计

本控制系统主要由以下儿个模块组成:

STC12C5A60S2单片机最小系统、电源管理模块、车身姿态感应模块、电机驱动模块、速度检测模

块、蓝牙模块,各模块关系图如下所示:

m硬件论计.啟休框国

STC12C5A60S2单片机介绍

本控制系统采用STC12C5A60S2单片机作为控制核心。

该单片机是深圳宏晶科技有限公司的典型单片机产品,采用了增强型8051内核,片内集成了60KB程序Flash、1KB数据Flash(EEPR0M)、1280字节RAM、2个16位定时/计数器、44根I/O口线、两个全双工异步串行口

(UART)、高速同步通信端口(SPI)、8通道10位ADC、2通道PWM/可编程计数器阵列/捕获/比较单元(PWPCA/CCU)、MAX810专用复位电路和硬件看门狗等资源。

STC12C5A60S2具有在系统可编程(ISP)功能和在系统调试(ISD)功能,可以省去价格较高的专门编程器,开发环境的搭建非常容易,并且该单片机所有指令和标准的8051内核完全兼容,具有良好的兼容性和很强的数据处理能力。

STC12C5A60S2系列单片机的内部结构框图如下所示,该单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。

STC12C5A60S2单片机儿乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。

图STC12C5A60S2系列内部结构框图

电源管理模块

电源管理模块为整个硬件电路提供所需的电源,其稳定性是整个硬件电路可靠运行的基础。

为了减少各个模块之间的相互干扰,电源模块由若干相互独立的稳压电路模块组成。

整个系统由三节的18650锂电池串联供电。

选择LM2596S作为稳压芯片,整个系统的供电模块如下图所示。

園玄结优rh熾扯宗音園

LM2596S开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。

该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。

该器件还有其他一些特点:

在特定的输入电压和输出载荷的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80uA的待机电流;可实现外部断电;具有自我保护电路。

该器件完全可以满足系统需要。

稳压电路原理图如下图所示。

图稳压电路原理图

车身姿态感应模块

在第三章原理分析中可知,为了控制小车稳定,需要精确的测量小车倾角0的大小和角速度。

'的大小,并以此控制车轮的加速度,以此消除小车的倾角。

因此小车倾角以及倾角的角速度的测量成为了控制小车直立的关键。

测量小车倾角和角速度可以通过加速度传感器和陀螺仪实现。

本控制系统的设计使用了整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时的轴间差的问题,减少了大量的封装空间。

MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量,和所有设备寄存器之间的通信采用400kHz的I2C接口。

为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪的可测范围为±250,±500,±1000,土

2000°/秒(dps),加速度计可测范围为±2,±4,±8,±16go量程越大,测量精度越低。

MPU6050实物及坐标轴示意图如下图所示。

 

图MPU6050灾物图与对应坐标轴爪童

加速度计

MPU6050的加速度计部分可以测量出各轴方向上的加速度,并经过AD

转换后可输出数字信号。

加速度检测的基本原理如下图所示。

阪1十2宙it?

岭训ii66直未舀工田

通过微机械加丄茂木仕蛀片上加丄彤成J一丁机械息臂。

丄与相邻的电极形成了两个电容。

由于加速度使得机械悬臂与两个电极之间的距离发生了变化,从而改变了两个电容的参数。

通过集成的开关电容放大电路测量电容参数的变化,形成了与加速度成正比的电压输出。

只需要测量出一个轴上的加速度,便可计算出小车的倾角。

如下图所示,设小车前进方向是小车直立时MPU6050的Y轴正向。

mgsin0

園小车蕩十令桁

当小车前倾时,小车重心在Y轴上所受的力便是重力在Y轴上的分力,

为mgsin0,因此MPU6050在Y轴上所获得的加速度为gsin0。

似乎只需要获得加速度数据就可以获得小车的倾角,但在实际小车的运行过程中,由于小车本身的运动所产生的加速度会产生很大的干扰信号叠加在上述测量信号上,使得输出信号无法准确的反映小车的倾角,如下图所示。

小车运动所严星u鈿韻肚肚茴薜爲ijm电丿卫仗头閃、I呗角电压附近波动,可以使用低通滤波将其过滤,但也会使得信号无法实时反映小车的倾角变化,从而影响对小车的控制,使得小车无法保持平衡。

陀螺仪

陀螺仪可以用来测量物体的旋转角速度,它利用了旋转坐标系中的物体会受到克里利奥力的原理,在器件中利用压电陶瓷做成振动单元。

当器件旋转时会改变振动频率从而反映出物体旋转的角速度。

将MPU6050安装在小车上时,可以测量出小车倾斜的角速度,将角速度信号进行积分便可得到小车的倾角。

如下图所示。

医I/|\车白&偌迪底知偌

由于陀螺仪输出的是车模的角速度,不会受到车体振动的影响,因此该信号中的噪声很小,小车的倾角数据又是由所测角速度积分得来,进一步使信号变得平滑,从而使得角度信号更加稳定。

但是在实际情况中,测量所得的角速度信号存在微小的误差,经过积分运算之后,会形成累计误差,并会随着时间的延长逐步增加,最终导致电路饱和,无法形成正确的角度信号。

如下图所示。

如上所述,加速度计对,.毀一穿却仝洒获得的数据会由于小车的运动产生高频噪声。

而陀螺仪所测得的数据受到车体振动影响很少,但是随着时间延长,容易存在积分漂移。

因此可以使用互补滤波,使得这两个传感器正好能弥补相互的缺点。

简而言之,互补滤波就是在短时间内采用陀螺仪得到的角度作为最优,定时对加速度转化而来的角度进行取平均值处理来校正陀螺仪所得到的角度。

具体实现方法如下图所示。

囱H之k、:

,Ffe、:

比爲钿応園

利用加速度计所获得的角度信息og与陀螺仪积分后的角度0进行比较,将比较的误差信号经过比例Tg放大之后与陀螺仪输出的角速度信号叠加之后再进行积分。

从上图的框图可以看出,对于加速度计给定的角度Og,经过比例、积分环节之后产生的角度0必然最终等于Og。

由于加速度计获得的角度信息不会存在积累误差,所以最终将输出角度0中的积累误差消除了。

加速度计所产生的角度信息Og中会叠加很强的噪声信号。

为了避免该噪声信号对于角度0的影响,比例系数Tg应该非常小。

这样,加速度的噪声信号经过比例、积分后,在输出角度信息中就会变得很小。

由于存在积分环节,所以无论Tg多小,最终输出角度0必然与加速度计测量的角度0g相等,但是这个调节过程会随着耳的减小而延长。

为了避免输出角度0跟着0g过长,可以釆取以下两个方面的措施:

(1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于

设定值,并且稳定。

(2)在控制电路和程序运行的开始,尽量保持小车处于直立状

态,这样一开始就使得输出角度0和Og相等。

此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差。

电机驱动模块

本控制系统采用了TB6612FNG作为直流电机驱动器件,该器件具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。

TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。

该器件每通道输出最高的连续驱动电流,启动峰值电流达2A/(连续脉冲/单脉冲);4种电机控制模式:

正转/反转/制动/停止;PWM支持频率高达100kHz;待机状态;片内低压检测电路与热停机保护电路;工作温度:

-20~85°C;SS0P24小型贴片封装。

H-SW

H-SW

A

B

VM1PWMAAIN2AIM1VccSTBYGNDBINIBIN2PWMBVM3VM2

如上图所示,图TRfiAl2FNG芯貯功能示竟團71/BIN2、

PWMA/PWMB为控制信号输入端;A01/A02.B01/B02为2路电机控制输出端;STBY为正常工作/待机状态控制引脚;VM、15V)和VCC、分别为电机驱动电压输入和逻辑电平输入端。

TB6612FNG是基于MOSFET的H桥集成电路,其效率高于晶体管H桥驱动器,并且外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。

对于PWM信号,它支持高达100kHz的频率。

TB6612FNG在本控制系统中的电路连接如下图所示。

園TRAR19FNG由SX注榜帚音国

如上图所示,AIN1/AIN2,BIN1/BIN2以及STBY连接直单片机的普通I/O口,STBY控制器件的工作状态,AIN1/AIN2和BIN1/BIN2的输入决定电机的正反转。

单片机的PCA模块产生PWM输出作为电机转速的控制手

段,连接至TB6612FNG的PWMA/PWMB。

电路采用耐压值25V的10uF电解电容和的电容进行电源滤波,使用功率MOSFET对VM和VCC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1