湖北师范学院机电与控制工程学院2013届学士学位论文(设计)
第三个问题分析起来相对比较困难,远比直观进行速度负反馈分析复杂。首先对一个简单例子进行分析。假设车模开始保持静止,然后增加给定速度,为此需要车模往前倾斜以便获得加速度。在车模直立控制下,为了能够有一个往前的倾斜角度,车轮需要往后运动,这样会引起车轮速度下降(因为车轮往负方向运动了)。由于负反馈,使得车模往前倾角需要更大。如此循环,车模很快就会倾倒。原本利用负反馈进行速度控制反而成了“正”反馈。
为什么负反馈控制在这儿失灵了呢?原来在直立控制下的车模速度与车模倾角之间传递函数具有非最小相位特性(在此省略了分析),在反馈控制下容易造成系统的不稳定性。但根据实际经验,是可以通过速度控制进行车模倾角控制的。为了得到合理的经验控制结论,需要将前面速度负反馈控制问题进行简化建模分析一下。
(1)车模角度在直立控制下简化成一个一阶过渡过程。这一点参见前面第二个问题
(2) 车模倾角是由车轮运动产生,因此车轮速度是倾角变量求导再乘以车模长度。 (3)忽略车模倾角引起车轮加速度。由于这个讨论仅对控制一开始短暂的过渡阶段而言,此时由于车模倾角比较小,引起速度变化很小。
(4)系统只进行速度比例负反馈的最后结论。
以上两点在程序实现方法可以通过改变控制周期,减小控制参数,信号进行平滑滤波等方式来实现。具体可以参见第五部分软件代码。
在实现上述两点之后,再分析车模运动速度的稳定性。为了简化分析,首先忽略了由于倾角控制引起的车模速度的变化。车模的速度最终由倾角所产生的加速度决定,因此将倾角的进行积分便可以得到车模的运动速度。
前面分析可知为了保证系统稳定,往往取的车模倾角控制时间常数很大。这样便会引起系统产生两个共轭极点,而且极点的实部变得很小,使得系统的速度控制会产生的震荡现象。这个现象在实际参数整定的时候可以观察到。那么如何消除速度控制过程中的震荡呢?
要解决控制震荡问题,在前面的车模角度控制中已经有了经验,那就是在控制反馈中增加速度微分控制。
上述改进可以避免对于速度反馈信号的微分,但在控制反馈中,只是使用反馈信号的比例和微分,没有利误差积分,所以最终这个速度控制是有残差的控制。但是直接引入误差积分控制环节,会增加系统的复杂度,为此就不再增加积分控制,而是通过与角
7
湖北师范学院机电与控制工程学院2013届学士学位论文(设计)
度控制相结合后在进行改进。
角度控制需要两个控制参数,分别是比例控制参数和微分控制参数。速度控制同样也有两个参数,分别是比例控制参数和微分控制参数。在这两个控制中都使用了微分控制,目的是增加车模的角度和速度的稳定性,防止控制超调。这个经验在后面车模方向控制中仍然适用。
图2.3.1通过电机驱动差动电压控制车模方向
2.4 车模方向控制
实现车模方向控制是保证车模沿着竞赛道路比赛的关键。直立车模所在的电磁组的道路中心线铺设有一根漆包线,里面通有100mA的20kHz交变电流。因此在道路中心线周围产生一个交变磁场。通过道路电磁中心线偏差检测与电机差动控制实现方向控制,从而进一步保证车模在赛道上。将在下面分别进行介绍。
(1)道路电磁中心线的偏差检测
道路电磁中心线检测简单的方法可以通过安装在车模前方的两个电磁感应线圈实现。线圈一般采用10mH的工字型电感。
(2)电机差动控制
利用电磁线偏差检测信号分别与车模速度控制信号进行加和减,形成左右轮差动控制电压,使得车模左右轮运行角速度不一致进而控制车模方向。
(3)方向控制算法
方向控制算法根据车模检测到电磁感应电压来生成电机差动控制量。通过左右电机速度差驱动车模转向消除车模距离道路中心的偏差。通过调整车模的方向,再加上车前行运动,可以逐步消除车模距离中心线的距离差别。这个过程是一个积分过程,因此车
8
湖北师范学院机电与控制工程学院2013届学士学位论文(设计)
模差动控制一般只需要进行简单的比例控制就可以完成车模方向控制。但是由于车模本身安装有电池等比较重的物体,具有很大的转动惯量,在调整过程中会出现车模转向过冲现象,如果不加以抑制,会使得车模冲出赛道。根据前面角度和速度控制的经验,为了消除车模方向控制中的过冲,需要增加微分控制。
微分控制就是根据车模方向的变化率对电机差动控制量进行修正的控制方式,因此需要增加车模的转动速度检测传感器。可以使用陀螺仪传感器进行检测。
由于电磁导引线的磁场强度与检测线圈的距离和方向都有关系。当车模的方向偏差很大的时,比如在车模前方出现急转弯的时候,检测线圈中轴线与电磁导引线不再垂直,出现一个很大的角度偏差。此时两个检测线圈的感应电动势都下降。
为了更能准确反映车模重心距离电磁线缆的距离差别,避免角度的影响,在进行方向控制时,使用左右两个线圈感应电动势之差除以左右两个线圈感应电动势之和,使用该比值进行方向控制。这样可以消除检测线圈角度的影响。 2.5 MC9S12XS128的特点
MC9S12XS128 微控制单元作为MC9S12 系列的16位单片机,由标准片上外围设备组成,包括16位中央处理器、128KB的Flash 存储器、8KB的RAM、2KB的EEPROM、两个异步串行通信接口、两个串行外围接口、一组8通道的输入捕捉或输出捕捉的增强型捕捉定时器、两组8 通道10 路模数转换器、一组8通道脉宽调制模块、一个字节数据链路控制器、29路独立的数字I/O接口、20路带中断和唤醒功能的数字I/O 接口、5个增强型CAN总线接口[2]。同时,单片机内的锁相环电路可使能耗和性能适应具体操作的需要。MC9S12XS128片内资源表[3]如图2.5.1所示。
图2.5.1 MC9S12XS128片内资源
9
湖北师范学院机电与控制工程学院2013届学士学位论文(设计)
在整个系统设计中,用到了6个单片机基本功能模块:时钟模块、PWM 输出模块、ECT 模块、中断模块、串口通信模块以及普通IO 模块。根据系统实际需求,对各个模块进行了初始化配置,通过对相应数据寄存器或状态寄存器的读写,实现相应的功能。
3.硬件电路的设计与介绍
整个硬件系统采用的是模块化的设计思想,整体的硬件框图如图3所示:
控制器模块 加速度计模块 电源模块 S12XS128控制核心 检波放大模块 测速模块 陀螺仪模块 电机驱动模块 图3 系统硬件结构图
3.1 循迹传感器放大电路
采用双电源运放可以得到很大的输出直流电压,但是多圈高精度滑动变阻器对信号影响较大,往往在弯道发生突变电压[4]。可能是负电源做的不好,我们采用单电源供电,由于需要放大的信号是非常弱的信号,所以需要运放的单位增益带宽比较大(至少1M以上),这样对小信号的放大作用就比较好,经过对比选择,我们最终选择了NE5532。
图3.1.1 NE5532运放放大电路
10
湖北师范学院机电与控制工程学院2013届学士学位论文(设计)
如上图,采用NE5532放大电路,可以避免信号失真,同时线性度够好。而且放大电路简单,有一个2.5V左右的抬压就不需要负电压,便于电路的设计,最后我们采用了NE5532放大电路作为谐振电压的放大电路[5]。 3.2 直立传感器电路与测速模块
车模直立传感器主要用来检测车模当前的倾角以及倾角的变化率。仿照官网,检测倾角我们采用加速度传感器MMA7260,检测车模倾角变化率我们采用陀螺仪ENC-03 MB。车模直立传感器电路主要是将陀螺仪信号进行放大滤波,由于MMA7260输出的信号很大,不需要进行放大[6],电路图如图3.2.1所示
图3.2.1 直立传感器电路图
测速模块用了100线的光栅作为测速传感器,经过换算5ms定时器计算一次速度,每50ms调一次速,400个脉冲相当于1m/s的速度,精度达到了0.25cm一个脉冲。对于智能车的控制,这已经满足要求了。 3.3 电机驱动模块和电源
采用专用芯片BTS系列的7960
图3.3.1 BTS7960驱动电路图
11