摘要:采用黑色膠布鋪設(shè)在淺色紙張中心,作為小車運動時的模擬黑線跑道。在凌陽公司單片機SPCE061A的支持下,通過反射式光電傳感器判斷小車運動時的路面信息,經(jīng)過算法處理,送出控制信號到小車電機,從而控制小車左轉(zhuǎn)、右轉(zhuǎn)、前進和后退,使小車能夠準確跟蹤黑線跑道,實現(xiàn)小車的簡易智能化。
關(guān)鍵詞:SPCE061A單片機;電機;光電傳感器;自控小車
二維物體斜面運動算法是2005年全國大學生索尼杯電子競賽E題“懸掛運動控制系統(tǒng)”延伸出的研究課題,其主要內(nèi)容是設(shè)計一個電機控制系統(tǒng),控制物體在傾斜(仰角≤100°)的板上運動。在一個白色底板上固定兩個滑輪,兩只電機(固定在板上)通過穿過滑輪吊繩控制一個物體在板上運動,并達到如下要求:
1)控制物體在80x100 cm的范圍內(nèi)做自行設(shè)定的運動;
2)控制物體作圓心可任意設(shè)定、直徑為50 cm的圓周運動;
3)控制物體跟隨板上標出的任意曲線運動,線寬1.5~1.8 cm,總長度約50 cm,顏色為黑色,曲線的前一部分是連續(xù)的,長約30 cm,后一部分是兩段總長約20 cm的間斷線段,間斷距離不大于1 cm,沿連續(xù)曲線運動限定在200 s內(nèi)完成,沿間斷曲線運動限定在300 s內(nèi)完成。
1 硬件電路設(shè)計
根據(jù)設(shè)計要求,系統(tǒng)可分為智能控制、傳感器檢測和電源3部分,整個系統(tǒng)示意圖如圖1所示。
智能控制部分:系統(tǒng)中控制器件根據(jù)由光電傳感器變換輸出的電信號進行邏輯判斷,控制懸掛系統(tǒng)的電機,顯示數(shù)碼管,完成了懸掛物體的自動尋跡,尋跡移動等各項任務(wù)??刂撇糠职?個主要單元電路:單片機控制電路,左右電機驅(qū)動及控制電路,4x4按鍵輸入電路,數(shù)碼管動態(tài)顯示電路。
傳感器檢測部分:系統(tǒng)利用光電傳感器檢測到的外部信息轉(zhuǎn)化為可控制器件能識別的電信號,傳感器檢測部分主要用于軌跡探測電路。
電源部分:系統(tǒng)中采用自制的電源將220 V電壓降至恒穩(wěn)的12 V和5 V電壓對單片機、電機、電機控制部分、顯示數(shù)碼管、鍵盤、計數(shù)器、光電傳感器供電。
2 模塊選擇與電路設(shè)計
2.1 系統(tǒng)各模塊的選擇
1)單片機選擇模塊:選用凌陽SPCE061A單片機。
2)電機選擇模塊:選用齒輪減速同步電機。
3)電機控制模塊:選用繼電器和光電傳感器組合控制電機。
4)顯示模塊:選用8位數(shù)碼管LED。
5)輸入模塊:選用4×4的鍵盤。
6)信號檢測模塊:選用反射式紅外傳感器。
2.2 主要電路設(shè)計
2.2.1 電機光電開關(guān)檢測電路
利用電動機的正反轉(zhuǎn)來帶動控制物體運動,在該設(shè)計中采用在電機的轉(zhuǎn)盤上安裝一個60條黑白線均勻的圓盤,再用光電開關(guān)來檢測,如圖2所示。當要控制物體在畫板上運動時,電機轉(zhuǎn)動,光電傳感器利用接收黑自電平時輸出的高低電平,當光點傳感器檢測到黑色條紋時,輸出高電平給單片機,相反當檢測到白色條紋時,輸出低電平,從而把連續(xù)輸出高低電平轉(zhuǎn)化為脈沖數(shù),也就把電機轉(zhuǎn)動時帶動有黑白線的圓盤黑自條數(shù)轉(zhuǎn)換成脈沖數(shù),從而觸發(fā)光耦U1或U2,經(jīng)單片機IOB2或IOB3口輸入信號來控制電機的轉(zhuǎn)動,計算物體運動軌跡,從而控制物體的運動。
[!--empirenews.page--]
2.2.2 路面檢測模塊選擇
在小車前面的左右兩端分別安裝反射式光電傳感器,安裝的寬度至少要大于黑線的寬度,如圖3所示。小車運動路面是在白色紙張上面鋪設(shè)黑色膠布作為中心,這主要基于光電傳感器在檢測到白色和黑色時兩種不同的電平狀態(tài)的原理。當光電傳感器面對黑線時,發(fā)出的光被吸收,不能發(fā)生發(fā)射,此時光敏三極管Q不能導通,輸出為低電平;當面對白線時,光電二極管發(fā)出的光經(jīng)過白線反射到達光敏三極管Q,使Q導通從而輸出高電平,再經(jīng)觸發(fā)非門74HC14的兩次觸發(fā)反相,消除干擾,把信號送到單片機相應(yīng)的引腳。由此可以在小車行進的時候,讓系統(tǒng)的控制模塊同時監(jiān)視兩個光電傳感器的狀態(tài),并送到單片機的相應(yīng)引腳,經(jīng)過程序算法處理后送到電機控制引腳,根據(jù)不同的信號組合實現(xiàn)不同的運動調(diào)整方式,完成小車的黑線運動。
2.2.3 電機控制部分的單元電路設(shè)計
電機驅(qū)動部分分為左右兩部分,兩個電機配合工作負責懸掛物體的拉動定位。兩個電機為齒輪減速同步電機,轉(zhuǎn)數(shù)恒定為20 r/min,設(shè)計兩個控制電路來控制電機的開關(guān)。繼電器對電動機的開或關(guān)進行控制,通過引腳電平的切換對電機的轉(zhuǎn)向進行調(diào)整。
電路采用光耦繼電器式對電機的轉(zhuǎn)動及轉(zhuǎn)向進行控制,如圖4所示,各端口功能為,IOB8控制電機1的正轉(zhuǎn),IOB9控制電機1的反轉(zhuǎn),IOB 10控制電機2的正轉(zhuǎn),IOB11控制電機2的反轉(zhuǎn)。
當IOB8或IOB10為高電平時,光耦U2導通,8050導通,+12 V電壓驅(qū)動繼電器,從而使交流220 V電壓加到電動機上,電動機正轉(zhuǎn)。當IOB9或IOB11為高電平時,光耦U3導通,8050導通,+12 V電壓驅(qū)動繼電器,從而使交流220 V電壓加到電動機上,電動機反轉(zhuǎn)。當IOB8或IOB10與IOB9或IOB11都為低電平時,電機停止轉(zhuǎn)動。由于所選電動機具有抱閘功能,為齒輪減速電動機,因此在斷電的時候,幾乎能同時停止運動,保證了物體運動的準確性,而且外圍電路簡單,很容易操作。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計采用凌陽獨有的C語言和匯編混合使用對單片機進行編程以實現(xiàn)各項功能,主程序主要起到一個導向和決策功能。為了讓小車能夠準確的沿黑線運動,所設(shè)計的程序就應(yīng)該讓控制系統(tǒng)實時地監(jiān)視光電傳感器地狀態(tài),調(diào)整小車運動一直回到正常運動狀態(tài)中。因此,主程序主要包括小車運動子程序、光電檢測的子程序、顯示時間的子程序清看門狗子程序等。小車運動程序流程圖如圖5所示。
在程序中,為了小車運動能夠準確地判斷出當前所處的運動狀態(tài),讓單片機及時地讀取B口低8位的數(shù)據(jù)。為了小車運動的連貫性和準確性,在流程圖中使用了延時程序。同時,為了避免出現(xiàn)單片機系統(tǒng)自動復位,對小車的運動造成影響,設(shè)置了清看門狗程序。
4 系統(tǒng)測試
在此設(shè)計的基礎(chǔ)上,通過安裝調(diào)試,整個智能小車系統(tǒng)已經(jīng)形成,為了能讓小車能很準確沿黑線運動,利用光電測試模塊,由單片機控制物體作任意形狀的尋跡運動,并能判斷間斷線段,測試結(jié)果如表1、表2所示。在運動時間測試時采用精度為0.01的秒表,檢測小車運動時顯示時間的正確性,如果程序中存在誤差,就應(yīng)該通過軟件或者硬件的方法修正誤差,進一步減小誤差。測試時間過程如表3所示。
5 結(jié)束語
本系統(tǒng)以凌陽SPCE061A單片機芯片為核心部件,主要是利用繼電器控制技術(shù)和光電傳感器的檢測技術(shù)二維斜面的黑線運動智能小車的設(shè)計,在系統(tǒng)設(shè)計過程中,力求硬件線路簡單,充分發(fā)揮軟件編程的方便靈活的特點,來滿足本設(shè)計的要求。從測試項目來看,所設(shè)計出的小車能夠?qū)崿F(xiàn)誤差較小的沿黑線準確運動和同時顯示運動時間的要求。在運動方面,整個運動過程比較連續(xù),但在轉(zhuǎn)彎幅度比較大的地方時,小車運動時就需要時間來計算、調(diào)整。在顯示時間方面,雖然存在一定的誤差,考慮到誤差很小,以及程序的執(zhí)行花費的時間,可以忽略不計。