郭红壮,贾艳艳(长春理工大学 生命科学技术学院,吉林 长春 130022)
摘要:介绍了一种人性化、智能化物流车的设计,以STM32F103作为控制核心,具有红外循迹、工作模式可调、条形码检测、穿过特定地形、抓取货物并放入指定位置、语音播报、显示物流车工作信息等功能。本设计具有低功耗、低成本、精准度高、稳定性强等特点。
随着我们正常的生活水平的提高,网购慢慢的变成了人们日常生活中必不可少的部分。伴随网购和生产的发展,商品趋于“短小轻薄”,流通趋于小批量、多品种和准时制(Just-In-Time,简称JIT),各类配送中心的货物分拣任务十分艰巨,分拣作业已成为一项重要的工作环节。我国目前多数配送中心和物流公司都是人工分拣。显然,随着分拣量的增加、分送点的增多、配货响应时间的缩短和服务的品质的提高,单凭人工分拣将不足以满足大规模配货配送的要求[1]。虽然个别规模较大的物流公司已经采用了分拣系统,但由于分拣系统价格较为高昂,普遍规模较小的物流公司无法负担。为此,本文选用STM32位主控芯片,设计了一款安全稳定、价格低的智能物流车。
(1)物流车由起点引导线]“驶离起点”,利用红外反射管循迹前进直至引导线)到达第一条引导线 cm),并播报“开始上桥”。
硬件由一片STM32F103、1个A4988、1个微型滑台、1个L298N、4个直流电机、4个红外反射管、1个条码扫描器、1个机械爪[3]
设定物流车的工作模式,模式1为手动控制模式。在该模式下,可通过手机指定目标货物的条形码,物流车将目标货物运送到指定位置后,回到终点并停止,等待下次目标货物条码或更改工作模式。模式2为自动模式,物流车按照货物的摆放顺序,依次将货物运送到卸货区,并根据货物的条码将货物卸载到不一样的区域,实现货物分拣。直至装货取没有货物后回到终点停止。
当循迹模块检测到黑线时,输出高电平。反之,输出低电平。STM32F103(以下称主控板)根据循迹模块的信号通过改变电机正转、反转、停三个状态来实现循迹。在循迹过程中记录引导线个数,用以确定小车所处阶段,并在特定位置语音播报对应内容。
本设计采用丝杆滑台配合机械手来实现货物的“取/放”动作,小车在平时运作时的状态下,经过控制丝杆滑台将机械手收缩到车体内,尽可能的减小小车的体积,避免在运行过程中机械手触碰到其他物品。只有当小车行驶到上货区域检测到目标货物后小车停止,依次执行张开机械手—伸出机械臂—闭合机械手(抓取货物)—缩回机械臂—返回到行驶状态。卸货过程与之大体相同,这里不再赘述。
程序开始阶段定义了一个全局变量LineCount,用于记录小车经过引导线的个数,程序可根据经过引导线的个数来确定小车当前所处的阶段。例如:当LineCount = 0时,小车处于终点线与起始线之间,当小车行驶经过起始线时,LineCount计数加1,LineCount = 1,可知小车处于起始线与上桥引导线之间。在主函数中只需要采用循环扫面的方式检测LineCount的数值,就可判断小车当前是在哪一段路程区间。从而进行分支处理相应的动作并将小车的当前状态实时更新到LCD液晶显示屏上。如图3所示。
流程图黑线]是红外发射管发射光线到路面,红外光遇到地面则被反射,接收管接收到反射光,经过比较器整形后为低电平;而当红外光遇到黑线(本设计采用绝缘黑胶带)时,红外光被黑线吸收,接收管无法接收到反射光,经比较器整形后输出高电平。控制板通过检验测试对应I/O的输入状态来识别路径信息。
在主函数初始化时,初始化一个20 Hz的硬件定时中断,在该中断服务函数中,读取DIO_8、DIO_9两个IO引脚状态,并将DIO_8左移一位后与DIO_9进行相与运算的结果赋值给全局变量State。当State = 0时,说明左右两侧没检验测试到黑线,小车执行前进动作;State = 1时,说明左侧红外循迹模块检测到黑线,小车执行右转动作,直到State的值发生明显的变化;State = 2时与上同理;State = 3时,左右两侧同时检测到黑线(这里的黑线应为横向引导线),说明小车经过一条引导线,LineCount数值加1。如图4所示。
本文介绍了一种基于STM32 MCU的低功耗智能物流车的制作,实现了小车循迹、语音播报、蓝牙通信、货物分流等功能。实测过程中仍存在很多可以改进的部分,例如,在循迹控制过程中可通过PID控制,使小车的行驶能更加的平缓;可以搭建一定规模的物流平台计算小车的行驶轨迹,使小车以最短的行驶轨迹到达终点,提高效率。
通过自制本设计,既能学习STM32的应用与设计,在制作的步骤中锻炼实践能力,又能制作一台具有功能丰富的物流车。值得广大电子爱好者一试。
本文来源于科技期刊《电子科技类产品世界》2019年第2期第61页,欢迎您写论文时引用,并标注明确出处
新闻推荐
【2024-05-13】
【2024-05-13】
【2024-05-12】
【2024-05-01】
【2024-04-30】
【2024-04-30】
【2024-04-30】
【2024-04-29】
【2024-04-29】
【2024-04-28】
【2024-04-28】
【2024-04-27】