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