机器人,设计,论文,平衡_第1页
机器人,设计,论文,平衡_第2页
机器人,设计,论文,平衡_第3页
机器人,设计,论文,平衡_第4页
机器人,设计,论文,平衡_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分类号 密级 编号 本科毕业论文(设计) 题目题目 单轴双轮自平衡机器人的设计与制作单轴双轮自平衡机器人的设计与制作 系 别 专 业 名 称 电子信息科学与技术 年 级 学 生 姓 名 学 号 指 导 教 师 二一六年四月目 录1. 绪论绪论.11.1 引言.11.2 本文研究的内容.22.理论分析理论分析.32.1 自平衡小车的物理建模.22.2 PID 控制技术.82.3 简易对称互补滤波技术.93.系统设计系统设计.133.1 硬件设计方案论证.93.2 软件设计方案论证.94. 综合调试综合调试.145. 总结总结.13参考文献参考文献.15附录附录 部分程序代码部分程序代码.16摘要

2、:摘要:单轴双轮自平衡机器人是一个极不稳定的系统,常用来检验控制算法的有效性。本文主要综述了单轴双轮自平衡系统的研究现状,以及单轴双轮自平衡系统的研究价值。然后通过物理建模得到了单轴双轮自平衡系统的运动学特性,并结合传感器技术和自动控制理论提出了一个单轴双轮自平衡小车的设计方案。采用了陀螺仪和加速度传感器分别对车体倾角进行检测,利用对称互补滤波算法对检测到的数据进行融合得到精确的车体倾角,再引入 PID 技术对车体姿态进行精确控制。最后对论文所做的工作进行了总结,对未来的研究和发展做出了展望。关键词:关键词:自平衡 电机驱动 PID 技术 陀螺仪 简易对称互补滤波器Abstract:The u

3、niaxial two-wheeled self-balancing robot is a very unstable system, so often used to test the effectiveness of the control algorithm.In recent years many experts from home and abroad have had a deep research on the theory of uniaxial two-wheeled self-balancing,and the theory was greatly promoted. Th

4、en through the physical modeling the kinematic characteristics was found,and Combined with sensor technology and automatic control theory a design was Presented. The gyroscope and accelerometer sensors are respectively on robot inclination detection, complementary symmetry filtering algorithm was us

5、ed to deal with data and get the precise body inclination ,Then introduce PID technology on vehicle attitude control. Finally the paper makes a conclusion, implications for future research and development prospects.Key words: self-balance motor-drives PIDtechnology gyroscope simple complementary fil

6、tering1.绪论绪论1.1 引言引言近年来,随着人工智能理论和传感器技术的发展,机器人理论得到了很大的发展。做为移动机器人中的一个重要分支,单轴双轮自平衡系统也引起了国内外的科研机构和企业以及一些机器人 DIY 爱好者的关注。它是一个绝对不稳定系统,必须施加强有力的控制手段才能保重其平衡,所以它可以用于检验控制算法的有效性。由于引入了人工智能技术和传感器技术所以可以完成复杂环境下的复杂任务,只需要在硬件上做很少的改动就可以增加载人功能,成为单轴双轮自平衡代步车。2002 年瑞士联邦技术学院工业电子实验室的研究人员研制的名为 JOE 的基于倒立摆的小型自平衡两轮车模型,是由 DSP 芯片进行

7、控制的。它由车架上方所附的重物模拟实际车中的驾驶者。研究人员通过陀螺仪和光电编码器测量的数据,用线性状态反馈控制器控制整个系统的平衡稳定1。同年,美国 kgo 公司的 SteveHassenplug 设计了两轮自平衡传感式机器人Lcgway。这个设计引入了电机的差动驱动方式,它可以工作在倾斜面甚至不规则表面上,可遥控操作。通过对电动机进行遥控,Legway 可以在前行,后退和转弯时保持平衡,可以实现零半径转弯和 U 型回转。同年三洋电机展示了可依靠上体倒立来保持平衡的双轮行走机器人“FLATHRU” ,大小为602463564mm,重 20Kg。移动速度方面,平地行走时最大 30cm/s,可搬

8、运重量最大为 10Kg,运行时间约为 1 小时。车轮中嵌有一个输出功率为 90W的直流电动机,头部则嵌入了两个相同的电动机。为了检测上体的平衡情况,使用了 3 个陀螺仪和 1 个 3 轴加速度传感器。同年,美国 Segway 公司开发了世界上第一部能够自平衡的两轮电动车,时速高达 20Km/h。该电动车把人们从传统的“三点平衡”和以低重心、大而稳的底盘设计来避免倾斜的束缚中解脱出来。通过检测车体的角度和角速度,用适当的回复转矩来避免倾斜摔倒。Segway 使用的是航空级陀螺仪、一组倾斜传感器、一套复杂的“直觉软件” 、一个加速度计、十个微处理器、两个镍氢电池组、一台电动机和每秒检测一百多次驾驶

9、者重心的传感器。2007 年,日本早稻田大学的 RyoWatanabe 在 Legway 的启发下设计制作了NXTway,美国麻省理工学院的几名学生设计制作出了一台自平衡小车,中心处理器采用 PIC 单片机2。 以上是国内外两轮自平衡机器人和自平衡代步车的研究现状。这些机器人和代步车对本课题的研究提供了很好的指导作用。为下面的研究工作提供了很好的参考。1.2 本文研究的主要内容本文研究的主要内容本文研究主要的内容包括:1)双轮自平衡机器人的物理建模;2)对几种常用的直流有刷电机驱动电路进行分析对比,选取一款合适的电机驱动电路;3)对几种常用的测量电机转速的方法进行分析和对比,选取一种合理的测量

