《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 教育機器人紅外測距模塊的設(shè)計
教育機器人紅外測距模塊的設(shè)計
2015年微型機與應(yīng)用第16期
喬元營1,趙玉良2
(1.濟寧市泗水縣圣水峪中心學(xué)校,山東 濟寧 273202; 2.山東魯能智能技術(shù)有限公司,山東 濟南 250002)
摘要: 教育機器人有其靈活性和精確的優(yōu)點,并且易用、易學(xué)和擴展性強,因而在社會有其廣大的市場和發(fā)展前途。介紹了紅外測距模塊猶如機器人的眼睛,實現(xiàn)機器人的避障功能,并且通過液晶顯示使人們知道機器人離障礙物的精確距離,從而更加靈活控制機器人。
Abstract:
Key words :

  摘  要教育機器人有其靈活性和精確的優(yōu)點,并且易用、易學(xué)和擴展性強,因而在社會有其廣大的市場和發(fā)展前途。介紹了紅外測距模塊猶如機器人的眼睛,實現(xiàn)機器人的避障功能,并且通過液晶顯示使人們知道機器人離障礙物的精確距離,從而更加靈活控制機器人。

  關(guān)鍵詞: 教育機器人;凌陽單片機;紅外測距;液晶顯示;A/D轉(zhuǎn)換

0 引言

  針對目前市場上教育機器人存在的不足,研究更加靈活、易用、易學(xué)和擴展性強的教學(xué)機器人,服務(wù)于小學(xué)的機器人技術(shù)教育、信息技術(shù)教育、電子技術(shù)教育、小學(xué)生創(chuàng)新設(shè)計。本文主要針對機器人的紅外測距和液晶顯示兩個模塊的硬軟件設(shè)計以及A/D轉(zhuǎn)換的過程進行了較詳細(xì)的論述。本文所設(shè)計的系統(tǒng)的核心是一個基于凌陽SPACE061A微控制器的可擴展的控制平臺[1]。

  此教育機器人利用具有強大擴展功能的凌陽單片機與模擬輸出的Sharp GP2D12紅外測距傳感器模塊硬件相連并通過C語言程序的軟件支持來實現(xiàn)機器人的測距,從而實現(xiàn)機器人的避障功能。同樣采用SMC1602C液晶顯示模塊來實現(xiàn)對測量距離的精確顯示,從而使人們很直觀地知道機器人(車)與障礙物的距離,從而更加靈活地控制機器人。同時利用凌陽單片機的8通道10位精度的A/D轉(zhuǎn)換模塊的其中一個通道(其中一個通道專為聲音模數(shù)轉(zhuǎn)換器,有聲音錄放功能)把來自紅外測距模塊的距離轉(zhuǎn)化的電壓模擬輸出量轉(zhuǎn)換成數(shù)字量。此機器人體積小,功耗低,并且測量轉(zhuǎn)換精度高,能夠在線下載程序;其圖形化C語言編譯器基于流程圖的圖形化交互式C語言,簡單直觀,易于小學(xué)生學(xué)習(xí)和使用,適合小學(xué)生的思維方式[2]。

1 系統(tǒng)的硬件設(shè)計及實現(xiàn)

001.jpg

  教育機器人硬件系統(tǒng)主要由SPCE061A單片機、紅外測距模塊、液晶顯示模塊、電源、下載口、晶振和復(fù)位電路組成,如圖1所示。其中,凌陽單片機是機器人的心臟和核心部分,與外接功能模塊相連,實現(xiàn)數(shù)據(jù)的轉(zhuǎn)化、輸入輸出和處理功能,從而使各模塊能夠正常運行和實現(xiàn)各模塊的協(xié)調(diào)工作。紅外測距模塊:采用模擬輸出的Sharp GP2D12距離傳感器,測量機器人與外界障礙物的距離,并把數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后傳輸給單片機處理,從而實現(xiàn)機器人的避障功能。液晶顯示模塊:采用SMC1602C液晶顯示模塊,單片機把輸入的距離信號傳輸給液晶顯示模塊,從而實現(xiàn)對測量距離的精確顯示,使人們很直觀地知道機器人(車)與障礙物的距離,從而更加靈活地控制機器人[3]。電源模塊:由帶鎖開關(guān)、電壓調(diào)整器SPY0029芯片、三端穩(wěn)壓器7805模塊、發(fā)光二極管、穩(wěn)壓管、電容電阻等器件組成,為單片機和各模塊提供12 V、 5 V、3.3 V的電壓,保證單片機和各模塊能夠正常工作。外部上電復(fù)位:通過某種方式,使單片機內(nèi)存各寄存器的值變?yōu)槌跏嫉牟僮鞣Q為復(fù)位,由復(fù)位鍵、電容電阻、LED指示燈組成,其目的是為了通過對系統(tǒng)的電源電壓進行監(jiān)控,而使系統(tǒng)運行在一個正常、可靠的工作環(huán)境,并在一旦出現(xiàn)電源異常的情況下能立即采取相應(yīng)的措施,使系統(tǒng)及時恢復(fù)正常。晶振模塊:由32 768 Hz的晶振和兩個電容構(gòu)成,作為單片機的時鐘信號,為單片機提供系統(tǒng)時鐘、實時時鐘和時間基準(zhǔn)信號,從而保證單片機正常運行和程序的執(zhí)行。下載口:由數(shù)據(jù)緩沖器74HC244和電容、電阻、穩(wěn)壓管等組成。用隨機帶有的一根連接電纜與計算機打印機端口連接,即在線調(diào)試或把寫好的程序直接下載到機器人控制器中。

  2 紅外測距模塊原理

