程麗霞
(太原工業(yè)學(xué)院 機(jī)械工程系,山西 太原 030008)
第一代機(jī)器人出現(xiàn)在20世紀(jì)60~70年代,以示教再現(xiàn)型為主;20世紀(jì)80年代,機(jī)器人在發(fā)達(dá)國家的工業(yè)中得到大量應(yīng)用,如搬運(yùn)、裝配、焊接機(jī)器人等;20世紀(jì)90年代,機(jī)器人開始在軍用、醫(yī)療、娛樂等多種領(lǐng)域中得到應(yīng)用;進(jìn)入21世紀(jì)后,智能型機(jī)器人成為了重點(diǎn)的研究方向,我國的機(jī)器人技術(shù)應(yīng)用市場也在逐步形成。本文設(shè)計了一款可以對手機(jī)發(fā)出的指令進(jìn)行接收并執(zhí)行的六輪藍(lán)牙移動機(jī)器人,該移動機(jī)器人同時具有紅外避障的功能,增加了小車的行車安全性。
目前已有的移動機(jī)器人分為輪式機(jī)器人、腿式機(jī)器人和輪腿式機(jī)器人。輪式機(jī)器人可以對簡單地形進(jìn)行探索或者對地面移動速度較高的目標(biāo)進(jìn)行觀察分析,但是對于爬坡等復(fù)雜地形探測卻無能為力。腿式機(jī)器人適用于對復(fù)雜地形的探索,具有較好的爬坡性能,缺點(diǎn)在于機(jī)動速度極低。輪腿式機(jī)器人是輪式和腿式機(jī)器人的結(jié)合體,擁有了這兩種機(jī)器人的優(yōu)點(diǎn),主要在火星車、月球車等航天探測工具上應(yīng)用。本文設(shè)計了一種具有藍(lán)牙模塊、紅外避障功能的四輪移動機(jī)器人,采用STC89C52系列單片機(jī)作為小車的控制芯片,采用L298N作為電機(jī)驅(qū)動模塊,以紅外避障傳感器作為感知模塊;在軟件方面,采用keil U4軟件進(jìn)行編程和編譯,調(diào)試時采用stp-isp燒錄軟件。在小車啟動時,通過手機(jī)的藍(lán)牙功能與小車的藍(lán)牙模塊對接,觀察到藍(lán)牙指示燈亮以后,開始發(fā)送移動指令;在小車行駛時,通過紅外傳感模塊對前方障礙進(jìn)行探測,并用手機(jī)軟件控制小車的前進(jìn)方向,從而實現(xiàn)主動避障的功能;在驅(qū)動方面,選擇了直流電機(jī),在保證小車動力的前提下提高了小車運(yùn)動的平穩(wěn)性。
采用四輪驅(qū)動結(jié)構(gòu)可以增大小車的橫向阻力,由于采用了更多的電機(jī),爬坡能力較兩輪驅(qū)動有所提高。藍(lán)牙模塊的設(shè)計是為了實現(xiàn)手機(jī)和小車之間的信號連接以及傳輸,從而實現(xiàn)控制端和接收端的無線通訊功能,實質(zhì)就是利用單片機(jī)串口進(jìn)行通訊。HC-06藍(lán)牙模塊是一種性能很好的藍(lán)牙串口模塊,可以同手機(jī)、筆記本電腦等各種智能終端進(jìn)行配對,它能支持的波特率范圍可以達(dá)到4 800 Bd~1 382 400 Bd,同時可以承載3.3 V~6 V電壓的單片機(jī)系統(tǒng)。圖1為HC-06模塊與單片機(jī)的連接示意圖。
圖1 HC-06模塊與單片機(jī)的連接示意圖
在紅外避障模塊中采用了紅外光電傳感器,其原理是:紅外線處于一直發(fā)射的狀態(tài),當(dāng)接收器沒有收到前方反射回來的紅外信號時,紅外光電傳感器判斷前方?jīng)]有阻礙物,此時單片機(jī)調(diào)用小車前進(jìn)程序,小車?yán)^續(xù)前進(jìn);如果小車前方的傳感器接收到反射回來的紅外信號,此時紅外傳感模塊會給單片機(jī)發(fā)出信號,單片機(jī)接到信號后,則調(diào)動小車的轉(zhuǎn)向程序運(yùn)行,直到紅外模塊不能接收或者接收不到反射回來的紅外信號,單片機(jī)停止調(diào)用小車的轉(zhuǎn)向程序,轉(zhuǎn)而調(diào)用小車的前進(jìn)程序,如此完成一系列的直行和避障轉(zhuǎn)彎等功能。
電機(jī)驅(qū)動模塊選取了L298N,它自帶穩(wěn)壓模塊,是一種可以通過大電流并可以承受高電壓的驅(qū)動電機(jī)模塊,通過該模塊可以直接驅(qū)動藍(lán)牙小車的電機(jī),其輸入輸出都在3.6 V~6 V的范圍內(nèi),采用6 V電源輸入剛好符合電路總電壓的最低要求,可直接供電,同時驅(qū)動模塊配有散熱片,有效地保證了用電安全以及續(xù)航能力,從而維持小車的平穩(wěn)運(yùn)行。本設(shè)計采用了工作電壓為3.6 V~6 V的直流步進(jìn)電機(jī),當(dāng)步進(jìn)電機(jī)的驅(qū)動模塊接收到一次脈沖信號后,電機(jī)按照設(shè)定的轉(zhuǎn)動方向轉(zhuǎn)額定的角度即步距角,通過發(fā)射脈沖信號的數(shù)量達(dá)到精準(zhǔn)定位的目的,同時可以通過控制發(fā)射脈沖信號的間隔即頻率來控制轉(zhuǎn)速。
為了實現(xiàn)移動機(jī)器人的各項功能,控制芯片采用了STC89C52單片機(jī),它是一種高性能低消耗的控制設(shè)備,工作頻率在0 Hz~40 MHz之間,具有32個通用I/O口,適合多數(shù)設(shè)備工作??刂葡到y(tǒng)由藍(lán)牙模塊、電機(jī)驅(qū)動模塊、避障模塊協(xié)同完成相應(yīng)的功能,其功能流程如圖2所示。
圖2 控制系統(tǒng)功能流程
藍(lán)牙遙控紅外避障主要程序如下:
TMOD=0x20;
TH1=0xFd;//11.0592MHz晶振,9600波特率
if(flag_bz==1)//切換到避障模式
if(Left_1_led==1&&Right_1_led==1)//兩邊傳感器均未檢測到信號
run();//調(diào)用前進(jìn)函數(shù)
if(Left_1_led==1&&Right_1_led==0)//右邊檢測到紅外信號
leftrun();//調(diào)用小車左轉(zhuǎn)函數(shù)
delay(40);
if(Right_1_led==0&&Left_1_led==0)//兩邊傳感器同時檢測到信號
backrun();//調(diào)用電機(jī)后退函數(shù)
delay(40);
rightrun();//調(diào)用電機(jī)右轉(zhuǎn)函數(shù)
我們選用了stc-isp軟件作為程序燒錄軟件,選擇對應(yīng)的單片機(jī)型號,打開已編譯好的程序,連接好端口后,選擇合適的通訊波特率,點(diǎn)擊燒錄。在工作前,分別對藍(lán)牙傳輸部分、避障部分、電機(jī)驅(qū)動部分以及單片機(jī)最小系統(tǒng)進(jìn)行調(diào)試。在藍(lán)牙模塊中,對模塊的正常功能進(jìn)行測試,每隔一秒發(fā)送一次AT命令,直到電腦顯示藍(lán)牙連接成功。在修改藍(lán)牙串口通訊的波特率時,發(fā)送:AT+BAUD1命令,之后發(fā)送返回:OK1200命令。這是我們對波特率的第一次修改,之后檢測觀察藍(lán)牙是否配對成功,如果不可以,則繼續(xù)修改波特率。以此類推發(fā)送:AT+BAUD2;返回:OK2400。一般波特率不超過115 200 Bd,以9 000 Bd為最佳。因為過高的波特率會干擾電腦信號,還會造成單片機(jī)系統(tǒng)的不穩(wěn)定。采用115 200 Bd波特率的單片機(jī)來編程,滿足藍(lán)牙和單片機(jī)的使用要求,即使突然掉電,已經(jīng)設(shè)好的波特率仍然可以被保存下來,下次通電不用重設(shè)。通過串口助手發(fā)送:AT+NAMEbolutek,可以修改藍(lán)牙的名稱,參數(shù)名即為手機(jī)上顯示的藍(lán)牙名稱,返回OKbolutek,掉電可以保存。在修改藍(lán)牙配對密碼時,發(fā)送:AT+PINXXXX,XXXX為設(shè)置的密碼,返回OKsetpin,首次連接密碼為1234。在使用藍(lán)牙模塊時,對應(yīng)安卓手機(jī)系統(tǒng)需大于2.0,之后要確定藍(lán)牙模塊與手機(jī)的波特率是否契合。調(diào)試L298N電機(jī)模塊時外接5 V電壓,觀察四個輸入口的電平是否正常,正常則有紅燈亮起,如不正常,可以重新對接口處的杜邦線進(jìn)行焊接。之后對單片機(jī)最小系統(tǒng)功能進(jìn)行調(diào)試,調(diào)試完成后觀察藍(lán)牙模塊和單片機(jī)是否能進(jìn)行正常的收發(fā)信號互動,若不能接收,可能單片機(jī)燒損或連線虛。在調(diào)試避障模塊時,用電位器對避障范圍(信號強(qiáng)度)進(jìn)行調(diào)試,避障模塊上安有指示燈,逆時針調(diào)節(jié)電位器,增加信號強(qiáng)度(檢測距離增加),反之減少。在對小車進(jìn)行整體調(diào)試時,單片機(jī)與繼電器的指示燈常亮,藍(lán)牙模塊指示燈常亮。當(dāng)小車前進(jìn)時,在左前方有障礙物時,左側(cè)紅外傳感器燈亮,小車向右轉(zhuǎn)彎,反之向左。
本文設(shè)計的基于單片機(jī)的藍(lán)牙移動機(jī)器人,可通過藍(lán)牙模塊與手機(jī)終端進(jìn)行信號傳輸,同時可以在手機(jī)上遙控小車的前進(jìn)方向,并實現(xiàn)自動避障的功能,為以后遠(yuǎn)程控制智能車提供了研究基礎(chǔ)。