基于单片机的四足智能机器人设计与实现
来源:用户上传
作者:匡畅 钱奕辰 梁浩明
摘要:四足机器人目前已经成为机器人研究领域的热门,文章设计了一种基于单片机的四足智能机器人,模仿蜘蛛爬 行,该机器人以ESP8266 模组为主控模块,全身共 8个舵机,单腿包含 2个舵机,通过PCA9685 芯片进行驱动。机器人可使用手机等终端控制,并可以进行 OTA,背部可安装超声波、摄像头等模块,扩展性好。该四足机器人可以完成爬行、旋转、起伏、打招呼等动作,可使用图形化工具进行编程,性价比较高,可作为桌面陪伴机器人和教育机器人使用。
关键词:ESP8266;四足机器人;Arduino
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所示。
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,Deep-sleep 3 种电源管理模式,平时工作在active 模式中。芯 片接口包括 17个GPIO 引脚,4个软件实现的PWM 输出引脚,以及SDIO,SPI,HSPI,I2C,I2S,UART 接口,ESP8266 还支持红外遥控接口和嵌入式模数转换器。
主控模块被安装在一套 3D打印机器人骨架上,该 骨架通过SolidWorks设计,使用PLA 材质打印,坚固耐用,能够有效支撑机器人所搭载的硬件设备。
2.2舵C驱动模块
为了保 障 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]。
nlc202208301021
转载注明来源:https://www.xzbu.com/8/view-15438736.htm