模块化教育机器人的设计与实现*

2022-04-14 10:00广西工业职业技术学院余鹏杨梅生陈达昌
数字技术与应用 2022年3期
关键词:图形化模块化客户端

广西工业职业技术学院 余鹏 杨梅生 陈达昌

“祝融”号火星探测车的成功,掀起青少年学习机器人编程热潮。本文介绍以Mega2560和STM32F407组成双核心,设计TFT触摸屏、客户端App两种交互系统,WiFi摄像头、语音识别双导航,辅以手势传感器、光照传感器、气体检测传感器、超声波测距等多种传感器单元采集环境数据,机器人动力系统核心为两个带编码器的直流减速电机,物品抓取系统关节器件为舵机,借助图形化编程开发工具Mixly完成机器人软件设计。

“祝融”号火星探测车成功地巡视火星表面,掀起青少年探索星空奥秘的科学浪潮。本文模拟“祝融”号火星探测车,给出适合青少年的模块化教育机器人的一种设计方案,即机器人以双单片机为核心,通过搭载多种传感器获取环境信息,再经由中央微处理器依据控制逻辑驱动执行机构完成相应动作。

1 模块化教育机器人设计方案

模块化教育机器人的设计主要有五大部分:

(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

1.1 中央控制系统

模块化教育机器人选用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

1.2 行进控制系统

模块化教育机器人的行进控制系统由配置光电编码器的直流减速电机、驱动电路、联轴器、轮胎组成。电机额定电压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

1.3 交互系统

模块化教育机器人配置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()函数将返回“前进”的代码,机器人执行前进指令。

1.4 环境数据采集单元

模块化教育机器人环境数据采集传感器从控制方式可分为两类,一类是手势传感器、光照传感器、温湿度传感器,这类传感器使用标准i2c通信协议;另一类是传感器的输出信号经过LM393可直接得到TTL电平信号。环境信息采集单元的数据归集Mega2560处理,该处理器支持图形化编程,青少年编程爱好者借助图形化编程软件Mixly可以快速设计不同应用场景的智能机器人[2],如图3所示为机器人温度检测控制图形编程模块。

图3 机器人温度检测控制图形化编程模块Fig.3 Graphical programming of robot temperature detection and control

2 结语

本文重点阐述了模块化教育机器人的设计理念,给出了核心模块的设计方案。该设计理念和解决方案对丰富青少年可编程机器人具有较强的指导意义。本设计的核心处理器Mega2560和Mixly图形化编程开发者模式给企业工程师提供深度二次开发的思考,即本设计潜在的功能还有待挖掘,这也是课题研究未来的主要方向。

猜你喜欢
图形化模块化客户端
模块化自主水下机器人开发与应用
模块化住宅
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
LKJ自动化测试系统图形化技术研究
ACP100模块化小型堆研发进展
模块化VS大型工厂
运用图形化听写式复习,构建高效地理课堂
图形化地区电网无功优化软件开发与应用