APP下载

工厂智能载货小车系统的设计与实现

2020-09-24闫莉莉王启明

科技视界 2020年26期
关键词:循迹直流电机障碍物

闫莉莉 王启明

关键字智能小车系统;51 单片机;RPR220 模块;超声波模块

0 引言

随着时代的进步,工业领域正一步一步朝着智能化的控制方向发展,工厂也不断推进无人化进程,但是当前国内很多中小型企业车间依然人工比居多,因此智能载货小车的设计就很好地符合这一潮流,不仅可以大大地减少工厂对人工的投入,而且在很大程度上,也保护了一些危险场地人工的安全。因此设计开发一款工厂智能载货小车系统是很有必要的。

在本设计的工厂智能载货小车系统中,人工首先在道路上贴上“黑线”信息,智能载货小车通过反射式红外光电传感器RPR220 来对道路上预设的“黑线”信息进行采集,之后利用电压比较器LM324 将采集来的信息以高低电压的形式发给STC89C51 单片机主控芯片进行信息处理;与单片机相连的HC-SR04 超声波测距模块可以测量出小车与障碍物之间的距离,然后以一个高电平发送给STC89C51 单片机;单片机对这些信息进行分析,发出指令。当智能小车要行驶时,单片机发出信号,L293D 电机驱动芯片带动两个直流电机转动,同时产生PWM 波控制两个车轮转速,调整行驶方向,按预设道路“黑线”行驶,实现寻迹。当出现障碍物时,超声波模块会对单片机发送信息,之后单片机会对电机发出停止信号进行避障,同时蜂鸣器报警,当障碍物消失之后小车继续沿预设道路行驶,到达目的地之后,由工人卸货,之后再沿预设道路返回等一系列操作。

1 系统的基本结构

智能循迹小车主要由STC89C51 单片机电路、循迹模块、LM324 驱动模块、直流电机、小车底板、电源模块、超声波测距模块等组成。

(1)单片机电路:采用STC89C51 单片机芯片作为控制单元。STC89C51 单片机具有低成本、高性能、抗干扰能力强、超低功耗、低电磁干扰、并且与传统8051 单片机程序兼容、无须改变硬件、支持在系统编程技术等。使用ISP 可不用编程器直接在PCB 板上烧录程序,修改、调速都方便。

(2)循迹模块:采用脉冲调制反射式红外发射接收器作为循迹传感器,调制信号带有交流分量,可减少外界的大量干扰。信号采集部分就相当于智能循迹小车的眼睛,有它完成黑线识别并产生高、低平信号传送到控制单元,然后单片机生成指令来控制驱动模块来控制两个直流电机的工作状态,完成自动循迹。

(2)L293D 驱动模块:采用L293D 作为电机驱动芯片。L293D 具有高电压,大电流,响应频率高的全桥驱动芯片,一片L293D 可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强,操作方便,稳定性好,性能优良。L293D 的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L293D 的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。如图1 所示。

2 系统的硬件设计

2.1 STC89C51 单片机模块

本系统采用的核心芯片是STC89C51 单片机,采用STC89C51RC 的理由是因为它的特点,首先该系统拥有着可编程芯片ISP,工作时钟频率最高可达到80MHz,还采用了Flash只读程序存储器片,它的内存容量为4K Bytes,基本上可反复擦写大约1 000 次,STC89C51 芯片内部集成的还有通用8 位中央处理器和三级加密程序存储器,她拥有着32 个可编程I/O口,为系统的开发提供了很大的便利性,在该51 单片机中有三个16 位定时器/计数器八个中断源,他们可以为系统提供了必不可少的中断,它的全双工UART 串行通道也是任何一个系统开发必不可少的一部分,智能的首要就是通信,而该芯片也完全满足,低功耗空闲和掉电模式可以为用户提供更好的满意度,看门狗定时器是我们设计系统的重中之重,它相当于一个总开关。在选用了该芯片之后,再继续配合PC 端的控制程序使用,就可以将用户的源程序烧录到单片机内部,不仅可以让该系统的开发成本变得更低,而且还更高效,因为他的速度更快。

