程麗霞
(太原工業學院 機械工程系,山西 太原 030008)
第一代機器人出現在20世紀60~70年代,以示教再現型為主;20世紀80年代,機器人在發達國家的工業中得到大量應用,如搬運、裝配、焊接機器人等;20世紀90年代,機器人開始在軍用、醫療、娛樂等多種領域中得到應用;進入21世紀后,智能型機器人成為了重點的研究方向,我國的機器人技術應用市場也在逐步形成。本文設計了一款可以對手機發出的指令進行接收并執行的六輪藍牙移動機器人,該移動機器人同時具有紅外避障的功能,增加了小車的行車安全性。
目前已有的移動機器人分為輪式機器人、腿式機器人和輪腿式機器人。輪式機器人可以對簡單地形進行探索或者對地面移動速度較高的目標進行觀察分析,但是對于爬坡等復雜地形探測卻無能為力。腿式機器人適用于對復雜地形的探索,具有較好的爬坡性能,缺點在于機動速度極低。輪腿式機器人是輪式和腿式機器人的結合體,擁有了這兩種機器人的優點,主要在火星車、月球車等航天探測工具上應用。本文設計了一種具有藍牙模塊、紅外避障功能的四輪移動機器人,采用STC89C52系列單片機作為小車的控制芯片,采用L298N作為電機驅動模塊,以紅外避障傳感器作為感知模塊;在軟件方面,采用keil U4軟件進行編程和編譯,調試時采用stp-isp燒錄軟件。在小車啟動時,通過手機的藍牙功能與小車的藍牙模塊對接,觀察到藍牙指示燈亮以后,開始發送移動指令;在小車行駛時,通過紅外傳感模塊對前方障礙進行探測,并用手機軟件控制小車的前進方向,從而實現主動避障的功能;在驅動方面,選擇了直流電機,在保證小車動力的前提下提高了小車運動的平穩性。
采用四輪驅動結構可以增大小車的橫向阻力,由于采用了更多的電機,爬坡能力較兩輪驅動有所提高。藍牙模塊的設計是為了實現手機和小車之間的信號連接以及傳輸,從而實現控制端和接收端的無線通訊功能,實質就是利用單片機串口進行通訊。HC-06藍牙模塊是一種性能很好的藍牙串口模塊,可以同手機、筆記本電腦等各種智能終端進行配對,它能支持的波特率范圍可以達到4 800 Bd~1 382 400 Bd,同時可以承載3.3 V~6 V電壓的單片機系統。圖1為HC-06模塊與單片機的連接示意圖。

圖1 HC-06模塊與單片機的連接示意圖
在紅外避障模塊中采用了紅外光電傳感器,其原理是:紅外線處于一直發射的狀態,當接收器沒有收到前方反射回來的紅外信號時,紅外光電傳感器判斷前方沒有阻礙物,此時單片機調用小車前進程序,小車繼續前進;如果小車前方的傳感器接收到反射回來的紅外信號,此時紅外傳感模塊會給單片機發出信號,單片機接到信號后,則調動小車的轉向程序運行,直到紅外模塊不能接收或者接收不到反射回來的紅外信號,單片機停止調用小車的轉向程序,轉而調用小車的前進程序,如此完成一系列的直行和避障轉彎等功能。
電機驅動模塊選取了L298N,它自帶穩壓模塊,是一種可以通過大電流并可以承受高電壓的驅動電機模塊,通過該模塊可以直接驅動藍牙小車的電機,其輸入輸出都在3.6 V~6 V的范圍內,采用6 V電源輸入剛好符合電路總電壓的最低要求,可直接供電,同時驅動模塊配有散熱片,有效地保證了用電安全以及續航能力,從而維持小車的平穩運行。本設計采用了工作電壓為3.6 V~6 V的直流步進電機,當步進電機的驅動模塊接收到一次脈沖信號后,電機按照設定的轉動方向轉額定的角度即步距角,通過發射脈沖信號的數量達到精準定位的目的,同時可以通過控制發射脈沖信號的間隔即頻率來控制轉速。
為了實現移動機器人的各項功能,控制芯片采用了STC89C52單片機,它是一種高性能低消耗的控制設備,工作頻率在0 Hz~40 MHz之間,具有32個通用I/O口,適合多數設備工作。控制系統由藍牙模塊、電機驅動模塊、避障模塊協同完成相應的功能,其功能流程如圖2所示。

圖2 控制系統功能流程
藍牙遙控紅外避障主要程序如下:
TMOD=0x20;
TH1=0xFd;//11.0592MHz晶振,9600波特率
if(flag_bz==1)//切換到避障模式
if(Left_1_led==1&&Right_1_led==1)//兩邊傳感器均未檢測到信號
run();//調用前進函數
if(Left_1_led==1&&Right_1_led==0)//右邊檢測到紅外信號
leftrun();//調用小車左轉函數
delay(40);
if(Right_1_led==0&&Left_1_led==0)//兩邊傳感器同時檢測到信號
backrun();//調用電機后退函數
delay(40);
rightrun();//調用電機右轉函數
我們選用了stc-isp軟件作為程序燒錄軟件,選擇對應的單片機型號,打開已編譯好的程序,連接好端口后,選擇合適的通訊波特率,點擊燒錄。在工作前,分別對藍牙傳輸部分、避障部分、電機驅動部分以及單片機最小系統進行調試。在藍牙模塊中,對模塊的正常功能進行測試,每隔一秒發送一次AT命令,直到電腦顯示藍牙連接成功。在修改藍牙串口通訊的波特率時,發送:AT+BAUD1命令,之后發送返回:OK1200命令。這是我們對波特率的第一次修改,之后檢測觀察藍牙是否配對成功,如果不可以,則繼續修改波特率。以此類推發送:AT+BAUD2;返回:OK2400。一般波特率不超過115 200 Bd,以9 000 Bd為最佳。因為過高的波特率會干擾電腦信號,還會造成單片機系統的不穩定。采用115 200 Bd波特率的單片機來編程,滿足藍牙和單片機的使用要求,即使突然掉電,已經設好的波特率仍然可以被保存下來,下次通電不用重設。通過串口助手發送:AT+NAMEbolutek,可以修改藍牙的名稱,參數名即為手機上顯示的藍牙名稱,返回OKbolutek,掉電可以保存。在修改藍牙配對密碼時,發送:AT+PINXXXX,XXXX為設置的密碼,返回OKsetpin,首次連接密碼為1234。在使用藍牙模塊時,對應安卓手機系統需大于2.0,之后要確定藍牙模塊與手機的波特率是否契合。調試L298N電機模塊時外接5 V電壓,觀察四個輸入口的電平是否正常,正常則有紅燈亮起,如不正常,可以重新對接口處的杜邦線進行焊接。之后對單片機最小系統功能進行調試,調試完成后觀察藍牙模塊和單片機是否能進行正常的收發信號互動,若不能接收,可能單片機燒損或連線虛。在調試避障模塊時,用電位器對避障范圍(信號強度)進行調試,避障模塊上安有指示燈,逆時針調節電位器,增加信號強度(檢測距離增加),反之減少。在對小車進行整體調試時,單片機與繼電器的指示燈常亮,藍牙模塊指示燈常亮。當小車前進時,在左前方有障礙物時,左側紅外傳感器燈亮,小車向右轉彎,反之向左。
本文設計的基于單片機的藍牙移動機器人,可通過藍牙模塊與手機終端進行信號傳輸,同時可以在手機上遙控小車的前進方向,并實現自動避障的功能,為以后遠程控制智能車提供了研究基礎。