摘 要: 教育機(jī)器人有其靈活性和精確的優(yōu)點(diǎn),,并且易用、易學(xué)和擴(kuò)展性強(qiáng),,因而在社會(huì)有其廣大的市場(chǎng)和發(fā)展前途,。介紹了紅外測(cè)距模塊猶如機(jī)器人的眼睛,實(shí)現(xiàn)機(jī)器人的避障功能,,并且通過(guò)液晶顯示使人們知道機(jī)器人離障礙物的精確距離,,從而更加靈活控制機(jī)器人。
關(guān)鍵詞: 教育機(jī)器人,;凌陽(yáng)單片機(jī),;紅外測(cè)距;液晶顯示,;A/D轉(zhuǎn)換
0 引言
針對(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],。
1 系統(tǒng)的硬件設(shè)計(jì)及實(shí)現(xiàn)
教育機(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],。電源模塊:由帶鎖開關(guān)、電壓調(diào)整器SPY0029芯片,、三端穩(wěn)壓器7805模塊,、發(fā)光二極管、穩(wěn)壓管,、電容電阻等器件組成,,為單片機(jī)和各模塊提供12 V、 5 V,、3.3 V的電壓,,保證單片機(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 768 Hz的晶振和兩個(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)試或把寫好的程序直接下載到機(jī)器人控制器中,。
2 紅外測(cè)距模塊原理
圖2反映了紅外測(cè)距的原理,如圖知道了距離L和角度?茲,,根據(jù)簡(jiǎn)單的數(shù)學(xué)方法即可求出障礙物與機(jī)器人(車)的距離Z,。圖3為GP2D12的輸入輸出關(guān)系曲線。
從圖3可以看出電壓與距離的變化關(guān)系不是成線性的,,其關(guān)系曲線為下降拋物線,,距離測(cè)量范圍為10~80 cm,電壓范圍是0.4~2.5 V,。
因?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],。
3 系統(tǒng)的軟件設(shè)計(jì)及實(shí)現(xiàn)
軟件的編程主要是實(shí)現(xiàn)紅外測(cè)距模擬電壓量的A/D轉(zhuǎn)換處理、避障功能的實(shí)現(xiàn)和液晶顯示,。程序采用C語(yǔ)言編輯,,并在凌陽(yáng)單片機(jī)支持的Suplus IDE集成環(huán)境下運(yùn)行和執(zhí)行。程序思路如下[5]:
?。?)定義地址端口,;
(2)液晶模塊和凌陽(yáng)單片機(jī)I/O口初始化,;
?。?)從GP2D12紅外測(cè)距模塊的電壓與距離的關(guān)系曲線中采集15個(gè)參考點(diǎn)(并且對(duì)應(yīng)A/D轉(zhuǎn)換后的數(shù)據(jù));
?。?)進(jìn)行A/D轉(zhuǎn)換操作的準(zhǔn)備工作,;
(5)開始進(jìn)行A/D轉(zhuǎn)換;
?。?)根據(jù)15個(gè)參考點(diǎn),,計(jì)算出采集到的距離;
?。?)使液晶作好接收數(shù)據(jù)的準(zhǔn)備,,并發(fā)送數(shù)據(jù);
?。?)液晶顯示,。
機(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~80 cm,。在程序中設(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~80 cm的范圍時(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 結(jié)論
在上述設(shè)計(jì)方案的基礎(chǔ)上研制出了樣機(jī)。樣機(jī)的整體性能已經(jīng)達(dá)到了預(yù)期要求,。但在以下方面有待改進(jìn):
?。?)電機(jī)驅(qū)動(dòng)方式方面:目前所使用的邏輯驅(qū)動(dòng)是開環(huán)控制,只能利用PWM實(shí)現(xiàn)電機(jī)的控制,,遠(yuǎn)遠(yuǎn)不能滿足精確度的要求,。若能給電機(jī)加上碼盤和用PID方式對(duì)電機(jī)進(jìn)行精確控制,在比賽中將會(huì)有更大的主動(dòng)權(quán),。
?。?)測(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ù),。
參考文獻(xiàn)
[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.