匡暢 曾繁崎
摘 要:針對目前單片機(jī)、無線通信、傳感器等課程,學(xué)習(xí)過程枯燥無味、缺乏應(yīng)用實(shí)例等問題,設(shè)計(jì)了一種基于單片機(jī)的機(jī)器人小車實(shí)驗(yàn)平臺。該實(shí)驗(yàn)平臺以機(jī)器人小車為載體,可以安裝藍(lán)牙、Wi-Fi、攝像頭、紅外避障、超聲波、LED點(diǎn)陣等等模塊,極大地豐富了學(xué)習(xí)內(nèi)容,提高了學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力,廣泛適用于單片機(jī)技術(shù)、通信技術(shù)、傳感器技術(shù)、物聯(lián)網(wǎng)技術(shù)、人工智能技術(shù)等專業(yè)課程。該平臺具有安裝方便、擴(kuò)展性強(qiáng)、功能豐富等特點(diǎn)。
關(guān)鍵詞:單片機(jī);機(jī)器人小車;實(shí)驗(yàn)平臺
學(xué)生在學(xué)習(xí)單片機(jī)、通信、傳感器、物聯(lián)網(wǎng)等課程時(shí),只能在實(shí)驗(yàn)板上練習(xí),缺乏應(yīng)用實(shí)例,學(xué)習(xí)積極性不高。針對這一問題,本文設(shè)計(jì)了一種基于單片機(jī)的機(jī)器人小車實(shí)驗(yàn)平臺,可以豐富課程的教學(xué)方式,擴(kuò)展學(xué)習(xí)內(nèi)容。
一、硬件設(shè)計(jì)
(一)系統(tǒng)整體框架
本文設(shè)計(jì)的機(jī)器人小車實(shí)驗(yàn)平臺主要由可選模塊、單片機(jī)、L298N和電機(jī)構(gòu)成,如圖1所示。其中,可選模塊是可以添加的通信、傳感器等模塊,用于擴(kuò)展平臺功能;單片機(jī)用于控制機(jī)器人移動(dòng),并向可選模塊提供通信接口;L298N是電機(jī)驅(qū)動(dòng),用于驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn);電機(jī)安裝在機(jī)器人底盤上,轉(zhuǎn)子上有輪子,可以帶動(dòng)機(jī)器人移動(dòng)。
(二)單片機(jī)模塊
單片機(jī)模塊采用AVR的ATmega328p作為主控芯片,模塊核心板包含14個(gè)數(shù)字輸入輸出引腳,其中6個(gè)可用于PWM輸出,6個(gè)模擬輸入引腳,一個(gè)16 MHz的晶體振蕩器,一個(gè)USB接口,一個(gè)DC接口,一個(gè)ICSP接口和一個(gè)復(fù)位按鈕。單片機(jī)模塊工作在5V電壓下,但可以接受5~20V的電源輸入,主控芯片含有32KB Flash內(nèi)存、2KB SRAM以及1KB EEPROM,完全滿足電機(jī)控制功能。為了方便上位機(jī)的控制,單片機(jī)模塊提供了串行通信接口,通過串口,上位機(jī)可以使用簡單指令操作單片機(jī)模塊控制電機(jī)運(yùn)轉(zhuǎn)。
(三)L298N模塊
L298N是專用驅(qū)動(dòng)集成電路,屬于H橋集成電路,功率較強(qiáng)。其輸出電流為2A,最高電流4A,最高工作電壓50V,可以驅(qū)動(dòng)感性負(fù)載,如大功率直流電機(jī),步進(jìn)電機(jī),電磁閥等,特別是其輸入端可以與單片機(jī)直接相聯(lián),從而很方便地受單片機(jī)控制。當(dāng)驅(qū)動(dòng)直流電機(jī)時(shí),可以直接控制步進(jìn)電機(jī),并可以實(shí)現(xiàn)電機(jī)正轉(zhuǎn)與反轉(zhuǎn),實(shí)現(xiàn)此功能只需改變輸入端的邏輯電平。
L298N模塊主要用于驅(qū)動(dòng)兩個(gè)直流電機(jī),電路簡單,控制方便。外接電源一般采用鋰電池或干電池,輸入電源大約在5V左右。L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號,通過4個(gè)輸入引腳可以控制兩臺電機(jī)正轉(zhuǎn)或反轉(zhuǎn),并且擁有兩個(gè)使能端控制兩臺電機(jī)的停轉(zhuǎn)。因此,單片機(jī)可以通過IO口控制電機(jī)正反轉(zhuǎn),我們使用PWM引腳連接L298N控制端,可以通過PWM方式調(diào)節(jié)電機(jī)轉(zhuǎn)動(dòng)速度。
二、軟件設(shè)計(jì)
(一)機(jī)器人小車移動(dòng)
為了控制小車移動(dòng),我們編寫了電機(jī)程序程序,根據(jù)電機(jī)正反轉(zhuǎn)情況,編寫了前、后、左、右、停止等5個(gè)子函數(shù),分別用于控制小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止。其次,程序可以根據(jù)輸入?yún)?shù)的大小決定PWM的占空比,從而控制電機(jī)運(yùn)轉(zhuǎn)的速度。最后,程序通過接收串口命令來控制小車移動(dòng),若沒有收到命令,則停止。
(二)通信協(xié)議
為了方便上位機(jī)控制單片機(jī),從而控制機(jī)器人移動(dòng),我們編寫了串口通信協(xié)議,通過串口命令可以簡單地控制機(jī)器人移動(dòng)。為了提高控制實(shí)時(shí)性,通信幀僅為1個(gè)字節(jié)。具體控制指令如表1所示。
本文設(shè)計(jì)的機(jī)器人小車實(shí)驗(yàn)平臺,操作簡單,價(jià)格實(shí)惠,擴(kuò)展性強(qiáng),適應(yīng)電子、通信、物聯(lián)網(wǎng)等專業(yè)使用。使用該平臺上課后,學(xué)生可以通過小車進(jìn)行比賽、改裝、設(shè)計(jì)和創(chuàng)新。解決了單片機(jī)、通信、傳感器、物聯(lián)網(wǎng)等課程應(yīng)用實(shí)踐平臺少、學(xué)生學(xué)習(xí)積極性不高等問題,值得推廣。
參考文獻(xiàn):
[1]一種滅火避障小車設(shè)計(jì)[J].欒廣宇,楊旭峰,苑志宇,申楚儀,楊志宇.科學(xué)技術(shù)創(chuàng)新.2020(07)
[2]面向自動(dòng)化專業(yè)大一新生實(shí)踐教學(xué)的輪式機(jī)器人設(shè)計(jì)[J].葛亞明.實(shí)驗(yàn)科學(xué)與技術(shù).2019(06)
[3]智能循跡避障滅火小車[J].陳迪.數(shù)碼世界.2016(12)
[4]基于單片機(jī)智能避障滅火小車的設(shè)計(jì)[J].朱國良,王思煒,渠祥祥,種法力.時(shí)代教育.2017(11)
[5]基于Arduino單片機(jī)的避障小車機(jī)器人的研究[J].姚愷涵.科學(xué)中國人.2017(11)