东戴河网站建设,php网站建设视频,的建站公司,网页设计的收获【基于腾讯云的远程机械臂小车】1. 项目来源1.1 项目概述1.2 系统结构1.3 设计原理2. 硬件搭建2.1 CH32V307开发板2.2 Arduino mega25602.3 富斯I6遥控器2.4 机械臂小车2.5 ESP8266 MCU2.5.1 ESP8266 MCU介绍2.5.2 腾讯云固件烧录3. 软件设计3.1 两种控制方式3.1.1 富斯I6遥控机…
【基于腾讯云的远程机械臂小车】1. 项目来源1.1 项目概述1.2 系统结构1.3 设计原理2. 硬件搭建2.1 CH32V307开发板2.2 Arduino mega25602.3 富斯I6遥控器2.4 机械臂小车2.5 ESP8266 MCU2.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_source530bf85167de80ff1628de3bdb9da898 基于腾讯云的远程机械臂小车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设计的高性能、低功耗互联型微控制器产品特点 MCUCH32V307VCT6主频 144MHzFLASH和RAM可配置 LED2个用户 LEDs LED1blueLED2(red)。 按键3个Reset User 和 Download。 USB2个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 遥控距离5001500m空中 通道分辨率4096 电池 1.5AA*4 充电接口无 低电压报警 4.2V 天线类型 双天线 显示屏STN半透正显,LCD128x64点阵 语言中英文 数据接口 PS/2PPM 温度范围-10℃—60℃ 湿度范围20%-95% 在线更新是 遥控器颜色黑色 外形尺寸174x89x190mm 机身重量  392g 认证 CERCMPAHSFCC ID:N4ZFLYSKYI6  2.4 机械臂小车 
机械臂为3R结构由3个A4988驱动3个42步进电机进行控制这三个电机会在腾讯云界面显示小车底盘驱动选择遥控器接收机的其他通道详细的DH参数解算及仿真模拟如下 DH参数解算板书  
MATLAB仿真代码 
%% 机械臂建模
% 定义各个连杆以及关节类型默认为转动关节
%           theta      d        a        alpha
L1Link([     0        0        6        pi/2 ], standard); % [四个DH参数], options
L2Link([     0      0        14       0], standard);
L3Link([      0        0       17        0], standard);robotSerialLink([L1,L2,L3]); % 将四个连杆组成机械臂
robot.name505Arm;
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开发板。 ESP8266-NodeMCU尺寸与Nano类似,他并不是Arduino团队开发的但是我们也可以使用Arduino IDE对他进行开发。而且他还有一颗地道的“中国芯”—ESP8266模块。  想深度学习的可以试试ESP8266-NodeMCU物联网开发之Arduino环境搭建:https://blog.csdn.net/VOR234/article/details/121100577 2.5.2 腾讯云固件烧录 
esp8266 nodemcu模块需要烧写腾讯云定制固件后才能连接到腾讯云平台实现与腾讯云平台的数据交互能够实现WIFI账号密码配置、MQTT连接、订阅、发布等功能。 乐鑫官网提供esp8266腾讯云AT固件 https://bbs.21ic.com/forum.php?modattachmentaidMjA0MDkzOHwzY2RkODkyNHwxNjc2NDM1ODc3fDMzOTMwMDZ8MzI3MjQxNg%3D%3D 
使用乐鑫提供的esptool工具烧录即可具体怎么烧录如下     
3. 软件设计 
此部分介绍两种控制方式和任务逻辑调度 
3.1 两种控制方式 
分别是 富斯I6和腾讯云遥控机械臂小车。第一种响应速度快遥控距离有限第二种相应速度慢有网络连接腾讯云就可以无距离限制。 
3.1.1 富斯I6遥控机械臂小车 
接线图介绍 RC遥控方案选用的为富斯的I6遥控器和IA6B接收机其中123通道分别负责3R机械臂的3个步进电机的运动45通道分别负责两个带动履带的有刷电机。在履带控制方面需要开启混控才能实现转向例如要实现履带的左转功能需将主通道设为4混控通道设置为5并设为-100%当右摇杆向左打时5号通道的信号为4号通道的负值即可实现两侧电机的不同方向旋转。同时由于接收机上每个通道都有正负极且电压都为5V可以为单片机供电。 IA6B接收机  I6遥控器 下面给出富斯I6遥控器与Arduino mega2560控制三个电机的控制代码 控制代码 
#include AccelStepper.h //定义RC接收机引脚
int ch22  22;
int ch23  23;
int ch24  24;signed int pluse  80;
signed int k1  0;
signed int k2  0;
signed int k3  0;
signed long setposition1  0;
signed long setposition2  0;
signed long setposition3  0;// 定义电机控制用常量
const int enablePin  8;  // 使能控制引脚// A4988连接Arduino引脚号
const int xdirPin  5;     // x方向控制引脚
const int xstepPin  2;    // x步进控制引脚
const int ydirPin  6;     // y方向控制引脚
const int ystepPin  3;    // y步进控制引脚
const int zdirPin  7;     // z方向控制引脚
const int zstepPin  4;    // z步进控制引脚AccelStepper stepper1(1, xstepPin, xdirPin);
AccelStepper stepper2(1, ystepPin, ydirPin);
AccelStepper stepper3(1, zstepPin, zdirPin);
//建立步进电机对象void setup()
{Serial.begin(9600);pinMode(xstepPin, OUTPUT);     // Arduino控制A4988步进引脚为输出模式pinMode(xdirPin, OUTPUT); pinMode(ystepPin, OUTPUT); pinMode(ydirPin, OUTPUT);pinMode(zstepPin, OUTPUT);pinMode(zdirPin, OUTPUT);// Arduino控制A4988方向引脚为输出模式pinMode(enablePin, OUTPUT);   // Arduino控制A4988使能引脚为输出模式digitalWrite(enablePin, LOW); // 将使能控制引脚设置为低电平从而让// 电机驱动板进入工作状态stepper1.setMaxSpeed(4000.0);    // 设置电机最大速度300stepper1.setAcceleration(500.0); // 设置电机加速度20.0stepper2.setMaxSpeed(4000.0);    // 设置电机最大速度300stepper2.setAcceleration(500.0); // 设置电机加速度20.0stepper3.setMaxSpeed(4000.0);    // 设置电机最大速度300stepper3.setAcceleration(500.0); // 设置电机加速度20.0
}void loop(){if (pulseIn(ch22, HIGH)  900  pulseIn(ch22, HIGH)  1200){k1  k1  1;}else if (pulseIn(ch22, HIGH)  1800  pulseIn(ch22, HIGH)  2100){k1  k1 - 1;}else if (pulseIn(ch23, HIGH)  900  pulseIn(ch23, HIGH)  1200){k2  k2  1;}else if (pulseIn(ch23, HIGH)  1800  pulseIn(ch23, HIGH)  2100){k2  k2 - 1;}else if (pulseIn(ch24, HIGH)  900  pulseIn(ch24, HIGH)  1200){k3  k3  1;}else if (pulseIn(ch24, HIGH)  1800  pulseIn(ch24, HIGH)  2100){k3  k3 - 1;}setposition1  k1 * pluse;setposition2  k2 * pluse;setposition3  k3 * pluse;Serial.print(pulseIn(ch22, HIGH));Serial.print(,);Serial.print(pulseIn(ch23, HIGH));Serial.print(,);Serial.print(pulseIn(ch24, HIGH));Serial.print(,);Serial.print(setposition1);Serial.print(,);Serial.print(setposition2);Serial.print(,);Serial.println(setposition3);stepper1.moveTo(setposition1);//stepper1.run();   // 1号电机运行stepper1.runToPosition();stepper2.moveTo(setposition2);//stepper2.run();   // 2号电机运行stepper2.runToPosition();stepper3.moveTo(setposition3);//stepper3.run();   // 3号电机运行stepper3.runToPosition();
}3.1.2 腾讯云遥控机械臂小车 
物联网云平台搭建登录 物联网开发平台 https://console.cloud.tencent.com/iotexplorer 选择公共实例  具体搭建可参考基于CH32V307和TtencentOS Tiny的物联网心率监测https://bbs.21ic.com/icview-3272416-1-1.html 最后效果物理模型如下  小程序控制面板定义  
三元素查看此部分会在代码中定义连接腾讯云。  
3.2 任务逻辑调度 
可以使用MRS选择呢CH32V307建立一个带有TencentOS工程文件也可以使用TencentOS自带的文件。gitee可以下载到 TencentOS-tiny的源代码https://gitee.com/Tencent/TencentOS-tiny 本次CH307设计了两个线程第一个线程是MQTT发布订阅另外一个线程是与Arduino双向通讯通过虚拟开关和实体开关开切换。 程序部分架构主要参考基于CH32V307腾讯连连小程序的二氧化碳TVOC环境监测仪https://bbs.21ic.com/icview-3273948-1-1.html在此非常感谢 
4. 实验测试 
按照硬件需求检查接线然后开始测试可以打开腾讯云实时查看上发数据  打开手机APP  需要通过虚拟开关和实体开关开切换控制模式目前只支持先腾讯云后富斯遥控器顺序因此开关闭合使得Arduino的13号默认拉高引脚输出低电平。 
视频演示https://www.bilibili.com/video/BV15M4y1D7MD/?vd_source530bf85167de80ff1628de3bdb9da898 
5. 总结 
这是我第三次参加嵌入式相关的网上比赛活动第一次是RT-Thread的【基于RT-ThreadRA6M4的智能鱼缸系统设计之鱼我所欲也】活动作品是2022年暑假做的获得第六名还是比较开心第二次2023年寒假做的是基于MAX7800羽毛板语音控制ESP8266小车成绩还没有出来感觉还不错。这次最大的收获是实现了两种远程控制方式进行通讯腾讯云打通实在不可思议幸亏朱宇飞克服遥控器控制让我备受鼓舞这次最大的遗憾是腾讯云的小程序控制延时较大感觉有两秒左右大家也可以尝试优化程序任务的空间复杂度来减少影响。非常感谢沁恒微电子官方组织的第二届“RISC-V MCU 创新应用大赛”大家都为这个国内嵌入式生态出一份力只要努力认真做了都会有所收获期盼这些作品在将来某一天为构建美好未来贡献一份微博之力 我后期会持续更新我测评的一系列国内开发板测评每天都一点点结合实际需求联动丰富生活从而实现对外部世界进行充分的感知尽最大努力认识这个有机与无机的环境科学地合理地进行创作和发挥效益然后为人类社会发展贡献一点微薄之力。 再次非常感谢硬禾官方支持和朱宇飞同学遥控器玩的贼溜等等期待这一次的成绩哟 
参考文献 
CH32V307使用GPIO模拟I2C驱动TVOC、CO2eq传感器SGP30https://bbs.21ic.com/icview-3273394-1-1.html基于CH32V307腾讯连连小程序的二氧化碳TVOC环境监测仪https://bbs.21ic.com/icview-3273948-1-1.html基于CH32V307和TtencentOS Tiny的物联网心率监测https://bbs.21ic.com/icview-3272416-1-1.htmlCH32V307数据手册https://www.wch.cn/downloads/CH32V20x_30xDS0_PDF.htmlCH32V307参考手册https://www.wch.cn/downloads/CH32FV2x_V3xRM_PDF.html评估板说明及参考例程https://www.wch.cn/downloads/CH32V307EVT_ZIP.htmlCH343SER.ZIP串口地址https://www.wch.cn/downloads/CH343SER_ZIP.htmlMRS最新V1.51版本安装包www.mounriver.com环境搭建教程https://blog.csdn.net/VOR234/article/details/128932474【沁恒WCH CH32V307V-R1开发板两路ADC读取实验】https://blog.csdn.net/VOR234/article/details/128941074【沁恒WCH CH32V307V-R1开发板读取板载温度实验】https://blog.csdn.net/VOR234/article/details/128941832【沁恒WCH CH32V307V-R1开发板输出DAC实验】https://blog.csdn.net/VOR234/article/details/128942550【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】 https://blog.csdn.net/VOR234/article/details/128943395【沁恒WCH CH32V307V-R1与Arduino的串口通讯】https://blog.csdn.net/VOR234/article/details/128993169 文章转载自: http://www.morning.rfxyk.cn.gov.cn.rfxyk.cn http://www.morning.rrrrsr.com.gov.cn.rrrrsr.com http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn http://www.morning.grynb.cn.gov.cn.grynb.cn http://www.morning.qbtj.cn.gov.cn.qbtj.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.yltnl.cn.gov.cn.yltnl.cn http://www.morning.mbpfk.cn.gov.cn.mbpfk.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.tdnbw.cn.gov.cn.tdnbw.cn http://www.morning.mgwpy.cn.gov.cn.mgwpy.cn http://www.morning.mmqng.cn.gov.cn.mmqng.cn http://www.morning.swdnr.cn.gov.cn.swdnr.cn http://www.morning.mplld.cn.gov.cn.mplld.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.yxnfd.cn.gov.cn.yxnfd.cn http://www.morning.knsmh.cn.gov.cn.knsmh.cn http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn http://www.morning.cthrb.cn.gov.cn.cthrb.cn http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn http://www.morning.fqssx.cn.gov.cn.fqssx.cn http://www.morning.zqwp.cn.gov.cn.zqwp.cn http://www.morning.mnrqq.cn.gov.cn.mnrqq.cn http://www.morning.fdrch.cn.gov.cn.fdrch.cn http://www.morning.qhrsy.cn.gov.cn.qhrsy.cn http://www.morning.qlkjh.cn.gov.cn.qlkjh.cn http://www.morning.mrlls.cn.gov.cn.mrlls.cn http://www.morning.cjwkf.cn.gov.cn.cjwkf.cn http://www.morning.qyqmj.cn.gov.cn.qyqmj.cn http://www.morning.hqllx.cn.gov.cn.hqllx.cn http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn http://www.morning.kpypy.cn.gov.cn.kpypy.cn http://www.morning.zsyqg.cn.gov.cn.zsyqg.cn http://www.morning.bhwll.cn.gov.cn.bhwll.cn http://www.morning.zplzj.cn.gov.cn.zplzj.cn http://www.morning.wbxr.cn.gov.cn.wbxr.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn http://www.morning.deanzhu.com.gov.cn.deanzhu.com http://www.morning.wdnkp.cn.gov.cn.wdnkp.cn http://www.morning.gqwpl.cn.gov.cn.gqwpl.cn http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.xqknl.cn.gov.cn.xqknl.cn http://www.morning.chkfp.cn.gov.cn.chkfp.cn http://www.morning.dmtld.cn.gov.cn.dmtld.cn http://www.morning.brbnc.cn.gov.cn.brbnc.cn http://www.morning.mtrrf.cn.gov.cn.mtrrf.cn http://www.morning.gwjqq.cn.gov.cn.gwjqq.cn http://www.morning.cwgpl.cn.gov.cn.cwgpl.cn http://www.morning.bmts.cn.gov.cn.bmts.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.chbcj.cn.gov.cn.chbcj.cn http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn http://www.morning.tcylt.cn.gov.cn.tcylt.cn http://www.morning.zzfqn.cn.gov.cn.zzfqn.cn http://www.morning.kdbcx.cn.gov.cn.kdbcx.cn http://www.morning.lrjtx.cn.gov.cn.lrjtx.cn http://www.morning.mcfjq.cn.gov.cn.mcfjq.cn http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn http://www.morning.wpcfm.cn.gov.cn.wpcfm.cn http://www.morning.kjmws.cn.gov.cn.kjmws.cn http://www.morning.nffwl.cn.gov.cn.nffwl.cn http://www.morning.fxpyt.cn.gov.cn.fxpyt.cn http://www.morning.snbry.cn.gov.cn.snbry.cn http://www.morning.dgckn.cn.gov.cn.dgckn.cn http://www.morning.ldsgm.cn.gov.cn.ldsgm.cn http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.hxbps.cn.gov.cn.hxbps.cn http://www.morning.snmsq.cn.gov.cn.snmsq.cn http://www.morning.rkdzm.cn.gov.cn.rkdzm.cn http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn http://www.morning.pmdlk.cn.gov.cn.pmdlk.cn