两轮自平衡车
两轮自平衡小车双闭环PID控制设计

两轮⾃平衡⼩车双闭环PID控制设计两轮⾃平衡⼩车的研究意义1.1两轮平衡车的研究意义两轮平衡车是⼀种能够感知环境,并且能够进⾏分析判断然后进⾏⾏为控制的多功能的系统,是移动机器⼈的⼀种。
在运动控制领域中,为了研究控制算法,建⽴两轮平衡车去验证控制算法也是⾮常有⽤的,这使得在研究⾃动控制领域理论时,两轮平衡车也被作为课题,被⼴泛研究。
对于两轮平衡车模型的建⽴、分析以及控制算法的研究是课题的研究重点和难点。
设计的两轮平衡车实现前进、后退、转弯等功能是系统研究的⽬的,之后要对车⼦是否能够爬坡、越野等功能进⾏测试。
⼀个⾼度不稳定,其动⼒学模型呈现多变量、系统参数耦合、时变、不确定的⾮线性是两轮平衡车两轮车研究内容的难点,其运动学中的⾮完整性约束要求其控制任务的多重性,也就是说要在平衡状态下完成指定的控制任务,如在复杂路况环境下实现移动跟踪任务,这给系统设计带来了极⼤的挑战。
因此可以说两路平衡车是⼀个相对⽐较复杂的控制系统,这给控制⽅法提出了很⾼的要求,对控制理论⽅法提出来很⼤的挑战,是控制⽅法实现的典型平台,得到该领域专家的极⼤重视,成为具有挑战性的控制领域的课题之⼀。
两轮平衡车是⼀个复杂系统的实验装置,其控制算法复杂、参数变化⼤,是理论研究、实验仿真的理想平台。
在平衡车系统中进⾏解賴控制、不确定系统控制、⾃适应控制、⾮线性系统控制等控制⽅法的研究,具有物理意义明显、⽅便观察的特点,并且平衡车从造价来说不是很贵,占地⾯积⼩,是很好的实验⼯具,另外建⽴在此基础上的平衡系统的研究,能够适应复杂环境的导航、巡视等,在⼯业⽣产和社会⽣中具有⾮常⼤的应⽤潜⼒。
两轮平衡车所使⽤的控制⽅法主要有:状态回馈控制、PID控制、最优控制、极点回馈控制等,这些控制⽅法被称为传统控制⽅法。
1.2 本⽂研究内容(1)两轮⾃平衡⼩车的简单控制系统设计。
(2)基于倒⽴摆模型的两轮⾃平衡⼩车的数学建模。
(3)利⽤MATLAB⼯具进⾏两轮⾃平衡⼩车的系统控制⽅法分析。
双轮平衡车原理

双轮平衡车原理
双轮平衡车是一种智能交通工具,它可以通过感应和控制器的协同作用来保持平衡。
其原理是基于倒立摆的控制理论和陀螺效应。
在双轮平衡车的车身上,有一个称为陀螺仪或加速度计的传感器,用于检测车身的倾斜角度和加速度。
陀螺仪可以感知车身的前后倾斜,加速度计可以感知车身的左右倾斜。
当操纵者希望车辆保持平衡时,控制器会接收到陀螺仪和加速度计传感器的数据,并进行分析和计算。
根据车身的倾斜角度和加速度,控制器会发送指令给车身上的电机。
根据指令,电机会分别给两个轮子提供不同的动力,从而使得车辆可以保持平衡。
如果车辆向前倾斜,控制器会让后轮旋转更快,向后输出动力,使车辆恢复平衡。
如果车辆向后倾斜,控制器会让前轮旋转更快,向前输出动力,同样可以使车辆恢复平衡。
这种通过感应器和控制器的反馈调节,使得双轮平衡车能够自动保持平衡的原理就是基于倒立摆的控制理论和陀螺效应。
通过不断地调整电机的转速和输出动力,车辆可以保持在一个平衡的状态,从而实现平稳行驶。
两轮平衡车原理

