宋世樂
摘要:基于STC89C52單片機對小型的智能移動機器人進行了設(shè)計,使之能完成目標(biāo)跟蹤功能。硬件組成主要分為傳感器模塊、直流電機驅(qū)動模塊、液晶顯示模塊、單片機控制模塊以及電源模塊;軟件部分主要介紹了系統(tǒng)軟件的設(shè)計方法及流程圖。該機器人起停由按鍵控制,能在其傳感器可視范圍內(nèi)自動調(diào)整速度及轉(zhuǎn)向,保持對環(huán)境目標(biāo)的恒距跟蹤,通過液晶顯示器實時顯示其與目標(biāo)物的距離。整個系統(tǒng)結(jié)構(gòu)簡單,穩(wěn)定可靠。
關(guān)鍵詞:恒距跟蹤;實時顯示;STC89C52單片機
引言
伴隨著人們的生產(chǎn)、生活對智能化的要求與日俱增,如今智能機器人發(fā)展迅速,各種機器人粉墨登場。人們對智能追蹤技術(shù)在不斷探索和創(chuàng)新,這項技術(shù)也日益變得成熟和向著更智能化邁進,比如機器人能夠自主對周圍環(huán)境做出判斷,自己找到準確的路線,能看懂地圖,也能記錄路線。這項技術(shù)的發(fā)展將在軍事 、工業(yè)、生活、娛樂上大放光彩,作為智能運輸車可以克服很多人難以克服的環(huán)境和條件,比如穿越沙漠或深海探險等,在生產(chǎn)上可以作為很好的智能助手,生活娛樂中也將讓人們的生活更加舒適[1]-[3]。
1.移動機器人的硬件結(jié)構(gòu)
系統(tǒng)采用兩片STC89C52單片機作為控制核心,接收來自紅外對光傳感器和超聲波探頭的輸入信號,運算處理后輸出相應(yīng)的控制信號,一方面控制LCD1602進行液晶顯示,另一方面輸出到L298N電機驅(qū)動芯片以控制車輪轉(zhuǎn)動。
硬件組成主要分為傳感器模塊、直流電機驅(qū)動模塊、液晶顯示模塊、單片機控制模塊以及電源模塊。傳感器模塊中,紅外傳感器發(fā)出紅外線,如果遇到障礙物,紅外接收器接收到障礙物反射回來的紅外線,其輸出端電平就會發(fā)生變化。機器人根據(jù)該電平的變化,可以判斷是否有障礙物;超聲波傳感器測距時探頭首先發(fā)出一定頻率的超聲波,當(dāng)其遇到障礙物時會被反射回來被探頭接收。測量出超聲波從發(fā)射到接收所用的時間t,則可算出超聲波與目標(biāo)物之間的距離S。在直流電機驅(qū)動模塊設(shè)計中采用15腳封裝L298N模塊,它擁有4個控制端口,由外接電源供電,內(nèi)含兩個H橋式的高電壓大電流全橋式驅(qū)動器,接受標(biāo)準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。液晶顯示模塊采用了LCD1602液晶顯示器進行機器人運動狀態(tài)的簡單顯示??刂破鬟x用STC89C52。它是一種低功耗、高性能CMOS 8位微控制器,具有 8K 在線系統(tǒng)可編程Flash 存儲器。在芯片上,擁有靈巧的8位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。經(jīng)過多次測試發(fā)現(xiàn),在同一片控制器上同時使用四個紅外傳感器和超聲波傳感器,跟隨功能可以完整實現(xiàn),但是由于兩者之間的相互干擾容易造成超聲波模塊液晶顯示結(jié)果發(fā)生亂碼,為了能夠讓機器人整體的工作效果更加穩(wěn)定,最后采用兩片單片機工作,以保證兩個模塊工作間互不影響。其中片一為主控芯片,負責(zé)跟隨的功能的完整實現(xiàn);片二負責(zé)將超聲波傳感器的探測結(jié)果通過液晶屏實時顯示。兩片控制器之間互不干擾。實驗結(jié)果表明效果很好。
2.移動機器人的軟件結(jié)構(gòu)
軟件設(shè)計思想為:系統(tǒng)上電后,先進行系統(tǒng)初始化的一部分工作,再將運行參數(shù)傳送給電機的驅(qū)動控制模塊。傳感器模塊進行環(huán)境信息采集處理,將結(jié)果傳送給控制模塊,控制模塊一方面按照既定的算法輸出控制信號到驅(qū)動模塊,驅(qū)動模塊接收參數(shù)后,輸出相應(yīng)電壓控制直流電機運行;同時另一方面控制LCD液晶實時顯示機器人與目標(biāo)物之間的距離。通過改變對電機的控制命令,可以改變電機運行狀態(tài)以完成相應(yīng)的目標(biāo)定位與跟蹤任務(wù)。3.結(jié)論
整個機器人系統(tǒng)控制芯片為兩片STC89C52單片機(U1和U2)。U1主要通過超聲波傳感器的輸入信號測算出機器人與目標(biāo)物的實際距離,將其送給LCD1602進行液晶顯示。U2單片機主要用于控制機器人對目標(biāo)物的恒距跟蹤。它首先根據(jù)三個紅外對管傳感器檢測目標(biāo)物的位置信息,時刻保持正對目標(biāo)物,再根據(jù)另一個紅外傳感器探測距離信號,當(dāng)機器人與目標(biāo)物的距離小于設(shè)定距離的時候,使機器人執(zhí)行后退指令,直到距離大于設(shè)定距離為止,從而保持恒距跟蹤。當(dāng)系統(tǒng)上電后,電源指示燈、控制器指示燈亮,液晶屏幕亮,機器人開始運行。當(dāng)目標(biāo)物出現(xiàn)在其左邊時,其左側(cè)紅外對光傳感器指示燈點亮,表示檢測到目標(biāo)物,機器人轉(zhuǎn)向左方;目標(biāo)物出現(xiàn)在右側(cè)時同理。但是只要正前方的指示燈亮(不論左右是否亮),機器人執(zhí)行前進命令。若機器人與目標(biāo)物兩者之間距離小于程序設(shè)定值時,機器人將后退,以使距離不再繼續(xù)減小。在機器人對目標(biāo)物進行跟蹤的同時,距離值將通過其上的LCD液晶屏實時顯示。按下停止電源按鍵機器人停止工作。
參考文獻:
[1]劉金會,郝靜如;自主移動機器人導(dǎo)航定位技術(shù)研究初探.技術(shù)與運用[J].1006-883X(2005)01-0023-04
[2]張祥德,牛紀祥,董再勵;基于測角的自主移動機器人定位算法.東北大學(xué)學(xué)報(自然科版)[J]1005-3026(2002)12-1143-04
[3]任彥碩.自動控制原理[M].北京:機械工業(yè)出版社,2009.05.