10、电机转速的方案;4)仔细研究系统中使用的多个不同电压值的电源,对常用的稳压电路进行分析和对比,选取一种合适的电源方案;5)研究 PID 算法的基本原理,并将 PID 算法应用在直流有刷电机的控制中;6)对几种常用的陀螺仪和加速度计等惯性元件的性能进行分析对比,并深入研究互补对称滤波数据融合技术,选出合适的陀螺仪和加速度计;7)采用 Altium Designer 软件绘制电路原理图和 PCB 板,搭建 STM32 最小硬件系统,利用 RVMDK V4.2 编译调试软件,以及 STM32 固件库完成 STM32 的软件开发;8)仔细研究系统中各个模块之间的通信协议以及实现方法,选取合适的通信方案

11、。2.理论分析理论分析2.自平衡小车的物理建自平衡小车的物理建模模图 2-1 单轴双轮自平衡机器人的受力示意图机器人受力分解图如图 2-1 所示。其中规定质心为,水平方向为垂直Ox方向为,机器人支架中心轴线规定为轴,与其垂直方向的轴线规定为,ymn为机器人的偏角。机器人本质不稳定,车体倾斜的原因源于重力在水平方向的分量。为了保持平衡, 机器人方向的驱动力必须等于或大于重力沿着水平xf方向轴的分力。当机器人实现动态平衡时,水平方向的推力3。xHf)()(tftfHF由图 2-1 得,重力沿着水平方向的分量为: (2-( )() tanHftMm g1)电机产生的水平方向的驱动力为:)(tf (2

12、-2( )( )gKf ttR)其中,为车轮半径,减速比,电机扭矩。RgK)(t如果已知电机的最大扭矩,可求得单轴双轮自平衡机器人达到动态平衡时MgxymnOgsingHf的倾角为: (2-3gmMtf)()(arctan)将电机的最大扭矩代入式 2-2,可以得到最大驱动力,再将代maxmaxfmaxf入式 2-3 可得到单轴双轮自平衡机器人的最大可控角度。上面的计算是在max系统没有动能损失的情况下, 即小车在调整平衡过程中没有运动, 如果考虑这些因素, 系统的控制范围要小一些, 因此可以最终确定系统的控制范围为: (2-4)maxmax5454以上的物理建模完成了对单轴双轮自平衡机器人的受

13、力分析和最大可控角度推导,旨在为 PID 控制提供理论指导。.PID 控制技术控制技术PID 是比例(Proportion)、积分(Integration)、微分(Differentiation)的英文缩写。PID 控制技术是工程应用中最为广泛的调节器控制规律,简称 PID 控制或 PID调节。PID 控制器问世至今已有近 70 年历史,其结构简单、稳定性好、工作可靠、调整方便,因而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用 PID 控制技术最为方便。即当我

14、们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用 PID 控制技术。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用 PID 控制技术最为方便。而本系统是一个复杂的非线性系统,其约束条件不确定,很难通过物理建模直接得到系统的精确数学模型。因此本系统中选用的控制策略为 PID 算法。 比例积分微分+被控对象)( r t+)( e t)(u t)(ty-图 3-1 PID 控制系统原理图如图 3-1 所示 PID 控制器就是根据系统的误差,利用比例、积分、微分计

15、算出控制量进行控制的。其中为给定值,为系统的实际输出值,给定)(tr)(ty值与实际输出值构成控制偏差)( e t (3-1))()()( etrtyt作为 PID 控制的输入,作为 PID 控制器的输出和被控对象的输入。所)( e t)(ty以模拟 PID 控制器的控制规律为: (3-2))()(1)()(u0dttdeTddtteTiteKptt其中:控制器的比例系数Kp 控制器的积分时间,也称积分系数Ti控制器的微分时间,也称微分系数Td将偏差的比例(Proportion) 、积分(Integral)和微分(Differential)通过线性组合构成控制量,用这一控制量对被控对象进行控制

16、,这样的控制器称 PID控制器。由于计算机的出现,计算机进入了控制领域。人们将模拟 PID 控制规律引入到计算机中来。对式 3-2 的 PID 控制规律进行适当的变换,就可以用软件实现 PID 控制,即数字 PID 控制。数字 PID 可分为:位置式 PID 算法和增量式PID 算法。本系统是一个基于嵌入式微处理器的数字控制系统,因此引入的PID 为数字式 PID,再结合本系统的特性,最终选取了增量式 PID 算法为本系统的核心控制策略。所谓增量式PID是指数字控制器的输出只是控制量的增量4。当执行机ku构需要的控制量是增量,而不是位置量的绝对数值时,可以使用增量式PID控制算法进行控制。增量

17、式PID可以表达为: (3-321212111)21 ()1 ()2(kkkkkkkkkkkkkkkCeBeAeeTTdKpeTTdKpeTTdTiTKpTeeeTdeTiTeeKpuuu)其中 ;)1 (TTdTiTKpA;)21 (TTdKpBTTdKpC 由式 3-3 可以看出,如果计算机控制系统采用恒定的采样周期 T,一旦确定 A、B、C,只要使用前后三次测量的偏差值,就可以由式求出控制量。增量式 PID 控制算法与位置式 PID 算法相比,计算量小的多,因此在实际中得到广泛的应用。而位置式 PID 控制算法也可以通过增量式控制算法推出递推计算公式: (3-4)kkkuuu1式 3-4

18、 就是目前在计算机控制中广泛应用的数字递推 PID 控制算法。有了控制算法后最主要的就是控制器参数整定,即决定调节器的比例系数、积分时间、微分时间和采样周期的具体数值。整定的实质是通过改变TiTdTs调节器的参数,使其特性和过程特性相匹配,以改善系统的动态和静态指标,取得最佳的控制效果。整定调节器参数的方法很多,归纳起来可分为两大类,即理论计算整定法和工程整定法。理论计算整定法有对数频率特性法和根轨迹法等;工程整定法有凑试法、临界比例法、经验法、衰减曲线法和响应曲线法等。工程整定法特点不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定方法简单、计算简便、易于掌握。本系统的建模十分复

19、杂,无法得出一个精确的物理模型,所以在本系统的PID 算法参数选取采用工程整定法。通过实验调试来不断的优化控制参数,提高单轴双轮自平衡机器人的稳定度。2.3 简易对称互补滤波简易对称互补滤波为进行实时控制,单轴双轮自平衡机器人系统的主控制器必须对工作环境和任务有足够的了解,这样就离不开相应的传感器。机器人姿态检测系统中通常使用的传感器为惯性传感器,本系统用到的惯性传感器有加速度传感器和陀螺仪,另外还要用到光电码盘测速模块,他们分别用于检测车身倾斜角、倾斜角速度和车体实时速度。这三种信号主要反应了机器人的位姿和运动状态。本节主要讨论如何对来自惯性传感器的数据进行融合处理,以得到最优的车体姿态信息

20、。2.3.1 加速度传感器数据处理加速度传感器数据处理加速度传感器可以测量动态和静态的线性加速度,静态加速度的一个典型例子就是重力加速度,用加速度传感器来直接测量物体静态重力加速度可以确定倾斜角度。当加速度出于静止状态时,加速度传感器的输出为其三个敏感轴上的重力加速度分量。 图 3-2 加速度传感器加速度分解图当我们选取加速传感器的 X 敏感轴作为测量主轴,如图 所示,则 X 敏感轴上的加速度为: (3-5sinagx)所以,求得车体倾角: (3-6gaxarcsin)X 轴g加速度计动态响应慢,不适合跟踪动态角度运动;如果期望快速的响应,又会引入较大的噪声。再加上其测量范围的限制,使得单独应

21、用加速度计检测车体倾角并不合适,需要与其它传感器共同使用。2.3.2 陀螺仪数据处理陀螺仪数据处理单轴双轮自平衡控制系统除了需要实时的倾角信号,还要用到角速度以给出控制量。理论上可以对加速度计测得的倾角求导得到角速度,但实际上这样求得的结果往往偏差很大。陀螺仪具有动态性能好测量精度高等优点,但是由于温度变化、摩擦力和不稳定力矩等因素,陀螺仪会产成漂移误差。两轮自平衡机器人控制系统除了需要实时的倾角信号,还要用到角速度以给出控制量。理论上可以对加速度计测得的倾角求导得到角速度,但实际上这样求得的结果远远低于陀螺仪测值的精度,陀螺仪具有动态性能好的优点。陀螺仪的直接输出值是相对灵敏轴的角速率,角速

22、率对时间积分即可得到围绕灵敏轴旋转过的角度值。由于系统采用微控制器循环采样程序获取陀螺仪角速率信息,即每隔一段很短的时间采样一次,所以采用累加的方法实现积分的功能来计算角度值: (3-7)dtgyroangleanglennn1为陀螺仪采样到第 n 次的角度值;为陀螺仪第 n-1 次采样时nangle1nangle的角度值;为陀螺仪的第 n 次采样得到的瞬时角速率值;为主循环程ngyrodt序运行一遍所用时间。可见,用陀螺仪输出值积分计算角度,要求处理器运算速度足够快,采样程序应尽量简练,程序循环一遍所用时间越小,采样频率dt越高,最后积分得到的角度值才能越精确。陀螺仪是用来测量角速度信号的,

23、通过对角速度积分,能得到角度值。但由于温度变化、摩擦力和不稳定力矩等因素,陀螺仪会产成漂移误差。而无论多么小的常值漂移通过积分都会得到无限大的角度误差。因而,也不能单独使用陀螺仪作为本机器人倾角传感器。综上所述,对于姿态检测系统而言,单独使用陀螺仪或者加速度计,都不能提供有效而可靠的信息来保证车体的平衡。陀螺仪虽然动态性能良好,能够提供瞬间的动态角度变化,不受加速度变化的影响,但是由于其本身固有的特性、温度及积分过程的影响,存在累积漂移误差,不适合长时间单独工作;加速度计静态响应好,能够准确提供静态的角度,但受动态加速度影响较大,不适合跟踪动态角度运动。为了克服这些困难,采用一种简易互补滤波方

24、法来融合陀螺仪和加速度计的输出信号,补偿陀螺仪的漂移误差和加速度计的动态误差,得到一个更优的倾角近似值。2.3.3 传感器数据融合传感器数据融合经过融合的多传感器系统能完善地、精确地反映检测对象特性,消除信息的不确定性,提高传感器的可靠性5。针对于陀螺仪数据噪声小,短时间内误差小,温度漂移大,积分积累误差较大的特性,加速度传感器对震动敏感,无积累误差,长时间稳定的特性。加速度传感器需要采用滤波算法滤除短时性快速变化的信号,保留长时性缓慢变化的信号,所以对加速度计应用低通滤波算法。对于陀螺仪,情况正好相反,应用高通滤波方法处理陀螺仪数据,来抑制陀螺仪积分的漂移。针对加速度计和陀螺仪的姿态检测系统

25、滤波器结构如图 3-3所示 图 3-3 简易互补滤波器设计框图简易互补滤波器可表示为: (3-8)acceaccenngyronadtgyroangleaangle1式中为陀螺仪的高通滤波系数,为加速度计的低通滤dtgyroadtdtaacce波系数。 为滤波器的时间常数。对于低通滤波而言,变化周期大于时间常数的信号可以完整的通过;变化周期小于时间常数的信号被过滤掉;高通滤波刚陀螺仪加速度传感器积分器低通滤波器高通滤波器数据融合角速度角度值好相反。 这个时间常数,是更相信陀螺仪还是更相信加速度计的一个界限值。变化周期比 短的,陀螺仪积分的角度更让人相信,而加速度计噪声被过滤掉;变化周期比 长的

26、,加速度计测定的角度值比陀螺仪更重要,因为此时陀螺仪会发生漂移了。针对陀螺仪的高通滤波和针对加速度计的低通滤波两部分恰好可组成一个互补滤波器。可以看到,两个滤波系数相加结果为 1,所以滤波结果是一个比较精确的、线性的角度估计值。滤波器设计完成后,时间常数 的选取是十分重要的,通过对陀螺仪和加速度传感器的输出特性的分析,结合实验法选取一个合适的 值就完成了滤波器的设计。3.系统设计系统设计根据以上对单轮自平衡机器人运动学特性的分析,提出三种可行性较大的实现方案:方案一:使用一个型号为 STC12C5A60S2 的单片机和两个型号为 E18-D30NK的红外传感器实现的简易单轴双轮自平衡机器人。

27、图 3-1 基于红外传感器的双轮自平衡机器人E18-D30NK 红外传感器是一种开关式的红外传感器,它由一个红外的发射电路发射调制的红外光,经地面反射后进入接收光敏传感器电路,利用发射光的强度来测传感器和地面之间的距离。它测距的方式是一种比较式的测距方式,即开始通过调节电位器来为传感器设定一个阈值,当传感器与地面之间的距离大于阈值时传感器输出高电平,当传感器与地面之间的距离小于阈值时传感器输出低电平。如图 4-1 所示,将两个 E18-D30NK 红外传感器装在车的两臂上,当车体向左倾斜的时候 H1小于阈值,红外传感器 A 将输出低电平,当主控单片机 STC12C5A60S2 检测到此低电平的

28、时候会通过电机驱动电路驱动电机使车体向左运动,以维持平衡。车体向右倾斜时有类似的控制过程。方案一的优点:结构简单,成本低,控制算法也相对简单,而且可以反应单轴H1H2红外传感器A红外传感器B双轮自平衡的动力学过程。方案一的缺点:红外传感器 E18-D30NK 为反射式的红外传感器,测量的结果受地面的颜色、平整度等各种因素的影响。红外传感器 E18-D30NK 为二值化得信号输出,导致在对电机的控制时无法引入 PID 控制技术。方案二:使用 STC12C5A60S2 单片机和两个超声波测距模块实现的单轴双轮自平衡机器人。图 3-2 基于超声波传感器的单轴双轮自平衡机器人超声波传感器由超声波的发射

29、头和发射电路以及接收头和接受电路构成,超声波传感器的测距原理是声波在均匀的介质中的传播速度是一个常数(在V25时为 340m/s),只要知道了声波从发出到接收到回波的时间就可以用 (4-1)2tVS求的距离。利用 STC12C5A60S2 单片机对超声波传感器发出超声波到接收到S回波的时间进行计时,就可以得到图 4-2 中的和的值,从而就可以推算1H2H出车体的倾角 (4-2LHH12sinarc)H1H2超声波传感器A超声波传感器BL这个计算的过程可以由 STC12C5A60S2 单片机完成,在求得倾角后单片机可以根据倾角的大小按编程时指定的 PID 算法再结合 PWM 技术使电机产生不同速

30、度的转动,来维持车体的平衡。方案二的优点:超声的波长很大,在经过地面反射的时候对地面的颜色和平整度要求不高,即采用这种方案能适应更一般性的场合;通过连续测量到地面的距离,可以比较精确的得到车体的倾角,从而在控制电机的转动时可以引入PID 算法,使车体平衡的调整变得更精确。方案二的缺点:超声波在空气中的传播容易受到扰动,因为本系统是一个运动的系统,所以受到扰动的概率更大。在倾斜的路面上,比如上坡,这种方案就显得心有余而力不足了。方案三:使用 STM32 微处理器和陀螺仪以及加速度传感器实现的单轴双轮自平衡机器人。图 3-3 基于陀螺仪和加速度传感器的双轮自平衡机器人ENC-03 陀螺仪是一种应用

31、科氏力原理的角速度传感器,它输出一个和角速度成正比的模拟电压信号,通过对角速度的积分可以得到角位移,即角度值。MMA7361QR 3 轴小量程加速传感器是检测物件运动和方向的传感器,它根据物件运动和方向改变输出信号的电压值,通过 AD 变换就可以直接得到角度值。陀螺仪数据噪声小,短时间内误差小,温度漂移大,积分积累误差较大;加速陀螺仪和加速度传感器度传感器对震动敏感,无积累误差,长时间稳定。鉴于陀螺仪和加速度传感器的对称互补特性,本方案中用陀螺仪 ENC-03 和 3 轴小量程加速传感器MMA7361QR 进行传感器数据融合得到车体倾角,这种方法获得的角度值很精确,并且可以最大程度的降低车体抖

32、动对车体倾角检测的影响。为了方便对参数的调整,本方案中的互补对称滤波使用软件实现,因此需要一个高性能的微处理器做为核心处理器。出于性价比的考虑最终选择了意法半导体的 STM32 微处理器做为核心处理器。陀螺仪和加速度传感器分别得到车体倾角值,经 STM32 的处理后得到数据融合后的精确车体倾角值,STM32 根据此角度值通过 PID 算法和 PWM 技术来精确的控制电机转动,使车体保持平衡。方案三的优点:车体的倾角的获取不依赖于单轴双轮自平衡小车所处的环境,具有普遍的适用性。采用了多传感器的数据融合技术,减小了单一传感器的固有缺陷对测量精度的影响,提高了测量精度。方案三的缺点:使用多组传感器和

33、高性能的控制器,成本上有所增加。通过对以上三种方案的理论分析和实验对比,最终确定使用方案 3 来实现单轴双轮自平衡机器人。3.硬件设计方案硬件设计方案论证论证如图 3-4 所示,采用模块化的设计思想,将系统分为,电源模块,主控制器模块,角度与加速度传感器模块,电机驱动模块,电机测速模块,人机交互模块。人机交互模块完成各种用户参数的输入和自平衡机器人的当前状态参数的显示,其主要由一块液晶屏和一片 STC12C5A60S2 单片机组成,人机交互模块获得的用户输入参数由 STC12C5A60S2 通过串口传送给主控制器 STM32,人机交互模块要显示的信息由 STM32 通过串口传送给 STC12C

34、5A60S2;陀螺仪得到的角速度模拟量由 STM32 自带的 12 位高精度,高采样率的 AD 转换器将其转化为数字信号,加速度传感器输出的角度值由 STM32 通过 IIC 总线读取,在此之后 STM32 对这两路传感器的数据进行对称互补滤波融合,得到准确的车体倾角,根据这个倾角值以及光电码盘测速模块返回电机转速参数,STM32 按照PID 算法得电机转动的速度和角度,再通过串口给电机驱动模块发送相应的命令,使其转动来维持单轴双轮自平衡系统的稳定。电机驱动模块中运用了PWM 技术对电机的速度进行控制。同时光电码盘测速模块对电机的转速进行测量,并反馈到系统中,辅助系统完成 PID 控制算法。图

35、 3-4 单轴双轮自平衡机器人的原理框图3.1 电源设计电源设计本系统是一个移动的系统,又有电机等大功率器件,因此采用四块 6V 10Ah 的铅酸电池做为系统的电源,接法为两串两并,形成一个 12V 20Ah 的直流电源。由于系统中存在着多种微控制器,需要 5V 和 3.3V 的电压源。这两个电压源用 12V 直流电源通过稳压模块获得。目前比比较常用的电源稳压芯片从工作原理上分为两种,一种为线性稳压,另一种为开关稳压。如图 5-1、图 5-2 所示是两种典型的稳压电路。 图-2576 开关稳压芯片应用电路图 4-2 7805 线性稳压芯片应用电路从电路中很明显可以看出他们之间的差别,开关电源稳

36、压芯片的外围电路器件相对较多,比较复杂;而线性稳压电源的外围电路相对简单,更节省 PCB板空间。开关稳压芯片的输出纹波系数一般比较大,而线性稳压芯片的输出纹波系数一般比较小。但是线性稳压芯片的转换效率很低,特别是当需要降低的电压范围比较大的时候,往往低于 50%;而开关稳压芯片的转换效率通常可以达到 95%。转换效率低还带来了一个问题就是稳压芯片自身会发热,使其稳压性能迅速恶化。以上分析并不能说明开关稳压芯片就一定好,要根据具体的应用场合合理的选取。在本系统中 5V 的电压源负载比较重,对电压纹波也不是很敏感,所以 12V 到 5V 的稳压模块采用开关电源稳压芯片,电路如图 4-1 所示。3.

37、3V 电压源的负载很轻,主要给加速度传感器供电,对电压纹波敏感,所以选用线性稳压芯片 ASM1117,电路如图 5-3 所示。 图 5-3 系统中 3.3V 电源稳压电路3.1.2 主控模块设计主控模块设计主控模块采用意法半导体的 STM32F103ZET6 芯片搭建的一个硬件平台。STM32F103ZET6 是一款 ARM 32 位的 Cortex-M3 内核的微处理器,512K 字节的闪存程序存储器,高达 64K 字节的 SRAM,最高时钟频率为 72MHz,三个12 为模数转换器,多达 21 通道,支持 12 通道的 DMA ,多达 13 个通信接口其中有 5 个 USART,多达 11

38、2 各通用 IO 口。由于本系统涉及到了一些数字信号处理,使用专用的 DSP 芯片成本会很高,而且开发难度也很大。所以采用了一种折中的芯片选型方案,选择了一款高性价比的嵌入式微处理器做主控板。从 STM32F103ZET6 的指令的吞吐量和存储空间上看,此款芯片很适合做为本系统的主控芯片。通其丰富的外部设备,如ADC 为陀螺仪的输出模拟信号的 AD 转换提供了方便,5 个 USART 为各模块和主控电路之间的通信提供了方便的接口6。图 5-5 STM32 主控板原理图(部分)图 5-6 为 STM32F103ZET6 的时钟电路,OS1 为高速时钟,为STM32F103ZET6 内核和外部设备

39、提供工作时钟。OS2 为一个低频晶振,为STM32F103ZET6 提供实时时钟。图 5-7 为 STM32F103ZET6 的复位电路,采用积分型复位电路,复位为低电平有效,此电路具有上电复位和按键复位的功能8。 图 5-6 STM32 主控板时钟电路 图 5-7 STM32 复位电路 图 5-8 STM32 JTAG 仿真接口电路图 5-8 为 STM32 的 JTAG 仿真接口电路,在一个复杂系统中,软件调试往往很花费时间,如果系统上留有 JTAG 接口,可以通过 JTAG 对系统进行在线调试,可以让程序单步执行,从而可以查看程序的运行路径,很容易定位软件中的逻辑错误,提高开发效率。3.

40、1.3 电机驱动模块电机驱动模块通过近一段时间的研究,直流有刷电机的正反转驱动电路常用的有以下四种9,下面就对他们的特性进行分析。方案一:继电器搭建的 H 桥电路; 图 5-9 继电器 H 桥电路在大功率电机驱动中继电器实现的 H 桥电路是一种性价比很高的设计方案,它能承受的电流很大,同时能实现编程控制电机的正反转。但是继电器动作过程中有机械运动,所以其能达到的响应速度不高,继电器的典型响应时间为2ms,不适合高速的应用场合。同时继电器的触点容易产生火花,影响继电器的寿命。方案二:L298 搭建的直流电机驱动电路L298N 是 SGS 公司的产品,内部包含 4 通道逻辑驱动电路。是一种二相和四

41、相电机的专用驱动器,内含二个 H 桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,可驱动 46V、2A 以下的电机。用 L298 搭建的电机驱动电路的稳定性很好,但是其能承受的电流比较小。 图 5-10 L298 直流电机驱动电路方案三:大功率 MOS 管搭建的 H 桥电路 图 5-11 大功率 MOS 管 H 桥电路这个电路是在研究单轴双轮自平衡小车的时候自行设计的电机驱动电路,两个 PMOS 和两个 NMOS 管搭建了一个 H 桥,为了防止 PMOS 和 NMOS 同时导通形成短路现象,利用 LM324 形成互锁的驱动机制,使没一边的 PMOS 和NMOS 始终只有一个处于

42、导通状态。但是在测试的时候发现 MOS 管还是发烫,经过仔细分析发现,原因是 LM324 的输出端得电平变化沿不是陡峭,既两个MOS 管存在同时导通的现象,虽然这个过程十分的短暂,但是短路电流很大,所以 MOS 管发烫。改进办法是在 NMOS 管和地之间插入一个 NMOS 管。在LM324 电平转变的时候先是插入的 NMOS 管截至。这样就防止了短路发生,MOS 也不发烫了。方案四: 基于 BTS7960 的 H 桥驱动电路 图 5-12BTS7960 H 桥驱动电路智能功率芯片 BTS7960 是应用于电机驱动的大电流半桥高集成芯片,它带有一个 P 沟道的高边 MOSFET、一个 N 沟道的

43、低边 MOSFET 和一个驱动 IC,集成的驱动 IC 具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和过温、过压、欠压、过流及短路保护的功能。BTS7960 通态电阻典型值为 16m,驱动电流可达 43A。上图是由四个 BTS7960 搭建的一个双电机驱动电路,可同时驱动两个直流有刷电机。通过对上面四个电路特性分析和对比后发现,继电器 H 桥电路的响应速度太慢无法满足本系统的实时性要求;L298 电机驱动电路其电流驱动那能力太差,无法满足本系统功率要求;大功率 MOS 管 H 桥电路,性能很不错,但是体积过大,不利于潜入到本系统中;本系统选取了性能稳定的基于 BTS7960 的 H 桥驱

44、动电路作为电机的驱动电路。BTS7960 的 H 桥驱动电路采用了模块化设计,将 STC12C5A60S2 单片机集成到驱动板上,四个 BTS7960 芯片直接受 STC12C5A60S2 的控制,STC12C5A60S2E 通过串口从 STM32 主控板接收到电机控制命令后,产生相应的电机驱动电路控制时序。电机调速采用脉冲宽度调制(PWM)方式实现,PWM 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。本系统中,PWM 主要用于电机调速,属于 PWM 在功率控制中的应用。STC12C5A60S2 单片机含有两路硬件 PW

45、M 发生器,可以产生最高频率为 150KHz 的 PWM 调制输出。STC12C5A60S2 的PWM 输出引脚为 P1.3 和 P1.4,将这两引脚连接到 BTS7960 芯片的 INH 引脚上,只需在软件中设置比较寄存器 CCAP0H、CCAP0L 进行设置就可以完成PWM 调制。3.1.4 码盘测速模块码盘测速模块为了精确地控制电机的转动,为 PID 控制算法提供反馈信号,必须对电机的转速进行测量。常用的非接触转速的测量方法有两种,一种是利用霍尔传感器,另一种方案是利用光电码盘10。霍尔传感器感应的是磁场强度的变化,需要和磁钢配合使用才能完成对转速的测量;它的优点是能工作于灰尘多等恶劣的

46、环境中,它的不足之处是做高精度的测量时,需要大量的磁钢,安装麻烦。光电码盘利用反射式红外传感器进行测量,码盘的制作和传感器安装都比较容易,但是涉及到了光电器件,在多灰尘等恶劣环境中无法正常工作。考虑到本系统是用于实验室环境,所以选取光电码盘方式对电机的转速进行测量。 图 4-13 光电测速码盘根据控制精度的要求,采用 60 线的码盘作为测速码盘,如图 5-13 所示,码盘的基板采用 ABS 板制作,作用黑色记号笔画上线条。图 5-14 为光电码盘测速模块的电路原理图,反射式红外传感器 ST188 的发射管发射出红外光进过码盘的反射后进入 ST188 的红外接收管,接收管按上图中的接法偏置后,在

47、接收到红外光信号时 ST188 的 C 管脚上的电压将会降低,当没有接收到红外光信号时,ST188 的 C 管脚呈现高电平。一般的情况下按图 5-14 中电路配置,ST188 的 C 管脚输出的低电平可以直接触发单片机的中断,但是为了增加系统的稳定性,在红外传感 ST188 和 STC11F04E 之间加入了一个电压比较器LM324 对 ST188 的 C 管脚输出的信号进行二值化,得到一个脉冲序列。当码盘转动的时候就可以形成如图 5-15 所示的脉冲序列,用单片机对脉冲序列进行计数,将该数值除以对应的时间就可以求的电机的转动速度。单片机完成每次的速度检测后通过串口把速度数据发送给主控微处理器

48、。图 4-1 光电码盘测速模块电路图 图 4-15 二值化红外传感器测速信号3.1.5 倾角检测模块倾角检测模块MEMS 传感器是采用微电子和微机械加工技术制造出来的新型传感器。与传统的传感器相比,它具有体积小、重量轻、成本低、功耗低、可靠性高、适于批量化生产、易于集成和实现智能化的特点7。本系统中采用了 MEMS 类型的加速传感器和陀螺仪两个传感器构成,以下是对它们的详细介绍:1.加速度传感器加速度传感器Freescale 公司的 MMA8451Q 是 14 位/8 位智能低功耗三轴数字加速度计,工作电压 1.95V-3.6V,接口电压 1.6V-3.6V,动态可选择满刻度为2g/4g/8g

49、,输出数据速率(ODR)从 1.56 Hz 到 800 Hz, 噪音为 99 ug/Hz,14 位和 8 位数字输出, MMA8451 使用 I2C 串行通信和外部交换数据, 由于 MMA7260 加速度传感器可准确测量三轴向下降、倾斜、移动、定位、撞击和震动,因此主要用在电子罗盘,静态姿态、运动检测,笔记本电子书等便携设备的翻滚、自由落体检测,实时的方向检测可用于虚拟现实设备或 3d 游戏中的位置检测,便携设备的节能应用中的运动检测等等。表 5-1 引脚定义如下:引脚编号引脚名称引脚描述引脚状态1VDDIO内部电源供电(1.623.6v)输入2BYP旁路电容输入3NC悬空引脚开路4SCLI2

50、C 串行时钟漏极开路5GND接地输入6SDAI2C 串行数据漏极开路7SA0I2C 最低有效位地址输入8NC悬空引脚开路9INT2中断请求引脚 2输出10GND接地输入11INT1中断请求引脚 1输出12GND接地输入13NC悬空引脚开路14VDD电源(1.953.6v)输入15NC悬空引脚开路16NC悬空引脚开路MMA8451Q 有四种可选加速度范围,分别对应不同的灵敏度,以适应不同的应用环境和系统要求,配置参数表 5-2 所示。设置方法通过 IIC 总线接口想XYZ 数据设置寄存器 XYZ_DATA_CFG 写入相应的值。MMA8451Q 的写操作器件地址为 0011100,读操作器件地址

51、为 0011101。FS1FS0量程002g014g108g11保留表 5-2 MMA8451Q 模式配置参数:2.陀螺仪陀螺仪ENC03RC,是日本村田公司(murata)开发生产的一款以陶瓷材料为主要原料的角速度传感器,又名陀螺仪,该产品是一种应用科氏力原理的角速度传感器,它输出一个和角速度成正比的模拟电压信号。芯片特性:1)供电电压:2.75.25V2)最大角速度 deg./sec.+/-3003)输出(当角速度=0): 1.35 V4)比例系数:0.67 mV/deg./sec5)线性度:+/-5%FS6)响应频率:50 Hz 7)重量:0.4g如图 5-17 所示,左侧的三个为 EN

