0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用AT89C52單片機(jī)和紅外光電傳感器實(shí)現(xiàn)機(jī)器人三點(diǎn)三輪尋跡系統(tǒng)設(shè)計(jì)

電子設(shè)計(jì) ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:唐甫世,齊明俠, ? 2021-04-07 09:24 ? 次閱讀

作者:唐甫世,齊明俠,張曉春

智能尋跡機(jī)器人是一種被廣泛研究的機(jī)器人,而且國內(nèi)外都有許多重要的比賽都以尋跡機(jī)器人為核心展開,如我國的“飛思卡爾”杯全國大學(xué)生智能車大賽,以及吸引亞太地區(qū)眾多國家參賽的亞廣聯(lián)(ABU)機(jī)器人大賽等。

所謂的復(fù)雜路線,即由小半徑彎道、各種角度折道、直道等組成的不規(guī)則導(dǎo)引線,它是相對(duì)由大半徑彎道組成、過渡平滑的簡單路線而言的。筆者所設(shè)計(jì)的尋跡機(jī)器人小車,以AT89C52單片機(jī)控制芯片,采用自制的3個(gè)紅外光電傳感器,以簡單的設(shè)計(jì)、較低的成本實(shí)現(xiàn)了復(fù)雜路線下機(jī)器人的自主尋跡。

1 硬件及電路

1.1 控制芯片

考慮到實(shí)用性和性價(jià)比,采用AT89C52單片機(jī)作為機(jī)器人的控制芯片。AT89C52是美國 Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含8 KB的可反復(fù)擦寫的只讀存儲(chǔ)器(PEROM)和256B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,1個(gè)全雙工串行通行口。器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容。

1.2 傳感器模塊

作為尋跡機(jī)器人的“眼睛”,選擇合適的傳感器是關(guān)鍵。目前市面上可選用的傳感器主要有CCD傳感器和紅外光電傳感器兩種。近年來CCD傳感器技術(shù)已趨成熟,在近幾屆“飛思卡爾”杯智能車大賽上,采用CCD傳感器的智能車越來越多,并取得了不錯(cuò)的成績。不過,CCD傳感器價(jià)格較高,體積較大,數(shù)據(jù)處理相當(dāng)復(fù)雜,因此在按既定路線行走的尋跡機(jī)器人設(shè)計(jì)中,紅外光電傳感器以其體積小、價(jià)格低、數(shù)據(jù)處理簡單而顯得更有優(yōu)勢(shì)。

紅外光電傳感器由1個(gè)紅外發(fā)射管和1個(gè)光敏二極管組成。工作時(shí),紅外發(fā)射管發(fā)射的紅外光被被測表面反射回來,光敏二極管接收被反射光。由于被測表面的材質(zhì)不同,反射率也不一樣。當(dāng)被測表面為白色時(shí),反射光較強(qiáng),光敏二極管將導(dǎo)通;反之,被測表面為黑色時(shí),光敏二極管將截止。考慮到外界環(huán)境光照等干擾因素,輸出的電壓值有一定的波動(dòng)范圍,若直接輸給單片機(jī),可能導(dǎo)致檢測判斷錯(cuò)誤。因此,需要將輸出電壓通過比較器(LM324)與預(yù)置的閾值電壓比較,然后得出一個(gè)高低電平輸給單片機(jī)。閾值電壓通過試驗(yàn)測量得出,其電路如圖1所示。其中LED為傳感器工作指示燈,R1為閾值電壓調(diào)節(jié)電阻。

o4YBAGBxSHaAUxA6AABpBCPdHAs921.png

根據(jù)上述電路,自制了3個(gè)簡易的紅外光電傳感器。經(jīng)測試表明,性能良好,有效檢測距離為1~4 cm,滿足機(jī)器人尋跡的要求。

1.3 驅(qū)動(dòng)模塊

驅(qū)動(dòng)機(jī)器人行走的2個(gè)電機(jī)需要不同的轉(zhuǎn)速來實(shí)現(xiàn)轉(zhuǎn)彎。選用的驅(qū)動(dòng)芯片為L293D,它包含4個(gè)輸出通道,最大輸出峰值電流為1.2 A,能同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī)工作;其信號(hào)輸入端和使能端接收到來自單片機(jī)的信號(hào),控制電機(jī)的通斷以及正、反轉(zhuǎn),還可以通過向使能端輸入不同占空比的方波信號(hào)來調(diào)整電機(jī)轉(zhuǎn)速(PWM方式)。如圖2所示,IN端口接控制信號(hào),OUT端口接電機(jī)的兩端,EN端口接使能信號(hào)。一組IN端口輸入為高/低或低/高電平時(shí),能實(shí)現(xiàn)電機(jī)的正/反轉(zhuǎn)。一組IN端口輸入均為高或低電平時(shí),電機(jī)將停轉(zhuǎn)。EN使能端為高電平時(shí),相應(yīng)端口輸入信號(hào)有效;反之,則輸入信號(hào)無效。在EN 端輸入PWM波,通過調(diào)整PWM波的占空比,即可實(shí)現(xiàn)電機(jī)的無級(jí)調(diào)速。

