1、 中北大学 课 程 设 计 说 明 书 学生姓名 : *杰 学 号: * 学 院 : 仪器与电子学院 专 业 : * 题 目 : 基于 ARM的两轮自平衡车模型系统设计 指导教师: 李锦明 职称 : 副教授 2015 年 1 月 30 日 摘 要 近年来,两轮自平衡车的研究与应用获得了迅猛发展。本文提出了一种两轮自平衡小车的设计方案 ,采用陀螺仪 L3G4200以及 MEMS加速度传感器 MMA7260构成小车姿态检测装置,使用 卡尔曼 滤波完成陀螺仪数据与加速度计数据的数据融合。系统选用飞思卡尔 32位单片机 Kinetis K60为控制核心,通过滤波算法实现车身控制,人机交互等。 整个系统
2、制作完成后,各个模块能够正常并协调工作,小车可以在无人干预条件下实现自主平衡。同时在引入适量干扰情况下小车能够自主调整并迅速恢复稳定状态。 关键词: 两轮自平衡 陀螺仪 姿态检测 卡尔曼滤波 数据融合 目 录 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
3、 致 谢 . 21 1 1 课程设计目的 ( 1)掌握嵌入式系统的一般设计方法和设计流程; ( 2) 学习嵌入式系统设计,掌握相关 IDE 开发环境的使用方法; ( 3)掌握 ARM 的应用; ( 4)学习掌握嵌入式系设计的全过程; 2 设计内容和要求 2.1 设计要求 ( 1)学习掌握基于 ARM Cortex-M4 内核的 Kinetis K60 系列单片 机的工作原理及应用; ( 2)学习掌握加速度计、陀螺仪的工作原理及应用; ( 3)设计基于 PID 控制的两轮自平衡车模型系统的工作原理图及 PCB 版图; 2.2 研究意义 近年来,随着电子技术的发展与进步,移动机器人的研究不断深入,
4、成为目前科学研究最活跃的领域之一,移动机器人的应用范围越来越广泛,面临的环境和任务也越来越复杂,这就要求移动机器人必须能够适应一些复杂的环境和任务。比如,户外移动机器人需要在凹凸不平的地面上行走,有时环境中能够允许机器人运行的地方比较狭窄等。如何解决机器人在这些环境中运行的问题,逐渐成 为研究者关心的 问题 1。 两轮自平衡机器人的概念正是在这样一个背景下提出来的,这种机器人区别于其他移动机器人的最显著的特点是:采用了两轮共轴、各自独立驱动的工作方式 (这种驱动方式又被称为差分式驱动方式 ),车身的重心位于车轮轴的上方,通过轮子的前后移动来保持车身的平衡,并且还能够在直立平衡的情况下行驶。由于
5、特殊的结构,其适应地形变化能力强,运动灵活,可以胜任一些复杂环境里的工作。 两轮自平衡机器人自面世以来,一直受到世界各国机器人爱好者和研究者的关注,这不仅是因为两轮自平衡机器人具有独特的外形和结构,更重要 的是因为其自身的本质不稳定性和非线性使它成为很好的验证控制理论和控制方法的平台,具有很高的研究价值。 2 2.3 研究内容 本课题设计了一款两轮自平衡小车,研究了车身姿态检测中陀螺仪与加速度传感器的互补特性,并根据其特性比较并设计滤波算法,包括卡尔曼滤波等常用滤波算法。 PID 控制算法的实现以及直流电机调速的研究。具体包括: (1) 机器人本体设计:包括机械,重心调整,电气系统设计等,为进
6、一步研究提供良好的平台; (2) 信号调理及控制部分电路设计:陀螺仪输出信号需要经过进一步滤波放大,因此需要设计 信号调理电路,同时控制核心需要构建相关输入输出模块及人际交互设备,因此需要对主控单元电路进行设计。同时还需要设计直流电机驱动电路。 (3) 基于卡尔曼滤波的数据融合:由于陀螺仪测量的角速度只在短时间内稳定而加速度传感器的自身白噪声很严重,因此根据其互补特性设计卡尔曼滤波器以得到准确稳定的角度和角速度。 (4) PID 控制算法:包括两路闭环控制。小车的倾角闭环控制以及直流电机的闭环速度控制。 3 设计方案及实现情况 3.1 两轮平衡车的平衡原理 控制小车平衡的直观经验来自人类日常生
7、活经验。如人类身体拥有 丰富的感知器官,通过大脑调节便可以控制腰部及腿部肌肉保持人体的直立。而一般人通过简单训练就可以让一根直木棍在手指尖保持直立不倒。这需要两个条件:一个是托着木棍的手指可以自由移动;另一个是人的眼睛可以观察木棍的倾斜角度与倾斜趋势 (角速度 )4。这两个条件缺一不可,实际上这就是控制系统中的负反馈机制,如图 1 所示。 图 1 保持木棍直立的反馈控制系统 自平衡车的控制也是通过负反馈来实现的,与在指尖保持木棍直立比较则相对简单。由于小车只依靠两个车轮着地,车轮与地面会发生相对滚动使得小车倾斜。而小车上装载3 的姿态检测 系统能够对小车的倾斜状况进行实时检测,通过控制器控制车
8、轮转动,抵消在这个维度上的倾斜力矩便可以保持小车平衡,如图 2 所示。 图 2 通过车轮转动保持小车平衡 3.2 系统方案设计 3.2.1 主控芯片方案 方案一:采用 ATMEL 公司的 AVR 单片机 AVR 单片机硬件结构采取 8 位机与 16 位机的折中策略,即采用局部寄存器存堆 (32 个寄存器文件 )和单体高速输入 /输出的方案 (即输入捕获寄存器、输出比 较匹配寄存器及相应控制逻辑 )。提高了指令执行速度(1Mips/MHz),克服了瓶颈现象,增强了功能。其中的一款 单片机型号为 Atmega128,有64 个引脚,最高可达到 16M 主频, IIC, UART, SPI 接口都比
9、较丰富,但价格高。 方案二:采用宏晶科技有限公司的 STC12C5A60S2 增强型 51 单片机作为主控芯片。此芯片内置 ADC(模数转换 )和 IIC 总线接口,且内部时钟不分频,可达到 1MPS。性价比低。 考虑到此系统的复杂度,需要与传感器进行 IIC 通讯,输出灵活可控制的 PWM 信号,以及进行大量的数学运算。从性能和价格上综合考虑选择方案一,即用 Kinetis K60 作为本系统的主控芯片,由于外设比较简单,只需要 IIC 和 PWM 通道,因此具体型号定位为K60N512VM100。 方案三:采用 freescale 公司 Kinetis K60 系列单片机作为主控芯片。 K
10、inetis K60 系列单片机 ,工作电压 1.71-3.6V,闪存的写电压为 1.71-3.6V,采用 ARM Cortex-M4 内核 ,其性能可达 1.25DhrystoneMIPS/MHz。该系列提供高达 180MHz 的性能和 IEEE1588 以太网 MAC,4 用于工业自动化环境中的精确的、实时的时间控制。硬件加密支持多个算法,以最小的 CPU负载提供快速、安全的数据传输和存储。系统安 全模块包括安全密钥存储和硬件篡改检测,提供用于电压、频率、温度和外部传感(用于物理攻击检测)的传感器 2。 3.2.2 姿态检测传感器方案 本系统采用的加速度计是三轴加速度计 MMA7260。该
11、加速度传感器是一种低 g 值的传感器,输出信号很大,不需要再进行放大。通过 GSEL1 和 GSEL2 脚选择灵敏度,本系统设置其灵敏度为 800mv/g4。电路如图 3 所示。 图 3 加速度计 MMA7260 接口电路图 本方案采用的陀螺仪传感器为 L3G4200。 L3G4200D 是意法半导体 (ST)近日推出一款业界 独创、采用一个感应结构检测 3 条正交轴向运动的 3 轴数字陀螺仪。该 3 轴数字陀螺仪让用户可以设定全部量程,量程范围从 250 dps 2000 dps,低量程数值用于高精度慢速运动测量,而高量程则用于测量超快速的手势和运动 4。这款器件提供一个 16 位数据输出,
12、以及可配置的低通和高通滤波器等嵌入式数字功能。与加速度传感器的数字接口一致,也是通过用 SDA 和 SCL 与主控芯片的硬件 IIC 接口进行通讯,采用 3.3V 供电,其应用电路如图 4 所示。 5 图 4 陀螺仪传感器电路 3.2.3 电机选择方案 方案一 :直流无刷电机。直流无刷电机具有直流有刷电机机械特性好、调速范围宽等优点,而且无刷电机没有换向器和电刷,可靠性高,寿命长。但是无刷电机的驱动电路复杂,而且在本设计中小车为实验性质,车身较小,市面上很难找到大小合适的直流无刷电机。 方案二:步进电机。步进电机的选择角度正比于脉冲数,有较宽的调速范围,可以采用开环方式控制;步进电机有较大的输
13、出转矩;有优秀的起制动性能;控制精度较高,误差不会累积。但是步进电机步距角固定,分辨率缺乏灵活性,而且步进驱动时容易造成车体震荡,不利于小车的稳定。步进电机虽然可以使 用细分驱动方式克服上述缺点,但是细分驱动电路结构复杂,而且功耗增大不适合用于电池供电的应用上。 方案三:直流电机。直流有刷电机具有机械特性硬,响应速度快,调速范围宽的特点,满足两轮自平衡小车对灵敏性、快速性等要求,虽然电机的电刷会是电机的寿命缩短,还会引发电磁干扰。但是由于本设计负载较轻,换向器和电刷的损耗较低。小车采用多层机械结构,电机驱动电路与其他电路分离,有效降低电磁干扰 5。 综上所述,本设计使用两个 7.2V 的直流有
14、刷电机驱动两轮自平衡小车模型。 6 3.3 系统最终方案 使用 K60 为主控芯片,通过 IIC 接口读取陀螺仪传感器 L3G4200 和加速度传感器MMA7260 的数据,再将两者数据融合测出小车的姿态,最终通过 PID 输出 PWM 电机控制信号,由电机驱动完成对电机的控制。此系统方框图如图 5 所示。 图 5 系统方框图 3.3.1 主控电路 本设计的两轮自平衡小车采用 K60N512VM100 单片机为主控芯片。 Kinetis k60 是基于ARM Cortex-M4 具有 超强可扩展性的低功耗、混合信号微控制器。主控及其外围电路如图6 所示 图 6 主控芯片 编码器电路 K60 主
15、控芯片 电机驱动 加速度传感 器MMA7260 陀螺仪L3G4200 状态显示 7 K60N512VM100 芯片电源类引脚, BGA封装 22个, LQFP封装 27个,其中 BGA 封装 的芯片有五个引脚未使用( A10、 B10、 C10、 M5 和 L5)。芯片使用多组电源引脚分别为内 部电压调节器、 I/O 引脚驱动、 A/D 转换电路等电路供电,内部电压调节器为内核和振荡器 等供电。为了电源稳定, MCU 内部包含多组电源电路,同时给出多处电源引出脚,便于外 接滤波电容。为了电源平衡, MCU 提供了内部相连的地 的多处引出脚,供电路设计使用 5。 K60系列 MCU具有 IEEE
16、1588以太网、全速和高速 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 编码器电路 为了使用闭环控制,我们在模型上附加了编码器。和其他元件相比,选用编码器可以使电路更加完善,信号更加精确。编码器功耗低,重量轻,抗冲击抗震动,精度高,寿命长,非常
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。