MC9S12DG128的路径识别的智能车系统设计

嵌入式操作系统

57人已加入

描述

MC9S12DG128的路径识别的智能车系统设计

引言:随着控制技术及计算机技术的发展,智能车系统将在未来工业生产和日常生活中扮演重要的角色。本文所述智能车寻迹系统采用红外反射式光电管识别路径上的黑线,并以最短的时间完成寻迹。通过加长转臂的舵机驱动前轮转向,使用符合PI算法的控制器实现直流电机的调速。为了使智能车快速、平稳地行驶,系统必须把路径识别、相应的转向伺服电机控制以及直流驱动电机控制准确地结合在一起。

1 硬件设计

本系统硬件部分以飞思卡尔公司的16位微处理器MC9S12DG128为控制核心,由电源模块、主控制器模块、路径识别模块、车速检测模块、舵机控制模块和直流驱动电机控制模块组成。系统硬件结构如图1所示。

1.1 主控制器模块

本系统主控制器模块采用的MC9S12DG128主要特点是功能高度集中,易于扩展且支持C语言程序设计,从而降低了系统开发和调试的复杂度。

1.2 电源模块

本系统由7.2V/2000mAh的Ni-cd蓄电池组直接供电。鉴于单片机系统的核心作用,主控制器模块采用单独的稳压电路进行供电;为提高舵机响应速度,将电源正极串接一个二极管后直接加在舵机上;电机驱动芯片MC33886直接由电源供电。通过外围电路整定,电源被分配给各个模块。电源调节分配图如图2所示。

1.3 路径识别模块

路径识别模块采用收发一体的红外反射式光电管JY043作为路径的基本检测元件。本系统选用11个JY043按“一”字形排列在20cm长的电路板上,相邻两个光电管之间间隔2cm。因为路径轨迹由黑线指示,落在黑线区域内的光电二极管接收到的反射光线强度与白色的不同[2],所以根据检测到黑线的光电管的位置可以判断行车方向。光电传感器寻迹的优点是电路简单、信号处理速度快。在不受外部因素影响的前提下,光电管能够感知的前方距离越远,行驶效率越高,即智能车的预瞄性能越强[3]。图3为其硬件原理图。

1.4 车速检测模块

车速检测模块采用韩国Autonics公司的E30S-360-3-2型旋转编码器作为车速检测器件。该旋转编码器硬件电路简单、信号采集速度快,360线的精度足以满足PI控制算法调节的需要。旋转编码器与直流驱动电机通过齿数为1:1的两齿轮连接在一起,所以智能车车轮转动一圈即可以用360个脉冲表示。因此一定时间内单片机累加器获得的脉冲数值可以用来表示车速,并可直接作为控制器参数。图4为车速检测模块硬件电路图。

1.5 舵机控制模块

本系统使用SANWA SRM102型舵机完成智能车转向。舵机属于位置伺服电机,控制信号是MC9S12DG128单片机产生的PWM信号。舵机自身硬件特性决定:在给定电压一定时,空载和带载时的角速度ω分别保持恒值,而线速度υ=ω?R,正比于转臂的长度R。当舵机所需转动幅度一定时,长转臂要比短转臂转动的角度小,即响应更快。如图5所示,对于转臂1和2,当R1θ2。因此对于相同的角速度ω,可得转臂响应时间t1>t2。显然利用舵机的转距余量可以提高系统整体的响应速度[4]

智能车在行驶过程中,舵机的响应时间决定着系统的稳定性及快速性。为了减小舵机的时滞现象,充分利用舵机的转矩余量,本系统采用了以下三种方法:

(1) 提高舵机工作电压,使其工作在额定电压之上,从而减小舵机的响应时间;

(2) 将舵机转臂加长至3.5cm,充分利用转矩余量;

(3) 将两个8位PWM寄存器合并为一个16位PWM寄存器,将舵机的PWM控制周期放大至2000,从而细化PWM控制量,使转臂变化更加灵活、均匀。

1.6 直流驱动电机控制模块

本系统中,直流驱动电机控制模块由RS-380SH型直流电机、功率驱动芯片ULN2003、电机驱动芯片MC33886及MC9S12DG128单片机组成。

功率驱动芯片ULN2003为单片高电流增益双极型大功率高速集成电路,本系统采用了其中两组用于增强单片机输出的PWM信号的驱动能力。

图6为直流驱动电机硬件控制电路图。其中,电机驱动芯片MC33886是单片集成的H桥元件,它适用于驱动小马力直流电机,并且有单桥和双桥两种控制方式。D1、D2为使能端,IN1、IN2为PWM信号控制输入端,OUTl、OUT2为输出端。由于智能车从直道高速进弯时需通过紧急降速来保证系统的稳定,所以电机正转时必须能够产生反向制动力矩。因此本系统选择了MC233886的全桥工作方式。

当需要智能车减速时,PI控制器计算值为负,令PWM5输出的PWM信号占空比为零,PWM3输出的PWM信号占空比与计算值的绝对值相同,并且计算值越负,OUT2的电平高出OUT1越多,电机有反转趋势。反之,当需要智能车加速时,PI控制器计算值为正,PWM3输出的PWM信号占空比为零,PWM5输出的PWM信号占空比与计算值的绝对值相同,计算值越大,OUTl的电平高出OUT2越多,电机有正转趋势。

2 软件设计

本系统的控制方案是根据路径识别模块和车速检测模块所获得的当前路径和车速信息,控制舵机和直流驱动电机动作,从而调整智能车的行驶方向和速度。图7为系统程序流程图。

智能模型车的路径搜索算法(Line Searching Algorithm)是智能车设计中的关键部分。本系统路径搜索算法采用简单的switch语句,根据检测到黑线的光电管的位置判断舵机的偏转角度,同时给出相应的速度控制信号。其程序流程图如图8所示。

3 实验验证

智能车路径识别的关键在于快速地判断弯道并快速、准确地响应。智能车行进过程中,从长直道进入连续弯道时,由于曲率变化很小,此时转速的设定值较大,加之舵机响应时间的限制,智能车极易脱离轨迹。采用加长转臂的舵机及合理的路径搜索算法,可以增强智能车对轨迹的跟随性能。图9所示为智能车寻迹连续弯道试验效果图。其中,粗线为所寻迹的黑线,细线为智能车实际运行轨迹。

本文设计了一个基于飞思卡尔微处理器MC9S12DG128的智能车控制系统,实现了快速自动寻迹功能。在硬件上,该系统采用MC9S12DG128B单片机为控制核心,协调电源模块、路径识别模块、车速检测模块、舵机控制模块及直流驱动电机控制模块的工作;在控制算法上,采用路径搜索算法和类PI控制算法实现对智能车的舵机转角和电机转速的控制。此外,系统还完成了对加长转臂舵机的控制,实现了转向伺服电机与车速的配合控制。实验结果表明,该智能车系统响应快,动态性能良好,整体控制性能良好。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分