喬元營,趙玉良(.濟(jì)寧市泗水縣圣水峪中心學(xué)校,山東 濟(jì)寧 730;.山東魯能智能技術(shù)有限公司,山東 濟(jì)南 5000)
教育機(jī)器人紅外測距模塊的設(shè)計(jì)
喬元營1,趙玉良2
(1.濟(jì)寧市泗水縣圣水峪中心學(xué)校,山東濟(jì)寧273202;2.山東魯能智能技術(shù)有限公司,山東濟(jì)南250002)
教育機(jī)器人有其靈活性和精確的優(yōu)點(diǎn),并且易用、易學(xué)和擴(kuò)展性強(qiáng),因而在社會有其廣大的市場和發(fā)展前途。介紹了紅外測距模塊猶如機(jī)器人的眼睛,實(shí)現(xiàn)機(jī)器人的避障功能,并且通過液晶顯示使人們知道機(jī)器人離障礙物的精確距離,從而更加靈活控制機(jī)器人。
教育機(jī)器人;凌陽單片機(jī);紅外測距;液晶顯示;A/D轉(zhuǎn)換
針對目前市場上教育機(jī)器人存在的不足,研究更加靈活、易用、易學(xué)和擴(kuò)展性強(qiáng)的教學(xué)機(jī)器人,服務(wù)于小學(xué)的機(jī)器人技術(shù)教育、信息技術(shù)教育、電子技術(shù)教育、小學(xué)生創(chuàng)新設(shè)計(jì)。本文主要針對機(jī)器人的紅外測距和液晶顯示兩個(gè)模塊的硬軟件設(shè)計(jì)以及A/D轉(zhuǎn)換的過程進(jìn)行了較詳細(xì)的論述。本文所設(shè)計(jì)的系統(tǒng)的核心是一個(gè)基于凌陽SPACE061A微控制器的可擴(kuò)展的控制平臺[1]。
此教育機(jī)器人利用具有強(qiáng)大擴(kuò)展功能的凌陽單片機(jī)與模擬輸出的Sharp GP2D12紅外測距傳感器模塊硬件相連并通過C語言程序的軟件支持來實(shí)現(xiàn)機(jī)器人的測距,從而實(shí)現(xiàn)機(jī)器人的避障功能。同樣采用SMC1602C液晶顯示模塊來實(shí)現(xiàn)對測量距離的精確顯示,從而使人們很直觀地知道機(jī)器人(車)與障礙物的距離,從而更加靈活地控制機(jī)器人。同時(shí)利用凌陽單片機(jī)的8通道10位精度的A/D轉(zhuǎn)換模塊的其中一個(gè)通道(其中一個(gè)通道專為聲音模數(shù)轉(zhuǎn)換器,有聲音錄放功能)把來自紅外測距模塊的距離轉(zhuǎn)化的電壓模擬輸出量轉(zhuǎn)換成數(shù)字量。此機(jī)器人體積小,功耗低,并且測量轉(zhuǎn)換精度高,能夠在線下載程序;其圖形化C語言編譯器基于流程圖的圖形化交互式C語言,簡單直觀,易于小學(xué)生學(xué)習(xí)和使用,適合小學(xué)生的思維方式[2]。
教育機(jī)器人硬件系統(tǒng)主要由SPCE061A單片機(jī)、紅外測距模塊、液晶顯示模塊、電源、下載口、晶振和復(fù)位電路組成,如圖1所示。其中,凌陽單片機(jī)是機(jī)器人的心臟和核心部分,與外接功能模塊相連,實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)化、輸入輸出和處理功能,從而使各模塊能夠正常運(yùn)行和實(shí)現(xiàn)各模塊的協(xié)調(diào)工作。紅外測距模塊:采用模擬輸出的Sharp GP2D12距離傳感器,測量機(jī)器人與外界障礙物的距離,并把數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后傳輸給單片機(jī)處理,從而實(shí)現(xiàn)機(jī)器人的避障功能。液晶顯示模塊:采用SMC1602C液晶顯示模塊,單片機(jī)把輸入的距離信號傳輸給液晶顯示模塊,從而實(shí)現(xiàn)對測量距離的精確顯示,使人們很直觀地知道機(jī)器人(車)與障礙物的距離,從而更加靈活地控制機(jī)器人[3]。電源模塊:由帶鎖開關(guān)、電壓調(diào)整器SPY0029芯片、三端穩(wěn)壓器7805模塊、發(fā)光二極管、穩(wěn)壓管、電容電阻等器件組成,為單片機(jī)和各模塊提供12V、5V、3.3V的電壓,保證單片機(jī)和各模塊能夠正常工作。外部上電復(fù)位:通過某種方式,使單片機(jī)內(nèi)存各寄存器的值變?yōu)槌跏嫉牟僮鞣Q為復(fù)位,由復(fù)位鍵、電容電阻、LED指示燈組成,其目的是為了通過對系統(tǒng)的電源電壓進(jìn)行監(jiān)控,而使系統(tǒng)運(yùn)行在一個(gè)正常、可靠的工作環(huán)境,并在一旦出現(xiàn)電源異常的情況下能立即采取相應(yīng)的措施,使系統(tǒng)及時(shí)恢復(fù)正常。晶振模塊:由32 768Hz的晶振和兩個(gè)電容構(gòu)成,作為單片機(jī)的時(shí)鐘信號,為單片機(jī)提供系統(tǒng)時(shí)鐘、實(shí)時(shí)時(shí)鐘和時(shí)間基準(zhǔn)信號,從而保證單片機(jī)正常運(yùn)行和程序的執(zhí)行。下載口:由數(shù)據(jù)緩沖器74HC244和電容、電阻、穩(wěn)壓管等組成。用隨機(jī)帶有的一根連接電纜與計(jì)算機(jī)打印機(jī)端口連接,即在線調(diào)試或把寫好的程序直接下載到機(jī)器人控制器中。
圖1 硬件結(jié)構(gòu)圖
圖2反映了紅外測距的原理,如圖知道了距離L和角度θ,根據(jù)簡單的數(shù)學(xué)方法即可求出障礙物與機(jī)器人(車)的距離Z。圖3為GP2D12的輸入輸出關(guān)系曲線。
圖2 紅外測距原理
圖3 紅外測距模塊輸入輸出關(guān)系曲線
從圖3可以看出電壓與距離的變化關(guān)系不是成線性的,其關(guān)系曲線為下降拋物線,距離測量范圍為10~80cm,電壓范圍是0.4~2.5V。
因?yàn)镚P2D12輸出的距離信號是電壓模擬信號,所以要經(jīng)過A/D轉(zhuǎn)換后,才能夠被單片機(jī)接收和處理,因此A/D轉(zhuǎn)換至關(guān)重要,但因?yàn)榱桕枂纹瑱C(jī)內(nèi)置7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC),所以GP2D12可以直接與凌陽單片機(jī)相連。SPCE061A有8路可復(fù)用10位ADC通道,其中一路通道(MIC_In)用于語音輸入,模擬信號經(jīng)過自動(dòng)增益控制器和放大器放大后進(jìn)行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。這時(shí),DAC0輸出電壓VDAC0(1/2滿量程)就會與輸入電壓Vin進(jìn)行比較。如果Vin>VDAC0,則保持原先設(shè)置為‘1’的位(最高有效位)仍為‘1’;否則,該位會被清‘0’。接著,逐次逼近式控制又將下一位試設(shè)為‘1’,其余低位依舊設(shè)為‘0’,即110000 0000B,VDAC0與Vin進(jìn)行比較,若Vin>VDAC0,則仍保持原先設(shè)置位的值,否則便清‘0’該位。這個(gè)逐次逼近的過程一直會延續(xù)到10位中的所有位都被測試之后,A/D轉(zhuǎn)換的結(jié)果保存在SAR內(nèi)。這種轉(zhuǎn)換具有精度高、速度快、轉(zhuǎn)換時(shí)間固定的優(yōu)點(diǎn),從而保證了液晶顯示的及時(shí)性、精確性[4]。
軟件的編程主要是實(shí)現(xiàn)紅外測距模擬電壓量的A/D轉(zhuǎn)換處理、避障功能的實(shí)現(xiàn)和液晶顯示。程序采用C語言編輯,并在凌陽單片機(jī)支持的Suplus IDE集成環(huán)境下運(yùn)行和執(zhí)行。程序思路如下[5]:
(1)定義地址端口;
(2)液晶模塊和凌陽單片機(jī)I/O口初始化;
(3)從GP2D12紅外測距模塊的電壓與距離的關(guān)系曲線中采集15個(gè)參考點(diǎn)(并且對應(yīng)A/D轉(zhuǎn)換后的數(shù)據(jù));
(4)進(jìn)行A/D轉(zhuǎn)換操作的準(zhǔn)備工作;
(5)開始進(jìn)行A/D轉(zhuǎn)換;
(6)根據(jù)15個(gè)參考點(diǎn),計(jì)算出采集到的距離;
(7)使液晶作好接收數(shù)據(jù)的準(zhǔn)備,并發(fā)送數(shù)據(jù);
(8)液晶顯示。
機(jī)器人(車)從遠(yuǎn)處過來,紅外測距模塊GP2D12不停地對外測量機(jī)器人(車)與障礙物的距離,經(jīng)A/D轉(zhuǎn)換為數(shù)字信號后輸入到凌陽單片機(jī)的Flash中,數(shù)據(jù)經(jīng)單片機(jī)處理后經(jīng)I/O口輸出給液晶顯示模塊顯示,顯示范圍為10~80cm。在程序中設(shè)好一個(gè)數(shù)值為拐彎閾值,GP2D12每測一個(gè)數(shù)據(jù)都與設(shè)定值相比較,如果不相等,則繼續(xù)前進(jìn),不發(fā)生拐彎;如果相等,使機(jī)器人(車)拐彎,從而自動(dòng)躲避障礙物[6]。
程序流程如圖4所示。從圖4可以看出取了15個(gè)參考點(diǎn),并且包括GP2D12紅外測距范圍的起始點(diǎn)和終點(diǎn)。當(dāng)測距數(shù)據(jù)超出了10~80cm的范圍時(shí),設(shè)置fRet=0,即液晶顯示為零。當(dāng)所測數(shù)據(jù)等于這15個(gè)參考點(diǎn)時(shí),則直接輸出數(shù)據(jù),并且程序跳出子程序。當(dāng)所測數(shù)據(jù)非15個(gè)參考點(diǎn)時(shí),此時(shí)要經(jīng)過流程圖中提到的一種數(shù)學(xué)方法計(jì)算求出。此計(jì)算方法的詳細(xì)步驟如下:測到的非15個(gè)參考點(diǎn)的距離,從第一個(gè)參考點(diǎn)依次循環(huán)向后比較,若此點(diǎn)A/D轉(zhuǎn)換的數(shù)據(jù)小于某一個(gè)參考點(diǎn)的A/D轉(zhuǎn)換值,則這個(gè)點(diǎn)位于此點(diǎn)與上一個(gè)參考點(diǎn)之間,測出這個(gè)點(diǎn)橫坐標(biāo)與兩個(gè)參考點(diǎn)橫坐標(biāo)的距離比,此時(shí)可以確定出此點(diǎn)在兩個(gè)參考點(diǎn)的橫坐標(biāo)的位置,此時(shí)再加上上一個(gè)參考點(diǎn)的橫坐標(biāo),就可以確定出此點(diǎn)的橫坐標(biāo)。同理得此點(diǎn)縱坐標(biāo)在兩個(gè)參考點(diǎn)的位置,此時(shí)在加上相鄰的下一個(gè)參考點(diǎn)的縱坐標(biāo),即可得到此點(diǎn)的縱坐標(biāo),橫坐標(biāo)縱坐標(biāo)都知道了,即可確定此點(diǎn)的位置,然后跳出子程序,最后返回[7]。
圖4 程序流程圖
在上述設(shè)計(jì)方案的基礎(chǔ)上研制出了樣機(jī)。樣機(jī)的整體性能已經(jīng)達(dá)到了預(yù)期要求。但在以下方面有待改進(jìn):
(1)電機(jī)驅(qū)動(dòng)方式方面:目前所使用的邏輯驅(qū)動(dòng)是開環(huán)控制,只能利用PWM實(shí)現(xiàn)電機(jī)的控制,遠(yuǎn)遠(yuǎn)不能滿足精確度的要求。若能給電機(jī)加上碼盤和用PID方式對電機(jī)進(jìn)行精確控制,在比賽中將會有更大的主動(dòng)權(quán)。
(2)測距方面:目前所使用的紅外傳感器只能實(shí)現(xiàn)簡單的比較。精確地計(jì)算差值并利用差值對轉(zhuǎn)向進(jìn)行精確的控制,這也是改進(jìn)的方向之一[8]。
(3)在具體的硬件和軟件設(shè)計(jì)方面要注意以下問題:①AD轉(zhuǎn)換口IOA0-6要設(shè)置為懸浮式輸入口;②外部接的電阻不能太小,否則就能把電壓拉下來;③液晶顯示有鎖存功能,液晶的數(shù)據(jù)口和AD轉(zhuǎn)換口不能重復(fù)。
[1]薛鈞義,張彥斌.凌陽十六位單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.
[2]李晶皎.嵌入式語音技術(shù)及凌陽16位單片機(jī)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003.
[3]李正軍.計(jì)算機(jī)控制系統(tǒng)(第一版)[M].北京:機(jī)械工業(yè)出版社,2005.
[4]王齊浩.模擬電子技術(shù)基礎(chǔ)(第二版)[M].濟(jì)南:山東科學(xué)技術(shù)出版社,2003.
[5]嚴(yán)鐘豪,譚祖根.非電量電測技術(shù)(第2版)[M].北京:機(jī)械工業(yè)出版社,2003.
[6]張廣軍.光電測試技術(shù)(第一版)[M].北京:中國計(jì)量出版社,2003.
[7]周旭,嚴(yán)玉龍,王珊珊,等.基于CANopen協(xié)議的輪式機(jī)器人控制系統(tǒng)實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2013,32(23):20-23.
[8]李歡,魏衡華.基于仿人機(jī)器人的無線視頻監(jiān)控系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,33(10):88-91,94.
The design of the infrared-distance education robot module
Qiao Yuanying1,Zhao Yuliang2
(1.The Holy Valley Central School in Surabaya County,Jining 273202,China;2.Shandong Luneng Intelligence Technology Co.,Ltd.,Ji′nan 250002,China)
Education robot have the advantages of agility and precision,meanwhile,it′s convenient to use and learn and has strong expansibility,so it has a wide market and good perspective in society.The modules of infrared-distance and liquid crystal display in this paper are like eyes of the robot to cause robot to keep away from the obstruct,and we could know the precious distance between robot and obstruct according to liquid crystal display to control the robot more flexibly.
education robot;sunplus microchip;infrared_distance;liquid crystal display;A/D convert
TP3
A
1674-7720(2015)16-0027-03.
喬元營,趙玉良.教育機(jī)器人紅外測距模塊的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(16):27-29.
2015-04-28)
喬元營(1972-),男,本科,教師,主要研究方向:中小學(xué)教育。
趙玉良(1979-),男,碩士,工程師,主要研究方向:移動(dòng)機(jī)器人,高壓帶電作業(yè)機(jī)器人。