基于MC9S12DGl28单片机的智能寻迹车设计
智能汽车是汽车电子、人工智能、模式识别、自动控制、计算机、机械多个学科领域的交叉综合的体现,具有重要的应用价值。智能寻迹车是基于飞思卡尔MC9S12DGl28单片机开发实现的,该系统采用CCD传感器识别道路中央黑色的引导线,利用传感器检测智能车的加速度和速度,在此基础上利用合理的算法控制智能车运动,从而实现快速稳定的寻迹行驶。
智能车的控制核心为
MC9S12DGl28。
MC9S12DGl28是飞思卡尔公司生产的一款16位单片机,片内总线时钟可达到25MHz;片内资源包括8KRAM、128KFlash、2KEEP-ROM;SCI,SPI,PWM和串行接口模块;脉宽调制模块可设置成4路8位或2路16位,逻辑时钟选择频率脉宽:2个8路10位A/D转换器,增强型捕捉定时器并支持背景调试模式等。
该系统设计使用NEC公司的线阵CCDμPD3575D检测赛道信息。该器件可工作在5V驱动(脉冲)和12V电源条件下。μPD3575D的驱动需要4路脉冲,分别为转移栅时钟φIO、复位时钟φRD、采样保持时钟φSHO和传输门时钟φTG。系统设计由外围电路直接产生CCD驱动时钟,采用计数器和触发器专门设计时序电路,产生转移栅时钟φIO、复位时钟φRO、采样保持时钟φSHO,单片机只需产生一个帧同步信号与外围时序电路保持同步即可。μPD3575D输出的是模拟信号,将采集图像传输至单片机,一般需对μPD3575D输出信号进行A/D转换,考虑到设计实际上只需要区分黑色和白色,μPD3575D对这两种输出信号差异较大,因此,将μPD3575D输出信号放大后直接使用一个比较器对信号二值化处理,如图2所示。由单片机检测二值信号的跳变时间,便可计算出黑线位置,从而进一步缩短单片机在CCD上所消耗的时间。
车速检测模块
系统使用红外传感器检测直流电机的转速。在后轮减速齿轮上粘贴一个均匀分布有黑白条纹的编码盘。红外接收管接收与未接收红外光所表现的特性是阻抗变化,所以只需用一个电阻电压变换电路和比较电路便可将其模拟信号转换为数字信号,供单片机采集。
直流电机驱动模块
系统采用RS380-ST型直流电机,其驱动电路采用集成电机驱动器MC333886。此器件是单片集成的H桥元件,有单桥和双桥两种控制方式,其可控电压为5~40V,最大PWM频率达10kHz,内置短路保护电路和过热保护电路,最大能承受的5A的工作电流。其中D1、D2是MC33886的使能端,INl、IN2为输入端,0UTl、0UT2为其输出端。图3是将MC33886的D2端接到单片机的PWM输出端口,通过MC33886的两个输出端口实现电机的转速控制、方向控制及制动等。采用输出端并联并连接到电机一端,以及增加散热片的方法使智能车在相同电压和占空比时,其速度更快,同时还降低H桥上的压降,减少MC33886发热,防止器件由于温度过高被烧毁。
智能车在高速行驶中如果突然转向,会出现侧滑现象。该系统设计采用ADXL202加速度传感器判断移动智能小车在行驶中是否出现侧滑现象。ADXL202是美国ADI公司推出的低成本双轴加速度传感器,其外围电路简单.采用5V供电,将加速度传感器的输出端9引脚和10引脚直接接到单片机的AN00,AN01引脚,通过计算输出信号的占空比可精确检测轴向和横向加速度。
智能车使用韩国futaba公司的S3010舵机完成转向控制。舵机控制信号由单片机的PWM模块PWM0和PWMl联合产生一个16位的PWM信号。由于舵机的转角与脉冲宽度存在线性关系,改变PWM占空比可改变输出脉冲的宽度。从而控制舵机转向。将驱动舵机脉冲波型的周期从原来的20ms减小到10ms,增加舵机控制信号的更新频率,减少舵机控制环节中的延时,提高整个车模转向控制速度。