王欽北 忻宇 張志雄 張靜之
摘要:本文采用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.