李紅波 權宏偉 李萬兵
(西京學院機電工程系,西安,710123)
在智能車和移動機器人控制中,移動控制終端是監(jiān)視和控制機器人運動的重要組成部分,通過對機器人的實時監(jiān)控,具有獲取運動狀態(tài)、記錄傳感器數(shù)據(jù)、查看參數(shù)變化趨勢和處理報警等功能。
通常,移動控制終端主要由移動運算平臺、無線收發(fā)模塊和上位機監(jiān)控軟件組成,一般有三種方案可以選?。阂皇莻€人電腦(PC)或可編程控制器(PLC)、無線收發(fā)器和上位機軟件[1-3];二是智能手機、無線收發(fā)器和手機端軟件[4-5];三是嵌入式微控制器(MCU)、無線收發(fā)器和嵌入式軟件[6-7]。第一種方案,雖然PC 或PLC 有豐富的擴展接口,但是其體積較大,設備重,不利于移動控制應用。第二種方案,智能手機雖然手持方便,觸摸靈活,但是不具備擴展外設的能力,限制了應用。第三種方案,MCU 有多個外設接口,可連接多個外設和傳感器,系統(tǒng)擴展靈活,可根據(jù)系統(tǒng)功能需要自行設計。
相比之下,第三種方案較優(yōu),它融合了前兩種方案的優(yōu)點,把無線技術和觸摸技術結合在一起,在無線觸控領域中廣泛應用。利用觸摸屏技術,用戶只要用手指輕觸顯示屏上的圖文就能實現(xiàn)對機器人的操作,這種全新交互設備使人機交互控制更為直截了當,擺脫了對鍵盤鼠標的依賴,可以得心應手控制移動設備[8]。同時,利用2.4GHz高速無線收發(fā)器終端可以方便地進行無線數(shù)據(jù)傳輸,為智能車和移動機器人控制需要提供了保證[9]。
該終端硬件主要包括ATmega64A 單片機、高速無線收發(fā)器nRF24L01+、LCD 觸摸屏、字庫芯片GT20L16S1Y和SD 存儲卡等。系統(tǒng)的硬件結構框圖如圖1 所示,其核心部分為ATmega64A 單片機。
圖1 系統(tǒng)硬件結構框圖
本系統(tǒng)采用Atmel 公司的ATmega64A 嵌入式微處理器,具有高性能、低功耗的特點,大多數(shù)指令執(zhí)行時間為單個時鐘周期,工作于16MHz 時性能高達16MIPS,具有8 個32 位通用目的寄存器,只需2 個時鐘周期的乘法器,64KB 片上Flash ROM,2KB EEPROM,4KB SRAM,2 個USART,1 個可倍速的SPI 接口(工作于16MHz 時,SCK時鐘可達8MHz),1 個IIC 接口,具有看門狗功能的定時器等。其資源豐富,性能優(yōu)異,滿足手持無線應用系統(tǒng)的設計。
GT20L16S1Y 字庫芯片是集通數(shù)碼科技公司的一款內(nèi)含15×16 點陣的標準漢字庫芯片,支持GB2312 國標簡體漢字(含有國家信標委合法授權),共收錄了6763 個漢字、6 套ASCII 字符(5×7 點陣~8×16 點陣)。排列格式為豎置橫排,用戶通過字符內(nèi)碼,利用芯片提供的方法計算出字符點陣在芯片中的地址,并從該地址連續(xù)讀出字符點陣信息。該芯片采用SPI 總線,接口速度可達30MHz。
LCD 觸摸屏接口電路由觸摸屏接口電路和LCD 接口電路組成,觸摸屏接口電路如圖2 所示,LCD 接口電路框圖如圖3 所示。觸摸屏接口電路由芯片TSC2046 通過SPI總線與嵌入式微處理器相連,可實時采集觸摸屏數(shù)據(jù),解算和濾波[10]得到用戶觸摸行為及觸摸坐標位置數(shù)據(jù)。LCD 接口電路通過8 位并行接口與嵌入式微處理器相連,由74HC245 驅(qū)動LCD 面板[11],用于圖形圖像繪制和界面顯示。
圖2 觸摸屏接口電路圖
圖3 LCD 接口電路框圖
針對ATmega64A 處理器片內(nèi)Flash ROM 存儲容量少的情況,本系統(tǒng)擴展了SD 存儲卡接口電路和字庫芯片接口電路,便于大容量數(shù)據(jù)存儲和字符顯示,其接口電路分別如圖4 和圖5 所示。
圖4 SD 存儲卡接口電路圖
圖5 字庫芯片接口電路圖
無線模塊采用目前應用廣泛的Nordic 公司生產(chǎn)的單芯片射頻收發(fā)器件nRF24L01+,其工作在2.4GHz 頻段,數(shù)據(jù)傳輸率可達2Mbps,具有自動應答功能、自動重發(fā)功能和CRC 校驗功能,125 個可選工作頻道,頻道切換時間很短,可用于調(diào)頻。該模塊采用SPI 接口,單片機5V電平轉換成3.3V 電平與模塊連接。無線收發(fā)器接口電路如圖6 所示。
圖6 無線收發(fā)器接口電路圖
本系統(tǒng)有兩種供電形式,USB 供電和電池供電(6 ~9V)。單片機需要5V 供電,其余模塊需要3.3V 供電,整個系統(tǒng)最大電流小于300mA,電源芯片選擇AMS1117-5.0 提供5V 電源和選擇AMS1117-3.3 提供3.3V 電源。
本系統(tǒng)軟件開發(fā)環(huán)境采用AVR Studio 和WinAVR,利用模塊化思想構建系統(tǒng)軟件部分,在硬件平臺上移植了硬件驅(qū)動程序,編寫了圖形圖像庫、字符顯示庫、觸摸按鍵庫、無線數(shù)據(jù)處理庫和人機交互界面程序。軟件結構框圖如圖7 所示。
圖7 軟件結構框圖
系統(tǒng)軟件運行分為4 個步驟:
1)初始化單片機和硬件電路;
2)調(diào)用圖形圖像庫建立圖形窗口;
3)顯示主界面;
4)等待用戶按鍵操作,根據(jù)用戶的選擇執(zhí)行對應的功能。
系統(tǒng)軟件工作流程如圖8 所示。
軟件主程序代碼:
int main(void)
圖8 系統(tǒng)軟件工作流程
圖9 系統(tǒng)平臺實物
{
Port_Init(); //端口初始化
Uart_Init(); //串口初始化
ILI9325_Initial(); //LCD 初始化
ClearScreen(Black);
SetfbRGB(Green,Black);
Touch_Init(); //觸摸屏初始化
SD_Init(); //SD 卡初始化
SPI_GT20L16_Init(0); //字庫初始化
get_first_data_from_ROM();
uart_puts ("GT20L16_Init High Speed OK! ");
Wireless_Init(); //無線模塊初始化
Cleararea(13,13,147,226,Black);
CreateWindow(); //建立圖形窗口
DisplayPanel(); //畫主界面
Set_Linedis(2); //設置字符行列間距
Set_Columedis(0);
while(1) //////////////主循環(huán)//////////////////////////////
{
if(Key_Scan()==0)continue; //獲取按鍵
RunProcess(key);
}
return 0;
}
本手持無線觸控終端系統(tǒng)實物如圖9 所示,其系統(tǒng)測試主要有兩個方面:無線數(shù)據(jù)收發(fā)距離測試和觸摸響應時間測試。系統(tǒng)工作時鐘為12MHz 時,實驗測試結果如下:
1)在空曠地,數(shù)據(jù)傳輸率在250kbps 和發(fā)射功率為0dBm 時,通信距離可達100m 左右。在屋內(nèi)或2.4GHz 信號覆蓋地區(qū)時,同樣的速率和發(fā)射功率傳輸距離較小,通常在50m 左右。
2)通過200 次的觸摸測試,最小觸摸響應時間為8.2ms,最大響應時間為25.6ms,平均響應時間14.7ms。
實驗數(shù)據(jù)證明,該系統(tǒng)具有通信可靠、觸摸靈活和移動方便等特點,在實際應用中基本滿足了智能車和移動機器人的控制需要。
[1] 尹強,曾艷紅,高全杰,等.一種通用型移動機器人遙控終端的研究與設計[J].機械設計與制造,2012(4)∶168-170.
[2] 侯保民,馮健翔,杜芳,等.一種移動機器人遙操作接口系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2009(10)∶34-35.
[3] 蘇云,潘豐,育應旺.基于組態(tài)王與PLC 的遠程控制系統(tǒng)[J].工業(yè)儀表與自動化裝置,2004(2)∶53-55.
[4] 江燕良.基于Android 智能終端的遠程控制系統(tǒng)[J].電子技術應用,2012,38(8)∶136-139.
[5] 符強,任鳳華.基于手機藍牙的遙控小車的設計[J].現(xiàn)代計算機(專業(yè)版),2011(31)∶77-79.
[6] 蔣曉寧,黃怡皓,王喜萍.嵌入式統(tǒng)一型遙控器的設計與實現(xiàn)[J].計算機工程與設計,2011,32(1)∶125-128.
[7] 袁俊杰.基于ARM9 的嵌入式移動機器人遠程控制的研究[D].天津.天津理工大學,2006.
[8] 王瑩.觸控技術市場動向[J].電子產(chǎn)品世界,2010(7)∶12-19.
[9] 劉靖,陳在平,李其林.基于nRF24L01 的無線數(shù)字傳輸系統(tǒng)[J].天津理工大學學報,2007,23(3)∶38-40.
[10] 宋學瑞,蔡子裕,段青青.觸摸屏數(shù)據(jù)處理算法[J].計算機工程,2008,34(23)∶255-257.
[11] 吳琦.基于AVR 單片機的觸摸屏人機界面系統(tǒng)設計與實現(xiàn)[J].電腦知識與技術,2013,9(23)∶5357-5359.