摘 要: 教育機器人有其靈活性和精確的優(yōu)點,并且易用、易學和擴展性強,因而在社會有其廣大的市場和發(fā)展前途。介紹了紅外測距模塊猶如機器人的眼睛,實現(xiàn)機器人的避障功能,并且通過液晶顯示使人們知道機器人離障礙物的精確距離,從而更加靈活控制機器人。
關鍵詞: 教育機器人;凌陽單片機;紅外測距;液晶顯示;A/D轉換
0 引言
針對目前市場上教育機器人存在的不足,研究更加靈活、易用、易學和擴展性強的教學機器人,服務于小學的機器人技術教育、信息技術教育、電子技術教育、小學生創(chuàng)新設計。本文主要針對機器人的紅外測距和液晶顯示兩個模塊的硬軟件設計以及A/D轉換的過程進行了較詳細的論述。本文所設計的系統(tǒng)的核心是一個基于凌陽SPACE061A微控制器的可擴展的控制平臺[1]。
此教育機器人利用具有強大擴展功能的凌陽單片機與模擬輸出的Sharp GP2D12紅外測距傳感器模塊硬件相連并通過C語言程序的軟件支持來實現(xiàn)機器人的測距,從而實現(xiàn)機器人的避障功能。同樣采用SMC1602C液晶顯示模塊來實現(xiàn)對測量距離的精確顯示,從而使人們很直觀地知道機器人(車)與障礙物的距離,從而更加靈活地控制機器人。同時利用凌陽單片機的8通道10位精度的A/D轉換模塊的其中一個通道(其中一個通道專為聲音模數(shù)轉換器,有聲音錄放功能)把來自紅外測距模塊的距離轉化的電壓模擬輸出量轉換成數(shù)字量。此機器人體積小,功耗低,并且測量轉換精度高,能夠在線下載程序;其圖形化C語言編譯器基于流程圖的圖形化交互式C語言,簡單直觀,易于小學生學習和使用,適合小學生的思維方式[2]。
1 系統(tǒng)的硬件設計及實現(xiàn)
教育機器人硬件系統(tǒng)主要由SPCE061A單片機、紅外測距模塊、液晶顯示模塊、電源、下載口、晶振和復位電路組成,如圖1所示。其中,凌陽單片機是機器人的心臟和核心部分,與外接功能模塊相連,實現(xiàn)數(shù)據(jù)的轉化、輸入輸出和處理功能,從而使各模塊能夠正常運行和實現(xiàn)各模塊的協(xié)調工作。紅外測距模塊:采用模擬輸出的Sharp GP2D12距離傳感器,測量機器人與外界障礙物的距離,并把數(shù)據(jù)經A/D轉換后傳輸給單片機處理,從而實現(xiàn)機器人的避障功能。液晶顯示模塊:采用SMC1602C液晶顯示模塊,單片機把輸入的距離信號傳輸給液晶顯示模塊,從而實現(xiàn)對測量距離的精確顯示,使人們很直觀地知道機器人(車)與障礙物的距離,從而更加靈活地控制機器人[3]。電源模塊:由帶鎖開關、電壓調整器SPY0029芯片、三端穩(wěn)壓器7805模塊、發(fā)光二極管、穩(wěn)壓管、電容電阻等器件組成,為單片機和各模塊提供12 V、 5 V、3.3 V的電壓,保證單片機和各模塊能夠正常工作。外部上電復位:通過某種方式,使單片機內存各寄存器的值變?yōu)槌跏嫉牟僮鞣Q為復位,由復位鍵、電容電阻、LED指示燈組成,其目的是為了通過對系統(tǒng)的電源電壓進行監(jiān)控,而使系統(tǒng)運行在一個正常、可靠的工作環(huán)境,并在一旦出現(xiàn)電源異常的情況下能立即采取相應的措施,使系統(tǒng)及時恢復正常。晶振模塊:由32 768 Hz的晶振和兩個電容構成,作為單片機的時鐘信號,為單片機提供系統(tǒng)時鐘、實時時鐘和時間基準信號,從而保證單片機正常運行和程序的執(zhí)行。下載口:由數(shù)據(jù)緩沖器74HC244和電容、電阻、穩(wěn)壓管等組成。用隨機帶有的一根連接電纜與計算機打印機端口連接,即在線調試或把寫好的程序直接下載到機器人控制器中。
2 紅外測距模塊原理
圖2反映了紅外測距的原理,如圖知道了距離L和角度?茲,根據(jù)簡單的數(shù)學方法即可求出障礙物與機器人(車)的距離Z。圖3為GP2D12的輸入輸出關系曲線。
從圖3可以看出電壓與距離的變化關系不是成線性的,其關系曲線為下降拋物線,距離測量范圍為10~80 cm,電壓范圍是0.4~2.5 V。
因為GP2D12輸出的距離信號是電壓模擬信號,所以要經過A/D轉換后,才能夠被單片機接收和處理,因此A/D轉換至關重要,但因為凌陽單片機內置7通道10位電壓模-數(shù)轉換器(ADC),所以GP2D12可以直接與凌陽單片機相連。SPCE061A有8路可復用10位ADC通道,其中一路通道(MIC_In)用于語音輸入,模擬信號經過自動增益控制器和放大器放大后進行A/D轉換。其余7路通道(Line_In)和IOA[0~6]管腳復用,可以直接通過引線(IOA[0~6])輸入,用于將輸入的模擬信號(如電壓信號)轉換為數(shù)字信號。它由DAC0和逐次逼近寄存器SAR(Successive Approximation Register)組成。所以其A/D轉換的原理是逐次逼近式,即:首先將SAR中數(shù)據(jù)的最高有效位試設為‘1’,而其他位則全設為‘0’,即10 0000 0000B。這時,DAC0輸出電壓VDAC0(1/2滿量程)就會與輸入電壓Vin進行比較。如果Vin>VDAC0,則保持原先設置為‘1’的位(最高有效位)仍為‘1’;否則,該位會被清‘0’。接著,逐次逼近式控制又將下一位試設為‘1’,其余低位依舊設為‘0’,即110000 0000B,VDAC0與Vin進行比較,若Vin>VDAC0,則仍保持原先設置位的值,否則便清‘0’該位。這個逐次逼近的過程一直會延續(xù)到10位中的所有位都被測試之后,A/D轉換的結果保存在SAR內。這種轉換具有精度高、速度快、轉換時間固定的優(yōu)點,從而保證了液晶顯示的及時性、精確性[4]。
3 系統(tǒng)的軟件設計及實現(xiàn)
軟件的編程主要是實現(xiàn)紅外測距模擬電壓量的A/D轉換處理、避障功能的實現(xiàn)和液晶顯示。程序采用C語言編輯,并在凌陽單片機支持的Suplus IDE集成環(huán)境下運行和執(zhí)行。程序思路如下[5]:
?。?)定義地址端口;
?。?)液晶模塊和凌陽單片機I/O口初始化;
?。?)從GP2D12紅外測距模塊的電壓與距離的關系曲線中采集15個參考點(并且對應A/D轉換后的數(shù)據(jù));
?。?)進行A/D轉換操作的準備工作;
?。?)開始進行A/D轉換;
(6)根據(jù)15個參考點,計算出采集到的距離;
(7)使液晶作好接收數(shù)據(jù)的準備,并發(fā)送數(shù)據(jù);
?。?)液晶顯示。
機器人(車)從遠處過來,紅外測距模塊GP2D12不停地對外測量機器人(車)與障礙物的距離,經A/D轉換為數(shù)字信號后輸入到凌陽單片機的Flash中,數(shù)據(jù)經單片機處理后經I/O口輸出給液晶顯示模塊顯示,顯示范圍為10~80 cm。在程序中設好一個數(shù)值為拐彎閾值,GP2D12每測一個數(shù)據(jù)都與設定值相比較,如果不相等,則繼續(xù)前進,不發(fā)生拐彎;如果相等,使機器人(車)拐彎,從而自動躲避障礙物[6]。
程序流程如圖4所示。從圖4可以看出取了15個參考點,并且包括GP2D12紅外測距范圍的起始點和終點。當測距數(shù)據(jù)超出了10~80 cm的范圍時,設置fRet=0,即液晶顯示為零。當所測數(shù)據(jù)等于這15個參考點時,則直接輸出數(shù)據(jù),并且程序跳出子程序。當所測數(shù)據(jù)非15個參考點時,此時要經過流程圖中提到的一種數(shù)學方法計算求出。此計算方法的詳細步驟如下:測到的非15個參考點的距離,從第一個參考點依次循環(huán)向后比較,若此點A/D轉換的數(shù)據(jù)小于某一個參考點的A/D轉換值,則這個點位于此點與上一個參考點之間,測出這個點橫坐標與兩個參考點橫坐標的距離比,此時可以確定出此點在兩個參考點的橫坐標的位置,此時再加上上一個參考點的橫坐標,就可以確定出此點的橫坐標。同理得此點縱坐標在兩個參考點的位置,此時在加上相鄰的下一個參考點的縱坐標,即可得到此點的縱坐標,橫坐標縱坐標都知道了,即可確定此點的位置,然后跳出子程序,最后返回[7]。
4 結論
在上述設計方案的基礎上研制出了樣機。樣機的整體性能已經達到了預期要求。但在以下方面有待改進:
?。?)電機驅動方式方面:目前所使用的邏輯驅動是開環(huán)控制,只能利用PWM實現(xiàn)電機的控制,遠遠不能滿足精確度的要求。若能給電機加上碼盤和用PID方式對電機進行精確控制,在比賽中將會有更大的主動權。
?。?)測距方面:目前所使用的紅外傳感器只能實現(xiàn)簡單的比較。精確地計算差值并利用差值對轉向進行精確的控制,這也是改進的方向之一[8]。
?。?)在具體的硬件和軟件設計方面要注意以下問題:①AD轉換口IOA0-6要設置為懸浮式輸入口;②外部接的電阻不能太小,否則就能把電壓拉下來;③液晶顯示有鎖存功能,液晶的數(shù)據(jù)口和AD轉換口不能重復。
參考文獻
[1] 薛鈞義,張彥斌.凌陽十六位單片機原理及應用[M].北京:北京航空航天大學出版社,2003.
[2] 李晶皎.嵌入式語音技術及凌陽16位單片機應用[M].北京:北京航空航天大學出版社,2003.
[3] 李正軍.計算機控制系統(tǒng)(第一版)[M].北京:機械工業(yè)出版社,2005.
[4] 王齊浩.模擬電子技術基礎(第二版)[M].濟南:山東科學技術出版社,2003.
[5] 嚴鐘豪,譚祖根.非電量電測技術(第2版)[M].北京:機械工業(yè)出版社,2003.
[6] 張廣軍.光電測試技術(第一版)[M].北京:中國計量出版社,2003.
[7] 周旭,嚴玉龍,王珊珊,等.基于CANopen協(xié)議的輪式機器人控制系統(tǒng)實現(xiàn)[J].微型機與應用,2013,32(23):20-23.
[8] 李歡,魏衡華.基于仿人機器人的無線視頻監(jiān)控系統(tǒng)設計[J].微型機與應用,2014,33(10):88-91,94.