【基于腾讯云的远程机械臂小车】- 1. 项目来源
- 2. 硬件搭建
- 2.1 CH32V307开发板
- 2.2 Arduino mega2560
- 2.3 富斯I6遥控器
- 2.4 机械臂小车
- 2.5 ESP8266 MCU
- 2.5.1 ESP8266 MCU介绍
- 2.5.2 腾讯云固件烧录
- 3. 软件设计
- 3.1 两种控制方式
- 3.1.1 富斯I6遥控机械臂小车
- 3.1.2 腾讯云遥控机械臂小车
- 3.2 任务逻辑调度
- 4. 实验测试
- 5. 总结
1. 项目来源
项目源码地址:https://gitcode.net/VOR234/robot_arm_car/-/blob/master/TencentOS-tiny123.zip
https://gitee.com/vor2345/robot_arm_car

程序分别

视频演示:https://www.bilibili.com/video/BV15M4y1D7MD/?vd_source=530bf85167de80ff1628de3bdb9da898
 基于腾讯云的远程机械臂小车
1.1 项目概述
随着科技的日益发达,人类社会正在向自动化,智能化的方向快速发展。机械臂履带车可以提高户外的生产效率,减少人力成本,提高工作效率,改善工作环境,提高安全性,减少事故发生率,有利于促进社会经济的发展,因此设计出机械臂来代替人的手臂也就显得很有必要。本文基于CH32V307开发板开发了智能移动履带机械臂小车,通过WIFI无线网络接入腾讯云物联网平台IoT Explorer,实现了在腾讯连连小程序上能够实时在线控制和在线监测运动数据。

1.2 系统结构
系统采用CH32V307作为核心控制单元,处理客户端发送的命令并将控制信号发送给Arduino。Arduino作为底层驱动控制机械臂和履带的运动。该智能机械臂履带车可以通过两种方式进行控制,第一种控制方式是用户通过微信小程序腾讯连连实现远程运动控制和运动数据监测;第二种控制方式是通过RC遥控器进行近程控制,系统结构如图所示:

1.3 设计原理
CH307开发板是基于腾讯物联网终端操作系统TencentOS tiny构建。设计两个线程,第一个线程是负责无线数据接入腾讯云IoT Explorer,设计设备联网控制与数据交互功能;第二个线程是与Arduino mega2560 双向通讯,设计对应的通讯数据协议以及两种控制模式的切换(腾讯云和富斯遥控器)。

2. 硬件搭建
此部分设计包含主要模块的功能介绍和连接组成,其中简明材料明细表如下
名称功能介绍
CH32V307开发板系统信息交互中枢
Arduino Mega2560开发板底层驱动与CH32V307通讯
富斯I6遥控器2.4G近距离遥控
机械臂小车控制对象
ESP8266 MCU开发板发布和订阅腾讯云信息
2.1 CH32V307开发板
CH32V307是沁恒微电子基于32位RISC-V设计的高性能、低功耗互联型微控制器,产品特点:
MCU:CH32V307VCT6,主频 144MHz,FLASH和RAM可配置
LED:2个,用户 LEDs, LED1(blue),LED2(red)。
按键:3个,Reset, User 和 Download。
USB:2个,Tpye-C。
网口:1个,内置 10M PHY。
板载 WCH-Link 下载调试工具。
系统框图

本次项目采用沁恒微电子官方推出的开发板,如下图所示:

2.2 Arduino mega2560
Arduino Mega 2560是基于ATmega2560的主控开发板。Arduino Mega2560是采用USB接口的核心电路板。具有54路数字输入输出,适合需要大量IO接口的设计。
规格参数: 工作电压:5V 推荐输入电压范围:7-12V 输入电压范围:6-20V 数字输入输出口:54 模拟输入输出口:16 每个I/O口的输出电流:40mA 3.3V管脚的输出电流:50mA 内存空间:256KB SRAM:8KB EEPROM:4KB 时钟频率:16MHz

2.3 富斯I6遥控器
FS- i6是一款支持固定翼/滑翔机/直升机模式的入门级首选发射机。搭载AFHDS 2A协议,可升级至10通道,中英文固件,满足不同用户的需求。
规格参数: 产品型号:FS- i6
通道个数:6
支持模型:固定翼/滑翔机/直升机/船
无线频率 :2.4G
发射功率 :< 20 dBm
无线协议: AFHDS 2A
遥控距离:500~1500m(空中)
通道分辨率:4096
电池 :1.5AA*4
充电接口:无 低电压报警 :<4.2V
天线类型 :双天线
显示屏:STN半透正显,LCD128x64点阵,
语言:中英文
数据接口 :PS/2(PPM)
温度范围:-10℃—+60℃
湿度范围:20%-95%
在线更新:是
遥控器颜色:黑色
外形尺寸:174x89x190mm
机身重量 : 392g
认证 CE,RCM,PAHS,FCC ID:N4ZFLYSKYI6

2.4 机械臂小车
机械臂为3R结构,由3个A4988驱动3个42步进电机进行控制(这三个电机会在腾讯云界面显示,小车底盘驱动选择遥控器接收机的其他通道),详细的DH参数解算及仿真模拟如下:

DH参数解算板书

MATLAB仿真代码:
%% 机械臂建模% 定义各个连杆以及关节类型,默认为转动关节% theta d a alphaL1=Link([ 0 0 6 pi/2 , 'standard'); % [四个DH参数], optionsL2=Link([ 0 0 14 0, 'standard');L3=Link([ 0 0 17 0, 'standard');robot=SerialLink([L1,L2,L3); % 将四个连杆组成机械臂robot.name='505Arm';robot.display();view(2); % 解决robot.teach()和plot的索引超出报错robot.teach();robot.plot([0 0 0);
界面显示

模拟控制视频

根据仿真和自身三个电机有机械限位,运动范围都是在0~90度之间,末端活动范围主要在小车的正前方。
2.5 ESP8266 MCU
2.5.1 ESP8266 MCU介绍
ESP8266-NodeMCU是一个开源硬件开发板,由于它支持WIFI功能,所以在物联网(IOT)领域,Arduino开发板最大的对手之一就是ESP8266-NodeMCU开发板。
|