低成本8位单片机控制的光电寻迹智能车
摘要:提出一种使用激光检测白底黑色跑道的寻迹智能车的软硬件设计方法,在硬件上设计了最小系统、主板、电机驱动、激光传感器模块、测速模块等电路,采用8位freescale单片机MC9S08AC16作为控制核心,使用低成本的红外传感器测速方案,采用14发射、7接收“-”字型排开的激光传感器检测赛道信息,电机驱动采用“H”型双极性驱动电路。硬件设计上使用了适合8位单片机的枚举查表为主的舵机控制算法,而速度控制则为bang-bang控制与P算法控制相结合的方法。
关键词:激光传感器;智能车;8位单片机;寻迹
智能车竞速比赛以及多种智能车的应用场合中,需要智能车沿着某条轨迹快速前进,使用普通红外传感器、激光传感器、摄像头识别均可有效提取路面轨道信息而解决这一问题,现在常见使用16位单片机作为控制核心。普通红外传感器因为易受干扰、前瞻距离短等缺点已经较少使用,摄像头有丰富的数据信息,但是低成本8位单片机不能很好的处理这些信息。激光传感器成本适中,处理的信号便于8位单片机处理,能够有效的节省硬件成本。针对寻迹智能车进行了软硬件设计,采用3位freescale单片机MC9S08AC16作为控制核心,使用激光传感器提取赛道信息,采用低成本的红外测速方案,算法使用以PID为基础的枚举查表法,做到了处理快速高效。整个设计既满足了竞速小车的响应迅速的要求,又是一种较低成本的设计方案。
1 车模安装
智能车的控制采用的是前轮转向,B型车模采用的是国内厂商生产的1:16的电动越野遥控车的底盘部分,突出特点为四轮驱动,四轮独立悬挂。反射式光电传感器在小车前方一字形简单排布,14个发射,7个接收,一个发射带两个接收,传感器的前瞻可以达到40cm以上,两个激光发射头间距1.8cm。传感器单元安装图如图1所示。
系统选用红外传感器作为测速传感器把红外传感器安装在后轮上,在后轮的内壁贴上黑白等距的胶带,这样子安装就充分利用了空间,且完成了测速的要求。红外传感器测速安装图如图2所示。车轮转动时,红外传感器将会输出脉冲电平,检测脉冲频率将得到小车速度。这种测速方法无法达到光电解码器的精度,但是对于小车的速度处理并没有太大影响,而光电解码器价格昂贵,安装在齿轮上,同等电源和PWM的输出时,小车速度会变慢。
2 硬件设计电源管理模块采用7.2 V 2 000 mAh Ni-Cd蓄电池作为系统能源,并且通过降压稳压电路分出6 V,5 V分别给舵机和单片机等供电;使用H桥及其相关器件做了直流电机驱动模块;转向伺服舵机控制智能车转向;用红外传感器测量模块实时测量智能车车速;采用激光传感器作为赛道的检测;系统充分使用了M9S8AC16CG单片机的外围模块,具体使用到的模块包括:定时器模块、PWM脉冲宽度调制模块、中断模块、I/O端口和实时时钟模块等。
2.1 最小系统及主板
系统采用的常规使用的最小系统板,以MC9S08AC16为核心的单片机系统的最小系统主要包括以下几个部分:时钟电路(外接的8 MHz的石英晶振)、电源电路(提供5 V直流电源)、复位电路、BDM接口(通过BDM头向单片机下载和调试程序)。
主板上有组成本系统的主要电路,具体包括:
电源稳压电路 7.2 V的电池电源将会通过3个集成稳压电路处理成两个5 V、一个约5~7.2 V的可调直流输出,其中一个5 V直流电源供单片机和相关外设工作,另外一个5V直流单独供激光传感器工作,可调直流输出供舵机工作,采用这种电源设计方式,可以提供所需不同大小的电源,同时在舵机、激光传感器工作时不会影响单片机的工作电源。
接口电路 包括舵机接口、电机驱动接口、电源接口、调试用人机界面电路接口、单片机最小系统插座。
电机驱动板作为一个独立的单元制作的直流电机“H”型双极性驱动电路。
2.2 传感器模块
采用14个发射,7个接收,两个发射一个接收为一组一字排开。每次选中不相邻两个发射管发射,由两个接收譬分别接受。AC16单片机的IO端口进行控制,由74LD164驱动选择要发射的传感器,由一个555芯片发出100 kHz的频率震荡波,激光管发光。接受部分有一个相匹配的100 kHz的接收管接收返回的光,7路接收管的接收信号直接进单片机。传感器原理如图3所示。3 软件设计
3.1 软件设计概要
系统的主函数将执行图4所示流程图对应的程序。调试程序可以完成的功能有:检验传感器故障、调试速度控制参数、舵机中点设置、舵机转角参数控制等。传感器数据的读取特指激光传感器的读取,在定时器程序中,每5 ms开始新的一轮激光扫描,每125μs更换1组激光发射管,每组发射两个不相邻的激光信号,所有激光发射5遍之后,3次以上检测到赛道轨迹信号才确认有效,此时才会设置传感器数据读取完成标志,所以系统每5 ms进入后续程序执行。小车舵机转向控制、速度控制稍后详细论述。对于小车马达速度控制则为闭环控制,采用bang-bang控制与P算法控制相结合,小车的速度读取采用了输入捕捉功能完成,车子运动时,车轮转动,每转过1/5圈,红外传感器就会输出一个完整的脉冲周期,通过读取红外传感器的输出脉冲频率确定小车的速度。
- 基于DSP的智能刹车控制系统研究(07-29)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)
- 五大主流智能手机操作系统的前世今生(03-02)
- 基于VxWorks的MB系列智能可编程控制器设计(01-16)
- 基于TMS320F2812的智能变送器(04-08)
- 利用低成本的MCU的UART驱动智能卡(05-04)