基于ARM的两轮自平衡车模型系统设计课程设计

基于ARM的两轮自平衡车模型系统设计课程设计
基于ARM的两轮自平衡车模型系统设计课程设计

课程设计说明书

学生姓名:学号:

学院:

专业:

题目: 基于ARM的两轮自平衡车模型系统设计

摘要

近年来,两轮自平衡车的研究与应用获得了迅猛发展。本文提出了一种两轮自平衡小车的设计方案,采用陀螺仪L3G4200以及MEMS加速度传感器MMA7260构成小车姿态检测装置,使用卡尔曼滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用飞思卡尔32位单片机Kinetis K60为控制核心,通过滤波算法实现车身控制,人机交互等。

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

关键词:两轮自平衡陀螺仪姿态检测卡尔曼滤波数据融合

目录

1 课程设计目的 (1)

2 设计内容和要求 (1)

2.1 设计要求 (1)

2.2 研究意义 (1)

2.3 研究内容 (2)

3 设计方案及实现情况 (2)

3.1 两轮平衡车的平衡原理 (2)

3.2 系统方案设计 (3)

3.3 系统最终方案 (6)

3.4 系统软件设计 (9)

3.5 电路调试 (16)

4 课程设计总结 (18)

参考文献 (19)

附录 (20)

致谢 (21)

1 课程设计目的

(1)掌握嵌入式系统的一般设计方法和设计流程;

(2)学习嵌入式系统设计,掌握相关IDE开发环境的使用方法;

(3)掌握ARM的应用;

(4)学习掌握嵌入式系设计的全过程;

2 设计内容和要求

2.1 设计要求

(1)学习掌握基于ARM Cortex-M4内核的Kinetis K60系列单片机的工作原理及应用;(2)学习掌握加速度计、陀螺仪的工作原理及应用;

(3)设计基于PID控制的两轮自平衡车模型系统的工作原理图及PCB版图;

2.2 研究意义

近年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前科

学研究最活跃的领域之一,移动机器人的应用范围越来越广泛,面临的环境和任务也

越来越复杂,这就要求移动机器人必须能够适应一些复杂的环境和任务。比如,户外

移动机器人需要在凹凸不平的地面上行走,有时环境中能够允许机器人运行的地方比

较狭窄等。如何解决机器人在这些环境中运行的问题,逐渐成为研究者关心的问题[1]。

两轮自平衡机器人的概念正是在这样一个背景下提出来的,这种机器人区别于其

他移动机器人的最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式(这种驱

动方式又被称为差分式驱动方式),车身的重心位于车轮轴的上方,通过轮子的前后移

动来保持车身的平衡,并且还能够在直立平衡的情况下行驶。由于特殊的结构,其适

应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。

两轮自平衡机器人自面世以来,一直受到世界各国机器人爱好者和研究者的关

注,这不仅是因为两轮自平衡机器人具有独特的外形和结构,更重要的是因为其自身

的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高

的研究价值。

2.3 研究内容

本课题设计了一款两轮自平衡小车,研究了车身姿态检测中陀螺仪与加速度传感器的互补特性,并根据其特性比较并设计滤波算法,包括卡尔曼滤波等常用滤波算法。PID控制算法的实现以及直流电机调速的研究。具体包括:

(1) 机器人本体设计:包括机械,重心调整,电气系统设计等,为进一步研究提供良好的平台;

(2) 信号调理及控制部分电路设计:陀螺仪输出信号需要经过进一步滤波放大,因此需要设计信号调理电路,同时控制核心需要构建相关输入输出模块及人际交互设备,因此需要对主控单元电路进行设计。同时还需要设计直流电机驱动电路。

(3) 基于卡尔曼滤波的数据融合:由于陀螺仪测量的角速度只在短时间内稳定而加速度传感器的自身白噪声很严重,因此根据其互补特性设计卡尔曼滤波器以得到准确稳定的角度和角速度。

(4) PID控制算法:包括两路闭环控制。小车的倾角闭环控制以及直流电机的闭环速度控制。

3 设计方案及实现情况

3.1 两轮平衡车的平衡原理

控制小车平衡的直观经验来自人类日常生活经验。如人类身体拥有丰富的感知器官,通过大脑调节便可以控制腰部及腿部肌肉保持人体的直立。而一般人通过简单训练就可以让一根直木棍在手指尖保持直立不倒。这需要两个条件:一个是托着木棍的手指可以自由移动;另一个是人的眼睛可以观察木棍的倾斜角度与倾斜趋势(角速度)[4]。这两个条件缺一不可,实际上这就是控制系统中的负反馈机制,如图1所示。

图1保持木棍直立的反馈控制系统

自平衡车的控制也是通过负反馈来实现的,与在指尖保持木棍直立比较则相对简单。由于小车只依靠两个车轮着地,车轮与地面会发生相对滚动使得小车倾斜。而小车上装载

的姿态检测系统能够对小车的倾斜状况进行实时检测,通过控制器控制车轮转动,抵消在这个维度上的倾斜力矩便可以保持小车平衡,如图2所示。

图2通过车轮转动保持小车平衡

3.2 系统方案设计

3.2.1 主控芯片方案

方案一:采用ATMEL公司的AVR单片机AVR单片机硬件结构采取8位机与16位机的折中策略,即采用局部寄存器存堆(32个寄存器文件)和单体高速输入/输出的方案(即输入捕获寄存器、输出比较匹配寄存器及相应控制逻辑)。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能。其中的一款单片机型号为Atmega128,有64个引脚,最高可达到16M主频,IIC,UART,SPI接口都比较丰富,但价格高。

方案二:采用宏晶科技有限公司的STC12C5A60S2增强型51单片机作为主控芯片。此芯片内置ADC(模数转换)和IIC总线接口,且内部时钟不分频,可达到1MPS。性价比低。

考虑到此系统的复杂度,需要与传感器进行IIC通讯,输出灵活可控制的PWM信号,以及进行大量的数学运算。从性能和价格上综合考虑选择方案一,即用Kinetis K60作为本系统的主控芯片,由于外设比较简单,只需要IIC和PWM通道,因此具体型号定位为K60N512VM100。

方案三:采用freescale公司Kinetis K60系列单片机作为主控芯片。Kinetis K60系列单片机,工作电压1.71-3.6V,闪存的写电压为1.71-3.6V,采用ARM Cortex-M4内核,其性能可达1.25DhrystoneMIPS/MHz。该系列提供高达180MHz的性能和IEEE1588以太网MAC,

用于工业自动化环境中的精确的、实时的时间控制。硬件加密支持多个算法,以最小的CPU 负载提供快速、安全的数据传输和存储。系统安全模块包括安全密钥存储和硬件篡改检测,提供用于电压、频率、温度和外部传感(用于物理攻击检测)的传感器[2]。

3.2.2 姿态检测传感器方案

本系统采用的加速度计是三轴加速度计MMA7260。该加速度传感器是一种低g值的传感器,输出信号很大,不需要再进行放大。通过GSEL1和GSEL2脚选择灵敏度,本系统设置其灵敏度为800mv/g[4]。电路如图3所示。

图3 加速度计MMA7260接口电路图

