基于红外传感器的智能车系统设计
1 系统分析
智能车系统一般由电源模块、传感器模块、直流电机驱动模块、路径识别模块、通讯及调试模块、单片机模块等组成。
本智能车的核心处理单元采用MC9S12DGl28B系列MCU,系统框图如图l所示,本智能车的设计采用了多模块技术:运用反射式红外传感器设计路径检测模块和速度监测模块;采甩PWM技术,控制舵机的转向和电机转速:系统还扩展了液晶显示屏和键盘模块实现人机交互操作,以便于智能车的相关参数调整。此外,PID寻迹算法结合ABS(Anti—skid Brake System.:防抱死系统)技术,使我们的小车能在曲折的赛道上以较快的速度稳定行驶。
2 系统硬件设计
2.1 电源部分 硬件各部分所需的电源大小不一样,为满足这一要求,本系统对电源部分进行设计。供电电源为配发的标准车模用7.2V 2000mAh Ni—cd蓄电池,通过稳压芯片分别提供6V、5V电压以及接地端。6V稳压电路如图2所示。其中6V电压供给伺服电机,5V的电压供给单片机系统、路径识别的光电传感器和接收器电路、车速传感器电路,LCD显示电路。在电路设计中,考虑到由于电机驱动所引起的电源输出不稳定(主要为瞬态脉冲),在电源输出端,各芯片电源引脚都加入了滤波电路。为了避免由于驱动电机转动时所引起的电磁干扰,在印制板上做了敷铜处理,将电路中的“地”与敷铜面相连接。
2.2 信息采集模块 在该模块中包括速度信息采集和位置信息采集两个子模块,分别采集智能车当前的位置信息和速度信息,并将采集到的信息传给MCU,其核心是反射式红外传感器。测速传感器安装于智能车右后轮附近,在靠近车轮的轴上贴一黑白相问、36等分的圆盘,用反射式红外传感器检测黑线,通过对黑色标志的记数可得车轮转过一周所用的时间T,通过公式进行计算即可得到智能车当前的运行速度V。
2.3 信息处理模块 信息处理模块包括信息处理和控制模块,其核心是MCU,MCU接收到采集来的信号,对信号进行处理后作出判断,并发出控制命令。
2.4执行模块 该模块包括了驱动电机和舵机,当接收到MCU的命令后便执行相应的操作,同时信息采集模块又采集到电机和舵机的状态信息,反馈给MCU。从而整个系统构成一个闭环系统,在运行过程中,系统自动调节而达到正确行驶的目的。
用芯片MC33886来驱动电机,通过调节加在电机两端的电压控制电机的转速从而控制小车的速度。利用芯片的全桥控制,对电机进行反接制动。由实验知,使用单片芯片的时候发热严重,以至芯片过热而自动保护。为此我们采取了三项措施来解决芯片发热问题:一、多片并联,减小单片的通过电流;二、在MC33886上部加装散热片;三、在电路板上留有大片覆铜区,通过片子的下部与覆铜区紧贴,进行散热。为了提高散热效果,在片子的上下表面都涂有导热硅脂,使其与散热片和覆铜区紧贴。由实验知,驱动芯片能够稳定运行。
2.5人机交互模块 在该模块中包含了按键输入与LCD液晶显示,其中按键用于调节小车的工作模式,同时也用于调节小车行驶时所需的一些参数;结合LCD液晶显示,从而使整个小车系统更具人性化。
3 系统软件设计
软件设计是整个系统的重要组成部分之一,软件设计是否合理直接影响智能车能否稳定行驶。MC9S12DGl28B系列单片机可使用C语言和汇编语言来编写源代码,使用C语言编写更为简单和易于移植。在IAR环境下编写源代码,经编译生成十六进制文件后可以通过JTAG下载到程序存储器中,并且可以在线调试和修改,大大提高了开发效率。本系统软件包括主程序、系统初始化子程序、液晶显示屏子程序、按键子程序、定时器中断服务程序等。各子程序可以完成相对独立的功能,而主程序需要完成以下任务:
(1)初始化各功能子模块:
(2)检测用户按键输入;
(3)调用各子模块的功能;
(4) 协调分配各子模块占用的系统资源。其系统控制流程如图3所示。
4 结束语
本论文结合实际设计经验,从智能车的硬件设计、软件设计等方面讨论了智能车如何能够平稳运行。在设计中笔者发现选择合适的器件、选用合理的控制算法、设计合理的软件程序是决定智能车能否快速、平稳行驶的关键。
|