52、C03RC,其输出的角速度信号经过滤波和放大后被引到了模块的输出引脚上,由主控模块对此信号进行 AD 转换,得到数字化的加速度值,对角速度积分就可以求取角度。右侧的为电源稳压电路和 AMM4851Q 加速度传感器。AMM4851Q 加速度传感器是数字接口器件,可以通过 IIC 总线协议设置 AMM4851Q 的工作模式和读取角度值。 图 5-17 加速度传感器和陀螺仪构成的倾角检测模块电路原理图 3.1.6 人机交互模块人机交互模块图 5-18 人机交互模块原理图如图 5-18 所示,人机交互模块由 STC12C5A60S2 单片机、Nokia 5110 液晶、矩阵键盘构成。Nokia 511

53、0 液晶用于显示系统当前的状态,如当前时间、速度、倾角、电量等信息;矩阵键盘用于时间等用户初始化信息的调整。用户输入信息先有单片机缓存,在用户确定之后通过串口发送给主控模块 STM32;液晶屏显示的数据是 STM32 通过串口发送给单片机的。单片机完成了液晶屏的驱动14、矩阵键盘的扫描,这样不会消耗主处理器的资源,减轻了主控制器的程序设计难度。 3.1.7 通信模块通信模块本系统采用了模块化设计方案,将整个单轴双轮自平衡小车自顶向下的划分为主控器 STM32 模块,人机交互模块,陀螺仪模块、加速度传感器模块、电机驱动模块、光电码盘测速模块。主控模块采用了 STM32 微处理器,其他的模块都采用

