双轮自平衡小车机器人系统设计及制作.docx
《双轮自平衡小车机器人系统设计及制作.docx》由会员分享,可在线阅读,更多相关《双轮自平衡小车机器人系统设计及制作.docx(33页珍藏版)》请在冰豆网上搜索。
双轮自平衡小车机器人系统设计及制作
燕山大学
课程设计说明书
题目:
双轮自平衡小车机器人系统设计及制作
学院(系):
机械工程学院
年级专业:
12级机械电子工程
组 号:
3
学生姓名:
指导教师:
史艳国姚建涛李艳文史小华 张庆玲
唐艳华 李富娟刘晓飞刘正操 胡浩波
日 期:
2015.11
燕山大学课程设计(论文)任务书
院(系):
机械工程学院 基层教学单位:
机械电子工程系
组号
学生姓名
设计题目
双轮自平衡小车机器人系统设计及制作
设
计
要
求
在课程研究项目所搭建的伺服控制系统的基础上,自主设计加工双轮车的机械系统,并完成智能双轮自平衡车系统装配及调试。
技
术
参
数
所搭建的双轮车系统需要具备以下基本功能:
a.具备一定的自平衡能力,自动检测自身机械系统的倾角并完成姿态的调整;
b.具备一定的负载承载能力,在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡;
c.具备速度调节能力,能够以不同的运动速度实现双轮车系统的前进、后退、左转及右转等动作;
d.具备无线通讯功能,能够实现双轮自平衡车系统的无线远程操作控制。
工
作
量
(1)资料分析:
查阅相关文献资料,对资料进行分析总结。
(2)机器人总体设计:
确定机器人的具体任务要求,根据任务初步拟定机器人的技术参数、运动形式、机械结构、驱动方案、传动方案、控制方案等。
(3)机器人机械结构设计:
将机器人分解为车身结构、机械臂和手爪等若干部分,分别对各个结构的关键部件进行详细设计并校核,绘制机器人总装图和关键零部件图。
(4)传感和信息检测及信息传输:
根据任务要求,完成相关信息检测、处理,并完成信息的正确传输。
(4)运动控制方案设计;基于传感信息,采用单片机完成机器人控制系统硬件和软件的设计和系统调试。
(5)编制课程设计说明书
工
作
计
划
(1)资料查阅、分析总结,所需天数1天
(2)总体方案设计,所需天数2天
(3)机械结构设计,所需天数2天
(4)传感、信息传输和运动控制系统的设计,所需天数2天
(5)关键零部件的设计制作,所需天数2天
(6)控制程序编码及调试,所需天数3天
(7)绘制总装图和关键零件图,所需天数2天
(8)系统整体装配及调试ﻩ所需天数3天
(9)编制课程设计说明书ﻩ所需天数2天
(10)答辩考核、演示,所需天数1天
参考
资料
通过校园网在我校订阅的电子资料库中可以搜索到大量的有关机电一体化以及电机和电力拖动的参考资料。
同学们也可到学校的图书馆查找纸质期刊资料。
机械学院的计算机中心上班时间免费对本院学生开放。
指导教师签字
基层教学单位主任签字
摘要
两轮自平衡小车是一种非线性、多变量、强耦合、参数不确定的复杂系统,他体积小、结构简单、运动灵活,适合在狭小空间内工作,是检验各种控制方法的一个理想装置,受到广大研究人员的重视,成为具有挑战性的课题之一。
两轮自平衡小车系统是一种两轮左右并行布置的系统。
像传统的倒立一样,其工作原理是依靠倾角传感器所检测的位姿和状态变化率结合控制算法来维持自身平衡。
本设计通过对倒立摆进行动力学建模,类比得到小车平衡的条件。
从加速度计和陀螺仪传感器得出的角度。
运用卡尔曼滤波优化,补偿陀螺仪的漂移误差和加速度计的动态误差,得到更优的倾角近似值。
通过光电编码器分别得到车子的线速度和转向角速度,对速度进行控制。
根据控制调节参数,实现两轮直立行走。
通过调节左右两轮的差速实现小车的转向。
制作完成后,小车实现了在无线蓝牙通讯下前进、后退、和左右转向的基本动作。
此外小车能在正常条件下达到自主平衡状态。
并且在适量干扰下,小车能够自主调整并迅速恢复稳定状态。
关键词:
自平衡陀螺仪 控制调试
ﻬ前言
移动机器人是机器人学的一个重要分支,对于移动机器人的研究,包括轮式、腿式、履带式以及水下式机器人等,可以追溯到20世纪60年代。
移动机器人得到快速发展有两方面原因:
一是其应用范围越来越广泛;二是相关领域如计算、传感、控制及执行等技术的快速发展。
移动机器人尚有不少技术问题有待解决,因此近几年对移动机器人的研究相当活跃。
近年来,随着移动机器人研究不断深入、应用领域更加广泛,所面临的环境和任务也越来越复杂。
机器人经常会遇到一些比较狭窄,而且有很多大转角的工作场合,如何在这样比较复杂的环境中灵活快捷的执行任务,成为人们颇为关心的一个问题。
双轮自平衡机器人概念就是在这样的背景下提出来的。
两轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。
同时由于它具有体积小、运动灵活、零转弯半径等特点,将会在军用和民用领域有着广泛的应用前景。
因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。
本论文主要叙述了基于32控制的两轮自平衡小车的设计及实现的整个过程。
主要内容为两轮自平衡小车的平衡原理,直立控制,速度控制,转向控制及系统定位算法的设计。
通过此设计使小车具备一定的自平衡能力、负载承载能力、速度调节能力和无线通讯功能。
小车能够自动检测自身机械系统的倾角并完成姿态的调整,并在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡。
能够以不同运动速度实现双轮车系统的前进、后退、左转及右转等动作,同时也能够实现双轮自平衡车系统的无线远程控制操作
摘要ﻩI
前言
第1章 项目任务ﻩ1
1.1项目概述1
1.2项目内容ﻩ2
1.3预期结果2
第2章 方案设计ﻩ2
2.1 芯片的选择2
2.2电机驱动的选择2
2.3 陀螺仪的选择3
第3章平衡车控制原理4
3.1控制系统要求分析4
3.2平衡控制原理5
3.3 平衡车数学模型5
3.4控制原理ﻩ9
3.5 调速原理ﻩ10
第4章 硬件设计11
4.1电路原理图11
4.2芯片的电路设计ﻩ11
4.3电机驱动的电路设计ﻩ12
4.4陀螺仪的电路设计ﻩ13
4.5 编码器的电路设计ﻩ14
第5章 平衡车结构设计ﻩ15
5.1 元件清单及成本ﻩ15
5.2三维建模ﻩ16
第6章 软件设计18
6.1 程序框图18
6.2源代码18
第7章实验测试19
7.1软件简介19
7.2测试过程及结果19
7.3 最终实物图20
第8章市场前景调查分析ﻩ21
结论ﻩ22
心得体会23
参考文献ﻩ24
致谢ﻩ25
附录126
第1章 项目任务
1.1项目概述
移动机器人是机器人学的一个重要分支,对于移动机器人的研究,包括轮式、腿式、履带式以及水下式机器人等,可以追溯到20世纪60年代。
移动机器人得到快速发展有两方面原因:
一是其应用范围越来越广泛;二是相关领域如计算、传感、控制及执行等技术的快速发展。
移动机器人尚有不少技术问题有待解决,因此近几年对移动机器人的研究相当活跃。
近年来,随着移动机器人研究不断深入、应用领域更加广泛,所面临的环境和任务也越来越复杂。
机器人经常会遇到一些比较狭窄,而且有很多大转角的工作场合,如何在这样比较复杂的环境中灵活快捷的执行任务,成为人们颇为关心的一个问题。
双轮自平衡机器人概念就是在这样的背景下提出来的。
两轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、强耦合的系统,是检验各种控制方法的典型装置。
同时由于它具有体积小、运动灵活、零转弯半径等特点,将会在军用和民用领域有着广泛的应用前景。
因为它既有理论研究意义又有实用价值,所以两轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。
本文是对本质不稳定两轮小车自平衡控制问题的研究。
并通过无线蓝牙远程控制小车前进、后退、和左右转向等基本动作。
1.2项目内容
(1)设计两轮自平衡小车驱动电路。
选择合适的电机、传感器和微控制单元并合理设计相应的外围电路,最终完成两轮自平衡小车系统的硬件设计。
(2)完成驱动板的调试。
通过对驱动触发脉冲、输出以及电机空载进行实验,从功能上验证了其驱动板基本能够满足系统的要求。
(3)处理传感器数据。
选用惯性导航器件陀螺仪和加速度计,详细分析两者的工作原理和各自单独使用所存在的问题。
(4)研究自平衡小车的控制策略。
最终实现平衡车的左转、右转、前进、后退等功能。
1.3预期结果
(1)具备一定的自平衡能力,自动检测自身机械系统的倾角并完成姿态的调整;
(2)具备一定的负载承载能力,在加载一定重量的重物时能够快速做出调整并保证自身系统的自我平衡;
(3)具备速度调节能力,能够以不同运动速度实现双轮车系统的前进、后退、左转及右转等动作;
(4)具备无线通讯功能,能够实现双轮自平衡车系统的无线远程控制操作。
第2章 方案设计
2.1主控芯片的选择
32单片机作为主控芯片。
此芯片是以的系列为内核的单片机,相对其他单片机,外设丰富,主频高,价格便宜,有专门的软件库,操作简单,调试方便,低功耗。
强型系列时钟频率达到72,是同类产品中性能最高的产品;基本型时钟频率为36,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
2.2电机驱动的选择
6612是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流桥结构,双通道电路输出,可同时驱动2个电机。
6612每通道输出最高1.2A的连续驱动电流,启动峰值电流达23.2A(连续脉冲/单脉冲);4种电机控制模式:
正转/反转/制动/停止支持频率高达100;待机状态;片内低压检测电路及热停机保护电路;工作温度:
-20~85℃24小型贴片封装。
6612的主要引脚功能(如图2.2.1):
2、12为控制信号输入端102、B0102为2路电机控制输出端为正常工作/待机状态控制引脚(4.5~15 V)和(2.7~5.5 V)分别为电机驱动电压输入和逻辑电平输入端。
图2.16612引脚
6612是基于的H桥集成电路,其效率高于晶体管H桥驱动器。
相比L293D每通道平均600 的驱动电流和1.2 A的脉冲峰值电流,它的输出负载能力提高了一倍。
相比L298N的热耗性和外围二极管续流电路,它无需外加散热片,外围电路简单,只需外接电源滤波电容就可以直接驱动电机,利于减小系统尺寸。
对于信号,它支持高达100 的频率,相对以上2款芯片的5 和40 也具有较大优势。
2.3 陀螺仪的选择
60X0 是全球首例9 轴运动处理传感器。
它集成了3 轴 陀螺仪,3 轴加速度计,以及一个可扩展的数字运动处理器( ),可用I2C接口连接一个第三方的数字传感器,比如磁力计。
扩展之后就可以通过其I2C 或 接口输出一个9 轴的信号( 接口仅在6000 可用)。
60X0 也可以通过其I2C 接口连接非惯性的数字传感器,比如压力传感器。
60X0 对陀螺仪和加速度计分别用了三个16 位的,将其测量的模拟量转化为可输出的数字量。
为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/秒(),加速度计可测范围为±2,±4,±8,±16g。
一个片上1024 字节的,有助于降低系统功耗。
和所有设备寄存器之间的通信采用400 的I2C 接口或1 的 接口( 仅6000 可用)。
对于需要高速传输的应用,对寄存器的读取和中断可用20 的。
另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。
芯片尺寸4×4×0.9,采用 封装(无引线方形封装),可承受最大10000g 的冲击,并有可编程的低通滤波器。
关于电源,60X0 可支持 范围2.5V±5%,3.0V±5%,或3.3V±5%。
另外6050 还有一个 引脚,用来为I2C 输出提供逻辑电平。
电压可取1.8±5%或者。
第3章平衡车控制原理
3.1控制系统要求分析
根据系统要求,小车必须要能够在无外界干预下依靠一对平行的车轮保持平衡,并完成前进,后退,左右转弯等动作。
分析系统要求可知,保持小车直立和运动的动力都来自于小车的两只车轮,车轮由两只直流电机驱动。
因此,从控制角度来看,可以将小车作为一个控制对象,控制输入量是两个车轮的转动速度。
整个控制系统可以分为三个子系统:
(1)小车平衡控制以小车倾角为输入量,通过控制两个电机的正反转保持小车
平衡。
(2)小车速度控制:
在保持平衡的基础上,通过调节小车倾角实现对速度的控制,实际上还是演变为对电机的控制实现小车的速度控制。
(3)小车方向控制:
通过控制两个电机间的转速不同实现转向。
小车直立和方向控制任务都是直接通过控制车模两个后轮驱动电机完成的,而速度控制则是通过调节小车倾角完成的。
小车不同的倾角会引起车模的加减速,从而达到对小车速度的控制。
三个子系统各自独立进行控制。
由于最终都是对同一个控制对象(小车的电机)进行控制,所以各个子系统之间存在着耦合。
为了方便分析,在分析其中之一时,假设其它控制对象都已经达到稳定。
比如在速度控制时,需要小车已经能够保持直立控制;在方向控制时,需要小车能够保持平衡和速度恒定;同样,在小车平衡控制时,也需要速度和方向控制已经达到平稳。
这三个任务中保持小车平衡是关键。
由于小车同时受到三种控制的影响,从小车平衡控制的角度来看,其它两个控制就成为干扰。
因此对小车速度、方向的控制应该尽量保持平滑,以减少对平衡控制的干扰。
以速度调节为例,需要通过改变车模平衡控制中小车倾角设定值,从而改变车模实际倾斜角度,达到速度控制的要求。
为了避免影响车模平衡控制,这个车模倾角的改变需要非常缓慢的进行。
其中平衡控制是系统的最基本要求,也是整个控制系统的难点。
3.2平衡控制原理
控制小车平衡的直观经验来自人类日常生活经验。
如人类身体拥有丰富的感知器官,通过大脑调节便可以控制腰部及腿部肌肉保持人体的直立。
而一般人通过简单训练就可以让一根直木棍在手指尖保持直立不倒。
这需要两个条件:
一个是托着木棍的手指可以自由移动;另一个是人的眼睛可以观察木棍的倾斜角度及倾斜趋势(角速度)。
这两个条件缺一不可,实际上这就是控制系统中的负反馈机制。
自平衡车的控制也是通过负反馈来实现的,及在指尖保持木棍直立比较则相对简单。
由于小车只依靠两个车轮着地,车轮及地面会发生相对滚动使得小车倾斜。
而小车上装载的姿态检测系统能够对小车的倾斜状况进行实时检测,通过控制器控制车轮转动,抵消在这个维度上的倾斜力矩便可以保持小车平衡,如图3.1所示。
图3.1小车平衡原理
3.3 平衡车数学模型
为了准确控制车轮转动,保持小车始终稳定的直立平衡,需要对自平衡车进行运动学分析并建立其数学模型,从而更好的设计控制系统。
为了更加直观的分析系统受力情况,下面将直立小车及单摆模型进行对比说明小车的受力情况。
重力场中使用细线悬挂的重物经抽象化便形成理想化的单摆模型,两轮自平衡车可以看作一级倒立摆模型进行分析,如图3.2所示。
图3.2 一级倒立摆模型示意图
对普通单摆进行受力分析如图3.3所示。
图3.3 单摆受力分析
当物体离开平衡位置后便会受到重力及线的合作用力,驱使物体回复至平衡位置。
这个力称为回复力,其大小为:
(式3-1)
在偏移角很小情况下,回复力及偏移角之间的大小成正比,方向相反。
在此回复力的作用下,单摆进行周期运动。
由于空气阻力的存在,单摆最终会停止在平衡位置。
空气阻尼力及单摆的速度成正比,方向相反。
阻尼力越大,单摆会越快停止在平衡位置。
可得出,单摆保持平衡的条件有两点:
(1)受到及偏移相反的回复力作用;
(2)受到及运动速度相反的阻尼力作用。
如果没有阻尼力,单摆会在平衡位置左右晃动而无法停止。
如果阻尼力过小(欠阻尼),单摆会在平衡位置震荡。
阻尼力过大(过阻尼)则导致单摆恢复平衡时间加长。
因而存在一个临界阻尼系数,使单摆稳定在平衡位置所需时间最短。
对静止的一级倒立摆模型进行受力分析(不考虑车轮及地面的滚动摩擦力),如图3.4所示。
图3.4静止受力分析
由一级倒立摆模型静止时的受力分析可知,其回复力大小为:
(式3-2)
静止的倒立摆之所以不能像单摆一样可以稳定在平衡位置,是因为在偏离平衡位置时所受回复力及其偏移方向相同,而不是相反,因此不能回复至平衡位置,而是加速偏离垂直位置直至倾倒。
经分析可知,要控制倒立摆使其能够及单摆一样能够回复至平衡位置并保持稳定有两种方案。
一种是改变重力方向;另一种是在系统中增加另外一种力使合回复力及偏移方向相反。
显然,只能通过第二种方法实现倒立摆的平衡,即在系统中额外增加一种力使合回复力及偏移方向相反。
根据牛顿第一运动定律(即惯性定律),任何一个物体在不受外力或受平衡力的作用时,总是保持静止状态或匀速直线运动状态,直到有作用在其上面的外力迫使其改变这种状态为止。
牛顿运动定律只在惯性参考系中成立。
在非惯性参考系中,由于惯性的存在,物体会受惯性力。
通过控制倒立摆底部车轮,使其做加速运动。
在此条件下再次分析倒立摆受力情况,如图3.5所示。
图3.5外力干扰下受力分析
倒立摆之所以不能像单摆一样可以稳定在垂直位置,就是因为在它偏离平衡位置的时候,所受到的回复力及位移方向相同,而不是相反!
因此,倒立摆便会加速偏离垂直位置,直到倒下。
如何通过控制使得倒立摆能够像单摆一样,稳定在垂直位置呢?
要达到这一目的,只有两个办法:
一个是改变重力的方向;另一个是增加额外的受力,使得恢复力及位移方向相反才行。
显然能够做到的只有第二种方法。
控制倒立摆底部车轮,使得它作加速运动。
这样站在小车上(非惯性系,以车轮作为坐标原点)分析倒立摆受力,它就会受到额外的惯性力,该力及车轮的加速度方向相反,大小成正比。
这样倒立摆所受到的回复力为:
(式3-3)
式中,由于
很小,所以进行了线性化。
假设负反馈控制是车轮加速度a及偏角
成正比,比例为
。
如果比例
g(g是重力加速度)那么回复力的方向便于位移方向相反了。
此外,为了使得倒立摆能够尽快地在垂直位置稳定下来,还需要增加阻尼力。
虽然存在着空气和摩擦力等阻尼力,相对阻尼力比较小。
因此需要另外增加控制阻尼力。
增加的阻尼力及偏角的速度成正比,方向相反。
因此,上式可变为:
(式3-4)
按照上面的控制方法,可把倒立摆模型变为单摆模型,能够稳定在垂直位置。
因此,可得控制车轮加速度的控制算法:
(式3-5)
式中,
为小车倾角;
为角速度;
均为比例系数;两项相加后作为车轮加速度的控制量。
只要保证在
g,
0条件下,可以使得小车像单摆一样维持在直立状态。
总结控制小车直立稳定的条件如下:
(1)能够精确测量小车倾角
的大小和角加速度
的大小;
(2)可以控制车轮的加速度。
3.4控制原理
首先给出一个典型的算法框图,如下图所示:
图3.6算法框图
在这里我们先将此图简化为仅剩P控制部分的框图:
图3.7P算法框图
比例调节的公式是:
u(t) = * e(t),e(t)=r(t)–c(t) (式3-6)
其中:
r(t)是设定值,就是你想让被控系统某个参数所要保持的状态值;c(t)是系统的这个参数的实际状态值。
ﻫ比例调节的过程就是即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,通过*e(t)产生控制作用以减小偏差。
理想的情况是有多大的误差,通过这个调节作用之后,就能将误差消除。
但实际情况并非都是那么理想,小了,修正不到位,大了就会出现矫枉过正的现象。
ﻫ对于自平衡小车来说,要控制的这个参数就是小车的倾斜角度,就是想办法让这个小车停在你所设定的角度上,这样小车就能稳定平衡了。
ﻫ这样我们就知道了,控制的作用就是想让被控系统稳定在你所设定的某个值上。
拿小车的平衡来说就是让小车的倾斜角度及其物理(就是小车不控制时,能够自然稳定)平衡角度一致,始终保持在这个倾斜状态。
对于有些结构比较好的小车,仅比例这一项,在没有大的扰动的情况下,的确就能稳定的控制小车平衡。
但往往情况并非这么理想,所以还要用到积分项I或微分项D。
那么实际会出现小车来回摆动,或者始终往某个方向倾斜,造成小车往一边跑,最后控制不住就倒地了。
先说说来回摆动的问题吧,来回摆动是不是就是小车有一定的倾斜转动角速度,角速度就是角度的微分。
要不想让他摆动,就是控制这个角速度为0,这就不摆动了。
那么,我们增加D项,就能达到这个目的,虽然不是绝对的解决,但还是明显的改善了很多的。
ﻫ 下面说下始终往一边偏的问题,如果能不往一边偏,仅来回摆动,也就是这个角度一会大、一会小,一会正、一会负,经过积分,这个角度平均值几乎是0,如果往一边偏的话,这个平均值就是某个不为0的值了,这是我们加上I项就能克服这个问题了。
总结一下控制:
对于角度环来说:
P是消除角度的误差,I是消除角度累积的误差,D是消除角度变化率(角速度)的误差;同理,对于速度环来说:
P是消除速度的误差,I是消除速度累积(位置)的误差,D是消除速度变化率(加速度)的误差。
3.5 调速原理
对于电机的转速调整,我们是采用脉宽调制()办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端2 和5 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机来实现脉宽调制,通常的方法有两种:
(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
(2)硬件实验自动产生 信号,不占用 处理的时间。
第4章硬件设计
4.1 电路原理图
图4.1 电路原理图
4.2 主控芯片的电路设计(32)
公司的高性能”3”内核
1.25,而7只有0.95
1μs的双12位,4兆位秒的,18兆位秒的,18的翻转速度
一流的外设,低功耗,最大的集成度,简单的结构和易用的工具
在72时消耗36(所有外设处于工作状态),待机时下降到2μA
复位电路、低电压检测、调压器、精确的振荡器等
图4.232引脚
4.3电机驱动的电路设计(6612)
图4.36612引脚
口接单片机的口清零电机全部停止,置1则通过12,1,2来控制正反转,接12V以内电源,接5V电源,接地,
和分别接接单片机的口,A01和2接电机1的两个脚。
1和2接电机2的两个脚。
表4-1电机1真值表
1
0
0
1
2
0
1
0
停止
正转
反转
表4-2 电机2真值表
1
0
0
1
2
0
1
0
停止
正转
反转
4.4 陀螺仪的电路设计
60X0 是全球首例9 轴运动处理传感器。
它集成了3 轴 陀螺仪,3 轴加速度计,以及一个可扩展的数字运动处理器,可用I2C接口连接一个第三方的数字