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