林鈺旋+陳森茂+史春笑



摘 要:APP遠程監控機器人是基于Android系統編寫APP,通過手機APP發送指令,ARM接收指令,通過串口發送給藍牙小車進行運動控制。本文主要介紹監控機器人系統中藍牙小車運動控制部分,本設計以K60芯片為控制核心,采用IRF3205作為電機驅動的MOS管,配以藍牙從機無線模塊,實現小車的運動控制,同時具有自動避障等功能。
關鍵詞:K60 藍牙遙控 電機驅動
中圖分類號:TP242 文獻標識碼:B 文章編號:1003-9082 (2017) 04-0216-03
一、引言
APP監控機器人在家庭、工廠、醫護等需監視的場合發揮著重要的作用,它可以有效避免一些意外事故的發生。互聯網、手機APP安卓系統的開發,使得人們通過手機就可以輕松控制機器人的移動。無線遙控實現方法包括藍牙、紅外、射頻等幾種,其中藍牙技術具有一定優勢,目前被廣泛應用在信息家電方面,各種家電共用遙控,并在可組網與公眾互聯網中連接,共享有用信息。藍牙技術實現無線遙控具有很高的市場價值及廣闊的應用前景。本設計通過結合ARM開發板,利用無線通信及K60藍牙處理、硬件測試,達到機器人實時監控、運動的目的。
二、系統硬件設計
1.總體方案設計
本系統以K60單片機為核心控制器,通過接在K60主板上的藍牙從機接受來自ARM開發板的指令,傳給K60讓其做出相應處理,通過PWM調制頻率,使電機驅動模塊工作。利用H橋電機驅動電路,控制兩個電機差速,從而改變輪子的轉向,達到控制小車運動的目的。通過超聲波避障模塊使小車安全行駛。整個藍牙小車模塊通過一個模塊電源供電,根據不同模塊的工作需求,電源模塊提供了3.3V、5V的電源。系統硬件框圖設計見圖1。
2.系統主要硬件模塊介紹
機器人小車硬件模塊主要有K60單片機、機器人小車底盤、藍牙串口模塊、電機驅動模塊、機器人小車電源模塊、7.2V鎳鎘電池。
2.1 K60單片機
K60芯片電源類引腳,BGA封裝22個,LQFP封裝27個,其中BGA封裝的芯片有五個引腳未使用。芯片使用多組電源引腳分別為內部電壓調節器、I/O引腳驅動、A/D轉換等電路供電,內部電壓調節器為內核和振蕩器。為了電源穩定,MCU內部包含多組電源電路,同時給出多處電源引出腳,便于外接濾波電容。K60最小系統芯片上同時具有藍牙接收模塊,這樣在設計主板上就節省了引出藍牙從機的插槽。
設計K60單片機的整個主板硬件控制電路,其中包括K60最小核心板及電機驅動PWM的接口,K60硬件主板引腳功能說明見表1。K60最小系統的引腳及主板設計的原理圖見圖2。
2.2 機器人底盤及電機
為了方便機器人運動轉向,本設計選擇了兩個電機分別控制兩個車輪,一個萬向輪在底盤前面,這樣利用電機的差速驅動左右電機不同轉速,就可以實現小車的轉向,圖3所示是小車的3輪底盤。由于驅動機器人需要很大的轉矩,所以選擇扭矩大,負載能力強的大功率直流電機。
2.3藍牙串口模塊
在K60最小系統板上有通用的藍牙接口模塊,通過外接藍牙從機模塊,就可以實現藍牙從機接收外部信號,傳送給K60單片機做出相應處理。本設計采用LQ-BTM藍牙從機,在與K60連接時要注意正確的通訊,BTM的RXD要與K60的TXD連接,K60的RXD要與BTM的TXD連接。藍牙從機接上K60后,LED燈常亮,表示藍牙連接狀態,閃爍表示沒有藍牙連接。通過手機APP界面的藍牙端發送指令,從機接收信號指令傳到K60,就可以進行運動處理,藍牙接口正確通訊連接見圖4。
2.4電機驅動模塊
機器人小車采用兩個直流電機進行差速運動,電機驅動模塊是典型的H橋電路,工作原理見圖5。
它是由四個三級管和四個二極管組成的控制電路,由于它的形狀酷似字母H,所以電路得名“H橋驅動電路”。要使電機運轉,必須使對角線上的一對三極管導通。假設當Q1管和Q4管導通時,電流就從電源正極經Q1從左至右穿過電機,然后再經Q4回到電源負極,該流向的電流將驅動電機往某一方向轉動;當三極管Q2和Q3導通時,電流將從右至左流過電機,從而驅動電機沿另一方向轉動,實現電機的正反轉。
根據H橋驅動電路,合理設計機器人小車電機驅動模塊,采用IRF3205共8個MOS管組成兩個電機的驅動電路,更好的實現電流、電壓的可逆,使小車更加穩定運動。雙電機驅動模塊接口原理圖見圖6,電機驅動電路見圖7。
2.5電源模塊
電機驅動模塊需要5V電源,利用LM1117-5穩壓芯片將來自外部7.2V的鎳鎘電池穩壓成5V。同理利用L6932芯片,采用多電容濾波,使穩壓后的3.3V電源更加穩定。圖8所示是5V和3.3V穩壓電路原理圖。
三、軟件設計實現
1.系統流程圖
本設計的系統流程圖見圖9,包含主程序流程圖及串口中斷服務函數。實現藍牙接收手機端發送過來的指令送給單片機進行處理,控制機器人小車運動,并實現自動避障功能,使機器人小車穩定運動。利用IAR軟件編程,燒寫程序進入K60單片機。整個設計涉及到藍牙模塊的設置,電機驅動輸出頻率的控制,以及串口中斷服務函數設計。
2.電機驅動PWM控制
在K60單片機中,利用FTM產生PWM來控制電機輸出占空比,從而使電機能夠進行差速,進而達到轉向的目的。程序中利用FTM_PWM_Duty()函數,來控制FTM產生PWM調制波進而產生不同占空比。電機驅動程序如下:
void Moto_Forward//前進
{FTM_PWM_Duty(FTM0, FTM_CH0,500);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,500);
FTM_PWM_Duty(FTM0, FTM_CH3,0);}
void Moto_Backward()//后退
{
FTM_PWM_Duty(FTM0, FTM_CH0,0);
FTM_PWM_Duty(FTM0, FTM_CH1,500);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3,500);}
void Moto_TurnLeft()//左轉
{FTM_PWM_Duty(FTM0, FTM_CH0,0);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3, 500);
}
void Moto_TurnRight()//右轉
{FTM_PWM_Duty(FTM0, FTM_CH0,500);
FTM_PWM_Duty(FTM0, FTM_CH1,0);
FTM_PWM_Duty(FTM0, FTM_CH2,0);
FTM_PWM_Duty(FTM0, FTM_CH3,0);}
3.USART串口中斷服務函數
通過打開串口接收中斷,進入中斷,執行UART4中斷服務函數,根據串口接收到的不同字符“E”、“A”、“B”、“C”、“D”在UART4中斷服務函數中執行不同的電機驅動函數,從而控制藍牙小車的運動。
void UART4_IRQHandler(void)
{char Buffer;
if(UART_Query(UART4)!= 0) //查詢是否接收到數據
{Buffer = UART_Get_Char(UART4);
switch(Buffer)
{case ‘E:
Moto_Stop();//停止
break;
case ‘A:
Moto_Forward();//前進
break;
case ‘B:
Moto_Backward();//后退
break;
case ‘C:
Moto_TurnLeft();//左轉
break;
case ‘D:
Moto_TurnRight();//右轉
break;}}}
四、機器人小車的調試
整個機器人系統安裝完成后,逐個模塊調試,最后組合各個模塊系統統一調試。在下載調試K60時,需要用到J-Link驅動程序,安裝完驅動,根據K60的型號,在驅動中進行相應的設置。之后再在IAR開發環境中進行程序的燒寫。在工程中設置對應的K60型號,之后就可以編譯,下載,調試。通過K60的電機PWM接口傳送給電機模塊不同的頻率,這時用示波器測量頻率波形是否正常,其占空比是否達到預期,這樣可以避免接入電機模塊后,燒壞電機。利用手機APP藍牙開發界面,在手機上發送“前進”、“后退”、“左轉”、“右轉”的指令就能控制機器人小車運動。
根據以下步驟完成硬件的調試:第一,檢查對應模塊的原理圖接線是否正確;第二,檢查原理圖與所用器件的引腳是否吻合,進而排除邏輯上的錯誤;第三,用萬用表檢查是否出現虛焊,短路或者開路的現象,進而排除線路的問題和電源的故障情況;第四,利用IAR在下載調試K60過程中,最容易出現下載不了的情況,這時要注意Jlink的接線是否反,查看驅動Jlink固件有沒有解鎖。
五、小結
本項目設計并建立了一個可遠程控制的智能機器人監控系統,對此系統進行試驗證明:能夠遠程控制機器人行走,并可實時的獲得機器人所在區域的監控錄像,無人操控時具有自動避障功能,各個功能模塊正常工作,達到了預期效果。
參考文獻
[1]韓國棟.AltiumDesignerWinter09電路設計入門與提高[M].北京:化學工業出版社,2010:21-27.
[2]張興.電力電子技術[M].北京:科學出版社,2010:58-77.
[3]于少東.基于K60的智能車控制系統設計[J].四川理工學院學報(自然科學版).2014:27(5):1-4.
[4]周興超.可移動檢控機器人的研究[D].遼寧:沈陽理工大學,2009.
[5]譚浩強.C程序設計教程第2版[M].北京:清華大學出版社,2010:256-261.
[6]張偉.單片機原理及應用[M].西安:機械工業出版社,2002:153-202.