时间:2024-06-01
王钦北 忻宇 张志雄 张静之
摘要:本文采用Arduino单片机来处理传感器采集的数据,并对隔离墩的机械装置给出控制信号,具有实现隔离墩自动移动,重新划分往来车道宽度的功能。根据功能要求,利用Arduino单片机实现对红外传感器信号的采集,对隔离墩履带式移动轮电机启停和运转方向的逻辑控制,对锁止杆舵机的起停控制。
关键词:Arduino单片机;红外传感器;控制方法
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2018)04-0013-03
1 引言
随着我国汽车保有量的上升,在道路发展和汽车数量之间出现了难以调和的矛盾,尤其在大中型城市。当前城市道路划分结构多以固定式隔离护栏为主,难以满足在特定出行时间对车道数量的灵活控制,尤其是在出行高峰期,这就容易导致交通拥堵,影响行程时间和交通安全。因此,本申请提供了一种新型的、包含自走位划分双向车道宽度的控制方法。
2 智能隔离墩的控制要求
根据设计思路,智能隔离墩将具有以下几个功能:
(1)隔离墩之间实现无线连接,每个隔离墩的移动由红外传感器采集到的信号来控制。
(2)隔离墩能做跟随运动,当第一个隔离墩接受到移动信号后,第二个以及之后的隔离墩能跟随前一个隔离墩移动,并且在第一个隔离墩停止后,后面的隔离墩也能及时停止,停止时所有隔离墩在车辆前进方向上保持对齐(如图1)。
(3)保证前后相邻隔离墩的移动具有合理的时间间隔,并且在完成对齐后,相邻隔离墩的间距保持在合理的范围内。
(4)每个隔离墩上装有锁止杆,采取前一个隔离墩锁止后一个隔离墩的锁定方式,并且能在隔离墩开始移动前完成解锁,隔离墩停止移动后,在设定的时间间隔内锁定。
3 智能隔离墩的控制方法
3.1 隔离墩横向移动的控制方案
隔离墩的横向移动能够实现相邻隔离墩的跟随移动与停止,并且自动判断移动方向。隔离墩的底盘上装有一对带有电机的履带式车轮,采用由单片机控制的电机驱动模块来驱动电机的运动,以调节电机的转速、转向,如图2所示。
在隔离墩上装载有一对红外传感器,用以判断离墩的运动状态(如图3)。以第一个和第二个隔离墩为例,传感器A和B的信号输出端口分别与单片机IO口的D3和D4连接。在系统初始状态下,每个隔离墩静止,以一定间距成一条直线排列,前隔离墩对后隔离墩的A、B传感器形成障碍,使A、B发出的信号由于遇到阻碍而反射回来。此时A和B的信号输出端分别向单片机的D3、D4口输出数字信号1。当前隔离墩接受到向右移动的信号后,先将锁定后隔离墩的锁止杆打开,然后开始向右移动。而第二个隔离墩不会立即运动,直到传感器A发出的信号因没有阻碍而无法反射回来时,传感器A的信号输出端口会向单片机D3口输出数字信号0,而传感器B仍然能接受到反射回来的信号,所以B的信号输出端仍然向单片机D4口输出数字信号1。由此可以使前后隔离墩的移动具有时间上的延迟,完成隔离墩的跟随移动。当单片机接受到传感器的输入信号状态改变后,将控制电机驱动模块,使电机具有一定的速度和正确的转向。同理,当第一个隔离墩向左移动的时候,传感器B的信号输出端因无法接受反射回来的信号而向单片机D4口输入数字信号0。传感器A仍然保持输出为1,以控制隔离墩向左运动。
当第一个向右运动的隔离墩接受到驻车信号停止运动后,由于两个隔离墩在移动上存在时间间隔,所以第二个隔离墩仍然会保持运动状态,直到传感器A发出的信号被再次遮挡而接受到反射信号,此时传感器A向OUT端输入信号1,单片机检测此种状态变化后就会控制相应的电机驱动模块使其停止运动。向左运动的停车与此同理。
控制隔离墩移动的电机驱动模块具有有四个控制电机转向的使能端,成两组同时控制电机的左右转向。设控制左轮电机的使能端为1号和2号控制端,控制右轮电机的使能端为3号和4号控制端。1号和2号控制端通过信号通道A和单片机的D5、D6口连接。3号和4号控制端通过信号通道B和单片机的D7、D8口连接。其中隔离墩运动状态与传感器输入信号和电机驱动模块的控制信号变化关系如表1所示。
3.2 智能隔离墩锁止杆的运动控制方案
隔离墩的锁止杆能够防止隔离墩在静止状态时出现不必要的滑移。锁止杆需要在隔离墩移动前打开,并且在隔离墩完全停止后才锁止。锁止杆的关闭采取延迟锁定、由前隔离墩锁定后隔离墩的控制方案。
如图3所示,由于前隔离墩先于后隔离墩运动,如果前隔离墩的两个传感器检测到移动信号之后,前隔離墩上的锁止杆会立即打开,然后开始移动;当前隔离墩的传感器接受到停止信号后,锁止杆会缓慢地放下,由于做跟随运动,此时后隔离墩会继续移动直到传感器监测到停车信号,由于两个隔离墩的运动间隔时间较短,并且设定控制锁止杆关闭时的电机转速在合理范围内,以保证后隔离墩停止运动后锁止杆才开始进入锁止槽。
3.3 开发环境简介
装置的实验室模型如图4所示,装置采用Arduino单片机作为控制机构,其核心是ATmega328,它具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,一个16MHz晶体振荡器,一个USB口,一个电源插座,一个ICSP header和一个复位按钮。它的开发环境使用Arduino IDE界面直接书写控制代码。可在Windows/IOS等诸多环境中运行,使用非常方便。本次设计中,接受传感器信号和控制电机的程序如图5所示。
4 结语
“一种潮汐车道自走位划分车道宽度的隔离墩控制方法”能够使用Arduino单片机轻松实现,且控制代码编写简洁,易于维护,经实物检测移动效果良好。
参考文献
[1]孟杰,孟志广,黄富斌,王涌.潮汐可变车道设置研究[J].市政技术,2015,33(06):31-33+37.
[2]解树森.深圳启用国内首条快速路自动化潮汐车道[N].深圳特区报,2016-10-24(A03).
[3]黄婉月,王伟兰,王俊骅.潮汐车道技术设置可行性研究[J].道路交通管理,2013,(06):33-35.
[4]刘新建.自走式智能护栏在“潮汐”交通中的应用[J].工程建设与设计,2016,(07):121-123.
[5]徐金华.路径跟随运动控制的几何方法研究[D].哈尔滨工业大学,2012.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!