本方案采用的陀螺仪传感器为L3G4200。L3G4200D 是意法半导体(ST)近日推出一款业界独创、采用一个感应结构检测3条正交轴向运动的3轴数字陀螺仪。该3轴数字陀螺仪让用户可以设定全部量程,量程范围从±250 dps~±2000 dps,低量程数值用于高精度慢速运动测量,而高量程则用于测量超快速的手势和运动[4]。这款器件提供一个16位数据输出,以及可配置的低通和高通滤波器等嵌入式数字功能。与加速度传感器的数字接口一致,也是通过用SDA和SCL与主控芯片的硬件IIC接口进行通讯,采用3.3V供电,其应用电路如图4所示。

图4 陀螺仪传感器电路

3.2.3 电机选择方案

方案一:直流无刷电机。直流无刷电机具有直流有刷电机机械特性好、调速范围宽等优点,而且无刷电机没有换向器和电刷,可靠性高,寿命长。但是无刷电机的驱动电路复杂,而且在本设计中小车为实验性质,车身较小,市面上很难找到大小合适的直流无刷电机。

方案二:步进电机。步进电机的选择角度正比于脉冲数,有较宽的调速范围,可以采用开环方式控制;步进电机有较大的输出转矩;有优秀的起制动性能;控制精度较高,误差不会累积。但是步进电机步距角固定,分辨率缺乏灵活性,而且步进驱动时容易造成车体震荡,不利于小车的稳定。步进电机虽然可以使用细分驱动方式克服上述缺点,但是细分驱动电路结构复杂,而且功耗增大不适合用于电池供电的应用上。

方案三:直流电机。直流有刷电机具有机械特性硬,响应速度快,调速范围宽的特点,满足两轮自平衡小车对灵敏性、快速性等要求,虽然电机的电刷会是电机的寿命缩短,还会引发电磁干扰。但是由于本设计负载较轻,换向器和电刷的损耗较低。小车采用多层机械结构,电机驱动电路与其他电路分离,有效降低电磁干扰[5]。

综上所述,本设计使用两个7.2V的直流有刷电机驱动两轮自平衡小车模型。

3.3 系统最终方案

使用K60为主控芯片,通过IIC 接口读取陀螺仪传感器L3G4200和加速度传感器MMA7260的数据,再将两者数据融合测出小车的姿态,最终通过PID 输出PWM 电机控制信号,由电机驱动完成对电机的控制。此系统方框图如图5所示。

图5 系统方框图 3.3.1 主控电路

本设计的两轮自平衡小车采用K60N512VM100单片机为主控芯片。Kinetis k60是基于ARM Cortex-M4具有超强可扩展性的低功耗、混合信号微控制器。主控及其外围电路如图6所示

图6 主控芯片

编码器电路 K60主控芯片 电机驱动 加速度传感器MMA7260

陀螺仪

L3G4200 状态显示

K60N512VM100 芯片电源类引脚,BGA封装22个,LQFP封装27个,其中BGA 封装的芯片有五个引脚未使用(A10、B10、C10、M5 和L5)。芯片使用多组电源引脚分别为内部电压调节器、I/O 引脚驱动、A/D 转换电路等电路供电,内部电压调节器为内核和振荡器等供电。为了电源稳定,MCU 内部包含多组电源电路,同时给出多处电源引出脚,便于外接滤波电容。为了电源平衡,MCU 提供了内部相连的地的多处引出脚,供电路设计使用[5]。

K60系列MCU具有IEEE1588以太网、全速和高速USB2.0 OTG、硬件解码能力和干预发现能力。芯片从带有256KBflash的100引脚的LQFP封装到1MBflash的256引脚的MAPBGA 封装,具有丰富的电路、通信、定时器和控制外围电路。高容量的K60系列带有一个可选择的单精度浮点处理单元、NAND控制单元和DRAM控制器。这是一款非常稳定且有潜力的ARM控制系列的微控制器[3]。

3.3.2 电机驱动电路

本设计中使用直流有刷电机作为两轮自平衡车的驱动电机,电机采用H桥驱动方式,使用脉宽调制方式调节电机两端电压有效值,达到调速的目的。电机驱动电路采用4片BTS7970搭载成两个H桥来驱动平衡车的两个电机,具有输出功率大,稳定性好,保护措施好等优点[8]。一个H桥电机驱动电路如图7所示。

图7 电机驱动电路

3.3.3 编码器电路

为了使用闭环控制,我们在模型上附加了编码器。和其他元件相比,选用编码器可以使电路更加完善,信号更加精确。编码器功耗低,重量轻,抗冲击抗震动,精度高,寿命长,非常

实用。K60自身具有正交解码功能,因此这里无需使用任何外围计数辅助器件,只需要将接口连接到单片机上相应的接口即可[3],接口如图8所示。

图8 编码器的接口部分电路

3.3.4 供电电路

可靠的电源方案是整个硬件电路稳定可靠运行的基础。电源模块由若干相互独立的稳压电路模块组成。这样做可以减少各模块之间的相互干扰,另外为了进一步减小单片机的5V电源噪声,可以单独使用一个5V的稳压芯片,与其它接口电路分开[7]。整个系统需要3种电源:

(1) 7.2V电源,为驱动电机供电。

(2) 5V电源,为编码器及相关外设供电。

(3) 3.3V电源,为单片机、陀螺仪及加速度计供电。

整个系统电源来源为7.2V镍氢电池,5V电源由LM2940提供。LM2940是一种线性低压差三端稳压器件,其输出纹波较小,适合单片机供电。3.3V电源采用LM1117。电机供电直接采用电池供电如下图所示。

图9 5V电源模块

图103.3V电源模块

3.4 系统软件设计

3.4.1 编译环境概述

嵌入式软件开发有别于桌面软件开发的一个显著的特点,是它一般需要一个交叉编译和调试环境,即编辑和编译软件在通常的PC机上进行,而编译好的软件需要通过写入工具下载到目标机上执行,如MK60N512VMD100的目标机上。在开发过程中我们使用

IAR Systems公司的IAR Embedded Workbench for ARM 6.30集成开发环境(简称IAR环境)J-Link-ARM-V8仿真器。 Embedded Workbench for ARM 6.30 是IAR Systems 公司为

ARM 微处理器开发的一个集成开发环境。比较其他的ARM 开发环境,IAR 具有入门容易、使用方便和代码紧凑等特点[2]。

IAR中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM 内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAR的功能和使用方法。

调试界面如图所示:

图11 IAR 界面示意图

3.4.2 系统软件总体流程

系统软件总体流程如图12所示。

开始

系统初始化

取出传感器数据

传感器互补滤波器

PID 调节器

控制输出PWM 电机控制信号

定时1ms ?

定时16ms ?

发送串口数据

否否

图12 系统软件总流程图

系统上电复位后便开始初始化各个功能模块,并启动了1ms定时,每1ms进行一次姿态估算和PID控制,即1s内系统进行了1000次姿态调整。同时为了前期调试已经查看数据,使用了主控的串口将程序中产生的数据如估算出的最终角度等,上传到电脑,以观察数据的特性,上传周期为16ms。

3.4.3 系统初始化