两轮平衡车原理两轮平衡车,又称电动平衡车或电动独轮车,是一种新型的个人电动代步工具,它通过倾斜身体来控制前后平衡,实现前进、后退、转弯等动作。
它的原理是基于陀螺仪的稳定性和动力学原理,下面我们将详细介绍两轮平衡车的原理。
首先,两轮平衡车的核心部件是陀螺仪,它是一种能够保持自身平衡的装置。
在两轮平衡车中,陀螺仪感知车身的倾斜角度,然后通过内置的控制系统来调整电机的转速,从而保持车身的平衡。
这种原理类似于人类的平衡感觉,当人体倾斜时,大脑会发送信号给肌肉,使身体保持平衡,而两轮平衡车则是通过电子系统来实现这一功能。
其次,两轮平衡车的动力来源于电机和电池。
电机是驱动车轮转动的关键部件,它通过控制转速和方向来实现车辆的前进、后退和转向。
而电池则为电机提供能量,一般采用锂电池作为动力源,它具有能量密度高、重量轻、循环寿命长等优点,能够满足两轮平衡车长时间的使用需求。
另外,两轮平衡车还配备了传感器和控制系统。
传感器可以感知车身的倾斜角度、加速度和角速度等参数,然后将数据传输给控制系统。
控制系统根据传感器的数据,通过算法来判断车身的状态,并控制电机的工作状态,从而实现平衡和动作控制。
这种闭环控制系统使得两轮平衡车能够快速、精准地响应用户的操作,保持稳定的行驶状态。
最后,两轮平衡车的原理还涉及到人体的平衡感知和操作技巧。
用户通过身体的微调和重心的移动来控制车辆的前进、后退和转向,这需要一定的平衡能力和操作技巧。
随着使用时间的增加,用户可以逐渐掌握平衡车的操作技巧,实现更加灵活、自如的驾驶体验。
综上所述,两轮平衡车的原理是基于陀螺仪的稳定性和动力学原理,通过电机、电池、传感器和控制系统的协同作用,实现车身的平衡和动作控制。
同时,用户的平衡感知和操作技巧也是保证车辆安全、稳定行驶的重要因素。
希望通过本文的介绍,能够让大家对两轮平衡车的原理有更深入的了解。
两轮自平衡小车实习日记

两轮自平衡小车实习日记暑假到了,外婆给我买了一辆我梦寐以求的“小米”电动平衡车。
我这辆两轮站立式平衡车,全身呈黑色。
两个又大又酷的越野轮支撑平衡车的重心及依靠车身的电机进行行进,两个脚踏板之间装有一个操控杆,利用小腿控制车体的运动,改变平衡车左右的方向,彻底解放双手。
特别是在脚踏板的后面,还有一个能发出五颜六色光芒的彩色指示灯,炫酷极了。
虽然,我已经拥有了一辆平衡车,但我却并不能熟练的操控它。
于是,我选了一个较为凉爽的天气,来到小区的一块空地上,按照说明书上的要点,带着紧张的心情,小心翼翼地、缓慢地先将一只脚踏上踏板,只听“滴”的一声,我的心咯噔一下,更加紧张了。
慌乱中,下意识的把另一只早已颤抖的脚迅速地跳上踏板,双手也开始不由自主的左右挥舞。
经过一番前倾后仰的折腾努力,平衡车终于“平衡”了。
可是,刚前进没几步,谁知平衡车又突然往前倾斜,我吓出一身冷汗,赶紧重新调整身体的重心,才使平衡车恢复正常行驶,缓慢地向前移动。
一开始,由于操作不太熟练,害怕摔倒。
我总是借助双手,小心翼翼地扶着周围的物体,缓慢移动,不能悠然自如的骑行。
心想,这可不行。
于是,深吸了一口气,放松心情,大着胆子,控制好重心,慢慢地尝试放开双手,结果,还真成了。
经过几十分钟的勤学苦练,我骑的越来越熟练,也掌握了平衡车的骑行技巧,自信性更足了。
基本上可以自如地驾驭平衡车了,骑行的速度也越来越快了。
但是,没有想到,在上坡时遇到了难题。
与在平路上骑行还是有差异性的,发现并不能很好地掌控平衡车的骑行速度和重心。
因此,我又有针对性地专门练习上坡。
经过,如此这般的反复练习,仔细琢磨,我终于能轻松自如的上下坡了。
学骑平衡车这件事告诉我,做任何一件事都不是一帆风顺的',前进的路上也会有坎坷。
但,只要我们经过刻苦努力,成功终究会向你招手的。
两轮平衡车工作原理