54、宏晶公司的 51 内核的单片机实现。在设计通信协议的时候为了方便起见,加速度传感器和 STM32 主控板之间的通信采用了 IIC 通信协议。考虑到本系统使用的宏晶公司的 51 内核单片机基本上都有硬件串口,而且 STM32 有 5 个USART 所以人机交互模块、电机驱动模块、光电码盘测速模块与 STM32 主控模块之间的数据交换全部采用串口通信方式进行,波特率设置为 9600,数据位为 8 位,无奇偶校验。3.2 软件设计方案软件设计方案软件部分也采用模块化设计方法,先在各个硬件模块上完成相应功能的程序模块的设计,之后再添加通信模块,并将各子模块挂在 STM32 上进行联调。人机交互模块,光

55、电码盘测速模块,电机驱动模块所使用的微控制器都是STC12C5A60S2 单片机,主要就是驱动一些常用的外部设备,所以编程相对来说比较容易。而 STM32 要进行互补对称滤波数据融合以及 PID 控制算法的实现,编程较为复杂,但是 STM32 微处理器的生产商意法半导体公司提供了友好的固件库, ;里面封装了很多好用的 API 函数,降低了顶层模块的编程难度。这也是为什么选择 STM32 这款微处理器的一个原因。3.2.1 STM32 主控制器程序模块主控制器程序模块如图 6-1 所示 STM32 主控制器先调用 STM32 固件库中启动代码和初始化函数完成的对其自身的初始化,完成初始化之后,对

