文/李明喆
智能避障機(jī)器人是一種車型的智能避障裝置。通過紅外傳感器監(jiān)控,經(jīng)由Arduino 處理器處理,控制智能避障機(jī)器人躲避障礙。它可以完成智能躲避障礙的工作,在許多領(lǐng)域都有實(shí)踐意義。
智能避障機(jī)器人可通過編程改變軟件參數(shù)實(shí)現(xiàn)其避障靈敏度及電機(jī)輸入PWM 波控制等功能。本文主要從系統(tǒng)工作原理,硬件電路中Arduino NUO 處理器、紅外傳感器和軟件設(shè)計(jì)等方面,來(lái)分析基于Arduino 的智能避障機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)。
本設(shè)計(jì)由電源模塊、Arduino 處理模塊、傳感器模塊、外部驅(qū)動(dòng)模塊四大模塊組成。
其中,電源模塊由電池和穩(wěn)壓模塊組成;Arduino 處理模塊由硬件(Arduino NUO 處理器)和軟件(Arduino IDE)組成;傳感器模塊的任務(wù)即感應(yīng)功能由紅外傳感器完成;外部驅(qū)動(dòng)模塊通過Arduino 處理模塊控制輸出的PWM 波實(shí)現(xiàn)對(duì)電機(jī)的精準(zhǔn)控制,控制小車的轉(zhuǎn)向,進(jìn)而實(shí)現(xiàn)智能避障任務(wù)。
智能避障機(jī)器人使用紅外傳感器對(duì)周圍環(huán)境進(jìn)行數(shù)據(jù)采集,返回的數(shù)據(jù)信息經(jīng)Arduino 處理模塊后通過控制支持PWM 波調(diào)速的以L299D 驅(qū)動(dòng)芯片為核心的電機(jī),控制小車的運(yùn)動(dòng),使小車的智能避障任務(wù)得以實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)圖如圖1。
表1:控制方式示意表
圖1:系統(tǒng)設(shè)計(jì)圖
由電池和穩(wěn)壓模塊組成的電源模塊為Arduino 模塊、傳感器模塊、驅(qū)動(dòng)模塊供電;Arduino 模塊中采用了ATMega8P 為主控芯片,通過軟件編程對(duì)驅(qū)動(dòng)模塊進(jìn)行控制;傳感器模塊由紅外傳感器組成,將所識(shí)別信息返回Arduino 模塊;外部驅(qū)動(dòng)模塊是由Arduino 模塊控制數(shù)據(jù)傳遞至以L299D 驅(qū)動(dòng)芯片為核心的電機(jī)。系統(tǒng)模式圖如圖2。
2.2.1 主控芯片
本設(shè)備的主控芯片選用ATMega8P,工作電壓為5V,有足夠的I/O 口進(jìn)行對(duì)PWM 波的控制,具有高性能、低功耗、數(shù)據(jù)處理快速等特點(diǎn),便與實(shí)現(xiàn)數(shù)據(jù)處理等多種功能,且價(jià)格低廉,有利于節(jié)省成本。
2.2.2 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊使用支持PWM 波調(diào)速的以L299D 驅(qū)動(dòng)芯片為核心的電機(jī),可以使小車有足夠的驅(qū)動(dòng)力。本設(shè)計(jì)中傳感器模塊將所識(shí)別信息返回Arduino 模塊后,經(jīng)過軟件運(yùn)行,主控芯片控制的PWM 波控制直流電機(jī)運(yùn)行進(jìn)而控制智能避障機(jī)器人的運(yùn)動(dòng),實(shí)現(xiàn)智能避障。
2.2.3 紅外傳感器
紅外傳感系統(tǒng)是用紅外線為介質(zhì)的測(cè)量系統(tǒng),現(xiàn)在已經(jīng)在現(xiàn)代科技、工業(yè)和國(guó)防等領(lǐng)域獲得了廣泛的應(yīng)用,本設(shè)計(jì)中使用的是紅外測(cè)距傳感器,選擇依據(jù)是測(cè)距離遠(yuǎn),穩(wěn)定性高。
2.2.4 Arduino
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺(tái)。本設(shè)計(jì)中的Arduino 處理模塊由硬件(Arduino NUO 處理器)和軟件(Arduino IDE)組成。編程方式方便靈活,支持C 語(yǔ)言編程,易于設(shè)計(jì)。
軟件系統(tǒng)的設(shè)計(jì)主要分為參數(shù)調(diào)整和輸出PWM 波兩個(gè)部分。
圖2:系統(tǒng)模式圖
參數(shù)調(diào)整部分主要是由紅外傳感器進(jìn)行距離測(cè)量返回的數(shù)據(jù)傳輸至Arduino NUO 處理器決定。通過返回?cái)?shù)據(jù),調(diào)整控制參數(shù)。
輸出PWM 波部分是經(jīng)過參數(shù)調(diào)整后,根據(jù)之前數(shù)據(jù)的編程,使I/O 口輸出相應(yīng)的PWM 波,對(duì)電機(jī)模塊進(jìn)行控制,進(jìn)而實(shí)現(xiàn)小車的移動(dòng),實(shí)現(xiàn)自動(dòng)避障功能。
具體方式控制如表1所示。
本文簡(jiǎn)單地分析了硬件和軟件的設(shè)計(jì)思路,完成了智能避障機(jī)器人的設(shè)計(jì)。本設(shè)計(jì)通過紅外傳感器監(jiān)控,經(jīng)由Arduino 處理器處理,控制智能避障機(jī)器人躲避障礙,達(dá)到設(shè)計(jì)要求。