问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

复刻Dummy机械臂保姆教程

创作时间:
作者:
@小白创作中心

复刻Dummy机械臂保姆教程

引用
CSDN
1.
https://blog.csdn.net/qq_31400983/article/details/145795397

本文将详细介绍如何复刻稚晖君的Dummy机械臂,包括零配件采购、软件环境配置、电路测试、组装步骤以及功能测试等。文章结构清晰,内容详尽,包含了具体的硬件连接、软件配置和调试步骤,并配有相关视频和图片辅助说明。对于对DIY机械臂感兴趣的读者来说,具有较高的参考价值。


拜年视频:Dummy给大家拜年了

一、零配件采购

Dummy机械臂的配件分为机械臂主体(CNC或3D打印件)、步进电机、谐波减速器、控制电路(Ref主控板、电机控制板)、其它配件(同步轮、皮带、螺丝、线缆等),我这里使用的是CNC,以及成品控制电路(部分代码需要重新烧录)。本文使用的是“木子晓汶”Dummy2全谐波无刷电机版,电路板为V1.01版本。文章最后附有我整理的零配件采购清单。

二、软件环境

1.安装虚拟环境

(1)从网盘下载虚拟机文件。该虚拟文件包括了Dummy编译调试所需使用的软件(包括Ubntu、Clion、CLI-Tool、DummyStudio、Dummy源代码、3D模型等等),相关环境配置也设置好,安装好虚拟机后可直接使用。下载链接:https://pan.baidu.com/s/1f0q63Wy9RGFZxN248lNdEQ?pwd=sz4p 提取码: sz4p

(2)运行安装VirtualBox-7.0.12-159484-Win.exe(按缺省配置安装)

(3)注册安装Ubntu虚拟机,对显示和终端进行配置

(4)解决跨系统复制粘贴问题

“设备”—>“安装增强功能”,打开左边栏“VBox_GAs_7.0.12”,并右键选择在终端打开,运行“sudo ./VBoxLinuxAdditions.run”,然后重启服务,设置“共享粘贴板”—>“双向”即可使用。

2.运行Clion烧录程序

(1)安装Git服务

sudo apt install git

(2)从Git克隆最新代码文件(可选,虚拟机已有Dummy源代码)

git config --global user.name '*'
git config --global user.email '
*+**@user.noreply.gitee.com'
git clone https://gitee.com/switchpi/dummy.git

(3)在终端执行“/opt/clion-2023.2/bin/clion.sh”启动Clion

(4)加载程序后就可以进行编译了。

(5)配置烧录环境。配置编译环境OpenOCD,选择执行文件,进入修改配置界面。

选择“+”添加配置,选择“OpenOCD”,然后设置文件名,再设置stlink.cfg文件路径。

如不清楚stlink.cfg文件路径,可回到编译界面直接搜索,或打开终端,找到路径下的stlink.cfg文件,输入pwd并复制路径。再次进入配置界面,把复制的路径粘贴到主板配置文件处,添加文件名stlink.cfg,最后应用保存即可。

(6)烧录程序。使用stlink进行烧录,接线如下(如图):将ref板的P2插槽的P1(GND)、P2(SWCLK)、P3(SWDIO)分别与stlink的GND、SWCLK、SWDIO脚进行连接。给dummy接上24V电源并打开开关,选择“设备”—>“USB”—>“stlink”,然后即可开始烧录程序。


具体可参见视频:Dummy机械臂——烧录软件

三、电路及电机测试

1、连接ref控制主板

连接开关和24V电源插座,24V接主板电源输入焊点(P3旁边,+号接正),开关灯接主板灯电源焊点(P3旁边)。P3用来接环形LED灯,3个引脚分别为GND、VCC、RGB。

2、连接步进电机主板

将电机按以下顺序与驱动板连接:

42电机(以张大头步进电机为例)
插脚序号 1 3 4 6
引脚 A+ B+ A- B-
配线颜色 红 黑 蓝 绿

35电机(以张大头步进电机为例)
插脚序号 1 3 4 6
引脚 A+ B+ A- B-
配线颜色 黑 蓝 绿 红

35电机(以夹爪电机例)
插脚序号
引脚 A+ B+ A- B-
配线颜色 红 黄 绿 蓝

然后用6P排线(同向线)将ref控制主板P1连接到42步进电机(电机1)主板输入口。电机1到电机2,以及后续店家均使用6P排线(反向线)。注意:不同版本的电机驱动板在使用同向或反向线时可能会有所不同,具体要查看电路或咨询卖家。

同向线:
反向线:

3、校准电机

开机后Led1、Led2常亮,长按K1键松开后电机自动左右旋转,后Led2灯由闪烁变为常亮,表示完成校准。单按一下K1键,电机进入使能状态,Led1亮、Led2灭,再次单按一下K1键,电机解锁,Led1、Led2均亮。

以上操作可在机械臂组装完成后再进行。

4、设置电机顺序

通过S1跳线的ID1、ID2、ID3来设置驱动板对应电机的顺序,分别设置为001、002...110,如下表:

ID4 ID3 ID2 ID1
J1 ON
J2 ON
J3 ON ON
J4 ON
J5 ON ON
J6 ON ON

5、连接并测试电路
参考视频:Dummy机械臂——电路连接测试

