基于AT89C51單片機(jī)設(shè)計(jì)的簡(jiǎn)易智能機(jī)器人
引言
隨著微電子技術(shù)的不斷發(fā)展,微處理器芯片的集成程度越來越高,單片機(jī)已可以在一塊芯片上同時(shí)集成cpu、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、并行和串行接口、看門狗、前置放大器、a/d轉(zhuǎn)換器、d/a轉(zhuǎn)換器等多種電路,這就很容易將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合,組成智能化測(cè)量控制系統(tǒng)。這種技術(shù)促使機(jī)器人技術(shù)也有了突飛猛進(jìn)的發(fā)展,目前人們已經(jīng)完全可以設(shè)計(jì)并制造出具有某些特殊功能的簡(jiǎn)易智能機(jī)器人。
1 設(shè)計(jì)思想與總體方案
1.1 簡(jiǎn)易智能機(jī)器人的設(shè)計(jì)思想
本機(jī)器人能在任意區(qū)域內(nèi)沿引導(dǎo)線行走,自動(dòng)繞障,在有光源引導(dǎo)的條件下能沿光源行走。同時(shí),能檢測(cè)埋在地下的金屬片,發(fā)出聲光指示信息,并能實(shí)時(shí)存儲(chǔ)、顯示檢測(cè)到的斷點(diǎn)數(shù)目以及各斷點(diǎn)至起跑線間的距離,最后能停在指定地點(diǎn),顯示出整個(gè)運(yùn)行過程的時(shí)間。
1.2 總體設(shè)計(jì)方案和框圖
本設(shè)計(jì)以at89c5l單片機(jī)作為檢測(cè)和控制核心。采用紅外光電傳感器檢測(cè)路面黑線及障礙物,使用金屬傳感器檢測(cè)路面下金屬鐵片,應(yīng)用光電碼盤測(cè)距,用光敏電阻檢測(cè)、判斷車庫位置,利用pwm(脈寬調(diào)制)技術(shù)動(dòng)態(tài)控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向和轉(zhuǎn)速。通過軟件編程實(shí)現(xiàn)機(jī)器人行進(jìn)、繞障、停止的精確控制以及檢測(cè)數(shù)據(jù)的存儲(chǔ)、顯示。通過對(duì)電路的優(yōu)化組合,可以最大限度地利用51單片機(jī)的全部資源。
p0口用于數(shù)碼管顯示,p1口用于電動(dòng)機(jī)的pwm驅(qū)動(dòng)控制,p2,p3口用于傳感器的數(shù)據(jù)采集與中斷控制。這樣做的優(yōu)點(diǎn)是:充分利用了單片機(jī)的內(nèi)部資源,降低了總體設(shè)計(jì)的成本。該方案總體方案見圖1。
2 系統(tǒng)的硬件組成及設(shè)計(jì)原理
此系統(tǒng)的硬件部分由單片機(jī)單元、傳感器單元、電源單元、聲光報(bào)警單元、鍵盤輸入單元、電機(jī)控制單元和顯示單元組成,如圖2所示。
2.1 單片機(jī)單元
本系統(tǒng)采用at89c51單片機(jī)作為中央處理器。其主要任務(wù)是掃描鍵盤輸入的信號(hào)啟動(dòng)機(jī)器人,在機(jī)器人行走過程中不斷讀取傳感器采集到的數(shù)據(jù),將得到的數(shù)據(jù)進(jìn)行處理后,根據(jù)不同的情況產(chǎn)生占空比不同的pwm脈沖來控制電機(jī),同時(shí)將相關(guān)數(shù)據(jù)送顯示單元?jiǎng)討B(tài)顯示,產(chǎn)生聲光報(bào)警信號(hào)。其中,p0用于數(shù)碼管動(dòng)態(tài)顯示,p1.0一p1.5控制2個(gè)電機(jī),p1.6、p1.7為獨(dú)立式鍵盤接口,p2接傳感器,p3.2接計(jì)里程的光電碼盤,p3.7接聲光報(bào)警單元,p3.4、p3.5、p3.6接用于顯示斷點(diǎn)數(shù)目的發(fā)光二極管。
2.2 電機(jī)控制單元
本機(jī)器人采用了雙電機(jī)雙輪驅(qū)動(dòng)的小車作為其底座。2個(gè)電機(jī)分別獨(dú)立控制其左右兩邊的車輪,靠?jī)蛇呺姍C(jī)的轉(zhuǎn)速的不同來實(shí)現(xiàn)轉(zhuǎn)彎功能,還可讓其原地轉(zhuǎn)彎,便于控制。而傳統(tǒng)的小車是靠動(dòng)力電機(jī)和轉(zhuǎn)向電機(jī)驅(qū)動(dòng),轉(zhuǎn)彎角度難以控制,不便于使用。
電機(jī)控制電路采用大功率對(duì)管bdl39、bdl40組成的h型驅(qū)動(dòng)電路,通過單片機(jī)產(chǎn)生占空比不同的pwm脈沖,精確調(diào)整電機(jī)的轉(zhuǎn)速。這種電路由于工作在晶體管飽和或截止?fàn)顟B(tài),避免了在線性放大區(qū)工作時(shí)晶體管的管耗,可以最大限度地提高效率;h型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)電機(jī)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度和穩(wěn)定性也完全可滿足需要,整套驅(qū)動(dòng)電路是一種被廣泛采用的電機(jī)驅(qū)動(dòng)技術(shù)。電路見圖3。
2.3 傳感器單元
整個(gè)機(jī)器人共采用了9個(gè)傳感器,分布在整個(gè)機(jī)器人的不同部位,相互配合起不同的作用,見圖4。
圖4中各傳感器說明如下:
傳感器1置于機(jī)器人正前方朝下的金屬探測(cè)傳感器,用于探測(cè)金屬。
傳感器2置于機(jī)器人正前方朝前的超聲波傳感器,用于檢測(cè)障礙物。超聲波來源于555產(chǎn)生40 khz的方波信號(hào),經(jīng)超聲波發(fā)射頭發(fā)出。發(fā)射頭不斷發(fā)出信號(hào),當(dāng)遇到障礙物時(shí),信號(hào)會(huì)被反射回來,從而接收頭會(huì)接受到信號(hào),將信號(hào)送入單片機(jī)進(jìn)行相應(yīng)的判斷和處理。
傳感器3置于機(jī)器人正前方朝下的紅外光電傳感器,用于檢測(cè)停止線。紅外發(fā)射管發(fā)出信號(hào),經(jīng)不同的反射介質(zhì)反射,根據(jù)紅外接收管是否接收到信號(hào)做出相應(yīng)的判斷。
傳感器4、5置于機(jī)器人底座下方朝下的紅外光電傳感器,用于檢測(cè)地面的引導(dǎo)線,原理同傳感器3。
傳感器6、7置于機(jī)器人正前方朝前的光敏電阻傳感器,用于尋找光源。當(dāng)機(jī)器人前方有光源照射時(shí),光敏電阻的大小將會(huì)改變,將2個(gè)傳感器的改變量進(jìn)行比較處理后送入單片機(jī),單片機(jī)將會(huì)產(chǎn)生相應(yīng)的調(diào)整信號(hào),使機(jī)器人朝光強(qiáng)的方向行走。
傳感器8置于機(jī)器人后方兩側(cè)朝外的超聲波傳感器,用于在機(jī)器人遇到障礙物時(shí)的轉(zhuǎn)彎處理,判斷機(jī)器人是否完全繞開障礙物,原理同傳感器2。
傳感器9置于機(jī)器人正后方的光電碼盤,用于計(jì)里程,借助于鼠標(biāo)原理,選用直徑為2.6 cm的塑料小輪自制光電碼盤,經(jīng)過打磨使其周長為8
cm,再在該小輪上打等距離的8個(gè)孔,如圖5所示。最小測(cè)距精度可達(dá)到1 cm,足以滿足要求,兩側(cè)裝上光電傳感器,將其安裝在車尾,使之與車的行駛同步。就實(shí)際情況自制出來的各個(gè)孔之間的距離無法精確相等,但經(jīng)過具體測(cè)量該光電碼盤,能保證行駛50
cm產(chǎn)生50個(gè)脈沖,于是采用其作為計(jì)算距離的基準(zhǔn)單位。在直道區(qū),可由該電路產(chǎn)生的脈沖數(shù),計(jì)算出鐵片中心線至起跑線間的距離。
此外,為了清楚直觀地觀察到各傳感器的工作狀態(tài),電路中還專門為每個(gè)傳感器設(shè)計(jì)了工作指示燈,實(shí)時(shí)顯示每個(gè)傳感器的工作狀態(tài)。
2.4 鍵盤輸入單元
鍵盤輸入單元采用獨(dú)立式鍵盤,由2個(gè)按鍵組成,其中一個(gè)為啟動(dòng)鍵,另一個(gè)為顯示切換鍵,當(dāng)機(jī)器人行走完全程后,按下該鍵,將顯示整個(gè)行走過程的時(shí)間。
2.5 顯示單元
顯示單元由2個(gè)7段數(shù)碼管組成,為了減少整個(gè)系統(tǒng)的功耗,采用了由單片機(jī)軟件譯碼,動(dòng)態(tài)顯示,實(shí)時(shí)顯示每個(gè)斷點(diǎn)到起點(diǎn)的距離以及整個(gè)運(yùn)行過程的時(shí)間。
2.6 聲光報(bào)警單元
用555作為振蕩源,用單片機(jī)觸發(fā)振蕩源驅(qū)動(dòng)電磁訊響器作為聲音指示器和1只發(fā)光二極管作為光指示裝置,從而組成聲光報(bào)警單元。
2.7 電源單元
本系統(tǒng)采用2套電源分別對(duì)電機(jī)和控制電路進(jìn)行單獨(dú)供電。系統(tǒng)控制電路采用經(jīng)7805穩(wěn)壓后的輸出供電(5v),電機(jī)則采用4節(jié)aa電池來供電。
3 系統(tǒng)的軟件設(shè)計(jì)
該系統(tǒng)配套的軟件程序采用模塊結(jié)構(gòu),由c語言編寫完成。主要由初始化程序、偏道調(diào)整程序、偏離光源調(diào)整程序、聲光指示子程序、讀傳感器狀態(tài)、顯示程序、定時(shí)器0的中斷服務(wù)程序、定時(shí)器1的中斷服務(wù)程序、外部中斷0的服務(wù)程序、停車處理等模塊組成。系統(tǒng)的主體流程如圖6所示。
4 結(jié)束語
該機(jī)器人在認(rèn)為設(shè)定的跑道上經(jīng)過多次實(shí)驗(yàn),達(dá)到了預(yù)期的效果,但是其智能化程度還遠(yuǎn)遠(yuǎn)不夠。隨著人工智能和神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷研究和深入,智能機(jī)器人的發(fā)展前景將會(huì)越來越廣闊。
評(píng)論