王欽北 忻宇 張志雄 張靜之
摘要:本文采用Arduino單片機(jī)來處理傳感器采集的數(shù)據(jù),并對隔離墩的機(jī)械裝置給出控制信號,具有實(shí)現(xiàn)隔離墩自動移動,重新劃分往來車道寬度的功能。根據(jù)功能要求,利用Arduino單片機(jī)實(shí)現(xiàn)對紅外傳感器信號的采集,對隔離墩履帶式移動輪電機(jī)啟停和運(yùn)轉(zhuǎn)方向的邏輯控制,對鎖止桿舵機(jī)的起??刂啤?/p>
關(guān)鍵詞:Arduino單片機(jī);紅外傳感器;控制方法
中圖分類號:TP273 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)04-0013-03
1 引言
隨著我國汽車保有量的上升,在道路發(fā)展和汽車數(shù)量之間出現(xiàn)了難以調(diào)和的矛盾,尤其在大中型城市。當(dāng)前城市道路劃分結(jié)構(gòu)多以固定式隔離護(hù)欄為主,難以滿足在特定出行時間對車道數(shù)量的靈活控制,尤其是在出行高峰期,這就容易導(dǎo)致交通擁堵,影響行程時間和交通安全。因此,本申請?zhí)峁┝艘环N新型的、包含自走位劃分雙向車道寬度的控制方法。
2 智能隔離墩的控制要求
根據(jù)設(shè)計思路,智能隔離墩將具有以下幾個功能:
(1)隔離墩之間實(shí)現(xiàn)無線連接,每個隔離墩的移動由紅外傳感器采集到的信號來控制。
(2)隔離墩能做跟隨運(yùn)動,當(dāng)?shù)谝粋€隔離墩接受到移動信號后,第二個以及之后的隔離墩能跟隨前一個隔離墩移動,并且在第一個隔離墩停止后,后面的隔離墩也能及時停止,停止時所有隔離墩在車輛前進(jìn)方向上保持對齊(如圖1)。
(3)保證前后相鄰隔離墩的移動具有合理的時間間隔,并且在完成對齊后,相鄰隔離墩的間距保持在合理的范圍內(nèi)。
(4)每個隔離墩上裝有鎖止桿,采取前一個隔離墩鎖止后一個隔離墩的鎖定方式,并且能在隔離墩開始移動前完成解鎖,隔離墩停止移動后,在設(shè)定的時間間隔內(nèi)鎖定。
3 智能隔離墩的控制方法
3.1 隔離墩橫向移動的控制方案
隔離墩的橫向移動能夠?qū)崿F(xiàn)相鄰隔離墩的跟隨移動與停止,并且自動判斷移動方向。隔離墩的底盤上裝有一對帶有電機(jī)的履帶式車輪,采用由單片機(jī)控制的電機(jī)驅(qū)動模塊來驅(qū)動電機(jī)的運(yùn)動,以調(diào)節(jié)電機(jī)的轉(zhuǎn)速、轉(zhuǎn)向,如圖2所示。
在隔離墩上裝載有一對紅外傳感器,用以判斷離墩的運(yùn)動狀態(tài)(如圖3)。以第一個和第二個隔離墩為例,傳感器A和B的信號輸出端口分別與單片機(jī)IO口的D3和D4連接。在系統(tǒng)初始狀態(tài)下,每個隔離墩靜止,以一定間距成一條直線排列,前隔離墩對后隔離墩的A、B傳感器形成障礙,使A、B發(fā)出的信號由于遇到阻礙而反射回來。此時A和B的信號輸出端分別向單片機(jī)的D3、D4口輸出數(shù)字信號1。當(dāng)前隔離墩接受到向右移動的信號后,先將鎖定后隔離墩的鎖止桿打開,然后開始向右移動。而第二個隔離墩不會立即運(yùn)動,直到傳感器A發(fā)出的信號因沒有阻礙而無法反射回來時,傳感器A的信號輸出端口會向單片機(jī)D3口輸出數(shù)字信號0,而傳感器B仍然能接受到反射回來的信號,所以B的信號輸出端仍然向單片機(jī)D4口輸出數(shù)字信號1。由此可以使前后隔離墩的移動具有時間上的延遲,完成隔離墩的跟隨移動。當(dāng)單片機(jī)接受到傳感器的輸入信號狀態(tài)改變后,將控制電機(jī)驅(qū)動模塊,使電機(jī)具有一定的速度和正確的轉(zhuǎn)向。同理,當(dāng)?shù)谝粋€隔離墩向左移動的時候,傳感器B的信號輸出端因無法接受反射回來的信號而向單片機(jī)D4口輸入數(shù)字信號0。傳感器A仍然保持輸出為1,以控制隔離墩向左運(yùn)動。
當(dāng)?shù)谝粋€向右運(yùn)動的隔離墩接受到駐車信號停止運(yùn)動后,由于兩個隔離墩在移動上存在時間間隔,所以第二個隔離墩仍然會保持運(yùn)動狀態(tài),直到傳感器A發(fā)出的信號被再次遮擋而接受到反射信號,此時傳感器A向OUT端輸入信號1,單片機(jī)檢測此種狀態(tài)變化后就會控制相應(yīng)的電機(jī)驅(qū)動模塊使其停止運(yùn)動。向左運(yùn)動的停車與此同理。
控制隔離墩移動的電機(jī)驅(qū)動模塊具有有四個控制電機(jī)轉(zhuǎn)向的使能端,成兩組同時控制電機(jī)的左右轉(zhuǎn)向。設(shè)控制左輪電機(jī)的使能端為1號和2號控制端,控制右輪電機(jī)的使能端為3號和4號控制端。1號和2號控制端通過信號通道A和單片機(jī)的D5、D6口連接。3號和4號控制端通過信號通道B和單片機(jī)的D7、D8口連接。其中隔離墩運(yùn)動狀態(tài)與傳感器輸入信號和電機(jī)驅(qū)動模塊的控制信號變化關(guān)系如表1所示。
3.2 智能隔離墩鎖止桿的運(yùn)動控制方案
隔離墩的鎖止桿能夠防止隔離墩在靜止?fàn)顟B(tài)時出現(xiàn)不必要的滑移。鎖止桿需要在隔離墩移動前打開,并且在隔離墩完全停止后才鎖止。鎖止桿的關(guān)閉采取延遲鎖定、由前隔離墩鎖定后隔離墩的控制方案。
如圖3所示,由于前隔離墩先于后隔離墩運(yùn)動,如果前隔離墩的兩個傳感器檢測到移動信號之后,前隔離墩上的鎖止桿會立即打開,然后開始移動;當(dāng)前隔離墩的傳感器接受到停止信號后,鎖止桿會緩慢地放下,由于做跟隨運(yùn)動,此時后隔離墩會繼續(xù)移動直到傳感器監(jiān)測到停車信號,由于兩個隔離墩的運(yùn)動間隔時間較短,并且設(shè)定控制鎖止桿關(guān)閉時的電機(jī)轉(zhuǎn)速在合理范圍內(nèi),以保證后隔離墩停止運(yùn)動后鎖止桿才開始進(jìn)入鎖止槽。
3.3 開發(fā)環(huán)境簡介
裝置的實(shí)驗(yàn)室模型如圖4所示,裝置采用Arduino單片機(jī)作為控制機(jī)構(gòu),其核心是ATmega328,它具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個16MHz晶體振蕩器,一個USB口,一個電源插座,一個ICSP header和一個復(fù)位按鈕。它的開發(fā)環(huán)境使用Arduino IDE界面直接書寫控制代碼。可在Windows/IOS等諸多環(huán)境中運(yùn)行,使用非常方便。本次設(shè)計中,接受傳感器信號和控制電機(jī)的程序如圖5所示。
4 結(jié)語
“一種潮汐車道自走位劃分車道寬度的隔離墩控制方法”能夠使用Arduino單片機(jī)輕松實(shí)現(xiàn),且控制代碼編寫簡潔,易于維護(hù),經(jīng)實(shí)物檢測移動效果良好。
參考文獻(xiàn)
[1]孟杰,孟志廣,黃富斌,王涌.潮汐可變車道設(shè)置研究[J].市政技術(shù),2015,33(06):31-33+37.
[2]解樹森.深圳啟用國內(nèi)首條快速路自動化潮汐車道[N].深圳特區(qū)報,2016-10-24(A03).
[3]黃婉月,王偉蘭,王俊驊.潮汐車道技術(shù)設(shè)置可行性研究[J].道路交通管理,2013,(06):33-35.
[4]劉新建.自走式智能護(hù)欄在“潮汐”交通中的應(yīng)用[J].工程建設(shè)與設(shè)計,2016,(07):121-123.
[5]徐金華.路徑跟隨運(yùn)動控制的幾何方法研究[D].哈爾濱工業(yè)大學(xué),2012.