基于MC9S12DG128型单片机的智能车自动转向策略研究

时间:2022-10-29 02:36:31

基于MC9S12DG128型单片机的智能车自动转向策略研究

【摘 要】本文通过对智能车系统的详细研究,对舵机驱动模块进行了设计,优化了智能车自动转向策略研究。

【关键词】智能车;单片机;转向

智能车系统以MC9S12DG128为核心,为了使智能车能够快速行驶,单片机必须把路径的迅速判断、相应的转向伺服电机控制以及直流驱动电机的控制精密地结合在一起。智能车系统一般由电源模块、传感器模块、直流电机驱动模块、路径识别模块、通讯及调试模块、单片机模块等组成。其中,转向伺服电机一般由单片机直接驱动。如果传感器部分的数据没有正确的采集和识别,转向伺服电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,也会造成直线路段速度上不去,弯曲路段入弯速度过快等问题。

1 电源管理模块

采用可充式电池为7.2V 2000mAh的电池,而单片机系统、路径识别系统的光电传感器和接收电路、车速传感器电路需要5V电压,伺服电机工作电压范围为4.8-6V,因此电源需要电压调节电路。

2 路经识别模块

路径识别模块是智能车系统的关键之一,路径识别方案的好坏,直接关系到最后性能的优劣。路径识别又红外检测和摄像头检测两种方法,在这里我们选用的是光电传感器寻迹方案。光电传感器寻迹方案与CCD相比有以下优缺点。

所谓光电传感器寻迹方案,即路径识别电路由一系列发光二极管、接收二极管组成,由于赛道中存在轨迹指示黑线,落在黑线区域内的光电二极管接收到的反射光线强度与白色的赛道不同,由此判断行车的方向。我们在智能车前排安装了13个传感器,采用的是前排7个,后排6个的安装方式,前排传感器与后排传感器间隔排开,每个传感器之间的距离是20mm。我们设每个传感器为一个位置量,而两个传感器之间又可以有一个位置量,这样可以在定义25个位置量来进行位置调解。我们在实际安装中将红外传感器分两排安装。两排安装虽然与单排相比,虽然降低了检测空间分辨率,但两排安装除了可以获取道路的中心位置,同时还可以得到方向信息。

3 舵机驱动模块设计

舵机是一个直流电机,舵机的控制一般由单片机的PWM信号来完成,这里用到的MCU的型号为飞思卡尔半导体公司提供的MC9S12DG128。驱动芯片也是由其提供的MC33886。舵机的结构包括:舵盘、减速齿轮组、位置反馈电位计5k,直流电机、控制电路板等组成。其工作原理如下:控制信号控制电路板电机转动齿轮组减速舵盘转动位置反馈电位计控制电路板反馈。舵机的响应时间对于控制非常重要,一方面可以通过修改PWM周期获得。另一方面也可以通过机械方式,利用舵机的输出转距余量,将角度进行放大,加快舵机响应速度。我们采用修改PWM周期优化舵机的响应时间。智能车的舵机是一个位置随动系统,通过内部的位置反馈,使它的舵盘输出转角正比于给定的控制信号,因此我们可以通过改变输出信号的脉冲信号的宽度来改变舵机的转角。因为舵机的控制信号是pwm信号,利用占空比的变化可以改变舵机的位置。具体方案是用单片机作为舵机的控制单元使pwm信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。利用Codewarrior 4.5 for HCS12作为程序编译软件,用C 语言来作为开发单片机控制程序的语言,完成控制算法。再将计算结果转化为pwm信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的pwm周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟pwm信号的输出,并且调整占空比。

当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。

具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现pwm信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。

【参考文献】

[1]何树林.浅谈智能汽车及其相关问题[J].汽车工业研究,2010(09).

[2]邬昌茂.基于HCS12单片机的智能车底层控制系统研究[D].上海交通大学 2009.

上一篇:路桥工程施工管理特点及措施的探讨 下一篇:300MW燃煤锅炉控制工艺研究