56、陀螺仪和加速度传感器的输出信号进行采样,同时从光电码盘测速模块中读出单轴双轮自平衡机器人的实际速度。之后再计算出当前的角度值和设置参考值(0)之间的偏差和偏差的变化率,再调用 PID 算法子程序模块,算出要输出的控制量大小,最后形成电机驱动的控制命令来控制电机的转动。倾 倾倾 倾 倾 倾 倾倾 倾 倾 倾 倾倾 倾 倾 倾 倾倾 倾 倾 倾 倾 倾倾 倾 倾 倾 倾 倾 倾 倾 倾 倾PI D 倾 倾 倾 倾倾 倾 倾 倾倾 倾 倾倾 倾Y YN N图 6-1 STM32 主控制器程序模块流程图3.2.2 人机交互程序模块人机交互程序模块人机交互模块采用 STC12C5A60S2 单片机为微控

57、制器,程序设计的主要流程为 STC12C5A60S2 单片机接收到顶层主控处理器 STM32 发过来命令,产生串口中断,再根据命令的内容,如果是显示更新命令就调用 Nokia 5110 液晶驱动程序,显示主控器要求更新的显示信息;如果接收到的是用户信息输入命令,STC12C5A60S2 单片机就通过串口将缓存的用户输入信息传送给主处理器STM32。3.2.3 光电码盘测速程序模块光电码盘测速程序模块光电码盘测速模块也是采用了 STC12C5A60S2 单片机为微控制器,红外传感器 ST188 的输出脉冲触发单片机的外部中断,在中断服务程序中对脉冲进行计数,每隔 100ms 取出计数器中的值计算

