直立车原理文档格式.docx
《直立车原理文档格式.docx》由会员分享,可在线阅读,更多相关《直立车原理文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
另一个是眼睛可以观察到木棒的倾斜角度和倾斜趋势(角速度)。
通过手掌移动抵消木棒的倾斜角度和趋势,从而保持木棒的直立。
这两个条件缺一不可,实际上就是控制中的负反馈机制,参见图2-4。
车模平衡控制也是通过负反馈来实现的,与上面保持木棒直立比较则相对简单。
因为车模有两个轮子着地,车体只会在轮子滚动的方向上发生倾斜。
控制轮子转动,抵消在一个维度上倾斜的趋势便可以保持车体平衡了。
如图2-5所示。
那么车轮如何运行,才能够最终保持车体平衡稳定?
为了回答这个问题,可以通过建立车模的运动学和动力学数学模型,设计反馈控制来保证车模的平衡。
为了使得同学们能够比较清楚理解其中的物理过程。
下面通过对比单摆模型来说明保持车模平衡的控制规律。
重力场中使用细线悬挂着重物经过简化便形成理想化的单摆模型。
直立着的车模可以看成放置在可以左右移动平台上的倒立着的单摆。
如图2-6所示。
对普通的单摆受力分析如图2-7所示。
当物体离开垂直的平衡位置之后,便会受到重力与悬线的作用合力,驱动重物回复平衡位置。
这个力称之为回复力,其大小为
在偏移角度很小的情况下,回复力与偏移的角度之间大小成正比,方向相反。
在此回复力作用下,单摆便进行周期运动。
在空气中运动的单摆,由于受到空气的阻尼力,单摆最终会停止在垂直平衡位置。
空气的阻尼力与单摆运动速度成正比,方向相反。
阻尼力越大,单摆越会尽快在垂直位置稳定下来。
图2-8显示出不同阻尼系数下,单摆的运动曲线。
总结单摆能够稳定在垂直位置的条件有两个:
(1)受到与位移(角度)相反的恢复力;
(2)受到与运动速度(角速度)相反的阻尼力。
如果没有阻尼力,单摆会在垂直位置左右摆动。
阻尼力会使得单摆最终停止在垂直位置。
阻尼力过小(欠阻尼)会使得单摆在平衡位置附件来回震荡。
阻尼力过大(过阻尼)会使得单摆到达平衡位置时间加长。
因而存在一个临界阻尼系数,使得单摆稳定在平衡位置的时间最短。
为什么倒立摆在垂直位置时,在受到外部扰动的情况下,无法保持稳定呢?
分析倒立摆的受力,如图2-9所示。
倒立摆之所以不能象单摆一样可以稳定在垂直位置,就是因为在它偏离平衡位置的时候,所受到的回复力与位移方向相同,而不是相反!
因此,倒立摆便会加速偏离垂直位置,直到倒下。
如何通过控制使得倒立摆能够像单摆一样,稳定在垂直位置呢?
要达到这一目的,只有两个办法:
一个是改变重力的方向;
另一个是增加额外的受力,使得恢复力与位移方向相反才行。
显然能够做到的只有第二种方法。
控制倒立摆底部车轮,使得它作加速运动。
这样站在小车上(非惯性系,以车轮作为坐标原点)分析倒立摆受力,它就会受到额外的惯性力,该力与车轮的加速度方向相反,大小成正比。
这样倒立摆所受到的回复力为:
(2-1)
式中,由于θ很小,所以进行了线性化。
假设负反馈控制是车轮加速度a与偏角θ成正比,比例为
。
如果比例
>
g,(g是重力加速度)那么回复力的方向便于位移方向相反了。
此外,为了使得倒立摆能够尽快地在垂直位置稳定下来,还需要增加阻尼力。
虽然存在着空气和摩擦力等阻尼力,相对阻尼力比较小。
因此需要另外增加控制阻尼力。
增加的阻尼力与偏角的速度成正比,方向相反。
因此式(2-1)可变为
(2-2)
按照上面的控制方法,可把倒立摆模型变为单摆模型,能够稳定在垂直位置。
因此,可得控制车轮加速度的控制算法
(2-3)
式中,θ为车模倾角;
θ'
为角速度;
k1、k2均为比例系数;
两项相加后作为车轮加速度的控制量。
只要保证在
g、k2>
0条件下,可以使得车模像单摆一样维持在直立状态。
其中有两个控制参数k1、k2,k1决定了车模是否能够稳定到垂直平衡位置,它必须大于重力加速度;
k2决定了车模回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证车模尽快稳定在垂直位置。
这两个系数的作用如图2-10所示。
控制车模直立稳定的条件如下:
(1)能够精确测量车模倾角θ的大小和角速度θ'
的大小;
(2)可以控制车轮的加速度。
第一个条件,即如何测量车模倾角和倾角速度θ,'
θ,参见下一小节“车模角度测量”。
如何确定控制参数
、
参见“调试篇”中的参数调节。
下面先讨论第二个条件的实现,即车轮的加速度控制。
车模运行速度和加速度是通过控制车轮速度实现的,车轮通过车模两个后轮电机经由减速齿轮箱驱动,因此通过控制电机转速可以实现对车轮的运动控制。
电机的运动控制有三个作用:
(1)通过电机加速度控制实现车模平衡稳定。
(2)通过电机速度控制,实现车模恒速运行和静止。
(3)通过电机差速控制,可以实现车模方向控制。
电机运动控制是通过改变施加在其上的驱动电压大小实现的。
对于电机的电磁模型、动力学模型以及车模的动力学模型进行分析和简化,可以将电机转速与施加在其上的电压之间的关系简化成如下的一阶惯性环节模型。
施加在电机上一个阶跃电压Eu(t),电机的速度变化曲线为
(2-4)
式中,E为电压;
u(t)为单位阶跃函数;
为惯性环节时间常数;
为电机转速常数。
对应不同的电压,电机的速度变化曲线如图2-13所示。
由图2-13可以看出,电机运动明显分为两个阶段:
第一个阶段是加速阶段;
第二个阶段为恒速阶段。
其中,在加速阶段,电机带动车模后轮进行加速运动,加速度近似和施加在电机上的电压成正比,加速阶段的时间长度取决于时间常数T1。
该常数由电机转动惯量、减速齿轮箱减速比、车模的转动惯量决定,一般在十几到几百个毫秒。
在恒速阶段,电机带动车模后轮进行恒速运行,运行速度与施加在电机上的电压成正比。
调整车模角度的控制周期很短,时间一般是几个毫秒,远小于时间常数T1。
此时电机基本上运行在加速阶段。
由(2-3)计算所得到的加速度控制量a再乘以一个比例系数,即为施加在电机上的控制电压,这样便可以控制车模保持直立状态。
电机的加速度实际上是由通过电机的电流所产生的电磁力矩决定。
考虑到电机电流的控制需要更高的速度,所以在此就简化电机的控制方案。
1.3车模角度和角速度测量
通过测量车模的倾角和倾角速度控制车模车轮的加速度来消除车模的倾角。
因此,车模倾角以及倾角速度的测量成为控制车模直立的关键。
测量车模倾角和倾角速度可以通过安装在车模上的加速度传感器和陀螺仪实现。
(1)加速度传感器
加速度传感器可以测量由地球引力作用或者物体运动所产生的加速度。
竞赛规则规定如果车模使用加速度传感器必须使用飞思卡尔公司产生的加速度传感器。
该系列的传感器采用了半导体表面微机械加工和集成电路技术,传感器体积小,
重量轻。
它的基本原理如图2-14所示。
通过微机械加工技术在硅片上加工形成了一个机械悬臂。
它与相邻的电极形成了两个电容。
由于加速度使得机械悬臂与两个电极之间的距离发生变化,从而改变了两个电容的参数。
通过集成的开关电容放大电路量测电容参数的变化,形成了与加速度成正比的电压输出。
MMA7260是一款三轴低g半导体加速度计,可以同时输出三个方向上的加速度模拟信号,如图2-15所示。
通过设置可以使得MMA7260各轴信号最大输出灵敏度为800mV/g,这个信号无需要在进行放大,直接可以送到单片机进行AD转换。
实际上,飞思卡尔公司还有更多系列的低g值的加速度传感器,特别是具有数字接口的传感器可以方便单片机接口设计。
只需要测量其中一个方向上的加速度值,就可以计算出车模倾角,比如使用Z轴方向上的加速度信号。
车模直立时,固定加速度器在Z轴水平方向,此时输出信号为零偏电压信号。
当车模发生倾斜时,重力加速度g便会在Z轴方向形成加速度分量,从而引起该轴输出电压变化。
变化的规律为
式中,g为重力加速度;
θ为车模倾角;
k为加速度传感器灵敏度系数系数。
当倾角θ比较小的时候,输出电压的变化可以近似与倾角成正比。
似乎只需要加速度就可以获得车模的倾角,再对此信号进行微分便可以获得倾角速度。
但在实际车模运行过程中,由于车模本身的摆动所产生的加速度会产生很大的干扰信号,它叠加在上述测量信号上使得输出信号无法准确反映车模的倾角,如图2-16所示。
下图是实际测量安装在车模上MMA7260的Z轴信号。
车模倾角在两个角度位置过渡,看到除了角度变化信号之外,还存在由于运动引起的电压波动,这个电压波动随着车模运动速度增加会变得很大。
下面简单分析运动所产生的干扰信号。
加速度传感器安装在车模上,距离车轴高度为h。
车模转动具有角加速度θ'
,运动加速度α。
那么在加速度传感器Z轴上出现由于车模运动引起的加速度为hθ'
+α,如图2-18所示。
为了减少运动引起的干扰,加速度传感器安装的高度越低越好,但是无法彻底消除车模运动的影响。
车模运动产生的加速度使得输出电压在实际倾角电压附近波动。
这些波动噪声可以通过数据平滑滤波将其滤除。
但是平滑滤波一方面会使得信号无法实时反映车模倾角变化,从而减缓对于车模车轮控制。
另一方面也会将车模角速度变化信息滤掉。
上述两方面的滤波效果使得车模无法保持平衡。
因此对于车模直立控制所需要的倾角信息需要通过另外一种器件获得,那就是角速度传感器-陀螺仪。
(2)角速度传感器-陀螺仪
陀螺仪可以用来测量物体的旋转角速度。
竞赛允许选用村田公司出品的ENC-03系列的加速度传感器。
它利用了旋转坐标系中的物体会受到科里奥利力的原理,在器件中利用压电陶瓷做成振动单元。
当旋转器件时会改变振动频率从而反映出物体旋转的角速度。
ENC-03角速度传感器以及相关参考放大电路如图2-19所示。
在车模上安装陀螺仪,可以测量车模倾斜角速度,将角速度信号进行积分便可以得到车模的倾角。
如图2-20所示。
由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小。
车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。
因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。
由于从陀螺仪角速度获得角度信息,需要经过积分运算。
如果角速度信号存在微小的偏差和漂移,经过积分运算之后,变化形成积累误差。
这个误差会随着时间延长逐步增加,最终导致电路饱和,无法形成正确的角度信号,如图2-20所示。
如何消除这个累积误差呢?
一种简单的方法就是通过上面的加速度传感器获得的角度信息对此进行校正。
通过对比积分所得到的角度与重力加速度所得到的角度,使用它们之间的偏差改变陀螺仪的输出,从而积分的角度逐步跟踪到加速度传感器所得到的角度。
如图2-22所示。
在上述方案中,利用加速度计所获得的角度信息
与陀螺仪积分后的角度θ进行比较,将比较的误差信号经过比例1/
放大之后与陀螺仪输出的角速度信号叠加之后再进行积分。
对于加速度计给定的角度
,经过比例、积分环节之后产生的角度θ必然最终等于
。
写出图2-22系统的传递函数,可以看出输出角度包含了两个一阶惯性环节。
其中第一项是重力加速度Z轴对应的角度,第二项是陀螺仪加速度经过惯性环节的数值。
系统不再存在纯积分环节,所以陀螺仪的角速度微小的偏差不会形成积累误差。
其中参数
决定了这两个惯性环节的时间常数。
越大,角度输出跟踪Z轴输出越慢,但可以有效抑制重力加速度计上的噪声。
过大,就会放大陀螺仪输出误差。
这个参数需要根据实际车模运行效果进行调整,详见后面“车模调试篇”中的方法。
为了避免输出角度θ跟踪时间过长,可以采取以下两个方面的措施:
(1)仔细调整陀螺仪的放大电路,使得它的零点偏置尽量接近于设定值,并且稳定。
(2)在控制电路和程序运行的开始,尽量保持车模处于直立状态,这样一开始就使得输出角度θ与
相等。
此后,加速度计的输出只是消除积分的偏移,输出角度不会出现很大的偏差。
使用加速度计来矫正陀螺仪的积分漂移只是其中一种方法。
还可以通过测量车模的运行速度和加速度来矫正陀螺仪的积分漂移,这样就可以省略加速度器件。
这种控制方法在后面速度控制中给出。
(3)双加速度传感器获得角度和角速度
在图2-18所显示的加速度传感器Z轴信号除了由于重力加速度引起的输出之外,还包括有车模的角加速度和移动加速度产生的信息。
在车模现有的参数基础上,这些信号在幅值、频率等方面没有太大差异,它们叠加在一起无法将它们分开。
如果在车模上另外再增加一个加速度传感器,两个加速度传感器安装的高度不同,那么就可以通过这两个信号的差值求出车模的角加速度。
如图2-23所示。
通过上下两个加速度传感器输出信号相减,便可以得到车模倾角加速度。
对于这个信号进行两次积分,便可以的获得车模倾角的角速度和角度。
对于积分所可能带来的积分漂移问题仍然可以采用上面的重力加速度计补偿的方法进行消除。
根据前两节介绍车模角度控制和角度测量方法,可以得到如下车模角度控制方案框图。
该方案中采用重力加速度计和陀螺仪通过角度互补融合方式获取车模倾角和角速度,通过两个比例常数加权后,控制电机驱动电压,使得车模产生相应的加速度,维持车模的直立。
在此方案中,需要保证重力加速度传感器安装Z轴与车模直立中轴线严格垂直。
如果出现角度偏差,上述控制实际结果是车模与地面不是严格垂直,而是存在一个对应的倾角。
在重力的作用下,车模会朝着一个方面加速前进。
为了保持车模的静止或者匀速运动需要消除这个安装误差。
在实际车模制作过程中需要进行机械调整和软件参数设置。
另外需要通过软件中的速度控制来实现速度的稳定性。
在车模角度控制中出现的车模倾角偏差,使得车模在倾斜的方向上产生加速。
这个结果可以用来进行车模的速度控制。
下一节将利用这个原理来调节车模的速度。
1.4车模速度控制
对于直立车模速度的控制相对于普通车模的速度控制则比较复杂。
由于在速度控制过程中需要始终保持车模的平衡,因此车模速度控制不能够直接通过改变电机转速来实现。
假设车模在上面直立控制调节下已经能够保持平衡了,但是由于安装误差,传感器实际测量的角度与车模角度有偏差,因此车模实际不是保持与地面垂直,而是存在一个倾角。
在重力的作用下,车模就会朝倾斜的方向加速前进。
控制速度只要通过控制车模的倾角就可以实现了。
具体实现需要解决三个问题:
(1)如何测量车模速度?
(2)如何通过车模直立控制实现车模倾角的改变?
(3)如何根据速度误差控制车模倾角?
第一个问题可以通过安装在电机输出轴上的光码盘或测速编码器来测量得到车模的车轮速度。
如图2-25所示。
利用控制单片机的计数器测量在固定时间间隔内速度脉冲信号的个数可以反映电机的转速。
第二个问题可以通过角度控制给定值来解决。
给定车模直立控制的设定值,在角度控制调节下,车模将会自动维持在一个角度。
通过前面车模直立控制算法可以知道,车模倾角最终是跟踪重力加速度Z轴的角度。
因此车模的倾角给定值与重力加速度Z轴角度相减,便可以最终决定车模的倾角。
如图2-26所示。
分析图2-22中车模角度控制规律可以看出车模倾角设定量与车模倾角变化之间大体呈现一个一阶惯性环节
这个结论在下面进行速度控制时需要应用。
第三个问题分析起来相对比较困难,远比直观进行速度负反馈分析复杂。
首先对一个简单例子进行分析。
假设车模开始保持静止,然后增加给定速度,为此需要车模往前倾斜以便获得加速度。
在车模直立控制下,为了能够有一个往前的倾斜角度,车轮需要往后运动,这样会引起车轮速度下降(因为车轮往负方向运动了)。
由于负反馈,使得车模往前倾角需要更大。
如此循环,车模很快就会倾倒。
原本利用负反馈进行速度控制反而成了“正”反馈。
如图2-27所示。
为什么负反馈控制在这儿失灵了呢?
原来在直立控制下的车模速度与车模倾角之间传递函数具有非最小相位特性(在此省略了分析),在反馈控制下容易造成系统的不稳定性。
但根据实际经验,是可以通过速度控制进行车模倾角控制的。
为了得到合理的经验控制结论,需要将前面速度负反馈控制问题进行简化建模分析一下。
所做简化假设如下:
(1)车模角度在直立控制下简化成一个一阶过渡过程
这一点参见前面第二个问题的最后结论。
(2)车模倾角是由车轮运动产生,因此车轮速度是倾角变量求导再乘以车模长度。
(3)忽略车模倾角引起车轮加速度。
由于这个讨论仅对控制一开始短暂的过渡阶段而言,此时由于车模倾角比较小,引起速度变化很小。
(4)系统只进行速度比例负反馈。
简化模型如图2-28所示。
分析简化系统的传递函数,它具有一个一阶极点
,如果要保证系统稳定,需要满足
,这就要求车模倾角的调整时间常数
要大,调整速度缓慢和平滑,同时速度的反馈比例k要小。
这一结论与实际经验是相符合的。
以上两点在程序实现方法可以通过改变控制周期,减小控制参数,信号进行平滑滤波等方式来实现。
具体可以参见第五部分软件代码。
在实现上述两点之后,再分析车模运动速度的稳定性。
为了简化分析,首先忽略了由于倾角控制引起的车模速度的变化。
车模的速度最终由倾角所产生的加速度决定,因此将倾角的进行积分便可以得到车模的运动速度。
此时车模速度控制框图如图2-29所示。
前面分析可知为了保证系统稳定,往往取的车模倾角控制时间常数
很大。
这样便会引起系统产生两个共轭极点,而且极点的实部变得很小,使得系统的速度控制会产生的震荡现象。
这个现象在实际参数整定的时候可以观察到。
那么如何消除速度控制过程中的震荡呢?
要解决控制震荡问题,在前面的车模角度控制中已经有了经验,那就是在控制反馈中增加速度微分控制。
如图2-30所示
此时系统传递函数的极点实部变大,加快了系统的收敛速度。
由于车轮的速度反馈信号中往往存在着噪声,对速度进行微分运算会进一步加大噪声的影响。
为此需要对上面控制方法进行改进。
原系统中倾角调整过程时间常数往往很大,因此可以将该系统近似为一个积分环节。
将原来的微分环节和这个积分环节合并,形成一个比例控制环节。
这样可以保持系统控制传递函数不变,同时避免了微分计算。
具体改进如图2-31所示。
上述改进可以避免对于速度反馈信号的微分,但在控制反馈中,只是使用反馈信号的比例和微分,没有利误差积分,所以最终这个速度控制是有残差的控制。
但是直接引入误差积分控制环节,会增加系统的复杂度,为此就不再增加积分控制,而是通过与角度控制相结合后在进行改进。
结合图2-26给出的车模角度控制与角度给定框图,将图2-31引入后形成车模角度和速度控制框图。
如图2-32所示:
在上图中,角度控制需要两个控制参数,分别是比例控制参数
和微分控制参数
速度控制同样也有两个参数,分别是比例控制参数
和微分控制参数
在这两个控制中都使用了微分控制,目的是增加车模的角度和速度的稳定性,防止控制超调。
这个经验在后面车模方向控制中仍然适用。
下面对于图2-30的控制方案再进两点的改进。
第一点,图2-32给出的控制方案对于速度误差没有进行积分控制,这样最终速度不会严格等于设定值。
比如要求车模在原地停止,速度为0。
但是由于采用的是比例控制,如果此时陀螺仪有漂移,或者加速度传感器安装有误差,最终车模倾角不会最终调整到0,车模会朝着倾斜的方向恒速运行下去。
注意此时车模不会像没有速度控制那样加速运行了,但是速度不会最终为0。
为了消除这个误差,可以将车模倾角设定量直接积分补偿在角度控制输出中,这样就会彻底消除速度控制误差。
第二点,由于加入了速度控制,它可以补偿陀螺仪和重力加速度的漂移和误差。
所以此时重力加速度传感器实际上没有必要了。
因此可以将该传感器去掉,但是比例负反馈回路仍然保留,它用于克服陀螺仪的积分漂移。
综合上两点的改进,图2-32可以进行如下图所示的改进。
改进后的角度和速度控制方案如下图所示:
图2-34中没有了重力加速度传感器,速度回路控制可以补偿传感器的误差。
此时车模在控制启动的时候,需要保持车模的垂直状态。
此时陀螺仪的积分角度也初始化为0。
当然如果电路中已经包括了重力加速度传感器,也可以保留这部分,从而提高车模的稳定性。
在后面的最终给定的控制方案中,保留了这部分的控制回路。
在图2-34中速度控制误差经过积分和比例直接叠加在电机控制量上。
速度控制在开始讨论的时候是通过调整车模倾角来实现,通过上面进行的简化和改进,最后在图2-34中,已经演变成对于电机的直接控制了。
请注意两点:
第一点就是速度控制量的极性是负,和通常速度反馈控制的极性“恰好相反”,这是由于该控制方案是从调节车模角度反馈进行设计和改进而得到的。
第二点就是两个控制参数分别对应着误差信号的积分和比例值,所以在有的场合也可以称这两个参数为积分和比例控制参数。
二,直立车电路部分
2.1倾角传感器电路
车模倾角传感器电路主要是将陀螺仪信号进行放大滤波。
由于加速度传感器采用是低g值的传感器MMA7260,它的输出信号很大,不需要再进行放大。
电路图如图3-5所示。
上图中,将陀螺仪的输出信号放大了10倍左右,并将零点偏置电压调整到工作电源的一半(1.65V)左右。
放大倍数需要根据选取的传感器输出灵敏度设计,可以选择5至10倍范围都可以满足车模控制需要。
将上述电路