两轮平衡车工作原理一、引言两轮平衡车是一种基于倒立摆原理的个人交通工具,它具有自平衡、环保、便携等特点,因此在现代城市中越来越受到人们的关注和喜爱。
本文将从机械结构、传感器、控制系统等方面介绍两轮平衡车的工作原理。
二、机械结构两轮平衡车通常由车身、车轮、电机、减速器、转向机构等组成。
其中,车身是整个车辆的主体,用于承载其他组件。
车轮是车辆的行驶部件,通过电机和减速器驱动,使车辆前进或后退。
电机是发动机的替代品,它通过向车轮提供动力来推动车辆。
减速器可以将电机的高速旋转转换为车轮的低速旋转,以提供更大的扭矩。
转向机构用于控制车轮的转向,使车辆能够转弯或改变方向。
三、传感器两轮平衡车通常配备了多种传感器,用于感知车辆的状态和环境信息。
其中最重要的传感器是陀螺仪和加速度计。
陀螺仪用于测量车辆的倾斜角度,从而得知车身是否处于平衡状态。
加速度计用于测量车辆的加速度,从而判断车辆的加速或减速状态。
通过陀螺仪和加速度计的数据,控制系统可以实时监测车辆的倾斜状态,从而采取相应的控制策略。
四、控制系统控制系统是两轮平衡车的核心,它负责根据传感器的数据来控制电机的转速,以实现车辆的平衡和控制。
控制系统通常由微处理器、控制算法和电机驱动器组成。
微处理器是控制系统的大脑,负责处理传感器数据和执行控制算法。
控制算法是控制系统的关键部分,通过对传感器数据的分析和处理,判断车辆的状态,并采取相应的控制策略。
电机驱动器负责将微处理器输出的控制信号转换为电机的控制信号,控制电机的转速和方向。
五、工作原理两轮平衡车的工作原理可以简单概括为:通过陀螺仪和加速度计感知车辆的状态,将传感器数据传输给控制系统;控制系统根据传感器数据判断车辆的倾斜状态,并通过控制算法计算出合适的电机控制信号;电机驱动器将控制信号转换为电机的控制信号,控制电机的转速和方向;车轮根据电机的驱动旋转,使车辆保持平衡或实现前进、后退和转弯。
六、结论通过上述的介绍,我们可以了解到两轮平衡车的工作原理是基于倒立摆原理的。
基于单片机的两轮自平衡车控制系统设计

基于单片机的两轮自平衡车控制系统设计摘要两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定;本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器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°;可以通过这个关系判断电机是否正反转,但是在实际电路中,只检测一路脉冲信号,通过该信号得到电机。
两轮平衡车的应用场景

两轮平衡车的应用场景
近年来,两轮平衡车(也称为电动独轮车)因其小巧、轻便、易携带和环保等优点,受到了越来越多人的喜爱和追捧。
它的主要应用场景如下:
1.出行代步。
随着城市化进程的加快,人们日益感受到交通拥堵的烦扰,而传统交通工具的疲劳和费用也让人烦恼。
相比之下,两轮平衡车无需担心交通拥堵、无需消耗体力,一键启动即可畅游城市。
2.旅游观光。
旅游是很多人的爱好,而两轮平衡车是一款旅游观光的理想伴侣。
它小巧轻便,穿行于熙攘的人流中非常便捷。
此外,它还可以通过手机连接导航软件,帮助人们在城市和景区中寻找最佳路线和景点。
3.体育锻炼。
两轮平衡车不仅可以代步,还可以成为一种有趣的运动方式。
因为使用时需要身体前后左右的控制和平衡,所以它有一定的锻炼身体和提升平衡能力的作用,而这些都是人们日常生活中很重要的事情。
4.社交互动。
两轮平衡车不仅可以带给人们方便和乐趣,还可以成为一种社交工具。
当人们以两轮平衡车为媒介与他人交流时,就能够更轻松地建立起友谊和互动,增加彼此的交流机会。
总之,两轮平衡车是一种多实用功能和多场景的工具,无论是出行、旅游、体育锻炼还是社交互动,它都能为人们带来很多好处。
不过,使用时也需要注意安全问题,预防意外发生。
两轮平衡车说明书

