
![]() 本系统的功能为通过传感器对小车行驶的周边环境进行探测,遇到障碍物要进行有效的避障处理,并进行相应的危险状况播报,同时还可以根据预定的进行寻迹行驶等。 ) y0 @2 X7 m( [9 R6 c3 G ![]() 超声波模块采集小车前面障碍物的距离信息;红外传感器采集小车前部下方预设轨迹的变化信息。 STM32主控芯片采集红外传感器及超声波传感器输出的信号,对它们的信息进行融合处理,经过数据分析之后发出相应控制指令传给L298N驱动模块及语音模块,对电机作出相应的驱动处理,对危险信息进行播报,实现对小车行驶的自动控制。 " z7 M% U$ i/ K 01 电机驱动电路设计 本次设计中的电机驱动芯片选用了L298N,它是一款接受高电压的电机驱动器,直流电机和步进电机都可以驱动。一片驱动芯片可同时控制两个直流减速电机做不同动作,在6V到46V的电压范围内,提供2安培的电流,并且具有过热自断和反馈检测功能。 L298N可对电机进行直接控制,通过主控芯片的I/O输入对其控制电平进行设定,就可为电机进行正转反转驱动,操作简单、稳定性好,可以满足直流电机的大电流驱动条件。 4 w: |$ i' @- _8 t# P ![]() 6 @( w/ O2 C4 H ![]() 8 B& ~+ j9 n2 ~% {' D ![]() 02 超声波避障电路设计 ) W- _2 D' E! D9 [ 但也有一些局限:检测角度较小,方向性较差,所以单个超声波模块的准确性并不理想,测量范围存在盲点。在实际开发应用中,会采取一些措施进行补偿处理,然后利用信息汇总技术对准确度进行提高。超声波距离测量原理非常简单,一般采用回波时间法,即检测超声波往返所测距离的时间,当发射器发出一个短脉冲时,定时器启动;当接收器接收到返回脉冲时,定时器立即停止。 此时记录的时间值为D = CT / 2, D为超声波传感器与测量对象之间的距离, C为介质中声波的传播速度, C = 331.4+t273 / 1m / s, t是摄氏温度, T是超声波发射回波时间间隔。 # P% M3 q% T& r. X 理论上,超声波在正常空气中传播速度随着介质温度的升高而有所加快,温度提高了一度,速度提高0.6 m/s左右。 ![]() 超声波传感器主要由三部分组成:控制部分,总线部分,超声波发射接收部分。 ) a0 J' w2 M) m: q2 F( l0 z5 a 主控芯片通过I/O口发送信号,通过总线发送到两个发生电路中,控制着两个超声波的发射,然后再由两个信号接收电路对接收超声波信号进行放大,最后通过总线传送到主控芯片的输入端口,然后根据发射接收时间差T,计算出传感器与障碍物之间的距离,最后根据距离对小车的行驶安全性进行判断,并做出相应动作。 03 语音处理电路设计 , I f/ ?5 \9 {4 n ~ 本设计中采用的是ISD1820语音模块,它是美国ISD公司于2001年推出的一款单芯片8至20秒单段语音录放电路模块,基本结构与之前的ISD1110和ISD1420原理几乎相同,都是采用了CMOS技术,配置振荡器、滤波器、增益控制、话筒前置放大、扬声驱动及FLASH阵列。 ![]() . y% [. K6 Y$ d 04 红外循迹电路设计 本次选用的红外对管模块适应环境光的能力很强,具有一对发射接收管,发射管发射一定频率的红外线,当检测到黑线时,不能反射回接收管,比较电路处理完后,绿色灯亮,信号输出接口不能输出数字信号。 可以通过电位器的旋钮调节灵敏度,有效检测距离范围为2到30厘米,正常工作电压为3.3到5V。具有抗干扰,易安装使用等特点,广泛应用于自动避障循迹。 ![]() 红外模块电路原理如图所示,图中10K限流电阻,不同性能的限流电阻决定了红外发射功率,限流电阻越小,发射功率越大。当光反射回来三极管导通,LM393两个输入端,同相输入端用“+”表示,反相输入端用“-”表示。用于比较两个电压,任一个输入端加一个固定电压做参考电压,即阈值电平。另一端加上比较电压。 Q6 Y4 L, k( K$ l8 [ 当反相输入电压低于同相输入电压时,输出截止。否则输出端饱和,输出接地。只要LM393的两个输入电压差大于10mv,就可以确保输出从现状态可靠转换到另一状态。 使用比较器就可以不用AD转换电路,经过LM393后在主控芯片控制端口产生高电平,从而完成检测的目的。模块的灵敏度可以通过变阻器VR1进行调整。 ![]() 05 显示模块电路设计 LCD1602模块的命令操作端有RS、RW和EN,单片机的P2^5、P2^6、P2^7脚分别与之相连。数据端口DB0~DB7分别接在单片机的P0^0~P0^7。为了保持LCD1602液晶具有较高的亮度,一般电路设计中都会将VL端串联一个2K的电阻接地。 ![]() 06 软件主程序设计 开始先是对单片机的初始化,其中包括对外部中断初始化和液晶的初始化。然后调用超声波测距子程序,判断前方300mm处是否存在障碍物,如果存在进行避障处理,如果不存在则进行红外对管检测,并做出相应动作。![]() % N, q/ [' W0 d& d 07 电机驱动程序设计 开始通过超声波模块和红外模块的检测,判断中断请求,如果没有中断请求则保持原状态,如果有中断请求则调控PWM进行避障或者循迹运动。通过P1^3电平检测,把它赋给temp,根据P1低四位电平,给出相应的驱动电平送到L298N,从而控制小车的直走停止,左右转等动作。 ![]() 08 超声波避障程序设计 首先,单片机给超声波模块Trig端发送一个高电平且持续20us,再给Trig端发送一个低电平,启动超声波模块,随即超声波模块会发送8个40KHZ的方波,等待信号返回,如果有信号返回则超声波模块的Echo端输出一个高电平,接收高电平的时间就是超声波从发射到接收的时间。 1 Q& s+ t. v/ x: E1 e 测试距离就等于(接收高电平时间*340)/ 2,单位为m。计算出障碍物和智能小车的距离,取前方多个方向的值,然后进行多次采样,以此减小数据误差,最后进行数据处理,通过软件算法判断最优路线,智能小车向目标方向行驶。 ![]() ![]() 09 语音处理程序设计 它的工作状态和检测障碍存在信号是同步的,当检测到前方存在障碍物,语音模块就会进行障碍信息播报。 ![]() 10 红外循迹程序设计 ; V" r5 j7 e* a: y8 r* X 首先对小车状态进行检测,如在轨迹上,则调用直走子程序,即两电机都正转;如偏向轨迹左边,则调用右转子程序,即左电机正转右电机反转;如偏向轨迹右边,调用左转子程序,左电机反转右电机正转;如到轨迹终点,则调用停止子程序,即两电机都不转。 ![]() |