廣西工業職業技術學院 余鵬 楊梅生 陳達昌
“祝融”號火星探測車的成功,掀起青少年學習機器人編程熱潮。本文介紹以Mega2560和STM32F407組成雙核心,設計TFT觸摸屏、客戶端App兩種交互系統,WiFi攝像頭、語音識別雙導航,輔以手勢傳感器、光照傳感器、氣體檢測傳感器、超聲波測距等多種傳感器單元采集環境數據,機器人動力系統核心為兩個帶編碼器的直流減速電機,物品抓取系統關節器件為舵機,借助圖形化編程開發工具Mixly完成機器人軟件設計。
“祝融”號火星探測車成功地巡視火星表面,掀起青少年探索星空奧秘的科學浪潮。本文模擬“祝融”號火星探測車,給出適合青少年的模塊化教育機器人的一種設計方案,即機器人以雙單片機為核心,通過搭載多種傳感器獲取環境信息,再經由中央微處理器依據控制邏輯驅動執行機構完成相應動作。
模塊化教育機器人的設計主要有五大部分:
(1)由兩片嵌入式微處理器構成的中央控制系統。其中Mega2560主要面向青少年圖形化編程,STM32F407承擔大數據復雜控制,兩者通過串行可編程端口USART交換數據信息。
(2)機器人行進控制系統。STM32F407產生2路互補PWM信號控制電機驅動電路,通過直流減速電機編碼器與STM32F407形成閉環精確控制機器人行進位移。
(3)交互系統。該系統包括TFT觸摸屏、攝像頭導航模塊、客戶端App、語音識別與控制模塊、聲光報警模塊。攝像頭導航模塊通過WiFi實時傳遞環境圖像至客戶端App或者TFT觸摸屏,該系統支持通過功能切換鍵選擇客戶端App導航、手持無線遙控器導航、語音導航。
(4)環境數據采集與執行機構。模塊化設計的教育機器人環境數據采集包括手勢傳感器、超聲波測距模塊、光照傳感器、顏色識別模塊、火焰傳感器、人體紅外傳感器模塊、溫濕度模塊、循跡模塊、可燃氣體檢測模塊以及由舵機組成的物品抓取系統。
(5)電源系統。下面簡要介紹核心模塊的設計思路,如圖1所示。

圖1 模塊化教育機器人系統方案示意圖Fig.1 Schematic diagram of modular educational robot system
模塊化教育機器人選用Mega2560作為青少年圖形化編程微處理器,負責機器人實時輸入、聲光報警以及與主控STM32F407交換控制信息。Mega2560運行時鐘頻率16MHz,擁有128KB Flash,8KB SRAM,4KB EEPROM,有54個數字IO(其中15個可用作PWM輸出),每個IO輸出電流可達40mA,16個模擬輸入,有USART、SPI、I2C三種通訊接口,支持16通道10位ADC。
機器人選用STM32F407作為交互系統控制器,STM32F407運行頻率高達168MHz,擁有1024KB FLASH、192KB SRAM、14個定時器、2個DMA、3個硬件SPI、3個硬件I2C、6路串口、3個12位ADC、2個12位DAC、1個FSMC接口(刷屏速度可達 3300W像素/秒)以及112個通用IO口等[1]。
模塊化教育機器人系統接口分配如表1所示。

表1 模塊化教育機器人系統接口分配表Tab.1 Modular educational robot system interface allocation table
模塊化教育機器人的行進控制系統由配置光電編碼器的直流減速電機、驅動電路、聯軸器、輪胎組成。電機額定電壓12V,額定電流0.36A,堵轉電流3.2A,減速比1∶30,額定扭矩1kg.cm。驅動電路采用兩路DMOS全橋式PWM電機驅動方案,其核心芯片A4950內部保護電路包括過流保護、短路保護、遲滯熱關斷、欠壓監測和交叉電流保護,它的峰值輸出電流可達±3.5A。芯片A4950通過STM32F407高級定時器TIME1產生的PWM信號控制直流減速電機的方向以及速度,芯片內部同步整流控制電路可以降低PWM操作期間的功耗。行進系統運動過程中光電編碼器產生的A相、B相信號反饋至STM32F407通用定時器TIME2,在硬件上形成閉環控制,處于編碼器模式的TIME2通過對脈沖信號的采集、分析可算出機器人的行進方向和距離。行進控制系統電路框圖如圖2所示。

圖2 行進控制系統電路框圖Fig.2 Circuit block diagram of travel control system
模塊化教育機器人配置4.3寸TFT觸摸屏,該顯示屏驅動芯片ILI9341集成顯存,顏色數據存儲格式為RGB565,分辨率為800×480。在顯示系統設計中,TFT觸摸屏被設計成SRAM模式與STM32F407的FSMC接口通信。交互系統的視覺功能通過ALIENTEK推出的百萬像素高清WiFi攝像頭實現,該攝像頭通過2.4G WiFi與蘋果或安卓系統客戶端通信,空曠環境通信距離可達60m,系統可以1280×720分辨率錄像、拍照以及圖像實時回傳,與STM32F407可通過串口回傳客戶端控制信息,串口通信協議如表2所示。

表2 WiFi攝像頭串口通信協議Tab.2 WiFi camera serial communication protocol
交互系統選配百科榮創的語音識別模塊實現語音導航。該模塊集成了微處理器、拾音器、揚聲器及相應驅動電路。使用該模塊前需要預設并下載3個文件:
(1)asrWordlist。預設需要語音模塊識別的詞條。
(2)config。預設人工喚醒、自動應答。
(3)serialTTS。語音字庫。語音模塊通過串口與STM32F407通信,調用函數“BKRCspeak_TTS("您好")”可實現漢字、字母語音播放,調用函數“BKRCspeak_TTS_Num(123)” 可實現數字語音播放。在asrWordlist文件預設詞條“前進:識別成功,前進:0x55020100”并下載至語音模塊,如果機器人“聽到”語音“前進”,BKRC_Voice_Extern()函數將返回“前進”的代碼,機器人執行前進指令。
模塊化教育機器人環境數據采集傳感器從控制方式可分為兩類,一類是手勢傳感器、光照傳感器、溫濕度傳感器,這類傳感器使用標準i2c通信協議;另一類是傳感器的輸出信號經過LM393可直接得到TTL電平信號。環境信息采集單元的數據歸集Mega2560處理,該處理器支持圖形化編程,青少年編程愛好者借助圖形化編程軟件Mixly可以快速設計不同應用場景的智能機器人[2],如圖3所示為機器人溫度檢測控制圖形編程模塊。

圖3 機器人溫度檢測控制圖形化編程模塊Fig.3 Graphical programming of robot temperature detection and control
本文重點闡述了模塊化教育機器人的設計理念,給出了核心模塊的設計方案。該設計理念和解決方案對豐富青少年可編程機器人具有較強的指導意義。本設計的核心處理器Mega2560和Mixly圖形化編程開發者模式給企業工程師提供深度二次開發的思考,即本設計潛在的功能還有待挖掘,這也是課題研究未來的主要方向。