系统初始化完成Kinetis K60单片机的初始化设置,初始化程序流程图如图13所示。

开始

上电复位

中断系统初始化

时钟系统初始化

I/O引脚配置

IIC接口配置

串口配置

间隔定时器配置

返回

图13 系统初始化流程图

3.4.4 PID控制器

当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量系统需要控制的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID调节。PID控制器问世至今已有近70年历史,以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一[6]。

PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系为:

()()()()011t D d e t u t K p e t e t d t T T d t ??=++????

? (式1) 其中Kp 为比例系数;1T 为积分时间常数;D T 为微分时间常数。

PID 控制器具有原理简单、使用方便、适应性强、鲁棒性强、对模型依赖少等特点,因此使用PID 控制器实现两轮自平衡车的控制是完全可行的。

由小车静止时其运动方程可得到系统输入输出传递函数:

()()()21s H s g X s s l

Θ==- (式2) 此时系统具有两个极点:p g s l

=±。其中一个极点位于s 平面的右半平面。根据奈奎斯特稳定判据可知系统不稳定,因此小车在静止状态不能保持平衡[9]。

由小车受力分析可知小车平衡的条件是提供额外的回复力及阻尼,其来源为车轮与地面的摩擦力。由式2可知,车轮提供的加速度的大小是根据角度θ及角速度θ'的反馈得出,

因此需要在控制系统中引入角度θ及角速度θ'构成比例(P)微分(D)反馈环节,如图14所示。

图14 加入比例微分环节后的控制系统结构图

加入比例微分反馈后的系统传递函数为:

()()()2211s H s k k g

X s s s l l

Θ==-++ (式3) 此时,系统的两个极点为()222142p k k l k g s l -±--=。根据奈奎斯特稳定判据可知,

系统稳定需要两个极点都位于s 平面的左半平面。要满足这一点,需要1k >g, 2k >0。由此

可得出结论,但1k >g, 2k >0时,小车可以保持平衡,这也与上文中小车受力分析的结果相符。

在反馈环节中,与角度 成比例的控制量称为比例控制;与角速度成比例的控制量称为微分控制(角速度是角度的微分)。因此上面系数1k ,2k 分别称为比例和微分控制参数。其中微分参数相当于阻尼力,可以有效抑制自平衡车振荡。

控制系统的输出量为电机控制量,因而小车平衡控制的PID 控制器的输出方程可写为:

OUT_Motor=Kp*Angle+Kd*Angle_dot (式4)

式4中,OUT_Motor 为PID 控制输出量,Angle 为反馈倾角值,Angle_dot 为反馈角速度值,Kp 和Kd 分别为比例系数及微分系数。

3.4.5滤波器

单独使用加速度计或者陀螺仪,都无法提供一个有效而可靠的信息来保证车体的平衡。采用一种简易互补滤波方法来融合陀螺仪和加速度计的输出信号,补偿陀螺仪的漂移误差和加速度计的动态误差,便可以得到一个最优的倾角近似值。该滤波器的实现算法如图15所示。

ω

а

+-K Raw Angle +Gravity Angle Stabilized Angles Rate

Sensor

Accelerometer Low-Pass

Filter Error Angle

图15 互补滤波器算法流程图

在使用互补滤波器前,先对加速度的值进行低通滤波。加速度的值里包含了一些短时性快速变化的信号,这些信号对计算角度有较大的干扰,因此应使用低通滤波器将其滤除掉,滤除后的加速度值具有长时性缓慢变化的平滑效果。

由图可看出该滤波器的输入有两个数据,一是加速度计测得的角度,二是陀螺仪测得的角速度,两者经过一定的融合运算后得出一个稳定可靠的倾角。以下将介绍数据的融合过程。首先建立一个以主控板为基准的空间坐标系,如图16所示。

Axz

Axz

X Y

Z

R Rz

Ry

Rx

Ryz

Rxz

图16 传感器直角坐标系

R 代表电路板的加速度矢量,Rn(n 可以是x ,y ,z)代表R 在各个轴的分量,Ann(A 代表角度angle ,nn 可以是xz ,yz ,如Axz)代表R 与各个平面的夹角。因此,从加速度计测出来的RxAcc ,RyAcc ,RzAcc(acc 代表accelerometer)便可合成矢量Racc ,即Racc=[Raccx ,Raccy ,Raccz]。由Racc 的分量即可计算出Axz ,Ayz ,但如前文讨论的,此时的Axz ,Ayz 并不稳定可靠。

假设最后计算出的稳定可靠的矢量(实际上是单纯的重力加速度矢量)为Rest =

[RxEst,RyEst,RzEst](Est 代表:estimate)。程序中,第一次计算Rest 直接取值于加速度计的Racc ,即:

R a c c (0)=R e s t (0) (式5)

此后的Rest(如Rest(1),Rest(2),Rest(3)…Rest(n))则由陀螺仪参与调整。在计算Rest(n)时,可以通过RxEst(n-1) 和RzEst(n-1)计算出Axz(n-1),即:

) 1)-RzEst(n , 1)-RxEst(n atan2( = 1)-Axz(n (式6)

接着由Axz(n-1)和RateAxz(n)可计算出Axz(n),即:

T * R a t e A x z (n ) + 1)-Axz(n = Axz(n)

(式7) 其中RateAxz(n)为绕y 轴的陀螺仪角速度,T 为计算Axz(n-1)到计算Axz(n)的时间差值。同样道理可得:

T * R a t e A y z (n ) + 1)-Ayz(n = Ayz(n)

(式8)

再由以下公式可得:

/

SQRT

sin(Axz(n)

=

RxGyro(式9)

(1

)

tan(Ayz(n

))^2

*

)

cos(Axz(n)

)^2

+

同理得:

/

SQRT

)

sin(Ayz(n)

RyGyro(式10) =

(1

))^2

+

)

