2.5 避障模块技术
小车进行避障时,我们需要提前探知其前方是否存在障碍物,这样就可以在行进过程中,自动选择远离障碍物的路线。在避障模块的选择时,有两种选择,一种是使用红外避障,还有一种是超声波避障。红外避障是通过发射和接收光信号,在通过一系列的转换变为数字信号,来判断前方障碍物。这种方式容易受到其他光的干扰,使得检测结果不准确。而且由于其光束比较集中,在探测时其探测的区间较小,可能会造成避障不成功。超声波避障则是利用声波信号遇到障碍物返回,测量其间隔时间来进行避障的。超声波的测量范围很广,可以测量方向、距离等。测量距离可以采用主动测距法和被动测距法:被动测距法是传感器只有接受信号的功能,包括方位法和视差法;主动测距法是传感器既发射信号又接收信号,包括TOF法、脉冲回波法、FM-CW法等。声波在传递过程中,是发散形式的,可以大角度的检测,这样就可以保证不会存在死角。而且声波的使用也比较广泛,像雷达探测,金属探伤等。
本小车采用了HC-SR04超声波避障模块(如图5所示),在其性能方面,有比较好的探测距离和角度。采用I/O口TRIG触发测距,利用接收到信号后的电平差,来进行信号控制,从而选择驱动小车两个轮子来进行避障。模块由5V电压供电,接入端为VCC口,TRIG为触发控制信号输入口,回响信号则由端口ECHO进行输出。
图5 HC-SR04超声波模块
7
图6 超声波脉冲响应时序图
表1 HC-SR电气参数 电气参数 HC-SR04超声波模块 工作电压 DC 5V 工作电流 15mA 工作频率 40Hz 最远射程 4m 最近射程 2cm 测量角度 15度 输入触发信号 10uS的TTL脉冲 输出回响信号 输出TTL电平信号,与射程成比例 规格尺寸 45*20*15mm 2.6 控制系统模块
在本小车设计的控制系统中,我们采用STC公司生产的一款单片机STC89C52。由于在小车的整个运行过程中,其需要处理的数据比较多,在驱动电机时,就需要通过单片机的I/O口来输出控制信号,使得小车实现前进、后退以及转弯等功能。在小车运动过程中,还需要接收很多的控制信号,像循迹信号、超声波信号等。这样就可以实现小车的速度控制、循迹行驶以及躲避障碍物等功能。
STC89C52单片机(如图7所示)有40个I/O口,其中P0、P1、P2、P3为并行I/O口。芯片时钟的产生有两种,内部时钟和外部时钟,而内部时钟就是通过单片机引脚XTAL1和XTAL2外界晶振得到的。还有多个中断源及优先级等,可以对程序执行功能的优先进行区分,通过中断来进行高优先级的指令。52单片机是8位单片机,拥有8K字节Flash,512字节RAM,内置4KB EEPROM,以及复位电路等。在单片机的4个并行I/O口中,P0与P3、P1与P2拥有相似的功能,除了P1口是单功能口外,其余都为双功能口。
8
图7 51单片机引脚图
2.7 电源选择
在小车电源选择时,我们需要特别注意,因为系统单片机的额定工作电压为5V。对于电机来说,用5V驱动又不能让小车行驶,而过高的电压可能会使系统芯片烧坏。因此,我们需要通过计算得到小车的可允许电压电流范围,一般采用9V~12V为好,本小车采用9V供电。这样既可以保证电机驱动所需电压,又不会因为电压过大而造成元器件的烧坏。
9
第3章 硬件电路设计
3.1总体设计
图8 小车总体框架图
小车的整体系统(如图8所示)是以51单片机为CPU,通过红外对管来进行黑线检测循迹行走,通过超声波探测器进行障碍物感知,进行避障功能实现,通过驱动模块来实现电机的驱动,从而达到小车的运动。 系统电路图见附录1:
3.2电源电路设计
在小车的电源系统,采用9V直流供电,为了防止在误操作时接入过高的电流使整个电路烧毁,一般会在电路中接入防击穿电容。
图9 小车电源电路
10
3.3驱动电路设计
图10 驱动电路框架图
在驱动电路部分设计时,我们要考虑的是驱动芯片的选择,一般是在L298N和L293D这两款芯片中选择。对于L298N芯片,是使用的15脚直插式封装模式,具有四通道驱动逻辑电路,可以很方便的驱动两个电机。而且它的工作电压以及单通道输出电流都比较高,一般可达到46V和2A。L293D在功能上和L298N基本一样,但是它的工作电压和通道电流都相比于L298N要小,其采用的是直插式16脚SOIC-20封装模式。所以,在应用时,一般使用L298N而不采用L293D,从经济方面来考虑,L298N也更具有优势。L298N输出电压的方式有两种,一种是直接通过电源的调节来进行电压输出;另一种就是直接使用单片机上的输入输出口提供电压信号。
图11 L298N引脚图
11