6、组装安装电机和驱动板
参考视频:Dummy机械臂——安装电机控制板

四、组装谐波减速器

首先需要安装1、4号电机减速器。在谐波减速器上放置密封环,并在腔体内均匀抹上适量润滑油,将钢轴插入柔轮内拧紧螺丝固定,在钢珠上抹上少许润滑油,然后将柔轮一边旋转一边插入谐波减速器腔体。

参考视频:Dummy机械臂——安装1、4号电机减速器

五、安装机械臂各关节

1、安装基座部分

(1)安装J1谐波减速器

(2)安装控制面板

(3)安装底座

参考视频:Dummy机械臂——安装底座J1电机、主控板和面板

2、安装J2、J3电机和减速器

参考视频:Dummy机械臂——安装J2、J3电机和减速器

3、安装J1、J4和J5

参考视频:Dummy机械臂——安装J1、J4和J5

4、连接J1和J2J3,安装J6电机

参考视频:Dummy机械臂——连接J1和J2J3,安装J6电机

5、安装J5电机及减速器,连接J5和J6

参考视频:Dummy机械臂——安装J5电机及减速器,连接J5和J6

6、连接J3和J4,连接线路

参考视频:Dummy机械臂——连接J3和J4,连接线路

7、底座固定

将机械臂底座固定在木板或铝板上,防止运动过程中倾倒。

8、连接电缆并检查测试

按电路测试时的顺序连接各电机驱动板和主控电路。

六、功能测试

1、CLI-Tool配置使用

(1)选择串口设备,“设备”—>“USB”—>“Robot Embedded Framework REF 1.0 CDC Interface”(注意这里USB有正反,如USB插反了会找到CPR2102串口)

(2)启动CLI-Tool

cd CLI-Tool/
python3 run_shell.py

启动后需稍等一段时间,当系统显示“Connect to Dummy-Robot......”即可开始输入控制命令。

(3)命令行控制
输入“dummy0.”按Tab键,右侧将出现命令行提示,根据需要调用。常用控制命令如下:

dummy0.robot.calibrate_home_offset //校准
dummy0.robot.joint_1.set_position_with_time //控制第1关节运动
dummy0.robot.joint_all //所有关节
dummy0.robot.move_j //关节坐标系
dummy0.robot.move_ i //世界坐标系
dummy0.robot.reboot //重启
dummy0.robot.resting //回位
dummy0.robot.set_enable //电机使能
dummy0.robot.joint_1.apply_home_offset //设置关节1电机初始位置
dummy0.robot.joint_1.do_calibration //关节1电机校准
dummy0.robot.joint_1.set_dce_kd(_ki _kp _kv) //设置关节1电机PID
......

2、DummyStudio使用

启动DummyStudio选择“连接机器人”进入命令行模式。

(1)命令行模式:


!HOME
进入HOME状态(7字型)
!START
进入使能状态
!DISABLE
退出使能状态
!RESET
回到初始(折叠)状态
&0,25,108,0,50,0,
各关节转动角度。关节1:0度;关节2:25度;关节3:108度;关节4:0度;关节5:50度;关节6:0度

(2)图形模式:
先进入命令行模式,执行!START命令使电机处于使能状态,关闭命令窗口后就可以通过右下方的滑块操作各关节运动(先选中关节轴手动),按“复位”可回到“7”字状态。

3、电机参数修正

如发现关节电机转动方向反了,可通过修改对应电机的“true”“false”值来调节,另外还要根据实际使用的谐波减速器减速比设置对应电机的数值(除了电机6,我都设置为50)。完成设置后需重新编译并烧录软件。

  
DummyRobot::DummyRobot(CAN_HandleTypeDef* _hcan) :
    hcan(_hcan)
{
    motorJ[ALL] = new CtrlStepMotor(_hcan, 0, false, 1, -180, 180);
    motorJ[1] = new CtrlStepMotor(_hcan, 1, true, 50, -170, 170);
    motorJ[2] = new CtrlStepMotor(_hcan, 2, false, 50, -73, 90);
    motorJ[3] = new CtrlStepMotor(_hcan, 3, true, 50, 35, 180);
    motorJ[4] = new CtrlStepMotor(_hcan, 4, false, 50, -180, 180);
    motorJ[5] = new CtrlStepMotor(_hcan, 5, true, 50, -120, 120);
    motorJ[6] = new CtrlStepMotor(_hcan, 6, true, 10, -720, 720);
    hand = new DummyHand(_hcan, 7);
    dof6Solver = new DOF6Kinematic(0.109f, 0.035f, 0.146f, 0.115f, 0.052f, 0.072f);
}
  

4、电机PID参数调整

如在实际调试过程中,发现某些关节出现抖动,可通过命令调整该关节电机PID参数,直到抖动消失。可使用CLI-Tool下的“dummy0.robot.joint_1.set_dce_kd(_ki _kp _kv)”命令进行设置(joint_1表示1号关节,依次类推)。

七、其他

1、主要配件清单:

主要配件采购清单

2、关于3D打印

组装所需的3D打印件可以自己打印,也可以在淘宝找商家打印,除CNC外,需要打印的部件如下:

需3D打印部件

由于我选择的电机和谐波减速器尺寸与原底座不太匹配,固增加了底座的高度,这是加厚型底座3D模型:修正后底座3D模型

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号