基于FPGA的智能小车设计

摘要:文中介绍了一种基于FPGA的智能小车设计方案,系统采用FPGA产生的PWM波调控小车速度,红外线传感器TCRT5000检测路面上的黑色轨迹,井将检测到的信号反馈给控制芯片FPCA,FPCA由采集到的信号发出指令,控制小车电机驱动电路以调整行驶方向,从而使小车能够沿着黑色轨迹自动行驶,同时利用了超声波模块实时的检测前边的障碍物,实现了小车的避障循迹功能。

随着FPGA从可编程逻辑芯片升级为可编程系统级芯片,其在电路中的角色已经从最初的逻辑胶合延伸到数字信号处理、接口、高密度运算等广阔的范围,应用领域也从通信延伸到消费电子、汽车电子、工业控制、医疗电子等更多领域。本文在研究嵌入式操作系统的基础上,提出了基于FPGA的智能小车设计方案,旨在自动实现工作现场、危险工作地段等特殊环境进行监视和控制,采用Altera公司的CycloneⅡEP2 C5T这款芯片为控制核心,同时采用了红外传感器及超声波传感器,设计了一种具有避障循迹功能的智能小车系统。

1 系统方案

本设计要实现一个能自动循迹自动避障的智能小车控制系统,采用FPCA芯片实现了智能小车的控制等的功能,选择常见的电机模型车为机械平台,通过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车的各种功能。设计完成以由红外线自动寻迹、超声波自动避障组成的硬件模块结合软件设计组成多功能智能小车,共同实现小车的前进倒退、转向行驶,自动根据地面黑线寻迹导航,检测障碍物后避障,并实时显示障碍物距离等功能,实现智能控制。

2 总体设计

智能小车由传感器信号处理模块、电机驱动模块和控制模块,与车上的传感系统以及电机驱动电路相配合,实现小车自主运动的功能,其中各个系统模块均用VHDL语言描述并在FPGA芯片中实现自动循迹避障,在LED屏显示障碍物距离等功能。该逻辑电路的工作原理是根据红外传感器发回来的数据,系统采用了4个红外对射传感器,通过FPGA来检测传感器信号实现小车躲避障碍物。超声波测距原理一般采用渡越时间法TOF,首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离了。控制车模运行状态,如前进、后退、左转、右转,服务器端打开GPIO驱动,通过CPIO端口输出控制信号,控制FPCA输出占空比可调的PWM信号,即可控制车模的运行状态。电机控制采用PWM脉冲宽度调制方式来控制汽车的前进速度。PWM信号送入电机驱动芯片的控制端来调节速度。小车系统框图如图1所示。

基于FPGA的智能小车设计

3 系统硬件设计

3.1 光电检测电路

TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电廾关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,光敏二极管饱和,此时模块的输出端为高电平,指示二极管被点亮。TCRT5000反射式光电传感器足经常使用的传感器,这个系列的传感器种类齐全、价格便宜、体积小、使用方便、质量可靠、用途广泛。此传感器含一个反射模块(发光二极管)和一个接收模块(光敏三极管)。通过发射红外信号,看接收信号变化判断检测物体状态的变化,图2为TCRT5000传感器模块电路原理图及实物图。

基于FPGA的智能小车设计

当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电子,从而实现了通过红外线检测信号的功能。将检测到的信号送到控制模块的I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。

回滞比较器LM324在系统中起到抗干扰的作用,LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源3~30 V,或正负双电源±1.5~±15 V工作。在黑线检测电路中用来确定红外接收信号电子的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压,图3为LM324的管脚图。

基于FPGA的智能小车设计

图4为红外对管黑线检测电路。

基于FPGA的智能小车设计

3.2 超声波传感模块

超声波发生器测距原理是经发射器发射出长约6 mm,频率为40 kHz的超声波信号,此信号被物体反射回来由接受头接受,接收头实质上是一种压电效应的换能器。它接受到信号后产生mv级的微弱电压信号。超声波传感模块如图5所示。

基于FPGA的智能小车设计

超声波测距是借助于超声脉冲回波渡越时间法来实现的。原理框图如图6所示。

基于FPGA的智能小车设计

超声波发射电路如图7所示。

3.3 电机驱动电路

电机驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。表1为L298N功能表。L298N的5、7、10、12四个引脚接到FPGA上,通过对FPGA的编程就可实现两个直流电机的PWM调速控制,其驱动电路的设计如图8所示。

基于FPGA的智能小车设计

4 系统软件设计

本系统采用PWM来调节直流电机的速度,通过VHDL语言编程实现FPGA的逻辑门控制。小车进入循迹模式后就开始不停地扫描与红外探测器连接的单片I/O口,一旦检测到某个I/O口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的运行状态。小车循迹避障流程图分别如图9、图10所示。

基于FPGA的智能小车设计

5 系统测试

为了测试智能小车系统的正常运行情况,设计场景对循迹小车系统进行测试。测试路线是用黑色的电工胶布来铺设,铺设在浅色地板上,该轨道为S型,在起点处以及各个目的地的终点处,有一条贯穿轨道的黑色横线,以此来指明停车点,S型轨道结束后,地面的任意摆上几个障碍物,走完障碍物路面到达指定地点停车。

通过软硬件调试,在Quartus II软件上得到的仿真波形如图11所示。

基于FPGA的智能小车设计

6 结论

文中设计的智能小车,采用红外传感器TRTC5000为循迹模块、FPCA为主要控芯片。小车使用单元模块化的电路设计,使得系统简洁,响应快、性能稳定,经测试小车实现了避障循迹功能。

  • 基于FPGA的智能小车设计已关闭评论
    A+
发布日期:2019年03月10日  所属分类:汽车电子