o4YBAGBxSFqAPUQWAAC66V5IjQA008.png

2 尋跡控制

機(jī)器人尋跡控制示意圖如圖3所示,機(jī)器人采用前輪驅(qū)動(dòng)后輪輔助的三輪差動(dòng)式行走方式。車體前部兩輪均為主動(dòng)輪,由兩個(gè)電機(jī)分別驅(qū)動(dòng),利用它們的轉(zhuǎn)速差來控制機(jī)器人運(yùn)動(dòng)方向;后輪為從動(dòng)萬向輪,僅起著支撐車體的作用。車底板前部以車體中心線為軸線對(duì)稱放置著3個(gè)自制的紅外光電傳感器,作為機(jī)器人的尋跡傳感器。

o4YBAGBxSFSAS4FcAACyb6tF5NA088.png

機(jī)器人尋跡場地中除了黑線,其他區(qū)域均為白色。當(dāng)傳感器正下方為黑線時(shí),輸出“0”狀態(tài),當(dāng)其為白色區(qū)域時(shí),輸出“1”狀態(tài)。因此,理論上3個(gè)傳感器輸出的組合狀態(tài)會(huì)有8種,如表1所列。每一種組合狀態(tài)都對(duì)應(yīng)著一種機(jī)器人下一步的行走動(dòng)作,共有前進(jìn)、左轉(zhuǎn)、快速左轉(zhuǎn)、右轉(zhuǎn)、快速右轉(zhuǎn)、原地旋轉(zhuǎn)、停止7種動(dòng)作。

pIYBAGBxSE-AXt-fAAGUQbhAjRI354.png

注:“+”指車輪向前運(yùn)動(dòng),“-”表示車輪向后運(yùn)動(dòng),“1.0”、“0.3”指的是控制相應(yīng)電機(jī)轉(zhuǎn)速的PWM波的占空比,可根據(jù)實(shí)際需要在程序中修改。

本機(jī)器人有著雙級(jí)轉(zhuǎn)彎的設(shè)計(jì),即普通轉(zhuǎn)彎和快速轉(zhuǎn)彎。當(dāng)機(jī)器人對(duì)黑線的偏離量比較小時(shí),使用普通轉(zhuǎn)彎,即兩個(gè)驅(qū)動(dòng)輪都向前運(yùn)動(dòng),速度一大一小,依靠兩輪的速度差來實(shí)現(xiàn)轉(zhuǎn)彎;而當(dāng)機(jī)器人偏離黑線較遠(yuǎn)時(shí),使用快速轉(zhuǎn)彎,即兩個(gè)驅(qū)動(dòng)輪一個(gè)向前運(yùn)動(dòng),一個(gè)向后運(yùn)動(dòng),這樣能迅速實(shí)現(xiàn)轉(zhuǎn)彎。普通轉(zhuǎn)彎用于大半徑彎道、大角度折道,而快速轉(zhuǎn)彎則用于小半徑彎道和直角銳角折道等非平滑過渡路線。對(duì)于非封閉路線,還設(shè)計(jì)了原地旋轉(zhuǎn)的動(dòng)作,來實(shí)現(xiàn)原路返回:一旦機(jī)器人小車走完全程,3個(gè)傳感器將均檢測到白色區(qū)域,輸出組合狀態(tài)“111”,此時(shí)一輪全速前進(jìn),一輪全速后退,小車原地旋轉(zhuǎn),直到掉過頭來傳感器檢測到黑線為止。

o4YBAGBxSEmAEdARAAGhLQzboqc461.png

3 程序設(shè)計(jì)

程序設(shè)計(jì)時(shí),采用匯編語言編程。其思路為:第1步,系統(tǒng)初始化后,讀取單片機(jī)P2口的值,然后對(duì)其 P2.0、P2.1、P2.2按位取與,得到傳感器模塊的組合值。第2步,將得到的組合值與預(yù)定的值比較,若相等則執(zhí)行相應(yīng)的動(dòng)作,否則繼續(xù)比較,直到獲得正確的動(dòng)作。比較完全部動(dòng)作后,轉(zhuǎn)到第1步重新掃描傳感器的狀態(tài)值。

