基于直流电机的智能搬运小车设计与实现
2022-06-10杨日容
杨日容
(中山职业技术学院,广东中山,528400)
近年来,随着工业AGV小车和汽车电子的迅速发展,智能小车得到了广泛的研究。本文以智慧工厂中常见的搬运小车为研究对象,给出了小车总体结构、硬件设计、软件设计、系统联调四个主要设计内容,最终实现了智能搬运小车常见的沿线走、避障、站点设计、到站停、显示路程等功能。
1 智能搬运小车系统结构
智能搬运小车系统结构如图1所示。小车以STC89C52单片机为控制器,两路L298N驱动控制小车运动的四个直流电机,通过3路TCRT5000红外光电传感器检测电路实现小车的寻迹运动,1路红外传感器检测电路实现自动避障,采用LJK-D4N金属探测器实现金属探测,使用者可以通过按键设计目标站点,同时根据在车轮安装的检测电路通过单片机的数据处理,可以在液晶显示屏上显示小车所走过的路程。
图1 系统结构图
2 智能搬运小车的硬件设计
2.1 单片机最小系统及I/O设计
设计采用国产宏晶公司的贴片式STC89C52RC单片机为控制器,这款单片机具有高速、抗干扰能力强、功耗低的特点,指令代码完全兼容传统8051单片机,实际工作频率可达48MHz,时钟电路采用12MHz晶振和两个22pF瓷片电容,设计了上电复位和按键复位两种电路,最小系统电路如图2所示,单片机板安装时,注意安装位置,注意电源供电和下载线使用的方便性。
图2 最小系统电路图
根据系统需求,单片机I/O分配如下:P0.0-P0.7:直流电机驱动板的控制端;P1.0-P1.7:液晶显示器的数据端;
P3.5-P3.7:液晶显示器的控制端;P2.0-P2.2:三路光电寻迹检测电路的信号端;P2.3:1路红外线避障的检测信号端;P2.5:金属探测器的检测信号端;P3.0-P3.3:四个按键的控制端;P2.6-P2.7:直流电机驱动电路板中的两块驱动芯片L298N的使能端。其中,四个控制按键的作用分别是控制直流电机的启动/停止、加速、减速、站点选择。
2.2 L298N驱动电路设计
智能搬运小车的4个直流电机驱动采用常见的电机驱动模L298N实现,如图3所示。L298N输出最大电压可达50V,满足直流电机的驱动要求,可以直接通过单片机的I/O端口提供驱动信号,1块L298N驱动模块驱动两路3~16V的直流电机,工作电流可达2A,系统只需2块L298N,具有电路结构简单、易于实现的特点。单片机将有一定规律的控制脉冲从P0口的P0.0-P0.7输出,经驱动芯片L298N驱动4个直流电机的各相绕组,两个端口控制一个电机的运动,如果需要对小车进行PWM调速,则通过ENA和ENB端输出PWM调速脉冲控制电机转速。VDD和GND端为驱动电源输入端输入电压,可输入6~12V电压。
图3 L298N驱动模块
2.3 寻线检测电路及避障电路设计
本设计中要求的小车寻线运动主要是按照黑线的路径进行,光电寻迹检测电路采用反射式红外光电对管TCRT5000检测信号,TCRT5000传感器中蓝色管为发射红外线管,黑色管为接受管,其电路原理如图4所示。系统设计了电源指示灯和检测指示灯,方便进行系统调试和验证,当TCRT5000检测到黑线时,比较器正向输入端电压变大,检测指示灯熄灭,当TCRT5000检测到反射较强的区域时,比较器正向输入端电压变校,检测指示灯点亮,通过10k欧姆的精密可调电阻可调节检测灵敏度。设计共采用三路光电寻迹检测电路,传感器分别按照在小车车头左中右三个位置,检测信号分别由单片机的P2.0、P2.1、P2.2端口输出。在白色区域内,光电管导通,比较器输出为低电平;在黑色区域内,光电接收管截止,比较器输出为高电平。单片机根据检测到的高低电平可以控制小车前进的方向是左转还是右转,使小车行走不偏离黑线。当小车左向偏离黑带,则应该控制小车右转;当小车右向偏离黑带,则应该控制小车左转。当环境变化时,可以通过微调可调电阻RW让单片机可靠检测到黑白线信号。
图4 寻线检测电路
小车避障电路采用寻线检测电路相同的检测原理,由单片机P2.3端口接收TCRT5000传感器的检测信号,避障电路安装在小车正前方位置,当小车前进过程中有物体遮挡时,P2.3为高电平,单片机控制小车停止运动,直到把障碍物移除,小车继续前进。
2.4 金属检测电路设计
选用型号为LJK-D4N的金属探测器来对小车实现金属探测,其电路原理图如图5所示。传感器的金属探测距离是3-4mm,所以要将金属探测器安装在小车前面中间位置,而且让它与地面相距3-4mm。当智能小车前方有金属块时,输出为低电平。
图5 金属检测电路
3 智能搬运小车的软件设计
3.1 主程序流程图
本设计的主设计流程图如图6所示,当接通电源时,必须按下启动按键小车才能运动,在行驶过程中,结合查询方式查询小车是否偏离黑线,并根据偏离方向执行相应的控制程序;若P2.5端口为低电平,则探测到金属,执行对应的报警程序;当检测到障碍物时,会产生中断,执行对应的避障程序。
图6 主程序流程图
3.2 寻线检测及控制程序设计
在完成小车的机械结构安装后,首先要让小车能够实现前进、后退、左转弯、右转弯和停止五种基本运动,分别对应forward()、back()、left()、right()、stop()五个功能函数,根据控制逻辑实现8个驱动I/O的不同电平输出来实现。
小车寻线检测及控制的过程为:前车底部安装3个传感器,沿黑线运动时,只有中间传感器可以检测到信号,小车向右偏移时则是左边传感器检测到黑线,单片机接收到信号后将控制小车左转以保证小车沿黑线前进,小车向左偏移时则是右边传感器检测到黑线,单片机接收到信号后将控制小车转以保证小车沿黑线前进,程序流程图如图7所示。转向程序可以分为小角度拐弯和大角度拐弯两个函数模块,可以通过程序控制四个车轮不同的运动状态来实现。
图7 寻线检测及控制程序流程图
3.3 智能小车到站停及站点设计
所设计的智能搬运小车可以通过按键设置所要前往的目标站点,为节省I/O资源和硬件设计复杂性,系统只设计了一个按键,通过不同的按键次数识别设置的目标站点数值,单片机通过计数功能累加所经过的站点数,当计数所得的站点数和目标站点数值一致时,表明小车到达目标站点,需要停车进行装卸货工作。
3.4 路程计算程序设计
在车轮安装一个路程检测电路,小车车轮每转一圈单片机I/O端检测到一个低电平信号,控制器内部通过识别电平的变化信号由变量自动累加车轮转动的圈数,使用软尺测量轮胎的周长,在单片机内部通过数据处理计算得到小车走过的路程。如果通过单片机的定时器设定一个电平信号采集时间,计算在采集时间内变量的累加值就可以计算出小车的平均运动速度。
4 系统调试
在进行系统联调前,首先进行了硬件测试。在寻线检测电路和避障检测电路调试时,在反射式光电传感器上面放置白色物体,用万用表测量LM324的第1引脚是不是为低电平;然后再用黑色的物品放在反射式光电传感器的感应部分,看万用表的的电压是否为高电平;来回移动黑色物品,看万用表的电压值是否呈现高低电平的变化。在金属探测电路调试时,首先给金属探测传感器导入+7.2V的电源,并在接电源端和输出端之间接一个4.7kΩ电阻;再用万用表测量尚未碰到金属时输出端是否为高电平;当碰到金属时,指示灯是否亮,电路输出端是否为低电平。当保证硬件电路正常工作的前提下,再对软件进行调试。说先通过仿真软件proteus在线下载调试,观察仿真情况是否和预计的要求一致。在确定无误后,将程序下载到单片机中,进行系统的联调,图8为调试过程。
图8 小车调试过程
本设计所完成的基于直流电机的智能搬运小车,可以实现寻线、避障、金属探测、到站停等功能,具有体积小、性价比高等特点,对工业AGV小车、儿童玩具车的开发研制具有一定的借鉴作用。