DRV42-RS485-两指软爪操作说明

matt 2024-10-16

柔性自适应机械爪驱动控制器使用说明

本文档主要分为四部分,一是驱动控制器的简要介绍,二是配合机械爪单独调试使用,三是数据帧说明,四是配合睿尔曼机械臂的调试使用介绍。

夹爪参数:

夹爪尺寸: 

一、 驱动控制器的简要介绍:

1、本驱动控制器的MCU 为 stm32 控制,驱动控制一体设计,直接固定在42步进电机尾部节省空间。该驱动控制器模块的优势有三点:

①将驱动控制一体化,只需要通过 485 按照标准modbus 协议发送一条指令就可以实现精准控制且自带曲线加减速和静音设计。

②驱动控制器集成了两路光耦电路,便于行程开关的接线,实现单机版的零点复位和定点运行功能。

③驱动控制器具备地址设置,通过 RS485 控制可以非常方便组网和多轴运动,其中波特率、速度、运行电流锁定电流都为掉电保存,下次启动直接调用,无需再设置。

2、 接口说明:

A+ A- B+ B- 为步进电机接线,发货时已接好线, 分别对应接线颜色为 红、蓝、绿、黑。

VM G A B:其中VM G是电源供电接线,VM为电源正极接线,G为电源负极接线;

          A B为RS485通讯接线,分别对应 RS485-A RS485B

V G IRR IRI: 是限位行程开关接线,也可以不接。其中V G是行程开关的供电线正极 和 负极;

IRR IRI分别是正转(机械爪闭合)行程开关信号线、反转(机械爪张开)行程开关信号线,

串口通信:波特率默认9600、无检验、停止位1位,

额定电压:12-24V; 连续输出最大电流:1.5A;最大输出电流:2A;

限位行程开关光耦接口:只能接NPN光电开关或微动开关。

一、 配合机械爪单独使用说明:

1、 接线:

A+ A- B+ B- :接步进电机,接线颜色分别为 红、蓝、绿、黑。(发货已接好)

V G IRR IRl:无行程开关则不接。有则行程开关的 棕、蓝分别接 V G供电,黑色信号接入IRl.

VM G A B: AB 分别接线对应485转USB小工具上的A B; VM G 分别接供电线,颜色对应为 棕色、蓝色,(最后线都接好后插入220V转24V开关电源或电池通电)。

  

将USB转485小工具 插入电脑,电源通电,打开上位机即可调试。

2、 上位机调试说明:

免安装,直接双击打开上位机软件“步进电机调试”,即可出现右方调试界面。

首先在“配置界面”上,搜索选择自己的串口号(不同电脑、不同插口数字不一样,一般需要有CH340等串口驱动,大部分技术人员在学习编程时已经下载安装过),点击打开串口,点击读取参数,查看目前的参数,一般发货默认设置为:默认的波特率为9600 、地址为01,

细分配置256、电流配置1002、速度19000(电流速度 均为16进制)。

  

修改数据、并点击相应的按键、左侧会生成对应的指令,该指令可直接通讯使用。具体的含义解释详见 数据帧说明 。

点击“运行界面”,在运行界面上,如果按照2.1的说明连接了 行程开关线,则可以直接点击反转左限位低电平停止并设置零点(反转是张开,行程开关类形是NPN低电平有效,其他类型形状开关请自行判断),则机械爪张开到行程开关反馈停止并设为0点,再可点击正转、电机急停、反转 等指令控制; 或者发送目标位置进行位置控制,根据目标位置与当前位置的比较,机械爪会张开或闭合。

备注: 速度与位置说明:

步进电机为1.8°、即一个脉冲对应1.8°,为提高控制的精密程度,对1.8度进行细分配置,如256细分,细分后256个脉冲对应1.8°,则电机旋转一圈为360度,需要 360÷1.8×256(细分)=51200个脉冲, 机械爪最大的行程为电机旋转5圈,所以位置取值范围为:0-256000(10进制、以256细分为例)。在发指令时 要转换为16进制使用(可在网页上搜索转换工具)。 速度为脉冲/S。

 

 

三、数据帧说明

3.1 通信帧采用标准 Modbus Rtu 协议。驱动控制器目前使用到的功能码只有 0x03、0x06、 0x10。下面主要讲解 3 个功能码的发送和应答的报文格式

功能码“03”读寄存器:

主机发送:地址(1 字节)+0x03+寄存器地址(2 字节)+读取数量(2 字节)+CRC 检验位(2 字节)

从机应答:地址(1 字节)+0x03+读取字节数(1 字节)+寄存器数据 1(2 字节)+……+寄 存器数据 n(2 字节)+CRC 检验位(2 字节)

功能码“06”写单个数据:

主机发送:地址(1字节)+0x06+寄存器地址(2字节)+寄存器数据(2字节)+CRC 检验位(2字节)

从机应答:地址(1字节)+0x06+寄存器地址(2字节)+寄存器数据(2字节)+CRC 检验位(2字节)

功能码“10”写多个数据:

主机发送: 地址(1 字节)+0x10+寄存器地址(2 字节)+寄存器数据量(2 字节)+数据字节量(1 字节)+寄存器数据 1(2 字节)+……+寄存器数据 n(2 字节)+CRC 检验位(2 字节)