為了進(jìn)一步提高系統(tǒng)的安全性和可靠性,還需增加異常處理算法??赡艹霈F(xiàn)的異常情況有:過小彎道或小角度折道時(shí),機(jī)器人還來不及轉(zhuǎn)過彎來,就已經(jīng)完全偏離黑線。這種情況下,3個(gè)傳感器都輸出“1”,檢測不到黑線,若不及時(shí)處理,機(jī)器人將無法繼續(xù)尋跡。針對(duì)該情況,設(shè)計(jì)了原地旋轉(zhuǎn)動(dòng)作來找回預(yù)定路線,不過原地旋轉(zhuǎn)有順、逆時(shí)針之分,因此還得區(qū)分開來。改進(jìn)后編程的思路為:每次讀取P2口值之前,將其上一次的傳感器組合值存入某個(gè)寄存器,當(dāng)出現(xiàn)組合值為 “111”的情況時(shí),立即查詢上一次的值,根據(jù)該值,可以判斷出機(jī)器人是從哪一側(cè)偏離黑線的,從而進(jìn)行順或逆時(shí)針原地旋轉(zhuǎn)。其主要程序如下:

pIYBAGBxSEOAKBm0AAD-q2VZlf8691.png

結(jié)語

根據(jù)上述設(shè)計(jì)思路,我們制作出尋跡機(jī)器人并進(jìn)行了測試。測試場地如圖4所示,黑色導(dǎo)引線寬度為3 cm,黑線周圍區(qū)域均為白紙覆蓋。測試結(jié)果表明:該尋跡機(jī)器人能在此復(fù)雜路線下平穩(wěn)、順利地沿著黑線走完全程,并在終點(diǎn)沿原路返回,達(dá)到了預(yù)期的目標(biāo)。這為進(jìn)一步研究復(fù)雜環(huán)境下的自動(dòng)行走機(jī)器人提供了參考。