002.jpg

  圖2反映了紅外測距的原理,如圖知道了距離L和角度?茲,根據(jù)簡單的數(shù)學(xué)方法即可求出障礙物與機器人(車)的距離Z。圖3為GP2D12的輸入輸出關(guān)系曲線。

  從圖3可以看出電壓與距離的變化關(guān)系不是成線性的,其關(guān)系曲線為下降拋物線,距離測量范圍為10~80 cm,電壓范圍是0.4~2.5 V。

  因為GP2D12輸出的距離信號是電壓模擬信號,所以要經(jīng)過A/D轉(zhuǎn)換后,才能夠被單片機接收和處理,因此A/D轉(zhuǎn)換至關(guān)重要,但因為凌陽單片機內(nèi)置7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC),所以GP2D12可以直接與凌陽單片機相連。SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_In)用于語音輸入,模擬信號經(jīng)過自動增益控制器和放大器放大后進行A/D轉(zhuǎn)換。其余7路通道(Line_In)和IOA[0~6]管腳復(fù)用,可以直接通過引線(IOA[0~6])輸入,用于將輸入的模擬信號(如電壓信號)轉(zhuǎn)換為數(shù)字信號。它由DAC0和逐次逼近寄存器SAR(Successive Approximation Register)組成。所以其A/D轉(zhuǎn)換的原理是逐次逼近式,即:首先將SAR中數(shù)據(jù)的最高有效位試設(shè)為‘1’,而其他位則全設(shè)為‘0’,即10 0000 0000B。這時,DAC0輸出電壓VDAC0(1/2滿量程)就會與輸入電壓Vin進行比較。如果Vin>VDAC0,則保持原先設(shè)置為‘1’的位(最高有效位)仍為‘1’;否則,該位會被清‘0’。接著,逐次逼近式控制又將下一位試設(shè)為‘1’,其余低位依舊設(shè)為‘0’,即110000 0000B,VDAC0與Vin進行比較,若Vin>VDAC0,則仍保持原先設(shè)置位的值,否則便清‘0’該位。這個逐次逼近的過程一直會延續(xù)到10位中的所有位都被測試之后,A/D轉(zhuǎn)換的結(jié)果保存在SAR內(nèi)。這種轉(zhuǎn)換具有精度高、速度快、轉(zhuǎn)換時間固定的優(yōu)點,從而保證了液晶顯示的及時性、精確性[4]。

3 系統(tǒng)的軟件設(shè)計及實現(xiàn)

  軟件的編程主要是實現(xiàn)紅外測距模擬電壓量的A/D轉(zhuǎn)換處理、避障功能的實現(xiàn)和液晶顯示。程序采用C語言編輯,并在凌陽單片機支持的Suplus IDE集成環(huán)境下運行和執(zhí)行。程序思路如下[5]:

 ?。?)定義地址端口;

 ?。?)液晶模塊和凌陽單片機I/O口初始化;

 ?。?)從GP2D12紅外測距模塊的電壓與距離的關(guān)系曲線中采集15個參考點(并且對應(yīng)A/D轉(zhuǎn)換后的數(shù)據(jù));

 ?。?)進行A/D轉(zhuǎn)換操作的準(zhǔn)備工作;

 ?。?)開始進行A/D轉(zhuǎn)換;

  (6)根據(jù)15個參考點,計算出采集到的距離;

 ?。?)使液晶作好接收數(shù)據(jù)的準(zhǔn)備,并發(fā)送數(shù)據(jù);

  (8)液晶顯示。

  機器人(車)從遠(yuǎn)處過來,紅外測距模塊GP2D12不停地對外測量機器人(車)與障礙物的距離,經(jīng)A/D轉(zhuǎn)換為數(shù)字信號后輸入到凌陽單片機的Flash中,數(shù)據(jù)經(jīng)單片機處理后經(jīng)I/O口輸出給液晶顯示模塊顯示,顯示范圍為10~80 cm。在程序中設(shè)好一個數(shù)值為拐彎閾值,GP2D12每測一個數(shù)據(jù)都與設(shè)定值相比較,如果不相等,則繼續(xù)前進,不發(fā)生拐彎;如果相等,使機器人(車)拐彎,從而自動躲避障礙物[6]。