2.2 反射式红外光电传感器RPR220 模块

反射式红外光电传感器模块是一种利用反射式红外光电传感器制成的在传感器的有效范围检测距离内对物体的存在性进行检测的电路装置。模块由红外光发射接收器、电压变化检测电路、检测灵敏度调节电路器和检测状态指示LED 灯等四个主要部分组成,由于RPR220 传感器各方面都符合设计的要求,并且容易焊接,价格合适,因此我选用RPR220 传感器作为路面黑色轨迹线的检测设备。

图1 系统硬件体系设计图

2.3 电压比较器模块

电压比较器LM324 是带有真差动输入的四路运算放大器,有真正的差分输入功能,可以作为模拟和数字电路的接口,还可以用作波形产生和变化电路等。该四路放大器的工作电压可以在3.0 V~32 V 范围内,而每个放大器工作的静态电流只有MC1741 的五分之一。在我们开发系统的许多应用中,我们不需要加外部偏置元器件,因为共模输入的范围已经包括负电源,而且输出电压的范围也包括了负电源电压。它采用的是14 脚双列直插塑料封装,应用领域包括传感器放大器、直流增益模块等,驱动功耗较低,符合设计要求。所以我选用了LM324 电压比较器作为本设计的电压比较器。

2.4 超声波测距模块

超声波避障模块是要实现对小车行驶轨迹前方障物的检测,把检测的道路信息以高电平输送给单片机,让单片机分析判断,决定蜂鸣器是否报警。完成此功能主要靠测距模块HCSR04 和蜂鸣器。超声波测距模块包括超声波发射器、接收器与控制电路三部分,2 cm~400 cm 是它的实时测量范围,而且测量的准确度极高,可以达到3 mm,最后就是盲区小。把超声波测距模块的VCC 端接到开发板的5 V 电源,GND 端接地,因为该模块可以发出超声波,因此免不了接收触发控制信号,这个时候我们可以采用TRIG 端,ECHO 端主要是为了输出回响信号。由于HC-SR04 模块,使用起来十分简单方便、而且价格便宜、安装也很容易,因此选用了HC-SR04 测距模块作为测量小车前方是否有障碍物的设备。

2.5 直流调速模块

单片机直接输出的电压电流无法驱动直流电机,为了完成小车的驱动,本设计采用了L293D 芯片。L293D 电机驱动芯片是由SGS 公司的研发的一款电机驱动芯片,采用16 引脚DIP封装。L293D 芯片内部集成了2 个双极性H 桥电路,同时实现对2 个直流电机转动的控制。EN1、IN1、IN2 可以控制一个直流电机,EN2、IN3、IN4 可以控制一个直流电机。其中EN1 为使能信号,并且起到了一个可以控制小车停止的一个功能;IN1、IN2为控制信号,可以根据输入的信号让电机正转和反转。在IN1为1,IN2 为0 的情况下,电机正向转动,反之,电机反向转动,另个电机控制同理。把单片机产生的PWM 连接在EN1 上,可以通过改变PWM 的占空比实现电机转速的调节。PWM 就是脉冲宽度调制,即占空比可以改变的脉冲波形,即想要输出不同的PWM 波,只要改变单片机输出电压的占空比即可完成。单片机的端口可以直接与L293D 的端口连接,作为信号源,电路容易连接。

3 系统的软件设计