本文的創(chuàng)新點(diǎn)為:使用3個(gè)自制的紅外光電傳感器,以簡單的設(shè)計(jì)和較少的硬件實(shí)現(xiàn)了復(fù)雜路線下機(jī)器人的尋跡。而基于該機(jī)器人雙級(jí)轉(zhuǎn)彎的設(shè)計(jì)思想,可以增加傳感器數(shù)量、組成傳感器陣列來實(shí)現(xiàn)多級(jí)轉(zhuǎn)彎,從而對(duì)機(jī)器人的自主尋跡有著更為精確的控制。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2542

    文章

    50241

    瀏覽量

    750058
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44452

    瀏覽量

    630797
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    27989

    瀏覽量

    205535
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    智能小車畢業(yè)設(shè)計(jì)開題報(bào)告——STC89C51單片機(jī)智能小車設(shè)計(jì)

    ,超聲波測距采用超聲波發(fā)射和接收經(jīng)鎖相環(huán)電路檢波完成,最后由控制單元處理數(shù)據(jù)后通過編程有序合理的將各模塊信號(hào)整合在一起并完成相應(yīng)動(dòng)作,實(shí)現(xiàn)了智能控制,相當(dāng)于簡易
    發(fā)表于 03-09 10:55

    基于at89c51單片機(jī)設(shè)計(jì)的簡易智能機(jī)器人

    接受到信號(hào),將信號(hào)送進(jìn)單片機(jī)進(jìn)行相應(yīng)的判定和處理。 傳感器3置于機(jī)器人正前方朝下的紅外光電傳感器,用于檢測停止線。紅外發(fā)射管發(fā)出信號(hào),經(jīng)不同
    發(fā)表于 02-09 16:12

    紅外光電傳感器有哪些分類?

    紅外光電傳感器有哪些分類?紅外光電傳感器是怎樣工作的?
    發(fā)表于 04-13 06:41

    如何利用AT89C52RC實(shí)現(xiàn)尋跡滅火智能小車機(jī)器人的設(shè)計(jì)

    摘要:一、硬件介紹:AT89C52RC單片機(jī),L298N_電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)直流馬達(dá),火焰傳感器模塊、YL-70四路循跡模塊,5V繼電器控制風(fēng)扇的開關(guān)。二、功能介紹:“尋跡滅火
    發(fā)表于 11-10 06:44

    怎樣去設(shè)計(jì)基于單片機(jī)尋跡滅火智能小車機(jī)器人

    摘要:一、硬件介紹:AT89C52RC單片機(jī),L298N_電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)直流馬達(dá),火焰傳感器模塊、YL-70四路循跡模塊,5V繼電器控制風(fēng)扇的開關(guān)。二、功能介紹:“尋跡滅火
    發(fā)表于 12-02 06:31

    基于單片機(jī)傳感器機(jī)器人設(shè)計(jì)與實(shí)現(xiàn)

    本設(shè)計(jì)基于單片機(jī)及多種傳感器,完成了一個(gè)自主式移動(dòng)機(jī)器人的制作。單片機(jī)作為系統(tǒng)檢測和控制的核心,實(shí)現(xiàn)
    發(fā)表于 08-05 09:54 ?49次下載

    基于AT89C52單片機(jī)的多超聲信號(hào)融合處理系統(tǒng)設(shè)計(jì)

    本文設(shè)計(jì)并實(shí)現(xiàn)了一種多超聲信號(hào)融合處理系統(tǒng),主要用于移動(dòng)機(jī)器人超聲測距導(dǎo)航。系統(tǒng)針對(duì)超聲回波信號(hào)的特點(diǎn),使用AT89C52
    發(fā)表于 08-06 11:33 ?35次下載

    基于AT89C52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)

    基于AT89C52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì) 摘 要: 提出了一個(gè)由AT89C52單片機(jī)控制
    發(fā)表于 04-20 09:31 ?418次下載

    at89c52單片機(jī)引腳說明,AT89C52高性能8位單片機(jī)

    at89c52單片機(jī)引腳說明,AT89C52高性能8位單片機(jī)
    發(fā)表于 04-29 22:05 ?2.6w次閱讀
    <b class='flag-5'>at89c52</b><b class='flag-5'>單片機(jī)</b>引腳說明,<b class='flag-5'>AT89C52</b>高性能8位<b class='flag-5'>單片機(jī)</b>

    基于AT89C52單片機(jī)的電扇系統(tǒng)改造設(shè)計(jì)

    采用AT89C52型號(hào)的單片機(jī)對(duì)傳統(tǒng)的電扇系統(tǒng)進(jìn)行改造,實(shí)現(xiàn)對(duì)電扇的短距離控制。該設(shè)計(jì)利用單片機(jī)
    發(fā)表于 02-02 11:18 ?89次下載
    基于<b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b>的電扇<b class='flag-5'>系統(tǒng)</b>改造設(shè)計(jì)

    AT89C52單片機(jī)的SD卡讀寫設(shè)計(jì)

    應(yīng)用AT89C52讀寫SD卡有兩點(diǎn)需要注意。首先,需要尋找一個(gè)實(shí)現(xiàn)AT89C52 單片機(jī)與SD卡通訊的解決方案;其次,SD卡所能接受的邏輯電
    的頭像 發(fā)表于 02-16 11:23 ?4393次閱讀
    <b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b>的SD卡讀寫設(shè)計(jì)

    如何使用STC89C52單片機(jī)進(jìn)行斗牛玩具機(jī)器人的研究概述

    首先介紹了斗牛玩具機(jī)器人系統(tǒng)功能構(gòu)思, 然后設(shè)計(jì)了以STC89C52 單片機(jī)為控制的斗牛玩具機(jī)器人
    發(fā)表于 01-08 15:51 ?13次下載
    如何使用STC<b class='flag-5'>89C52</b><b class='flag-5'>單片機(jī)</b>進(jìn)行斗牛玩具<b class='flag-5'>機(jī)器人</b>的研究概述

    如何使用AT89C52單片機(jī)進(jìn)行智能小車的設(shè)計(jì)

    設(shè)計(jì)了一種基于 AT89C52單片機(jī)為檢測和控制核心的智能小車 以反射光耦為核心的傳感器自動(dòng)檢測黑線,通過軟件對(duì)其行進(jìn)路線進(jìn)行控制調(diào)節(jié);投幣識(shí)別系統(tǒng)
    發(fā)表于 06-14 17:35 ?6次下載
    如何使用<b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b>進(jìn)行智能小車的設(shè)計(jì)

    使用AT89C52單片機(jī)和反射式傳感器設(shè)計(jì)實(shí)現(xiàn)智能巡線機(jī)器人的資料說明

    本文介紹了利用紅外反射式傳感器實(shí)現(xiàn)小車自動(dòng)識(shí)別路線的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)控制核心采用
    發(fā)表于 10-17 17:16 ?10次下載
    使用<b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b>和反射式<b class='flag-5'>傳感器</b>設(shè)計(jì)<b class='flag-5'>實(shí)現(xiàn)</b>智能巡線<b class='flag-5'>機(jī)器人</b>的資料說明

    AT89C52單片機(jī)實(shí)現(xiàn)喇叭驅(qū)動(dòng)的設(shè)計(jì)

    AT89C52單片機(jī)實(shí)現(xiàn)喇叭驅(qū)動(dòng)的設(shè)計(jì)
    發(fā)表于 11-23 17:06 ?53次下載
    <b class='flag-5'>AT89C52</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)現(xiàn)</b>喇叭驅(qū)動(dòng)的設(shè)計(jì)