基于单片机的四足智能机器人设计与实现

2022-07-21 03:40钱奕辰梁浩明
无线互联科技 2022年9期
关键词:舵机模组终端

匡 畅,钱奕辰,梁浩明

(1.广东水利电力职业技术学院,广东 广州 510635;2.广州盖得信息科技有限公司,广东 广州 511446)

0 引言

随着机器人技术的发展,越来越多的智能机器人产品出现在市场上,例如Anki 公司推出的家用机器人Vector,该机器人搭载Qualcomm APQ8009 处理器,拥有强大的计算能力、连接性和网络兼容性。 但是,该机器人的售价高达3 000 元以上,且扩展性较弱,无法进行二次开发,影响其实用性。

针对以上问题,本文设计了一种基于单片机的四足智能机器人,该机器人通过模仿蜘蛛爬行来移动,全身共搭载8 个舵机,通过PCA9685 芯片进行驱动。 机器人可使用手机等终端控制,并可以进行OTA,背部可安装超声波、摄像头等模块,具有良好的扩展性。 机器人能够完成爬行、旋转、起伏、打招呼等动作,可使用图形化工具进行编程,性价比较高,可作为桌面陪伴机器人和教育机器人使用[1]。

1 系统总体设计

本文设计的机器人采用ESPRESSIF(乐鑫)公司的ESP8266 芯片模组作为主控模块,该芯片模组内置了32 位RISC 处理器WiFi 和低功耗蓝牙芯片,能够通过Wi-Fi 和蓝牙进行通信,非常适合作为机器人控制器。为了满足8 台舵机同时运行,机器人通过PCA9685 驱动芯片输出8 路PWM 信号,单独控制每个舵机独立运行,PCA9685 芯片与主控芯片通过IIC 协议通信。 机器人内部搭建了服务器,可以向手机等终端发送网页,用户可以使用网页上的按钮来控制机器人执行各种动作和指令[2]。 系统总体设计如图1 所示。

图1 系统总体设计

2 硬件设计

2.1 主控模块

为了保证机器人运行性能和较好的连接性,同时兼顾机器人的安装体积,本文选择的ESP8266 芯片模组具有32 位架构,性能强大,内置一个泰思立达(Tensilica)L106 32-bit RISC 处理器(80 MHz),最大时钟速度为160 MHz,同时内置了iBus,dBus 和AHB 接口。 可以使用高达16MB 的外部SPI 闪存[3]。

支持Wi-Fi 无线连接方式,价格低廉,开发语言包含C 语言( Arduino)、 Lua ( nodemcu)、 JavaScript(Espruino) 和 Python (Micropython)。 同时, 兼容Arduino 开发工具,支持图形化编程工具。

ESP8266 模组拥有Mode -sleep,Light-sleep,Deepsleep 3 种电源管理模式,平时工作在active 模式中。 芯片接口包括17 个GPIO 引脚,4 个软件实现的PWM 输出引脚,以及SDIO,SPI,HSPI,I2C,I2S,UART 接口,ESP8266 还支持红外遥控接口和嵌入式模数转换器。

主控模块被安装在一套3D 打印机器人骨架上,该骨架通过SolidWorks 设计,使用PLA 材质打印,坚固耐用,能够有效支撑机器人所搭载的硬件设备。

2.2 舵机驱动模块

为了保障8 路舵机同时运行,本文采用基于PCA9685 芯片的I2C 转16 路PWM 控制板作为舵机驱动模块。 该驱动板支持IIC 通信协议,允许高达16 路PWM 同时输出,每路PWM 分辨率可达12 位(4 096级)。 支持2.3 ~ 5.5V 的电源输入,PWM 周期为20 ms,时间分辨率为4.88 μs,最大脉宽时间为2 ms,角度分辨率为0.439°。

为保障机器人运行稳定,本文使用SG90 舵机作为执行电机,该舵机体积小,重量轻,性价比高,非常适合作为桌面机器人的执行电机。

2.3 通信模块

主控模块ESP8266 模组支持14 个无线信道、2.4GHz 的接收器和发射器。 在Wi-Fi(72.2mbps)方面,ESP8266 实现了TCP/IP 和完整的802.11 b/g/n WLAN MAC 协议(2 个虚拟Wi-Fi 接口)。 因此,ESP8266 可以非常方便地通过Wi-Fi 和手机进行无线连接。

ESP8266 的Wi-Fi 有3 种工作模式,分别是Station模式、Soft-AP 模式和Station + Soft-AP 模式。 AP 模式,即无线接入点,是网络的中心节点,例如路由器;STA模式,即站点,是接入网络的终端,例如手机、笔记本电脑等。 机器人提供两种控制方式,手机直连模式和远程连接模式。

手机直连模式,ESP8266 工作在AP 模式,并在内部建立了一个Web Server,手机可以通过ESP8266 的IP 地址对Web Server 进行访问,服务器收到请求后会回复一个机器人控制终端页面,用户可以通过点击该页面内的按钮控制机器人执行各种动作。

远程连接模式,ESP8266 工作在STA 模式,与AP模式不同的是,在上电后,ESP8266 会根据之前保存的登录密码,自动连接附近的无线路由器,并自动获取网络IP 地址,内部同样建立了一个Web Server,手机可以通过ESP8266 获取到的IP 地址对Web Server 进行访问。 此时,用户可以在该网络覆盖的范围内对机器人进行远程控制以及多人控制[4]。

3 软件设计

3.1 软件流程

机器人程序流程如图2 所示,上电后,先对内部资源进行初始化,再对WiFi 通信初始化,通信建立后,保持等待接收状态,等待用户发送指令到机器人。 机器人接收到指令,自动判断指令类型,并根据指令执行动作。

图2 软件流程

3.2 功能设计

本文设计的四足机器人通过Arduino IDE 编写,能够实现爬行、旋转、起伏、打招呼和跳舞等动作。 程序开始先对各个内部资源进行初始化,然后设置WiFi 的AP 名称和接入密码,设置WiFi 工作模式为AP 模式,并开启Web 服务器。 当手机APP 连接到ESP8266 的WiFi 后,可以通过访问单片机WiFi 的IP 地址访问服务器,服务器获取请求后回复一个网页给终端,通过点击网页上按钮,发送Get 请求到单片机,单片机服务器通过判断Get 请求的参数控制机器人执行相应的动作。

3.3 系统实现

机器人的框架模型是通过SolidWorks 设计的,设计了三维结构图和3D 模型,并使用Cura 软件进行切片,机器人3D 打印如图3 所示,最后通过3D 打印机打印出来,手工组装。 机器人控制端界面如图4 所示,该界面被保存在机器人的存储器内,终端通过网页访问机器人内部服务器时,会显示终端在浏览器上。

图3 机器人3D 打印估计(部分)

图4 机器人控制终端界面

4 结语

本文设计的四足机器人使用ESP8266 作为主控芯片,通过PCA9685 芯片驱动舵机,内置WiFi 服务器,无须安装任何软件即可通过网络控制机器人。 经实验,机器人运行稳定,功能完善,性价比高,可作为桌面陪伴机器人和教育机器人使用。

猜你喜欢
舵机模组终端
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
含齿隙弹载舵机的全局反步模糊自适应控制
光学薄膜技术及在背光模组中的应用研究
浅谈石墨烯材料在LED路灯模组中的应用及该模组的设计
基于dsPIC单片机的飞艇舵机控制实现
关于超薄LED背光模组设计探讨
基于高速同步485总线通信的多通道舵机控制器设计
多功能北斗船载终端的开发应用
基于云模型的舵机同步控制