58、车轮当前的速度,并对计算器进行清零处理,准备进入下一次测速11。假设计数器当前的值为,则车轮转速为:n (6-1)1 . 060n每完成一次测速以后,就通过串口将转速值发送给主处理器 STM32。3.2.4 倾角检测程序模块倾角检测程序模块因为加速度传感器的数据通信接口是 IIC 总线协议,陀螺仪为电压模拟量输出,而 STM32 含有高精度的 AD 转换器和硬件 IIC 接口,所以直接将这两个传感器挂接在主处理器 STM32 上。软件主要完成的是调用 STM32 固件库中的IIC 接口函数完成对 MMA8451 的配置和从 MMA8451 中读取加速度传感器的数据;调用 AD 接口函数完成对陀

59、螺仪输出的 AD 转换;再将它们分别转化成角度值。最后选取合适的时间常数和采样时间,用简易的互补对称滤波算法dt对角度值进行处理,以得到最优的车体姿态信息。简易对称互补滤波器的软件设计只要是有 C 语言完成对式 3-8 的描述。3.2.5 电机驱动程序模块电机驱动程序模块电机驱动模块的微控制器为 STC12C5A60S2 单片机,STC12C5A60S2 具有硬件 PWM 所以软件编写变的比较容易,主要是接收来自主处理器 STM32 的电机控制命令,在接收到控制命令之后装载 PWM 比较寄存器,控制 BTS7960 引脚电平,完成电机正反转。3.2.6 PID 算法程序模块算法程序模块选取合适的比例系数、积分时间、微分时间和采样周期的具体数TiTdTs值。用 C 语言程序完成对 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论