工厂智能载货小车采用STC89C51 单片机为中央处理器,以红外光电传感器RPR220,电机驱动芯片L293D,电压比较器LM324,蜂鸣器等为辐主器件进行设计的。本设计是由红外光电传感器RPR220 采集预设道路上面的黑线信息并出产生电压信息。利用电压比较器LM324,对产生的电压进行比较,传送到单片机内。单片机对这些高低电压进行分析处理,产生PWM波来控制左右流电机转速。直流电机驱动芯片L293D 驱动两个安装有直流电机的车轮,实现控制小车行驶方向的目标,实现寻迹功能。同时超声波测距模块HC-SR04 探测小车正前方障碍物的距小车的距离,当障碍物出现在程序设置的范围内时,小车停止,并且蜂鸣器报警,当障碍物消失时小车继续沿预设道路行驶。当左右两边光电开关都接收到检车信号时,两光电开关都输出低电平,小车直行;当左右光电开关分别为接收不到信号、接收到信号时,左右光电开关分别输出高、低电平,小车右拐;当左右光电开关分别为接收到信号、接收不到信号时,左右光电开关分别输出低、高电平,小车左拐。当检测到拐弯标志时,输出为高电平,并实现对标志线计数功能,作为小车起始、拐弯、超车标志,实现小车的起始、拐弯与超车。系统流程图如图2 所示。

图2 系统流程图

3.1 循迹功能软件设计

首先,前面已经介绍过循迹功能所需要的模块、原理以及硬件如何实现,本小节主要介绍软件功能如何实现,就是通过硬件的连接,在Keil 软件上对循迹功能进行设置。首先把硬件连接好,用两根杜邦线把智能小车板的VCC 端跟开发板的VCC 相连,把智能小车板的GND 端跟开发板的GND 端相连;再用六根杜邦线来控制电机,把智能小车板的P1.2 至P1.7 端连到开发板的P1.2 至P1.7 端;接下来就是连接避障循迹模块,用四根线把智能小车板上的P3.2 至P3.5 连到开发板的P3.2 至P3.5。在检查过接线没有问题后,开始编写C 语言,连接小车并烧写程序,烧录成功之后打开电源开关S2,蜂鸣器会发出提示音滴声,之后启动小车,说明循迹功能软件方面成功实现,即根据RPR220 对路面黑线的检测信号来对控制小车的转向,如果左侧检测到黑线,说明下车偏向右行驶,此时应该及时调整小车左转,以此让小车按照循迹来行使;右边也类似。

3.2 报警功能软件设计

超声波模块HC-SR04 检测小车前方有障碍物,当障碍物出现在小车前方20 cm 内时,单片机就会驱动蜂鸣器报警,提醒障碍物,然后返回继续检测。

3.3 避障功能软件设计

小车在循迹过程中,为了检查小车前方是否有障碍物出现,我设置了单片机每20 ms 向HC-SR04 发送一份Trig 信号,无论处于哪种状态,小车前方有障碍物或者没有障碍物。当检车到有障碍物时,单片机一边开启避障工作标志位一边计算障碍物距离,如若发现距离大于20 cm 时,停止避让障碍物,如若发现距离小于20 cm,小车继续重复上述过程。

4 测试与实现

4.1 软件调试与实现

经过软件调试,程序能够顺利运行。主程序图如图3 所示,程序烧录界面如图4 所示。

图3 主程序运行界面

图4 程序烧录成功界面

4.2 硬件实物的调试与实现

经过反复的软件硬件联合调试,最终智能载货小车系统顺利执行。该系统的实物图如图5 所示。

5 结束语

在设计与实现本系统时遇到了很多自己不了解的知识,通过在知网上查看相关的参考文献,并回顾了大学几年学习的相关知识,对反射式红外光电传感器RPR、L293D 电机驱动芯片、LM324 电压比较器等器件的使用与单片机的连接等这些知识,有了更深层次的理解和应用。学会了将各种传感器与单片机硬件连接,并应用C 语言进行相应的控制。当然,本系统也有一些不成熟的地方,功能方面只设计了一部分,更多的功能有待后续的完善;例如,下一步可以增加蓝牙、wifi 模块,实现遥控控制;增加摄像头,实时监控工厂;增加风扇,实现灭火;还可以为小车增加卸货功能。以小车为基础可以不断延伸新的功能,将应用到更多的其他工作环境。

图5 硬件实物图

猜你喜欢

循迹直流电机障碍物
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于DFT算法的电力巡检无人机循迹检测系统设计
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于单片机的智能循迹小车的设计
智能差分循迹小车设计
基于FPGA的双绕组无刷直流电机软件设计
基于MC9S12XS128处理器的智能循迹小车分析研究
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法