摘 要:结合飞思卡尔杯全国智能汽车大赛,设计了一种专为比赛的寻迹智能车。阐述了寻迹智能车模的软硬件设计、控制策略及改进方案,使其达到了智能汽车的实时性要求,并已成功应用于智能汽车大赛中。
在半导体技术日渐发展的今天,电子技术在汽车中的应用越来越广泛,汽车电子化已成为行业发展的必然趋势。汽车电子是车体汽车电子控制装置和车载汽车电子控制装置的总称。车体汽车电子控制装置,包括发动机控制系统、底盘控制系统和车身电子控制系统。
智能车结合传感器技术和自动驾驶技术可以实现汽车的自适应巡航并把车开得又快又稳、安全可靠;汽车夜间行驶时,如果装上红外摄像头,就能实现夜晚汽车的安全驾驶;也可以工作在仓库、码头、工厂或者危险、有毒、有害的工作环境里,此外还能担当起无人值守的巡逻监视、物料的运输、消防灭火等任务。在普通家庭轿车消费中,智能车研发也是有价值的。
本文结合飞思卡尔杯全国智能汽车大赛的车模设计, 论述了寻迹智能车模的软硬件设计、控制策略及改进方案。
1 智能车机械电路设计
1.1 整车设计思路
寻迹智能车所使用的车模是一款带有差速器的后轮驱动模型赛车。通过自动控制器,控制模型赛车在封闭的跑道上自主寻线运行。在保证车模运行稳定(即不冲出跑道)的前提下跑完2圈后,自动停止。
寻迹智能车系统主要以 MC9S12DG128单片机为,由传感器模块、电源模块、直流电机驱动模块、转向舵机控制模块、控制参数选择模块以及一些辅助模块组成。采用的红外式光电管和对射式光电传感器用以检测道路信息和车子的运动状态,单片机经过运算处理,输出PWM信号控制舵机和驱动电机,以实现方向和速度的控制。同时,系统采用各模块独立的电源供电,保证了系统的稳定性。通过CodeWarrior软件开发S12单片机的功能,PID算法等控制策略有效地控制智能车各个运行时刻的状态。系统中各个模块之间关系如图1所示。
图1 系统中各个模块之间关系图
1.1.1 传感器
(1) 光电传感器
路径识别采用反射式红外光电传感器 ,该检测方式简便、易编程控制。初设计时,选用独立发射和接收的普通传感器,在接收管周围卷上不透光的黑色胶带以减少干扰。光电管的布局采用“一”字等间距式排列,传感器前面加有弹性的塑性保护条,保护光电管,以及调试过程中,防止智能车跑出轨道后与其他物体发生碰撞损坏,重要的是可以减少太阳光照对传感器的影响。
由于普通光电传感器在设计时需要自己做放大电路,而且检测距离有限,时仅为10 cm,瞻仰性能差,只能垂直跑道发射,这些都是影响智能车车速和反应性能的因素。针对这一问题采用了检测距离远、内部集成有放大电路的光电传感器。其瞻仰性能好、检测黑白线准确、系统稳定,而且其直接输出开关量,即TTL电平,这对提高智能车车速有很好的效果。
(2) 速度传感器
采用霍尔传感器作为速度传感器。在后轮输出齿轮轴上粘贴小磁钢片,附近固定一个霍尔传感器633。633有3个引脚,其中2个是电源和地,第3个是输出信号,只要通过一个上拉电阻接至5 V电压,就可以形成开关脉冲信号。
1.1.2 驱动电机
模型车后轮采用RS-380SH电机驱动,电机轴与后轮轴之间的传动比为18:76。齿轮传动机构对车模的驱动能力有很大的影响,如果安装位置不恰当,会大大增加电机驱动后轮的负载。调整原则是:两传动齿轮轴保持平行,齿轮间的配合间隙要合适,过松容易打坏齿轮,过紧又会增加传动阻力,浪费动力;传动部分要轻松、顺畅,不能有迟滞或周期性振动现象。判断齿轮传动是否良好的依据是听一下电机带动后轮空转时的声音。声音刺耳响亮,说明齿轮间的配合间隙过大,传动中有撞齿现象;声音闷而且有迟滞,则说明齿轮间的配合间隙过小,或者两齿轮轴不平行,电机负载变大。调整好的齿轮传动噪音很小,并且不会有碰撞类的杂音。
1.1.3 智能车电源电路
电源模块是为系统各个模块提供所需要的电力支持。设计中除需考虑电压范围和电流容量问题外,还要在电源转换效率、降低噪音、防止干扰和电路简单等方面进行优化。可靠的电源方案是整个电路稳定可靠运行的基础。
全部硬件电路的电源由7.2 V、2 A/h的可充电镍镉电池提供。由于电路中的不同模块所需要的工作电压和电流容量各不相同,因此电路模块应该包含多个稳压电路,将电池电压转换成各个模块需要的电压。主要包括的电压值为5 V、6 V和7.2 V电压。其中5 V电压主要为单片机、红外传感器、速度传感器以及部分接口电路供电。为单片机提供的电源质量要求较高,否则容易出现复位现象。
1.1.4 控制参数选择电路
为了适应各种赛道,实现在不同现场和环境下不对程序进行修改的要求,需要准备多套控制方案,以便随时根据现场跑道形状、摩擦等实际情况选择的方案。为实现方案选择功能,设计时在电路母板上使用了拨码开关。通过拨码开关来控制单片机选用不同的控制参数,以达到的性能和速度。
1.2 微处理器MC9S12DG128B主要功能
MC9S12DG128B是飞思卡尔半导体公司的汽车电子类产品,早在飞思卡尔还没有从摩托罗拉分离出来前就已经诞生了。它属于飞思卡尔单片机的S12系列,其内核为CPU12高速处理器。MC9S12DG128B拥有丰富的片内资源,Flash达128 KB,加入裁减过的μCOS没有问题。MC9S12DG128B有16路A/D转换,可设置为10位;有8路8位PWM并可两两级联为16位PWM,特别适合用于控制多电机系统。它的串行通信端口也非常丰富,有2路SCI、2路SPI,此外还有IIC、CAN总线等端口,并且采用了引脚复用功能,使得这些功能引脚也可设置为普通的I/O端口使用。此外它内部还集成了完整的模糊逻辑指令,可大大简化程序设计。MC9S12DG128的封装有2种,一种为80 引脚的,它没有引出扩展总线,且A/D转换只引出了8路;一种为112引脚的,2种都采用了表面贴片式封装。本设计中采用112引脚封装形式。
1.3 舵机的改造与安装
舵机转向是系统中一个拥有较大时间常数的延迟环节。为增快舵机的响应速度,在设计上增大了舵机输出端的力臂长度,提高了力臂线速度,从而提高了转向轮的响应速度。这样有2种安装方式,一是力臂成一定角度放置,舵机平放;二是力臂平放,舵机竖直放置,增加灵活度。本设计采用舵机水平放置。
2 控制策略研究与软件设计
2.1 控制策略
由于跑道设计黑线宽度是25 mm,而光电管的间距是15 mm。因此,同时在黑线上的光电管个数不会超过2个。这样就可以逐个分析出有可能出现的各种情况,并且针对每种情况采取相应的控制措施。
对于智能车来说,根据接收到的黑线位置信号来调整舵机,根据速度信号来控制直流电机,考虑到智能车有可能因为速度过快而偏离黑线较远而检测不到黑线,致使光电管全部显示为低电平。解决的方法是使用前一个状态的控制方案,因为小车的偏离程度等所有物理量都是连续变化的,一般不会出现突变。小车行驶过程中一个很重要的环节就是速度控制,如果驱动力大于阻力,小车就会以一定的加速度不断地加速,速度过高,过弯道时容易冲出。同理,如果驱动力小于阻力,小车就会不断的减速。所以必须让小车根据道路的情况来维持相对应的速度。
2.2 算法选择
根据目前小车的硬件选择,可以确定系统的稳定需要闭环控制来实现,控制算法的选择要根据系统的对象模型确定。系统要控制的是速度和转向角度,此系统的速度变化十分快。根据如此情况,可以有以下几种算法选择:
算法一:PD 调节算法。由于系统有较强的滞后性,通过比例微分调节来实现系统稳定。但是没有积分环节,加上系统硬件选型上选用的直流电机本身是开环控制,可能会由于直流电机的误差而无法实现系统稳定。
算法二:PID 调节算法。在算法中适当地加入积分环节以消除余差,但参数不当也可能会使系统的调节时间变长,超调量加大,系统调节更慢。
如果系统是通过频率来调节车速的模型,根据需要可以用速度式的PID 算法来实现;如果系统是通过调节输出脉冲的个数来调节车的位移,则采用增量式PID 运算更合适。
速度式PID算法:
其中,kd为微分系数,kp为比例系数,ki为积分系数,T 为采样周期。
2.3 软件设计
基于以上分析,软件流程如图2所示。在设计时,采用模块化编程,主要包括锁相环初始化模块、定时器初始化模块、脉宽调制初始化模块、模拟/数字初始化模块、看门狗初始化模块、速度调节模块、中断模块、停止模块和控制方案的选择模块。
图2 软件流程
智能车的制作采用一体化处理,将各个模块集中在一块板上,硬件电路简单,性能较好,其整车的设计效果如图3所示。小车转向准确、稳定,能够安全通过各种弯道和十字交叉路口,平均速度可以达到2 m/s左右。实现了开机2 s后自行启动、自动寻迹运行和自动停止在起跑线1 m之内。
图3 整车的设计效果
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。