从机应答:地址(1字节)+0x10+寄存器地址(2字节)+寄存器数据量(2字节)+CRC检验位(2字节)

3.2 寄存器地址及对应功能如下表:

备注:所有寄存器地址都是独立设置,不能通过发送读多个寄存器的方式读取不同含义 寄存器的数据,如需要读取模块地址和波特率,需要分别发送读 0x0020 和 0x0021,而不 能直接读取 2 个寄存器的数据,写寄存器也是如此,需要单独配置,当数据量为 32bit 时 需要使用 0x10 写多个寄存器的指令写入。

3.3寄存器详细说明,以下对寄存器详细说明并以地址0x01举例说明。控制器出厂地址默认为 0x01.

3.3.1、地址寄存器 0x0020

3.3.2、波特率寄存器 0x0021

3.3.3、运行和锁定电流寄存器 0x0023                     

备注:最大输出电流根据采样电阻大小决定,但实际中不需要那么大,所以将电流分成 32 等分用于控制实际运行最大电路和锁定电流。运行电流和锁定电流值只能在 0-31(0-0x1f) 中取值,0 为最小即(0+1)/32*Imax;31 为(31+1)/32*Imax。运行电流根据实际情况配置,锁定电流在保证运行的稳定情况下越小越好,这样电机不发烫。

3.3.4、找零点速度寄存器 0x0024

3.3.5、初始速度寄存器 0x0026

3.3.6、运行速度寄存器 0x0028

3.3.7、正反转模式寄存器 0x002A

备注:仅有感找零时,必须打开对应光耦使能,否则无效并返回错误信息 0xffff

      仅无感找零时,必须关闭所有光耦使能,否则无效并返回错误信息 0xffff

      同时启动有感和无感找零点,必须打开对应光耦使能,否则无效并返回错误信息 0xffff

 3.3.8、坐标模式寄存器 0x002B

3.3.9、停机寄存器 0x002D

3.3.10、状态寄存器 0x002E

3.3.11、细分寄存器 0x0030

3.4、C语言CRC参考代码

3.5注意事项:

①正反转模式下的找零时只能发送停止与状态命令,其他指令无响应。

②转速是根据步进角1.8°的电机、细分256换算的。

③光耦限位无效的情况,反转只有左限位光耦IRI有效,右限位光耦IRR无论是否使能都无效;正转只有右限位光耦IRR有效,IRI无论是否使能都无效。每个方向只有一个光耦有效。

④坐标模式第二次不转动,由于是绝对坐标模式,第二次指令时电机已经在该位置上,所以不运动。

⑤模块有3个速度,其中找零速度和初始速度是掉电保存的,运行速度不保存。

⑥当忘记模块地址或者通讯不上时,可以通过发送特殊读取ID指令读取,前提是485总线内只有一个控制器,特殊读取ID指令; D8 03 0020 0001 96C9 返回信息倒数第三个字节就是ID号。

四、与睿尔曼机械臂调试说明

机械臂末端航插线定义:

机械臂和夹爪接线方式:

1. 使用机械臂接口,通过机械臂末端 MODBUS-RTU 模式进行控制

配置机械臂末端 MODBUS-RTU 模式

以下是在坐标模式(0X002B)下运行,用于控制夹爪张开闭合。

设置末端485参数:

{"command":"set_modbus_mode","port":1,"baudrate":9600,"timeout":1}

读取软爪站号(即地址):

{"command":"read_holding_registers","port":1,"address":32,"device":1}

"port":1 代表机械臂末端端口

"address":32,代表寄存器地址 0X0020

写入多个寄存器(闭合):

{"command":"write_registers","port":1,"address":43,"num":1,"data":[0, 0],"device":1}

"port":1 代表机械臂末端端口

"address":43,代表寄存器地址 0X002B

"num":1,代表写入的寄存器数量为 1

"data":代表写入寄存器的数据

运动到零点=0X0000 高低位拆分并转换位 10 进制,写入寄存器的数据为[0,0]

"device":1 代表夹爪地址

写入多个寄存器(张开):

{"command":"write_registers","port":1,"address":43,"num":1,"data":[5,0],"device":1}

"port":1 代表机械臂末端端口

"address":43,代表寄存器地址 0X002B

"num":1,代表写入的寄存器数量为 1

"data":代表写入寄存器的数据

运动到距离零点1280步=0X0500 高低位拆分并转换位 10 进制,写入寄存器的数据为[5,0]

"device":1 代表夹爪地址

读取多个寄存器(读取电机距离零点位置): {"command":"read_multiple_holding_registers","port":1,"address":43,"num":1,"device":1}

"port":1 代表机械臂末端端口

"address":43,代表寄存器地址 0X002B

"num":1,代表写入的寄存器数量为 1

"data":代表写入寄存器的数据

"device":1 代表夹爪地址

2.使用机械臂图形化编程控制

注意:编写完该图形化编程文件后,需先在示教器中将末端电源打开,否则夹爪将无法上电工作。

 

 

 

 

 

 

 

 

0 条评论

关于作者

matt

这家伙很懒,什么也没写!

选择发帖板块
选择发帖板块