ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:963.38KB ,
资源ID:4333442      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4333442.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(两轮自平衡小车论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

两轮自平衡小车论文.docx

1、两轮自平衡小车论文 2013年全国大学生电子设计竞赛 两轮自平衡小车设计 作者:杨魏,黄敏杰,夏俊逸 2015.7.17 摘 要 本文采用自制的两轮简易小车作为试验平台,以MEMS传感MPU6050为传感器的姿态感知系统,通过离散卡尔曼滤波器对两种传感器的数据进行滤波融合,选用32位单片机 STM32F103RB为控制核心处理器,完成对数据的采集处理和车身控制,采用PID控制算法实现小车两轮自平衡。用蓝牙控制前后运动。实验结果验证了该系统的性能满足设计要求。 关键词:两轮自平衡;姿态感知;STM32F103RB;卡尔曼滤波;PID控制。 1系统方案本系统主要由姿态检测模块、电机驱动模块、蓝牙模

2、块、红外对管模块、电源模块组成,下面分别论证这几个模块的选择。1.1 姿态检测模块的论证与选择方案一:ENC-03。一种普通陀螺仪。方案二:MPU-6050。MPU-60X0 是全球首例9轴运动处理传感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C或SPI接口输出一个9轴的信号(SPI 接口仅在MPU-6000可用)。MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。综合以上两种种方案,选择

3、方案二。1.2 电机驱动模块的论证与选择方案一:TB6612FNG。体积小,但容易坏。方案二:L298N。具有信号指示,转数可调,抗干扰能力强,具有过电压和过电流保护,可单独控制两台直流电机,可单独控制一台步进电机。综合以上三种方案,选择方案二。2 系统硬件设计 本文设计的两轮自平衡小车采用姿态传感器(MPU6050)监测车身所处的俯仰状态和状态变化率,通过高速微控制器STM32F103RB 完成数据融合处理,得到平滑而稳定车体姿态信息,然后驱动电动机产生前进或后退的加速度来控制车体保持平衡,红外线检测障碍物,蓝牙控制前进后退。结构框图如图。 图 1 系统设计总体结构框图 系统硬件主要由STM

4、32F103RB单片机系统、电源模块、姿态检测模块、串口通讯模块、电机驱动模块等组成。 2.1 STM32F103RB 单片机系统 本设计中控制平台采用ST 意法半导体的STM32F103RB微控制器,STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM CORTEX-M3内核,其最高主频72MHz,在满足平衡控制的调节频率的同时有更多的CPU 资源, 工作电压为5 V。其丰富的内置模块资源可以为姿态检测系统提供12位精度的A/D 转换,同时使用定时器可以产生PWM输出控制电机转速和转向。2.1.1 STM32F103RB 单片机介绍 STM32F103xB增强型系列使

5、用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。 STM32F103xx中等容量增强型系列产品供电电压为2.0V至3.6V,包含-40C至+85C温度范围和-40C至+105C的扩展温度范围。一系列的省电模式保证低功耗应用的要求。STM32F103xx中等容量

6、增强型系列产品提供包括从36脚至100脚的6种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。这些丰富的外设配置,使得STM32F103xx产品容量增强型系列微控制器适合于多种应用场合: 电机驱动和应用控制 医疗和手持设备 PC游戏外设和GPS平台 工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪 警报系统、视频对讲、和暖气通风空调系统等2.1.2单片机最小系统设计本设计采用STM32F103RB单片机为控制器,最小系统原理图如图3-3所示,主要包括单片机供电、复位电路、时钟电路以及BDM接口电路。 系统时钟的选择是在启动时进行,复

7、位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的416MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。图3-3 单片机最小系统及时钟电路原理图 单片机的外部复位电路可以使用按钮和电容构成,也可以使用专门的复位芯片。考虑到产品经济型,本设

8、计中采用了由电阻电容构成的简易复位电路,如图3-5所示。加电后,由于电容的充电时间,RESET保持低电平,单片机复位;一段时间后,电容电量充满,RESET端输出高电平,此时单片机运行。手动复位时,按下手动复位按钮,RESET端保持低电平,单片机复位;释放手动复位按钮后,RESET端输出高电平,单片机工作。图3-5 复位及按键接口电路2.1.3 电源管理模块设计可靠的电源方案是整个硬件电路稳定可靠运行的基础。电源模块由若干相互独立的稳压电路模块组成。这样做可以减少各模块之间的相互干扰。整个系统需要3种电源: VDD = 2.03.6V:VDD引脚为I/O引脚和内部调压器供电。 VSSA,VDDA

9、 = 2.03.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。 VBAT = 1.83.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。图3-6 电源模块电路图2.2 姿态检测模块MPU-6050 姿态检测模块能够精确并稳定地检测出当前的车身姿态,这是本设计两轮自平衡小车实现有效控制的关键。本设计选用MEMS传感MPU6050作为姿态检测传感器。 MPU-6050实物连接图2.2.1 MPU-6050简介MPU-60X0 是全球首例9轴运动处理传

10、感器。它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C或SPI接口输出一个9轴的信号(SPI 接口仅在MPU-6000可用)。MPU-60X0也可以通过其I2C接口连接非惯性的数字传感器,比如压力传感器。 MPU-60X0 对陀螺仪和加速度计分别用了三个16 位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为250,500,1000,2000/秒(

11、dps),加速度计可测范围为2,4,8,16g。一个片上1024 字节的FIFO,有助于降低系统功耗。和所有设备寄存器之间的通信采用400kHz 的I2C 接口或1MHz 的SPI 接口(SPI 仅MPU-6000 可用)。对于需要高速传输的应用,对寄存器的读取和中断可用20MHz 的SPI。 另外,片上还内嵌了一个温度传感器和在工作环境下仅有1%变动的振荡器。芯片尺寸440.9mm,采用QFN 封装(无引线方形封装),可承受最大10000g 的冲击,并有可编程的低通滤波器。 关于电源,MPU-60X0 可支持VDD 范围2.5V5%,3.0V5%,或3.3V5%。另外MPU-6050 还有一

12、个VLOGIC 引脚,用来为I2C 输出提供逻辑电平。VLOGIC 电压可取1.85%或者VDD。 MPU6050电路图2.2.3数字运动处理器(DMP)DMP就是指MPU6050内部集成的处理单元,可以直接运算出四元数和姿态,而不再需要另外进行数学运算。DMP的使用大大简化了四轴的代码设计。DMP是数字运动处理器的缩写,顾名思义mpu6050并不单单是一款传感器,其内部还包含了可以独立完成姿态解算算法的处理单元。如在设计中使用DMP来实现传感器融合算法优势很明显。首先 invensense官方提供的姿态解算算法应该比像楼主这样的小白要可靠的多。其次,由DMP实现姿态解算算法将单片机从算法处理

13、的压力中解放出来,单片机所要做的是等待DMP解算完成后产生的外部中断,在外部中断里去读取姿态解算的结果。这样单片机有大量的时间来处理诸如电机调速等其他任务,提高了系统的实时性。DMP从陀螺仪、加速度计以及外接的传感器接收并处理数据,处理结果可以从DMP寄存器读出,或通过FIFO 缓冲。DMP有权使用MPU的一个外部引脚产生中断。2.3速度检测模块设计两轮自平衡小车的原理是利用地面对车轮的摩擦力抵消车受到的重力,在本系统的控制环节中有两路闭环控制,即倾角闭环控制以及速度闭环控制。为实现速度的闭环控制,必须加入速度检测装置实现速度闭环控制中的反馈环节。本系统测速模块采用OMRON(欧姆龙)公司50

14、0线增量式旋转编码器如图3-11。2.3.1编码器介绍编码器内部为一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位如图3-12。图3-12 编码器A、B相输出波形本系统用OMRON旋转编码器相关参数如表3-1所示:表3-1 编码器参数表项目参数电源电压DC 5V

15、12V,纹波的峰峰值小于5%消耗电流30mA以下分辨率500 脉冲/转输出相A、B、Z 三相输出状态集电极开路输出最高输出响应42kHz输出上升或下降时间1us 以下起动转矩1mNm以下轴允许力径向 10N、轴向 5N允许最高转速5000r/min质量35g2.3.2 编码器电路设计由于编码器采用集电极开路输出,输出波形为矩形波,因此编码器外围电路较为简单。需要在信号输出端接入一个上拉电阻,即可将信号提供给单片机采集数据。如图3-13所示,PULSE引脚为编码器A相,接单片机的脉冲计数口,通过单片机的PACNT模块对输入脉冲进行计数从而获取电机转速。DIR为编码器B相输出,接单片机I/O口,通

16、过A、B相位差进行软件鉴相,从而判断电机转动方向。图3-13编码器接口电路2.4 电机驱动模块 电机的驱动芯片选用L298N 作为驱动芯片。2.4.1 L298N简介L298是SGS公司的产品,内部包含4通道逻辑驱动电路,是一种两相和四相电机的专用驱动器,即内含两个H桥的高电压大电流双全桥式驱动器,接收标准的TTL逻辑电平信号,可驱动46V、2A以下的电机。本设计中直流电机的驱动信号由STM32F103RB提供,信号经过光耦隔离后,传至控制芯片L298N,通过L298N的输出脚与两个电机相连,控制电机运转。L298N的连接方法如图6所示 图6理论分析与计算2.4.2 L298N特点基本特点如下

17、: (1)具有信号指示。(2)转数可调。(3)抗干扰能力强。(4)具有过电压和过电流保护。(5)可单独控制两台直流电机。(6)可单独控制一台步进电机。(7)PWM脉宽平滑调速。(8)可实现正反转。(9)采用光电隔离。3 理论分析与计算3.1 两轮平衡小车数学模型 已知自平衡车高度为,质量为,将其抽象为一级倒立摆,并将倒立摆至于可水平移动的小车上。假设其受外力干扰引起的车体角加速度为,沿垂直于车体方向进行受力分析如图2-7,可以得到自平衡车倾角与车轮移动加速度为以及外力干扰带来的加速度之间的运动方程。图2-7 外力干扰条件下的小车受力分析小车运动微分方程表达式如式2-8: (式2-8)当倾角很小

18、的时候,可以进行线性化处理: ,运动微分方程可简化为: (式2-9)自平衡车静止时,其运动微分方程为: (式2-10)3.2 PID控制器设计3.2.1 PID控制器原理当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量系统需要控制的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成

19、。其输入e (t)与输出u (t)的关系为: (式2-11)其中为比例系数;为积分时间常数;为微分时间常数。PID控制器具有原理简单、使用方便、适应性强、鲁棒性强、对模型依赖少等特点,因此使用PID控制器实现两轮自平衡车的控制是完全可行的。3.2.2 PID控制器设计 由小车静止时其运动方程可得到系统输入输出传递函数: (式2-12) 此时系统具有两个极点:。其中一个极点位于s平面的右半平面。根据奈奎斯特稳定判据可知系统不稳定,因此小车在静止状态不能保持平衡56。由小车受力分析可知小车平衡的条件是提供额外的回复力及阻尼,其来源为车轮与地面的摩擦力。由式2-7可知,车轮提供的加速度的大小是根据角

20、度及角速度的反馈得出,因此需要在控制系统中引入角度及角速度构成比例(P)微分(D)反馈环节,如图2-8所示。图2-8 加入比例微分环节后的控制系统结构图加入比例微分反馈后的系统传递函数为: (式2-13)此时,系统的两个极点为。根据奈奎斯特稳定判据可知,系统稳定需要两个极点都位于s平面的左半平面。要满足这一点,需要g, 0。由此可得出结论,但g, 0时,小车可以保持平衡,这也与上文中小车受力分析的结果相符。在反馈环节中,与角度成比例的控制量称为比例控制;与角速度成比例的控制量称为微分控制(角速度是角度的微分)。因此上面系数,分别称为比例和微分控制参数。其中微分参数相当于阻尼力,可以有效抑制自平

21、衡车振荡。控制系统的输出量为电机控制量,因而小车平衡控制的PID控制器的输出方程可写为:OUT_Motor=Kp*Angle+Kd*Angle_dot (式2-14)式2-14中,OUT_Motor为PID控制输出量,Angle为反馈倾角值,Angle_dot为反馈角速度值,Kp和Kd分别为比例系数及微分系数。3.2.3 PID程序#include #include math.h#include float PID_realize();void pwm(void);extern float Pitch;float SetSpeed=-1.04;/定义目标值float ActualSpeed=0

22、.0;/反馈值float err=0.0;/偏差值float err_last=0.0;/上次偏差值float Kp=135;float Ki=2.7;float Kd=135;float output=0.0;/电压值控制执行器的变量float integral=0.0;/积分量float PID_realize()ActualSpeed=Pitch; err=SetSpeed-ActualSpeed;integral+=err;output=Kp*err+Kd*(err-err_last)+Ki*integral;err_last=err;return output; 3.3 基于卡尔曼滤

23、波的数据融合 卡尔曼滤波器是一种高效率的递归滤波器(自回归滤波器),能够从一系列的不完全及包含噪声的测量中,估计动态系统的状态。卡尔曼滤波器不仅能估计信号的过去和当前状态,甚至能估计将来的状态。卡尔曼滤波器解决离散时间控制过程的一般方法,首先定义模型线性随机微分方程。假设卡尔曼滤波模型k时刻真实状态是从(k-1)时刻推算出来,如下式 (式2-15)式2-15中,是k时刻状态;A是k-1时刻状态变换模型;B是作用在控制器向量上的输入控制模型;是过程噪声,假设其均值为零,协方差矩阵符合多元正态分布: (式2-16)k时刻对应真实状态的测量满足下式: (式2-17)式2-17中是观测模型,将真实控制

24、映射为观测空间;为观测噪声,其均值为零,协方差矩阵符合正态分布: (式2-18)初始状态以及每一时刻的噪声都认为是互相独立的。卡尔曼滤波器的操作主要包括两个阶段:预估与更新。在预估阶段,滤波器根据上一时刻状态,估算出当前时刻状态;在更新阶段,滤波器利用当前时刻观测值优化在预估阶段获得的测量值,以获得一个更准确的新估计值111213。卡尔曼滤波器迭代过程如下:1. 先验状态估计: 2. 先验估计误差协方差 3. 卡尔曼增益 (式2-21)4. 后验状态估计 (式2-22)5. 后验误差协方差 (式2-23)在上面各式中:A:作用在上的n阶矩阵;B:作用在控制向量上的n1输入控制矩阵;H:mn观测

25、模型矩阵,将真实状态空间映射为观测空间;:nn先验估计误差协方差矩阵;:nn后验估计误差协方差矩阵;Q:nn过程噪声协方差矩阵;R:mm过程噪声协方差矩阵;I:n阶单位矩阵;:nm矩阵,称之为卡尔曼增益。4 系统软件设计 4.1 系统软件设计框架系统软件设计框架主要包括:资源模块初始化、姿态信息采集、数据融合、直流电机PID控制。系统软件流程如图9所示。 图9 4.2 资源模块初始化 STM32系统初始化主要完成以下工作:通过锁相环模块(PLL),设定其工作频率为72MHz;将模数转换模块AD1(12位精度)设置为2通道连续采样、ADC1频率为12 MHz、非中断触发;串行通信模块设置为波特率

26、115200、8个数据位、1个停止位、允许收发;定时器T4产生10 ms的定时中断;T1配置为PWM输出模式产生两路10 kHz等。 4.3 两轮小车姿态信息检测 本设计使用的惯性传感器为模拟量输出式,利用STM32F103RB自带的ADC模 块以3.3 V的基准电压进行模数转换,从而量化出陀螺仪和加速度计的输出电压。当车模倾角发生变化时,重力加速度g 便会在加速度传感器的Y轴上形成加速度分量,从而引起该轴输出电压的变化: u = kg sin kg ,式中g 为 k 重力加速度, +(-)900为车模倾角,为加速度传感器灵敏度系数. 当倾角 (-100 +100) 比较小的时候,输出电压的变

27、化近似与倾角成正比. z 为加速度计Z计算出的车模倾角,Vout 为Z轴的输出电压, Voffest 为Y轴平衡点的电压,Vmax 、Vmin 为相对于平衡 点 900 处的电压。同时陀螺仪的电压也会随车模角速度变化而变化,将陀螺仪的量化电压值减去静态电压然后除以陀螺仪的灵敏度以及放大系数,便可得到车模晃动的角速度。将和z送入卡尔曼滤波器进行角度融合。 5 测试方案与测试结果5.1测试方案5.1.1硬件连接检测经检测,小车线路连接正常,能够正常工作。5.1.2小车功能检测 1.小车能实现长时间稳定的自平衡站立。 2.小车能够在蓝牙控制下长距离匀速前进,后退。 3.小车能够在蓝牙控制下左转,右转。 4.小车能够在蓝牙控制下加速前进,后退一段距离。 5.小车在遇到黑线时,蜂鸣器会警告。 5.2 测试分析与结论根据上述测试数据,可以得出结论:本组成员做的两轮自平衡小车能完成题目各种要求,且有自主发挥空间。综上所述,本设计达到设计要求。

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

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