t a n(A x z(n

*

c o s(A y z(n)

)^2

o)

Sign(RzGyr

*

RzGyro(式11) =

-

R y G y r o^2)

S Q R T(1

R x G y r o^2

-

到此,计算出了两个单位为1的向量:Racc(n),Rgyro(n),通过一个加权平均公式便可得到Rest(n),即:

w1

+

*

(Racc

=

Rest(n)(式12)

Rgyro

+

*

(w1

w2)

w2

)

/

令w2/w1 = wGyro,可得

*

Rgyro

+

Rest(n)(式13)

=

(Racc

)

w G y r o

+

(1

/

wGyro

即:

+

RxGyro

(RxAcc

=

RxEst(n)(式14)

*

wGyro

wGyro)

(1

+

/

)

RyGyro

+

=

*

(RyAcc

RyEst(n)(式15)

+

wGyro

(1

wGyro)

/

)

RzGyro

+

=

*

(RzAcc

RzEst(n)(式16)

+

wGyro)

(1

/

)

wGyro

而小车的倾角为:

*

RzGyro

+

(RzAcc

=

RzEst(n)(式17)

)

wGyro

+

w G y r o

(1

/

3.5 电路调试

3.5.1 加速度计测试结果

理论上只需要加速度就可以获得车模的倾角,再对此信号进行微分便可以获得倾角速度。但在实际车模运行过程中,由于车模本身的摆动所产生的加速度会产生很大的干扰信号,它叠加在上述测量信号上使得输出信号无法准确反映车模的倾角,如图17所示。

图17 车运动引起的加速度信号波动

下图是实际测量安装在车模上MMA7260的Z轴信号。车模倾角在两个角度位置过渡,看到除了角度变化信号之外,还存在由于运动引起的电压波动,这个电压波动随着车模运动速度增加会变得很大。

图18 实际测量加速度计Z轴信号

3.5.2 陀螺仪测试结果

在车模上安装陀螺仪,可以测量车模倾斜角速度,将角速度信号进行积分便可以得到车模的倾角,如图19所示。由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小。车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。

图19 角速度积分得到角度

由于从陀螺仪角速度获得角度信息,需要经过积分运算。如果角速度信号存在微小的偏差和漂移,经过积分运算之后,变化形成积累误差。这个误差会随着时间延长逐步增加,最终导致电路饱和,无法形成正确的角度信号,如图20所示。

图20角速度积分漂移现象

消除上述误差通过上面的加速度传感器获得的角度信息对此进行校正。通过

对比积分所得到的角度与重力加速度所得到的角度,使用它们之间的偏差改变陀螺仪的输出,从而积分的角度逐步跟踪到加速度传感器所得到的角度,如图21所示。

图21通过重力加速度来矫正陀螺仪的角度漂移

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

基于单片机的两轮自平衡车控制系统设计 摘要 两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC 公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。 整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。 关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法 Design of Control System of Two-Wheel Self-Balance Vehicle based on Microcontroller Abstract Two-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 accelerometer

两轮自平衡车

两轮自平衡送餐车 【摘要】:本项目为“两轮自平衡车送餐机器人”系统的研究与实现,从加速度计和陀螺仪传感器得出的角度。运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。根据PID控制调节参数,实现两轮直立行走。通过电磁传感器对电磁线的检测和GPS模块精确定位,实现了平衡车的自动送餐功能。 【关键字】:加速度计陀螺仪卡尔曼滤波PID控制调节电磁传感器GPS模块 【Abstract】:This is a project of "research and Realization of a two wheeled self balancing robot car room" system, from the accelerometer and gyro sensor of angle. Using the Calman filter optimization, the dynamic error of gyroscope drift error and acceleration compensation plan, to get better approximations angle. According to the PID control parameters, achieve two upright. Through the detection and accurate positioning of GPS module electromagnetic sensors on the magnet wire, the balance of the car automatic room function. 【Keyword】:saccelerometer gyroscope Calman filtering PID control electromagnetic sensor GPS module

线控两轮平衡车的建模与控制研究

线控两轮平衡车的建模 与控制研究 文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

线性系统理论 上机实验报告 题目:两轮平衡小车的建模与控制研究 完成时间:2016-11-29 1.研究背景及意义 现代社会人们活动范围已经大大延伸,交通对于每个人都十分重要。交通工具的选择则是重中之重,是全社会关注的焦点。 随着社会经济的发展,人民生活水平的提高,越来越多的小汽车走进了寻常百姓家。汽车快捷方便、省时省力,现代化程度高,种类繁多的个性化设计满足了不同人的需求。但它体积大、重量大、污染大、噪声大、耗油大、技术复杂、使用不便、价格贵、停放困难,效率不高,而且还会造成交通拥堵并带来安全隐患。相比之下,自行车是一种既经济又实用的交通工具。中国是自行车大国,短距离出行人们常选择骑自行车。自行车确实方便,但在使用之前需要先学会骑车,虽然看似简单,平衡能力差的人学起来却很困难,容易摔倒,造成人身伤害。另外,自行车毕竟不适宜长距离的行驶,遥远的路程会使人感到疲劳。 那么,究竟有没有这样一种交通工具,集两者的优点于一身呢?既能像汽车一样方便快捷又如自行车般经济简洁,而且操作易于掌握,易学又易用。两轮自平衡车概念就是在这样的背景下提出来的。 借鉴目前国内外两轮自平衡车的成功经验,本文提出的研究目标是设计一款新型的、结构简单、成本低的两轮自平衡车,使其能够很好地实现自平衡功能,同时设计结果通过MATLAB进行仿真验证。

2.研究内容 自平衡式两轮电动车是一个非线性、强耦合、欠驱动的自不稳定系统,对其控制策略的研究具有重大的理论意义。我们通过分析两轮平衡车的物理结构以及在平衡瞬间的力学关系,得到两轮车的力学平衡方程,并建立其数学模型。运用MATLAB 和SIMULINK 仿真系统的角度θ、角加速度? θ、位移x 和速度的? x 变化过程,对其利用外部控制器来控制其平衡。 3.系统建模 两轮平衡车的瞬时力平衡分析如图1所示。下面将分析归纳此时的力平衡方程[1-3],并逐步建立其数学模型。 对两轮平衡车的右轮进行力学分析,如图2所示。 依据图2对右轮进行受力分析,并建立其平衡方程: =R R R R M X f H ? - (1) R R R R J C f R ??? =- (2) 同理,对左轮进行受力分析,并建立其平衡方程: =R L L L M X f H ? - (3) L L L L J C f R ??? =- (4) 两轮平衡车摆杆的受力分析如图3所示,由图3可以得到水平和垂直方向的平衡方程以及转矩方程。 水平方向的平衡方程: H H x R L p m +=? ? (5) 其中θsin L x x m p +=,则有:

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

两轮自平衡小车控制系统的设计 摘要:介绍了两轮自平衡小车控制系统的设计与实现,系统以飞思卡尔公司的16位微控制器MC9S12XS128MAL作为核心控制单元,利用加速度传感器MMA7361测量重力加速度的分量,即小车的实时倾角,以及利用陀螺仪ENC-03MB测量小车的实时角速度,并利用光电编码器采集小车的前进速度,实现了小车的平衡和速度控制。在小车可以保持两轮自平衡前提下,采用摄像头CCD-TSL1401作为路径识别传感器,实时采集赛道信息,并通过左右轮差速控制转弯,使小车始终沿着赛道中线运行。实验表明,该控制系统能较好地控制小车平衡快速地跟随跑道运行,具有一定的实用性。 关键词:控制;自平衡;实时性 近年来,随着经济的不断发展和城市人口的日益增长,城市交通阻塞以及耗能、污染问题成为了一个困扰人们的心病。新型交通工具的诞生显得尤为重要,两轮自平衡小车应运而生,其以行走灵活、便利、节能等特点得到了很大的发展。但是,昂贵的成本还是令人望而止步,成为它暂时无法广泛推广的一个重要原因。因此,开展对两轮自平衡车的深入研究,不仅对改善平衡车的性价比有着重要意义,同时也对提高我国在该领域的科研水平、扩展机器人的应用背景等具有重要的理论及现实意义。全国大学生飞思卡尔智能车竞赛与时俱进,第七届电磁组小车首次采用了两轮小车,模拟两轮自平衡电动智能车的运行机理。在此基础上,第八届光电组小车再次采用两轮小车作为控制系统的载体。小车设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械及能源等多个学科的知识。 1 小车控制系统总体方案 小车以16位单片机MC9S12XS128MAL作为中央控制单元,用陀螺仪和加速度传感器分别检测小车的加速度和倾斜角度[1],以线性CCD采集小车行走时的赛道信息,最终通过三者的数据融合,作为直流电机的输入量,从而驱动直流电机的差速运转,实现小车的自动循轨功能。同时,为了更方便、及时地观察小车行走时数据的变化,并且对数据作出正确的处理,本系统调试时需要无线模块和上位机的配合。小车控制系统总体架构。 2 小车控制系统自平衡原理 两轮小车能够实现自平衡功能,并且在受到一定外力的干扰下,仍能保持直立状态,是小车可以沿着赛道自动循线行走的先决条件。为了更好地控制小车的行走方式,得到最优的行走路径,需要对小车分模块分析与控制。 本控制系统维持小车直立和运行的动力都来自小车的两个轮子,轮子转动由两个直流电机驱动。小车作为一个控制对象,它的控制输入量是两个电机的转动速度。小车运动控制可以分解成以下3个基本控制任务。 (1)小车平衡控制:通过控制两个电机正反方向运动保持小车直立平衡状态; (2)小车速度控制:通过调节小车的倾斜角度来实现小车速度控制,本质上是通过控制电机的转速来实现小车速度的控制。 (3)小车方向控制:通过控制两个电机之间的转动差速实现小车转向控制。 2.1 小车平衡控制 要想实现小车的平衡控制,需要采取负反馈控制方式[2]。当小车偏离平衡点时,通过控制电机驱动电机实现加、减速,从而抵消小车倾斜的趋势,便可以保持车体平衡。即当小车有向前倾的趋势时,可以使电机正向加速,给小车一个向前的加速度,在回复力和阻尼力的作用下,小车不至于向前倾倒;当小车有向后倾的趋势时,可以使小车反向加速,给小车一个向后的加速度,从而不会让小车向后倾倒,。

两轮自平衡小车毕业设计毕业论文

两轮自平衡小车毕业设计毕业论文 目录 1.绪论 (1) 1.1研究背景与意义 (1) 1.2两轮自平衡车的关键技术 (2) 1.2.1系统设计 (2) 1.2.2数学建模 (2) 1.2.3姿态检测系统 (2) 1.2.4控制算法 (3) 1.3本文主要研究目标与容 (3) 1.4论文章节安排 (3) 2.系统原理分析 (5) 2.1控制系统要求分析 (5) 2.2平衡控制原理分析 (5) 2.3自平衡小车数学模型 (6) 2.3.1两轮自平衡小车受力分析 (6) 2.3.2自平衡小车运动微分方程 (9) 2.4 PID控制器设计 (10) 2.4.1 PID控制器原理 (10) 2.4.2 PID控制器设计 (11) 2.5姿态检测系统 (12) 2.5.1陀螺仪 (12) 2.5.2加速度计 (13) 2.5.3基于卡尔曼滤波的数据融合 (14) 2.6本章小结 (16) 3.系统硬件电路设计 (17) 3.1 MC9SXS128单片机介绍 (17) 3.2单片机最小系统设计 (19)

3.3 电源管理模块设计 (21) 3.4倾角传感器信号调理电路 (22) 3.4.1加速度计电路设计 (22) 3.4.2陀螺仪放大电路设计 (22) 3.5电机驱动电路设计 (23) 3.5.1驱动芯片介绍 (24) 3.5.2 驱动电路设计 (24) 3.6速度检测模块设计 (25) 3.6.1编码器介绍 (25) 3.6.2 编码器电路设计 (26) 3.7辅助调试电路 (27) 3.8本章小结 (27) 4.系统软件设计 (28) 4.1软件系统总体结构 (28) 4.2单片机初始化软件设计 (28) 4.2.1锁相环初始化 (28) 4.2.2模数转换模块(ATD)初始化 (29) 4.2.3串行通信模块(SCI)初始化设置 (30) 4.2.4测速模块初始化 (31) 4.2.5 PWM模块初始化 (32) 4.3姿态检测系统软件设计 (32) 4.3.1陀螺仪与加速度计输出值转换 (32) 4.3.2卡尔曼滤波器的软件实现 (34) 4.4平衡PID控制软件实现 (35) 4.5两轮自平衡车的运动控制 (37) 4.6本章小结 (39) 5. 系统调试 (40) 5.1系统调试工具 (40) 5.2系统硬件电路调试 (40) 5.3姿态检测系统调试 (41)

两轮平衡车说明书

双轮自平衡车 学校:德州学院 学生:唐文涛焦方磊李尧 指导老师:孟俊焕 时间:二О一四年7 月10日~10 月 6 日共12 周

中文摘要 两轮自平衡车是动态平衡机器人的一种。2008年我国奥运会的时候安全保卫工作使用过它,到今年两轮平衡车已经发展的相对成熟。在国家节能、降耗、环保、低碳、经济的方针政策下,两轮平衡车进行了资源整合、技术升级,在原来的两轮单轴式自平衡的基础上采取两轴双轮可折叠设计,两轮自平衡车具有运动灵活、智能控制、操作简单、驾驶姿势多样、节省能源、绿色环保、转弯半径为0等优点。适用于在狭小空间内运行,能够在大型购物中心、国际性会议或展览场所、体育场馆、办公大楼、大型公园及广场、生态旅游风景区、大学校园、城市中的生活住宅小区等各种室内或室外场合中作为人们的中、短距离代步工具。也是集娱乐、代步、炫酷为一体的,主打形象是汽车伴侣解决停车后几公里内的代步问题。 两轮自平衡车主要由驱动电机、锂电池组、车轮、车身等组成。其工作原理:车体内置的精密固态陀螺仪来判断车身所处的姿势状态,透过精密且高速的中央微处理器计算出适当的指令后,驱动马达来做到平衡的效果。 关键词:陀螺仪,动态稳定,折叠,驱动系统,平衡。 English abstract Two rounds of self-balancing vehicle is one of the dynamic balance of the robot. In 2008 the Olympic Games security work used it in our country, in the year to balance two rounds of car has developed relatively mature. In the national energy saving, consumption reduction, environmental protection, low carbon, economic policies and regulations, the two rounds of balance of resource integration, technology upgrades, in the original two rounds of single shaft type taken on the basis of self balancing two shaft double folding design, two rounds of self-balancing vehicle movement, flexible, intelligent control, simple operation and driving posture diversity, save energy, green environmental protection, the advantages of turning radius of 0. Apply to run in narrow space, can in a large shopping center, the international conference and exhibition venues, sports venues, office buildings, large parks and square, ecological tourism scenic spot, the university campus, city life in residential quarters and other indoor or outdoor situations as the medium and short distance transport of people. Is entertainment, walking, cool as a whole, the main image is car partner solve the problem of parking within a few kilometers after walking. Two rounds of self-balancing vehicle is mainly composed of drive motor, lithium battery pack, wheel, body, etc. Its working principle: the body's built-in precision solid-state gyroscope to judge the body's position, through sophisticated and high-speed central microprocessor

双轮自平衡小车机器人系统设计与制作

燕山大学 课程设计说明书题目:双轮自平衡小车机器人系统设计与制作 学院(系):机械工程学院 年级专业:12级机械电子工程 组号:3 学生: 指导教师:史艳国建涛艳文史小华庆玲 唐艳华富娟晓飞正操胡浩波 日期: 2015.11

燕山大学课程设计(论文)任务书院(系):机械工程学院基层教学单位:机械电子工程系

摘要 两轮自平衡小车是一种非线性、多变量、强耦合、参数不确定的复杂系统,他体积小、结构简单、运动灵活,适合在狭小空间工作,是检验各种控制方法的一个理想装置,受到广大研究人员的重视,成为具有挑战性的课题之一。 两轮自平衡小车系统是一种两轮左右并行布置的系统。像传统的倒立一样,其工作原理是依靠倾角传感器所检测的位姿和状态变化率结合控制算法来维持自身平衡。本设计通过对倒立摆进行动力学建模,类比得到小车平衡的条件。从加速度计和陀螺仪传感器得出的角度。运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。通过光电编码器分别得到车子的线速度和转向角速度,对速度进行PI控制。根据PID控制调节参数,实现两轮直立行走。通过调节左右两轮的差速实现小车的转向。 制作完成后,小车实现了在无线蓝牙通讯下前进、后退、和左右转向的基本动作。此外小车能在正常条件下达到自主平衡状态。并且在适量干扰下,小车能够自主调整并迅速恢复稳定状态。 关键词:自平衡陀螺仪控制调试

前言 移动机器人是机器人学的一个重要分支,对于移动机器人的研究,包括轮式、腿式、履带式以及水下式机器人等,可以追溯到20世纪60年代。移动机器人得到快速发展有两方面原因:一是其应用围越来越广泛;二是相关领域如计算、传感、控制及执行等技术的快速发展。移动机器人尚有不少技术问题有待解决,因此近几年对移动机器人的研究相当活跃。 近年来,随着移动机器人研究不断深入、应用领域更加广泛,所面临的环境和任务也越来越复杂。机器人经常会遇到一些比较狭窄,而且有很多大转角的工作场合,如何在这样比较复杂的环境中灵活快捷的执行任务,成为人们颇为关心的一个问题。双轮自平衡机器人概念就是在这样的背景下提出来的。两轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。同时由于它具有体积小、运动灵活、零转弯半径等特点,将会在军用和民用领域有着广泛的应用前景。因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。 本论文主要叙述了基于stm32控制的两轮自平衡小车的设计与实现的整个过程。主要容为两轮自平衡小车的平衡原理,直立控制,速度控制,转向控制及系统定位算法的设计。通过此设计使小车具备一定的自平衡能力、负载承载能力、速度调节能力和无线通讯功能。小车能够自动检测自身机械系统的倾角并完成姿态的调整,并在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡。能够以不同运动速度实现双轮车系统的前进、后退、左转与右转等动作,同时也能够实现双轮自平衡车系统的无线远程控制操作

自平衡车模型分析

自平衡车模型分析

一、 求解车体除两轮外部分动能 车体沿X 轴方向速度: R L V R L x 2 )(cos θθθθ&&&++= 车体沿Y 轴方向速度: R D L V R L y )(sin θθθ&&-= 车体沿Z 轴方向速度 θθsin &L V z = 车体沿过质心的Z 轴的转动惯量为: m yz J J J y z z ???++=d sin cos 22θθθ 由于假设车体关于ZY 平面对称,因此 0d =???m yz 因此 θθθ22sin cos y z z J J J += 则可以得到车体的平动动能: ??? ? ??+-+++=2221)sin ())(sin ()2)(cos 21θθθθθθθθθ&&&&&&L R D L R L E R L R L kp ( 车体的转动动能为: ??? ? ??+-+=22222 ))()(sin cos (21θθθθθ&&&x R L y z kp J R D J J E 则车体的总动能为: 21kp kp kp E E E += 二、 求解车轮动能 左车轮平动速度为:

R V L x w L θ&= 右车轮平动速度为 R V R x w R θ&= 两轮有同样的绕垂直于半径的转动速度: R D R L w )(θθω&&-= 则左车轮的动能为: 2 22)(2121)(21??? ? ??-++=D R J J R m E R L R L L kw L θθθθφ&&&& 则右车轮的动能为: 222)(2121)(21??? ? ??-++=D R J J R m E R L R R R kw R θθθθφ&&&& 三、 求解车体势能 由于在平地上行进,车轮势能不变。车体整体势能可变部分表示为: θcos g m E p p = 四、 拉格朗日函数的求解 得到最终的拉格朗日函数为: p kw kw kp kp E E E E E L L R -+++=21 依据拉格朗日动力学法求解,进行如下运算: R L M M L dt L d --=??-??θ θ& L L L M L dt L d =??-??θθ& R R R M L dt L d =??-??θθ& 得到动力学方程: 方程一: () R L R L z y p p R L p x p M M R D J J L m gL m R L m J L m --=??? ? ??--+--+++222 )(cos sin sin 2)(cos )θθθθθθθθθ&&&&&&&&(

大学毕业设计---基于arm的两轮自平衡车模型系统设计课程

中北大学 课程设计说明书 学生姓名: *杰学号:* 学院: 仪器与电子学院 专业: * 题目: 基于ARM的两轮自平衡车模型系统设计 指导教师:李锦明职称: 副教授 2015 年1 月30 日

摘要 近年来,两轮自平衡车的研究与应用获得了迅猛发展。本文提出了一种两轮自平衡小车的设计方案,采用陀螺仪L3G4200以及MEMS加速度传感器MMA7260构成小车姿态检测装置,使用卡尔曼滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用飞思卡尔32位单片机Kinetis K60为控制核心,通过滤波算法实现车身控制,人机交互等。 整个系统制作完成后,各个模块能够正常并协调工作,小车可以在无人干预条件下实现自主平衡。同时在引入适量干扰情况下小车能够自主调整并迅速恢复稳定状态。 关键词:两轮自平衡陀螺仪姿态检测卡尔曼滤波数据融合

目录 1 课程设计目的 (1) 2 设计内容和要求 (1) 2.1 设计要求 (1) 2.2 研究意义 (1) 2.3 研究内容 (2) 3 设计方案及实现情况 (2) 3.1 两轮平衡车的平衡原理 (2) 3.2 系统方案设计 (3) 3.3 系统最终方案 (6) 3.4 系统软件设计 (9) 3.5 电路调试 (16) 4 课程设计总结 (18) 参考文献 (19) 附录 (20) 致谢 (21)

1 课程设计目的 (1)掌握嵌入式系统的一般设计方法和设计流程; (2)学习嵌入式系统设计,掌握相关IDE开发环境的使用方法; (3)掌握ARM的应用; (4)学习掌握嵌入式系设计的全过程; 2 设计内容和要求 2.1 设计要求 (1)学习掌握基于ARM Cortex-M4内核的Kinetis K60系列单片机的工作原理及应用;(2)学习掌握加速度计、陀螺仪的工作原理及应用; (3)设计基于PID控制的两轮自平衡车模型系统的工作原理图及PCB版图; 2.2 研究意义 近年来,随着电子技术的发展与进步,移动机器人的研究不断深入,成为目前科 学研究最活跃的领域之一,移动机器人的应用范围越来越广泛,面临的环境和任务也 越来越复杂,这就要求移动机器人必须能够适应一些复杂的环境和任务。比如,户外 移动机器人需要在凹凸不平的地面上行走,有时环境中能够允许机器人运行的地方比 较狭窄等。如何解决机器人在这些环境中运行的问题,逐渐成为研究者关心的问题[1]。 两轮自平衡机器人的概念正是在这样一个背景下提出来的,这种机器人区别于其 他移动机器人的最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式(这种驱 动方式又被称为差分式驱动方式),车身的重心位于车轮轴的上方,通过轮子的前后移 动来保持车身的平衡,并且还能够在直立平衡的情况下行驶。由于特殊的结构,其适 应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。 两轮自平衡机器人自面世以来,一直受到世界各国机器人爱好者和研究者的关 注,这不仅是因为两轮自平衡机器人具有独特的外形和结构,更重要的是因为其自身 的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高 的研究价值。

自动搜索平衡车的两种数学模型

一、研究背景及意义 自动搜索平衡车的两种数学模型。它是用小车及车上倒置的摆模拟控制火箭垂直起飞的装置。外力u(t)目的使摆保持与车身垂直。火箭起飞阶段必须维持与地面垂直,待到达指定速度和高度后才开始转弯。倘若火箭在起飞阶段受侧风干扰,火箭轴线偏离铅垂线一个小角度,则在重力作用下偏离角度会越来越大最终导致发射失败。为防止失败.在火箭轴线刚偏离垂直位置时,应启动发动机产生横向力校正火箭位置使其与地面垂直。为使问题简化,设车与摆只在平面内运动并忽略杆的质量,电机本身的惯性,摩擦,风力等因素,设摆球质量为m ,车质量为M ,摆长为l 。 二、建模机理 令H(t)和V(t)分别是小车通过铰链作用于杆也就是作用于摆球的水平分力和垂直分力。当然杆通过铰链作用于车的反作用力为—H(t)和—V(t)。应用牛顿定律得到:小车水平方向 )()()(y t H t u t M -=。。 (2-1) 摆水平方向 2 .. .. .. 22 )(sin cos ) sin ()(θθθθθml ml y m l y dt d m t H -+=+= (2-2) 摆垂直方向 )cos ()(22 θl dt d m mg t V =- 2 ... )(cos sin θθθθml ml --= (2-3)

力的分解 θ θ cos sin )()(=t V t H (2-4) 将式(2)带入式(1)得到 )()(sin cos )(2. ....t u ml ml y m M =-++θθθθ 将式(2-2)、(2-3)代入式(2-4)得到 θ θ θθθθθθθθcos sin )(cos sin )(sin cos .. 2 . .... 2 . .. = ---+l l g l l y 三、模型简化 上面两式均系非线性方程。该系统目的在于控制摆与地面垂直,可以认为θ(t)和 )(t 。θ都接近于零。在此假设下,取sin θ(t)≈θ(t),cos θ(t)≈l ,同时略去此θ(t),) (t 。 θ更高阶的无穷小量,经过如此线性化后得到 )(.. ..t u ml y m M =++θ) ( (2-5) 0.. .. =-+θθg l y (2-6) 对式(5)和式(6)等号两边分别取拉氏变换并令初始条件为零便求出由u (t )到y(t)的传递函数)(g s yu 和由u(t)到θ(t)的传递函数 )(s g u θ分别如下: ])([)(222g m M Mls s g ls s g yu +--= (2-7) g m M Mls s g u )(1 )(2+--=θ (2-8) 或者写为

基于PID控制器的两轮自平衡小车设计

本科毕业设计 基于PID控制器的两轮自平衡小车设计 摘要 两轮自平衡小车具有体积小、结构简单、运动灵活的特点,适用于狭小和危险的工作空间,在安防和军事上有广泛的应用前景。两轮自平衡小车是一种两轮左右平衡布置的,像传统倒立摆一样,本身是一种自然不稳定体,其动力学方程具有多变量、非线性、强耦合、时变、参数不确定性等特性,需要施加强有力的控制手段才能使其保持平衡。 本文在总结和归纳国内外对两轮自平衡小车的研究现状,提出了自己的两轮自平衡小车软硬件设计方案,小车硬件采用陀螺仪和加速度传感器检测车身的重力方向的倾斜角度和车身轮轴方向上的旋转加速度,数据通过控制器处理后,控制电机调整小车状态,使小车保持平衡。由于陀螺仪存在温漂和积分误差,加速度传感器动态响应较慢,不能有效可靠的反应车身的状态,所以软件使用互补滤波算法将陀螺仪和加速度传感器数据融合,结合陀螺仪的快速的动态响应特性和加速度传感器的长时间稳定特性,得到一个优化的角度近似值。 文中最后通过实验验证了自平衡小车软硬件控制方案的可行性。 关键词:自平衡互补滤波数据融合倒立摆 Two-wheeledSelf-balancingRobot MaXuedong (CollegeofEngineering,SouthChinaAgriculturalUniversity,Guangzhou510642,China) Abstract:Thetwo-wheeledself-balancingrobotissmallinmechanism,withsimplest ructureandcanmakeflexiblemotion,目录 华南农业大学本科生毕业设计成绩评定表

双轮自平衡车设计报告

双轮自平衡车设计报告 学院………….......... 班级…………………… 姓名………………..手机号…………………..姓名………………..手机号…………………..姓名………………..手机号…………………..

目录 一、双轮自平衡车原理 二、总体方案 三、电路和程序设计 四、算法分析及参数确定过程

一.双轮自平衡车原理 1.控制小车平衡的直观经验来自于人们日常生活经验。一般的人通过简单练习就可以让一个直木棒在手 指尖上保持直立。这需要两个条件:一个是托着木棒的手掌可以移动;另一个是眼睛可以观察到木棒的倾斜角度和倾斜趋势(角速度)。通过手掌移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这两个条 件缺一不可,让木棒保持平衡的过程实际上就是控制中的负反馈控制。 图1 木棒控制原理图 2.小车的平衡和上面保持木棒平衡相比,要简单一些。因为小车是在一维上面保持平衡的,理想状态下,小车只需沿着轮胎方向前后移动保持平衡即可。 图2 平衡小车的三种状态 3.根据图2所示的平衡小车的三种状态,我们把小车偏离平衡位置的角度作为偏差;我们的目标是通过 负反馈控制,让这个偏差接近于零。用比较通俗的话描述就是:小车往前倾时车轮要往前运动,小车往后倾时车轮要往后运动,让小车保持平衡。 4.下面我们分析一下单摆模型,如图4所示。在重力作用下,单摆受到和角度成正比,运动方向相反的回复力。而且在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。空气的阻尼力与单摆运动速度成正比,方向相反。 图4 单摆及其运动曲线

类比到我们的平衡小车,为了让小车能静止在平衡位置附近,我们不仅需要在电机上施加和倾角成正比的回复力,还需要增加和角速度成正比的阻尼力,阻尼力与运动方向相反。 5 平衡小车直立控制原理图 5.根据上面的分析,我们还可以总结得到一些调试的技巧:比例控制是引入了回复力;微分控制是引入了阻尼力,微分系数与转动惯量有关。 在小车质量一定的情况下,重心位置增高,因为需要的回复力减小,所以比例控制系数下降;转动惯量变大,所以微分控制系数增大。在小车重心位置一定的情况下,质量增大,因为需要的回复力增大,比例控制系数增大;转动惯量变大,所以微分控制系数增大。 二.总体方案 ■小车总框图

两轮自平衡车

两轮自平衡车 算法:和大家的一样,一个倾角环,一个车速环。取得角度、角速度、车速、车位移四个量后经过运算送给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) 视频在这里https://www.360docs.net/doc/f85466741.html,/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滤波,真是强啊!角度很精确,就这么用了。 车体研究了好久,没有用钢化玻璃的设备,就一直没动工。有天去打水突然看到旁边有个大的三合板,呵呵,于是乎。。

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

基于单片机的两轮自平衡车控制系统设计 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

基于单片机的两轮自平衡车控制系统设计 摘要 两轮自平衡车是一种高度不稳定的两轮机器人,就像传统的倒立摆一样,本质不稳定是两轮小车的特性,必须施加有效的控制手段才能使其稳定。本文提出了一种两轮自平衡小车的设计方案,采用重力加速度陀螺仪传感器MPU-6050检测小车姿态,使用互补滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用STC公司的8位单片机STC12C5A60S2为主控制器,根据从传感器中获取的数据,经过PID算法处理后,输出控制信号至电机驱动芯片TB6612FNG,以控制小车的两个电机,来使小车保持平衡状态。 整个系统制作完成后,小车可以在无人干预的条件下实现自主平衡,并且在引入适量干扰的情况下小车能够自主调整并迅速恢复至稳定状态。通过蓝牙,还可以控制小车前进,后退,左右转。 关键词:两轮自平衡小车加速度计陀螺仪数据融合滤波 PID算法Design of Control System of Two-Wheel Self-Balance Vehicle based on Microcontroller Abstract Two-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

线控两轮平衡车的建模与控制研究

线性系统理论 上机实验报告 题目:两轮平衡小车的建模与控制研究 完成时间:2016-11-29 1.研究背景及意义 现代社会人们活动范围已经大大延伸,交通对于每个人都十分重要。交通工具的选择则是重中之重,是全社会关注的焦点。 随着社会经济的发展,人民生活水平的提高,越来越多的小汽车走进了寻常百姓家。汽车快捷方便、省时省力,现代化程度高,种类繁多的个性化设计满足了不同人的需求。但它体积大、重量大、污染大、噪声大、耗油大、技术复杂、使用不便、价格贵、停放困难,效率不高,而且还会造成交通拥堵并带来安全隐患。相比之下,自行车是一种既经济又实用的交通工具。中国是自行车大国,短距离出行人们常选择骑自行车。自行车确实方便,但在使用之前需要先学会骑车,虽然看似简单,平衡能力差的人学起来却很困难,容易摔倒,造成人身伤害。另外,自行车毕竟不适宜长距离的行驶,遥远的路程会使人感到疲劳。 那么,究竟有没有这样一种交通工具,集两者的优点于一身呢既能像汽车一样方便快捷又如自行车般经济简洁,而且操作易于掌握,易学又易用。两轮自平衡车概念就是在这样的背景下提出来的。 借鉴目前国内外两轮自平衡车的成功经验,本文提出的研究目标是设计一款新型的、结构简单、成本低的两轮自平衡车,使其能够很好地实现自平衡功能,同时设计结果通过MATLAB进行仿真验证。

2.研究内容 自平衡式两轮电动车是一个非线性、强耦合、欠驱动的自不稳定系统,对其控制策略的研究具有重大的理论意义。我们通过分析两轮平衡车的物理结构以及在平衡瞬间的力学关系,得到两轮车的力学平衡方程,并建立其数学模型。运用MATLAB 和SIMULINK 仿真系统的角度θ、角加速度? θ、位移x 和速度的? x 变化过程,对其利用外部控制器来控制其平衡。 3.系统建模 两轮平衡车的瞬时力平衡分析如图1所示。下面将分析归纳此时的力平衡方程[1-3],并逐步建立其数学模型。 对两轮平衡车的右轮进行力学分析,如图2所示。 依据图2对右轮进行受力分析,并建立其平衡方程: =R R R R M X f H ? - (1) R R R R J C f R ??? =- (2) 同理,对左轮进行受力分析,并建立其平衡方程: =R L L L M X f H ? - (3) L L L L J C f R ??? =- (4) 两轮平衡车摆杆的受力分析如图3所示,由图3可以得到水平和垂直方向的平衡方程以及转矩方程。 水平方向的平衡方程: H H x R L p m +=? ? (5) 其中θsin L x x m p +=,则有: ? ?? ?? ?*+*-=θθθθcos sin 2 L L x x m p (6)

自平衡车模型分析

自平衡车模型分析 设置各状态变量以及控制变量:

一、 求解车体除两轮外部分动能 车体沿X 轴方向速度: R L V R L x 2 )(cos θθθθ ++= 车体沿Y 轴方向速度: R D L V R L y )(sin θθθ -= 车体沿Z 轴方向速度 θθ sin L V z = 车体沿过质心的Z 轴的转动惯量为: m yz J J J y z z ???++=d sin cos 22θθθ 由于假设车体关于ZY 平面对称,因此 0d =???m yz 因此 θθθ22sin cos y z z J J J += 则可以得到车体的平动动能: ??? ? ??+-+++=2221)sin ())(sin ()2)(cos 21θθθθθθθθθ L R D L R L E R L R L kp ( 车体的转动动能为: ??? ? ??+-+=22222 ))()(sin cos (21θθθθθ x R L y z kp J R D J J E 则车体的总动能为: 21kp kp kp E E E += 二、 求解车轮动能 左车轮平动速度为: R V L x w L θ = 右车轮平动速度为

R V R x w R θ = 两轮有同样的绕垂直于半径的转动速度: R D R L w )(θθω -= 则左车轮的动能为: 2 22)(2121)(21??? ? ??-++=D R J J R m E R L R L L kw L θθθθφ 则右车轮的动能为: 222)(2121)(21??? ? ??-++=D R J J R m E R L R R R kw R θθθθφ 三、 求解车体势能 由于在平地上行进,车轮势能不变。车体整体势能可变部分表示为: θcos g m E p p = 四、 拉格朗日函数的求解 得到最终的拉格朗日函数为: p kw kw kp kp E E E E E L L R -+++=21 依据拉格朗日动力学法求解,进行如下运算: R L M M L dt L d --=??-??θθ L L L M L dt L d =??-??θθ R R R M L dt L d =??-??θθ 得到动力学方程: 方程一: () R L R L z y p p R L p x p M M R D J J L m gL m R L m J L m --=??? ? ??--+--+++2 22)(cos sin sin 2)(cos )θθθθθθθθθ ( 方程二:

相关文档
最新文档