图1-5折叠后
第三章驾驶注意
注意事项
1. 利用辅助轮安全学习驾驶
2. 双轮平衡车是利用陀螺仪进行前后稳定的。当身体前倾,独轮车会感知到动作进行加速;当身体后仰,平衡车也会控制电机减速以维持驾驶者与车体的平衡。双轮平衡车能帮助左右平衡,不像是骑自行车一样,需要靠一定的速度和身体来控制左右平衡。
准备工作
1. 选择适合的场地:请在平坦、空旷、无机动车、人少的场地进行试车。
2. 检查车辆:驾驶前需要检查电力是否充足、摇动车辆是否有异响和松动、手动推行平衡车看车轮是否与外壳产生摩擦。
3. 最好可以找一位朋友一起学习骑行,可以提供协助,会对更快的掌握骑车技巧有帮助。
外观重量
尺寸
高450mm,长392mm(最大厚度163mm,最小厚度70mm
踏板离地距离
112mm(无载重状态)
轮胎尺寸
直径360mm
车体自重
12.6kg(不含辅助轮〕
信息提录
电源及错误
电源开关LED(开机常亮,保护时闪烁)
电量
电量指示LED(大于约85%时,四颗LED全亮,随电量下降逐渐熄灭〕
声音提醒
图1-2车体结构图
图1-3平衡车原理图
1.4动态稳定概述
运用MC9S12XS128单片机,设计一种基于电磁导航的两轮自平衡车系统,并实现车模的直立行走,自主寻迹功能。系统采用飞思卡尔十六位微处理器MC9S12XS128作为核心控制单元,通过运用各种传感器,设计稳压模块、最小系统模块、双轮测速模块、倾角测量模块、电机驱动模块和人机交互模块并编写相应程序以完成平衡控制,速度控制,转向控制三大任务。
见图11图1112产品参数产品性能最高时速约18公里小时12公里小时开始报警续航距离约3035krn视骑行者体重为路况及环境而定最大爬坡角度约20体重60公斤者实际路测可达35电池150瓦时锂电池电池保护板具备均衡功能适用温度1040最适合适用温度1030最大载重120kg充电器电压ac22ov5060hz充电时间约5060分钟保护措施侧倾保护左右均为45超过45时电机会停止运转限速保护大于12kmh开启踏板前端逐渐抬起阻止进一步加速低电量保护电量剩余约10时开启踏板前端开始下沉逐渐减速直至停止外观重量尺寸高450mm长392mm最大厚度163mm最小厚度70mm踏板离地距离112mm无载重状态轮胎尺寸直径360mm车体自重126kg不含辅助轮信息提录电源及错误电源开关led开机常亮保护时闪烁电量电量指示led大于约85时四颗led全亮随电量下降逐渐熄灭声音提醒嘀声开机嘀声提示低电量保护时连续嘀声声音提醒长鸣侧倾时长鸣产品附件标配充电器辅助轮13动力学模型分析一个控制系统要想准确定量的分析设计提高对系统的认知和掌控能力首先要对对象建立模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两轮自平衡车算法:和大家的一样,一个倾角环,一个车速环。
取得角度、角速度、车速、车位移四个量后经过运算送给PWM驱动电机。
硬件:主控:atmega16;角度传感器:角速度传感器(陀螺仪)ENC-03MB(直接接AD输入,未加硬件滤波)、加速度传感器MMA7260,二者kalman融合取得角度、角速度。
PS:抄zlstone的,呵呵。
电机速度传感器:每个电机两个霍尔传感器(AB相)。
电机:型号不清楚,很常见的减速电机。
额定电压6V,功率3W。
电机驱动:L298N电源:变压器整流桥那种普通电源,几块钱一个。
两个,电机、MCU分开供电。
电机电源电压打到最高不接电机时15V多,接了电机5V多,汗。
显示器:LCD1602B遥控:电视红外遥控器引用图片(原文件名:20110110_0104.jpg)引用图片源代码WINAVR20100110+AVRStudio4.18ourdev_610434C8FD1C.rar(文件大小:104K)(原文件名:Balance.rar)原理图:atmega16最小系统版ourdev_610214M89OEI.pdf(文件大小:30K)(原文件名:M16迷你板电路图.pdf)上位机,带波形、数据显示ourdev_610318TY8G24.rar(文件大小:48K)(原文件名:串口调试.rar)车速未滤波之前波形(原文件名:车速未滤波之前波形.JPG)车速10Hz低通滤波后波形(原文件名:车速10Hz低通滤波后波形.JPG)视频在这里/v_show/id_XMjM1OTQ3NzU2.html现在还不是很稳,我想有两个原因,一个是参数没调到最佳,调了好久,先这样吧。
再有就是电源太烂了,电机是额定6V的可实际电压空载的时候才打到5伏多一点,在平衡的时候没测,肯定更低了。
陀螺仪ENC-03是直接接AD输入端的,因为按照datasheet上边的参考电路有过冲问题,这个问题有个帖子已经讨论过,很多人都是围绕怎么补救这个问题,我来算一下为什么这样子,呵呵~如下:高通滤波脉冲响应(原文件名:QQ截图未命名.jpg)因为有这个问题,会给倾角数据造成影响,所以我就去掉了滤波,直接接到AD。
这样1deg/s有0.67mv,10位AD参考电压是3.36V,最小才能测到3.28mv,小于4.8deg时就测不到了。
本来担心这个问题,但试了下KALMAN滤波,真是强啊!角度很精确,就这么用了。
车体研究了好久,没有用钢化玻璃的设备,就一直没动工。
有天去打水突然看到旁边有个大的三合板,呵呵,于是乎。
感觉车体结构也是个难点啊,要算尺寸,要打孔(先用烙铁头扎,在用螺丝刀来回钻),挺费劲的。
还有支架,试用很短的铜柱,一个一个摞起来的,所有能找到的铜柱都用上了,刚好够用。
这种车体的中间不能负重,重了后面俩轮就往外翻,当时是做打水机器人的,后来没有做完就over了~~~不知道STC那种的,我只用过STC89C51那种的,呵呵。
这个车要用很多片内外设的。
AIN0:陀螺仪输入AIN1:加速度计输入T0:采样周期定时,算法都在这里完成;T1:两路PWM;T2:用作霍尔传感器T法测速(要用码盘M法测速,不需要用)、红外脉冲定时;INT0、INT1:接霍尔传感器,采集速度INT2:红外接收头输入信号(遥控要用无线的话,也省了)电机驱动电路图驱动我买的模块20块,卖家没提供电路图。
应该是和这个一样的/bbs/bbs_content.jsp?bbs_sn=1344216&bbs_page_no=1&bbs_id=1024。
都是没加光耦直接接过去的。
这个图完全能用,我已经焊接好这个电路,驱动小车。
就是要大一点的散热片,普通散热片太小太烫了。
L298偏偏是没有,PCB上还要额外放8个高速二极管是很让人吐血的一件事情……小功率版的L293是有二极管的,用起来方便多了。
问题找到了,本来程序是Debug版本的,要改成正式发行版的,VC我只用了不久,是低级错误啦,呵呵。
LZ位软件我重新改过了。
VC工程在这里。
上位机VC++工程源码ourdev_610317VUO0LN.rar(文件大小:4.99M)(原文件名:Curve1.rar)写的有点乱,10.1假期写的,后边就没怎么更新了。
两种显示,字符显示和调试助手相同,要用示波器的话,协议为:先发0xFD,再连续发两个字节数据,多个数据依次发下去。
单片机中此段程序即为发送波形显示数据的格式:if(++ctr_pos==2){ctr_pos=0;temp1=speed_filter*10+150;Putc(0xfd);Putc(temp1/256);Putc(temp1%256);}数据发的不能太快(差不多要大于10ms),太快右侧字符频繁刷新界面,上位机会卡死,所以在界面上设置了禁止字符输出,用示波器时,最好选上。
这个软件可以查看历史波形、数据。
自己顶一个,没人关注啦,大家对这个没什么兴趣?所有资料都有啊!~我说下成本:AVR最小系统版 45;陀螺仪ENC-30MB:35;加速度传感器MMA7260模块:48(5V/3.3V供电);电机+轮子+联轴器两套:96;霍尔传感器模块(两对,每对AB相):34;电机驱动板:20;遥控、显示看个人了。
45+35+48+96+34+20=278元。
所有的加一起300元吧。
此贴的价值:1.车的成本相对来说很低;2.所有代码,电路开源(都是模块插线,没有PCB的。
);3.这个上位机真的很实用。
没有示波器或者不方便用示波器时候,用它显示波形很爽的,并且可以保留历史波形哦!在做此车过程中,我先后用它看了角速度、加速度、陀螺仪积分的角度、KALMAN滤波的角度、车运行过程中的角度、电机空载速度、PI闭环的空载调速曲线(此车没用速度闭环)、车位移等曲线。
很直观!发送数据的协议很简单,上面已经讲过。
而且代码开源的,自己可以在此基础上增加、改善一些功能。
知道可不可以贴淘宝地址,有做广告的嫌疑啊。
LZ买的太贵了,MMA7260才13,ENC-03为18,我也买了许多元件,但AVR单片机不太懂,一直没敢开工。
正在学习,刚设计了个实验板。
另外驱动电路是自己做的,分立元件的,体积稍大,但效果很好。
向楼主学下中。
是有点贵当初买的时候也看了其他店子,有像你说的很便宜的,但是你也要考虑邮费起码10元吧,那个MMA7260挺好的别看要48元,是已经做好的模块,而且有插针,可以直接插在万用版上的,你要是13块钱买个芯片的话,要是没风枪的话,不好焊吧,我是不会焊,呵呵。
其他店类似的模块也要30多吧,再加个邮费也差不多了。
但客观的讲,那个店确实有点点贵,但是所有东西一次性都买齐了。
做此车不是非要用AVR的,只要速度、外设够用就可以!需要的外设上边都有说。
关键要懂算法!其实我也是一知半解,给你推荐篇文章卡尔曼滤波介绍中文版ourdev_611837OCLGOY.pdf(文件大小:540K)(原文件名:kalman_intro_chinese.pdf)卡尔曼滤波介绍英文版ourdev_611838G0F5Z1.pdf(文件大小:173K)(原文件名:kalman_intro.pdf)文章从头开始看,看完离散卡尔曼滤波那一节,就会理解很多。
后面扩展卡尔曼我看不懂,最后面举了个例子,好好看下。
卡尔曼C语言ourdev_611839GC1Z3U.txt(文件大小:7K)(原文件名:kalman.txt)再看下这个程序。
和我用的结构差不多的(我的是抄zlstone的,他貌似也是复制的,呵呵,最难的就是卡尔曼)。
下面是我的:void Kalman_Filter(float angle_m,float gyro_m) //gyro_m:gyro_measure{angle+=(gyro_m-q_bias) * dt;//先验估计Pdot[0]=Q_angle - P[0][1] - P[1][0];// Pk-' 先验估计误差协方差的微分Pdot[1]=- P[1][1];Pdot[2]=- P[1][1];Pdot[3]=Q_gyro;P[0][0] += Pdot[0] * dt;// Pk- 先验估计误差协方差微分的积分 = 先验估计误差协方差P[0][1] += Pdot[1] * dt;P[1][0] += Pdot[2] * dt;P[1][1] += Pdot[3] * dt;angle_err = angle_m - angle;//zk-先验估计PCt_0 = C_0 * P[0][0];PCt_1 = C_0 * P[1][0];E = R_angle + C_0 * PCt_0;K_0 = PCt_0 / E;//KkK_1 = PCt_1 / E;t_0 = PCt_0;t_1 = C_0 * P[0][1];P[0][0] -= K_0 * t_0;//后验估计误差协方差P[0][1] -= K_0 * t_1;P[1][0] -= K_1 * t_0;P[1][1] -= K_1 * t_1;angle += K_0 * angle_err;//后验估计q_bias += K_1 * angle_err;//后验估计angle_dot = gyro_m-q_bias;//输出值(后验估计)的微分 = 角速度}我只能帮这些了,我的方向是运动控制方面,KALMAN貌似在信号分析相关专业会学的,所以我也没细看了。
上述程序我是直接复制过来的,只改了采样周期,剩下一点没动(还加了点注释,呵呵)。
有关KALMAN的详细解释一般都是外国网站的,中国的都是扯淡。
我做这个车的目的就是想搞下PID,怎么获取角度是次要的东西。
需要两个传感器,角速度传感器(ENC-03MB)、加速度传感器(MMA7260)。
AD测量并转换得两者数据,送KALMAN滤波,输出得到角度(angle)、角速度(angle_dot),就可以用了!两个传感器得到的数据是什么呢??是角度還是角速度呢??我用了角速度传感器和加速度传感器得到傾角是沒問題的, 但對車子計算偏航的角度就出現問題了因為加速度传感器沒法對角速度传感器進行誤差補償, 這方面lz是怎么解決呢??就是角速度和加速度啊!要得到角度需要卡尔曼(KALMAN)融合,可以活得很精确的角度。
如果用我那段程序需要根据自己的采样周期修改dt的值,我的是6ms,所以dt=0.006。
用卡尔曼融合角速度传感器和加速度传感器的数据, 這里明白了, 也可以得到傾角, 因為有對地面的加速度是不變的, 也是1g到了計算偏航的時候, 沒有了地心引力, 就頭痛了偏航的也是角速度和加速度嗎? 角速度传感器的数据得到gyro_m, 但怎么把加速度得到的数据算成angle_m呢?我還是不懂呢!!不好意思,我搞错了。