003.jpg

  程序流程如圖4所示。從圖4可以看出取了15個參考點,并且包括GP2D12紅外測距范圍的起始點和終點。當(dāng)測距數(shù)據(jù)超出了10~80 cm的范圍時,設(shè)置fRet=0,即液晶顯示為零。當(dāng)所測數(shù)據(jù)等于這15個參考點時,則直接輸出數(shù)據(jù),并且程序跳出子程序。當(dāng)所測數(shù)據(jù)非15個參考點時,此時要經(jīng)過流程圖中提到的一種數(shù)學(xué)方法計算求出。此計算方法的詳細(xì)步驟如下:測到的非15個參考點的距離,從第一個參考點依次循環(huán)向后比較,若此點A/D轉(zhuǎn)換的數(shù)據(jù)小于某一個參考點的A/D轉(zhuǎn)換值,則這個點位于此點與上一個參考點之間,測出這個點橫坐標(biāo)與兩個參考點橫坐標(biāo)的距離比,此時可以確定出此點在兩個參考點的橫坐標(biāo)的位置,此時再加上上一個參考點的橫坐標(biāo),就可以確定出此點的橫坐標(biāo)。同理得此點縱坐標(biāo)在兩個參考點的位置,此時在加上相鄰的下一個參考點的縱坐標(biāo),即可得到此點的縱坐標(biāo),橫坐標(biāo)縱坐標(biāo)都知道了,即可確定此點的位置,然后跳出子程序,最后返回[7]。

4 結(jié)論

  在上述設(shè)計方案的基礎(chǔ)上研制出了樣機。樣機的整體性能已經(jīng)達到了預(yù)期要求。但在以下方面有待改進:

 ?。?)電機驅(qū)動方式方面:目前所使用的邏輯驅(qū)動是開環(huán)控制,只能利用PWM實現(xiàn)電機的控制,遠(yuǎn)遠(yuǎn)不能滿足精確度的要求。若能給電機加上碼盤和用PID方式對電機進行精確控制,在比賽中將會有更大的主動權(quán)。

  (2)測距方面:目前所使用的紅外傳感器只能實現(xiàn)簡單的比較。精確地計算差值并利用差值對轉(zhuǎn)向進行精確的控制,這也是改進的方向之一[8]。

 ?。?)在具體的硬件和軟件設(shè)計方面要注意以下問題:①AD轉(zhuǎn)換口IOA0-6要設(shè)置為懸浮式輸入口;②外部接的電阻不能太小,否則就能把電壓拉下來;③液晶顯示有鎖存功能,液晶的數(shù)據(jù)口和AD轉(zhuǎn)換口不能重復(fù)。

參考文獻

  [1] 薛鈞義,張彥斌.凌陽十六位單片機原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.

  [2] 李晶皎.嵌入式語音技術(shù)及凌陽16位單片機應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.

  [3] 李正軍.計算機控制系統(tǒng)(第一版)[M].北京:機械工業(yè)出版社,2005.

  [4] 王齊浩.模擬電子技術(shù)基礎(chǔ)(第二版)[M].濟南:山東科學(xué)技術(shù)出版社,2003.

  [5] 嚴(yán)鐘豪,譚祖根.非電量電測技術(shù)(第2版)[M].北京:機械工業(yè)出版社,2003.

  [6] 張廣軍.光電測試技術(shù)(第一版)[M].北京:中國計量出版社,2003.

  [7] 周旭,嚴(yán)玉龍,王珊珊,等.基于CANopen協(xié)議的輪式機器人控制系統(tǒng)實現(xiàn)[J].微型機與應(yīng)用,2013,32(23):20-23.

  [8] 李歡,魏衡華.基于仿人機器人的無線視頻監(jiān)控系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2014,33(10):88-91,94.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。