本帖最后由 tinnu 于 2022-10-18 20:52 编辑
一、作品简介
本项目旨在针对桌面机械臂控制卡接线复杂的情况作出优化。常规的低成本三轴机械臂通常采用步进电机驱动以达到高精度需求。但针对运行过程中丢步现象依然需要反馈器件配合才能较好保证运行精度。此前曾制作过一版机械臂,发生过由于接线导致的运动干涉,为了尽量减少接线本项目拟定采用esp32系列器件,采用无线通讯的方式接收闭环反馈信号。
另外,在与上位机交互的过程中,包括运动情况及指令手法交互,都可以通过无线总线替代有线总线,从而实现下位机与上位机在空间上分离。
二、系统框图
ESP32S3主控程序架构:
系统通讯架构:
三、各部分功能说明
由ESP32C3通过IIC采集AS5600磁编码器数据,通过UDP使用指定格式组播发送。该传感器数据用于运动的快速闭环反馈,以便在运动过程中每100ms~200ms进行闭环反馈控制。
带有主机发现功能,使用自定义非mDNS协议,可以从广播中获取反馈机地址,通过modbus访问修改寄存器数值。
组播地址:231.10.11.12;P轴端口3355;V轴端口3365;R轴端口3375;
由ESP32C3通过IIC采集九轴(倾角、地磁、陀螺仪)MPU9250和SPI采集三轴ADXL345,通过UDP使用指定格式组播发送。实现对绝对倾角位置和旋转角度反馈,用于初始化和运动结束后角度补偿。
带有主机发现功能,使用自定义非mDNS协议,可以从广播中获取反馈机地址,通过modbus访问修改寄存器数值。
组播地址:231.10.11.12;端口3455;
主控板下方采用现成的CNC SHIELD V4驱动板,上方绘制隔离驱动,插接中央主控ESP32S3核心板。
左侧有独立的12V供电,中间提供转5V的LDO供ESP32S3及XL1509 DCDC转5V供4路无线总线供电。左下使用两个四路数字隔离,分别是π140U30(300k低速隔离,用于步进驱动dir信号)、IS3740(高速隔离,用于步进驱动step信号)。
将倾角传感器数据及磁编码传感器数据融合上传。
组播地址:231.10.11.12;端口3511;
通过UDP发送运动指令包,实现运动的无线控制
组播地址:231.10.11.12;P轴端口3522;
主题部分采用亚克力切割安装,solidworks建模验证。
采用ROS系统+RVIZ实现可视化,Qt框架实现界面交互控制命令下发。由solidworks导出urdf模型文件的主体结构,用于展示和运算运动姿态。
四、作品源码
gitee地址
控制卡源码:
ROS上位机源码及URDF、STL机械结构文件:
五、作品功能演示视频
ESP32S3获取数据后,进行数据融合,通过UDP反馈到上位机,上位机采集控制ROS-RVIZ可视化的URDF模型运行,实现直观的运动反馈人机交互,方便后期使用ROS进行机器人运动控制联动开发。
视频链接:https://v.youku.com/v_show/id_XNTkxMjEzOTE3Ng==.html
六、项目总结
该项目基本完成了立项上:对各种传动结构以及反馈机构安装在内的机械臂机械结构设计、基于无线总线的传感器数据采集传输、传感器数据融合、无线指令传输在内的预设功能。
事实上,初期打算制作的是完整的控制卡,但由于上一个机械臂结构本身不适用于本命题下传感器安装,且在实验过程中早到一些破坏,已经无法较好运行。考虑机械结构、电路板及其他外围器件都需要重新设计并调试,因此立题仅限于闭环反馈系统。
补充内容 (2022-10-30 23:42):
https://bbs.eeworld.com.cn/thread-1223081-1-1.html
|