爱思控AQMDBLS-Ax/Bx/Mx/T 系列无刷电机驱动器使用

news2024/10/5 21:24:16

履带车配置

在这里插入图片描述

AQMDBLS-Ax/Bx/Mx/T 系列无刷电机驱动器使用大致需要以下几个步骤。

  • 1) 阅读用户使用说明书、了解驱动器的性能、明确控制目的;
  • 2) 根据电机和驱动器的接线原理,正确接线;
  • 3) 使用 485 通讯控制,连接上位机软件,通讯成功后读取默认参数;
  • 4) 根据电机的实际参数配置电机参数、系统参数;
  • 5) 电机学习(注:可通过上位机软件或通过拨码开关内置程序);
  • 6) 可用上位机软件“电机控制”测试基本功能;
  • 7) 对于-Mx/T 款,在通电状态下,通过按键配置实际应用需要的工作模式;
  • 8) 对于-Ax/Bx 款,断电后,将拨码开关,拨至实际应用工作模式,然后上电进行调试;
  • 9) 正常使用。

demo配置

  • RS485通讯 波特率9600 偶校验+1停止位

  • demo配的参数:只有电机控制界面不保存,其他断电都保存

  • 电机额定电流 14A 最大负载电流 14A

  • 最大换向频率 3276.7 默认换向频率 0Hz 电机转速(RPM) = 20 × 换向频率 / 极个数。

  • 电机极个数2个 电机减速比37:1

  • 根据自身电机的实际参数配置好相关参数后,单击“开始学习”,驱动器每测试一相,将会“嘀”的短鸣一声;学习完毕后,若到听到“嘀——”的一声长鸣,表示学习成功。若听到连续 “嘀嘀嘀”三声短鸣,则表示学习失败。如果学习失败,请检查电机霍尔信号接线是否正确,是否接牢,或电机是否是驱动器支持的类型。

电机额定电流 (0x006A)

  • 作用:用于配置电机的额定电流,应与电机实际额定电流相匹配或略高。
  • 注意:额定电流配置过小可能导致调速不稳定或驱动器损坏;配置过大可能响应缓慢。

最大负载电流 (0x006B)

  • 作用:配置驱动器最大输出电流,限制电机启动、过载和堵转时的最大电流,通常与额定电流相同。
  • 目的:限制最大负载电流/堵转力矩。

制动补偿电流 (0x006C)

  • 作用:配置电机最大制动(刹车)电流,用于调节刹车时间和平稳程度。
  • 注意:制动电流越大,刹车时间越短,但冲击力越大,平稳性变差。

常态自锁电流 (0x0078)

  • 作用:配置电机停转后保持位置的电流,适用于速度闭环和位置控制模式。
  • 建议:最大电流不超过电机额定电流的1/2,以避免电机过热或损坏。设置为0时禁用自锁功能。

最大换向频率和默认换向频率 (0x0066、0x0067)

  • 定义:换向频率决定电机线圈电流方向切换的频率,与电机转速成正比。
  • 公式:电机转速(RPM) = 20 × 换向频率 / 极个数。
  • 用途:配置速度闭环和位置闭环控制的最大和默认速度。

加速度和减速度 (0x0062、0x0063、0x0064、0x0065)

  • 加速加速度:配置电机加速时的加速度大小,上电时以默认加速度加速。
  • 减速加速度:配置电机减速时的加速度大小,上电时以默认减速度减速。

稳速控制算法 (0x0070)

  • 速度闭环方式:基于速度反馈的闭环控制,特点是超调量小,高速时调速平稳,但极低速时可能不均匀。
  • 时间-位置闭环控制方式:基于位置反馈的闭环控制,适合多驱动器同步控制和极低速控制,高速时超调量较大。
  • 时间-位置速率:解决时间位置控制算法电机堵转释放后速度飙升的问题。

电机极个数和减速器减速比 (0x0073、0x0074)

  • 电机极个数:通过电机技术手册或询问电机制造商获得,配置于寄存器0x0073。
  • 减速器减速比:如果电机配有减速器,则应配置其实际减速比于寄存器0x0074;无减速器时,配置为1。
  • 作用:配置这些参数后,驱动器可以计算电机经减速器后的实际转速。
  • 公式:电机转速(RPM) = 20×换向频率 / 极个数 / 减速比。

加速度、速度量程、最大负载电流 (0x0062、0x0063、0x0064、0x0065、0x0077、0x0079、0x007A)

  • 速度量程×10:勾选后,换向频率相关参数的分辨率由0.1Hz提高至1Hz,范围增大10倍。
  • 允许X倍最大负载电流输出X秒:配置允许输出的最大负载电流倍数及时间,配置为0时禁用此功能。

电机学习状态、电机相序数据、禁用电机学习 (0x0075、0x006D-0x006F、0x0076)

  • 电机学习状态:记录电机的相序学习状态,需要通过特定学习操作从“未学习”改为“已学习”。
  • 电机相序数据:存储电机学习后的霍尔数据,仅当电机学习状态为“未学习”时可写。
  • 禁用电机学习:防止意外或误操作改变已学习电机的状态,勾选后将保护电机学习状态不被意外修改。

开始学习 (0x00E1)

  • 操作:配置好电机参数后,进行电机学习操作。成功学习的标志是听到一声长鸣;失败则是连续三声短鸣。
  • 注意:学习失败时,应检查霍尔信号接线、电机类型等是否符合要求。

这段描述关注于电机控制中的速度闭环控制,特别是如何通过配置PID参数来实现稳定的速度控制。PID控制是一种常用的反馈控制方法,它通过比例(P)、积分(I)、和微分(D)三个参数来调整控制器输出,以达到预定的控制目标。以下是关于速度PID参数配置的归纳:

速度PID参数 (0x00C0-0x00C5)

  • 用途:这些参数用于配置速度闭环控制中的PID控制器,以实现电机速度的精确控制。

  • 参数分配

    • 比例(P)参数:配置在寄存器0x00C0-0x00C1。
    • 积分(I)参数:配置在寄存器0x00C2-0x00C3。
    • 微分(D)参数:配置在寄存器0x00C4-0x00C5。
  • 比例(P):决定控制器响应的速度和力度。比例项太大可能导致系统过冲和震荡,太小则响应缓慢。

  • 积分(I):消除稳态误差,增强系统的稳定性和精度。积分项过大可能导致系统反应过慢和超调。

  • 微分(D):预测系统未来的行为,改善系统的瞬态响应和稳定性。微分项过大可能使系统响应过度,产生高频震荡。

接口定义

  • 电机接口

    • 接口定义:电机接口包括U、V、W三个端口,分别与电机的U、V、W相线相连。
    • 接线注意事项:
      • 电机的相线顺序(U、V、W)可以不按顺序连接。
      • 如果电机相线的顺序发生改变,同样需要重新对电机进行学习,以确保电机能够正确运行。
        在这里插入图片描述
  • 霍尔信号接口

    • 接口定义:霍尔信号接口包括COM、5VO、HW、HV、HU端口。
      • COM端接霍尔传感器的负极。
      • 5VO端接霍尔传感器的正极。
      • HW、HV、HU端分别接霍尔传感器的三个霍尔信号线。
    • 接线注意事项:
      • 霍尔传感器的电源正负极必须接正确。
      • 霍尔位置信号线(HW、HV、HU)可以不按顺序连接。
      • 如果霍尔位置信号接线顺序改变,需要重新对电机进行学习,以确保电机能正确识别霍尔信号的位置信息。

在这里插入图片描述

通讯模式的转换

通过0x0120寄存器配置通讯方式

  • 485通讯方式

    • 若要启用485通讯,将0x0120寄存器设置为0
    • 在此设置下,若使用CAN通讯,则不支持CANopen协议。
  • CANopen协议

    • 若要使用CAN通讯并启用CANopen协议,将0x0120寄存器设置为1
    • 此设置不支持485通讯方式。
  • 通讯方式启用

    • 修改0x0120寄存器值并保存后,必须重新上电设备以启用新配置的通讯方式。

通过拨码开关配置通讯方式

第 1-7 位第 8 位控制方式
全为 ONON默认通讯参数控制方式
从站地址/节点 IDONRS485/CAN 通讯控制方式
第 1 位第 2 位第 3 位第 4 位第 5 位第 6 位第 7 位译码值
OFFOFFOFFOFFOFFOFFOFF0x01
ONOFFOFFOFFOFFOFFOFF0x02
OFFONOFFOFFOFFOFFOFF0x03
ONONOFFOFFOFFOFFOFF0x04
OFFOFFONOFFOFFOFFOFF0x05
ONOFFONOFFOFFOFFOFF0x06
OFFONONOFFOFFOFFOFF0x07
…………………………………………
OFFONONONONONON0x7F
  • 默认通讯参数
    • 无论0x0120寄存器设置为何值,将拨码开关的1-8位全拨到ON,可切换设备至默认通讯参数模式。
    • 在默认通讯参数模式下,485通讯和CAN通讯均可用,但不支持CANopen协议。

通讯模式的设置

  • 寄存器0x0120用于指定驱动器的通讯模式:RS485/CAN模式或CANopen模式。
    • RS485/CAN模式下:
      • 驱动器根据上电后接收到的第一帧数据的类型自动选择485通讯方式或CAN通讯方式。
      • 如果首帧为Modbus通讯帧,选择485通讯方式;如果首帧为CAN通讯帧,选择CAN通讯方式。
    • CANopen模式下:
      • 驱动器只能使用CAN通讯方式。

电通讯模式设置

  • 寄存器0x0120用于指定驱动器的通讯模式:RS485/CAN模式或CANopen模式。
    • RS485/CAN模式下:
      • 驱动器根据上电后接收到的第一帧数据的类型自动选择485通讯方式或CAN通讯方式。
      • 如果首帧为Modbus通讯帧,选择485通讯方式;如果首帧为CAN通讯帧,选择CAN通讯方式。
    • CANopen模式下:
      • 驱动器只能使用CAN通讯方式。

电机学习

  1. 准备阶段:确保电机处于空载状态,这需要先断开驱动器的电源。

  2. 接线步骤

    • 将电机的三相线(U、V、W)分别接到驱动器相应的接口。
    • 连接电机的霍尔电源正负极到驱动器的5VO和COM接口。
    • 将电机霍尔传感器的信号线(HU、HV、HW)接到驱动器的对应信号接口。

    在这里插入图片描述

  3. 配置额定电流:通过调整驱动器的拨码开关(SW1至SW3),设置与电机实际额定电流一致的值。如果不清楚电机的额定电流,可以将这些拨码开关都设为ON。

    第 1 位第 2 位第 3 位第 8 位电机额定电流值
    OFFOFFOFFOFF使用 485/CAN 配置的额定电流,默认 14A
    ONOFFOFFOFF8A
    OFFONOFFOFF10A
    ONONOFFOFF12A
    OFFOFFONOFF14A
    ONOFFONOFF16A
    OFFONONOFF18A
    ONONONOFF20A
  4. 设置工作模式为电机学习:通过将驱动器的拨码开关SW4至SW5设为ON,以及SW6至SW8设为OFF,配置信号源为内置程序,工作模式为电机学习。

    第 4 位第 5 位第 8 位信号源
    OFFOFFOFF电位器
    ONOFFOFF模拟信号
    OFFONOFFPWM/频率/脉冲
    ONONOFF内置程序
  5. 执行相序学习

    • 通电后,等待电机相序学习自动完成。
    • 在学习过程中,工作指示灯和故障指示灯会交替闪烁。每测试一相时,驱动器会发出短鸣声。
    • 学习成功时会听到一声长鸣,表示学习成功;连续三声短鸣则表示学习失败。
  6. 后续步骤

    • 完成电机学习后,首先要关闭驱动器的电源。
    • 在电源关闭的状态下,根据需要通过拨码开关重新配置驱动器所需的工作参数和工作模式。
    • 如果需要通过485通讯来配置参数,应先将拨码开关设置为485通讯模式。
      • 然后,通电并在485通讯模式下配置所需参数。
      • 配置完成后,再次断开驱动器电源。
      • 在完成485通讯配置(如果进行了此步骤)后,应使用拨码开关最后一次设置所需的工作模式。

485/CAN通讯控制方式下的使用方法

通讯控制配置

在这里插入图片描述

  1. 拨码开关设置

    • 设置拨码开关第1至第7位为OFF(上方)。
    • 设置拨码开关第8位为ON(下方)。
    • 驱动器被配置为通讯控制方式。
    • 默认情况下,寄存器0x009c、0x0120和0x0121使用默认值0。
    • 从站地址/节点ID配置为0x01。
    第 1-7 位第 8 位控制方式
    全为 ONON默认通讯参数控制方式
    从站地址/节点 IDONRS485/CAN 通讯控制方式
    • 注:

      • 1)默认通讯参数控制方式不支持 CANopen 协议;
      • 2)须 0x009c 和 0x0121 寄存器值为 0 时拨码开关配置的从站地址/节点 ID 才有效。
    • 设备从站地址译码表如下表

    第 1 位第 2 位第 3 位第 4 位第 5 位第 6 位第 7 位译码值
    OFFOFFOFFOFFOFFOFFOFF0x01
    ONOFFOFFOFFOFFOFFOFF0x02
    OFFONOFFOFFOFFOFFOFF0x03
    ONONOFFOFFOFFOFFOFF0x04
    OFFOFFONOFFOFFOFFOFF0x05
    ONOFFONOFFOFFOFFOFF0x06
    OFFONONOFFOFFOFFOFF0x07
    …………………………………………
    OFFONONONONONON0x7F
  2. 电源连接

    • 将电源的正极连接到驱动器的V+接口。
    • 将电源的负极连接到驱动器的V-接口。
485通讯控制:
  1. RS485连接与参数

    • 若主站为485设备,连接方式是485主站与驱动器的485/CAN接口A对A、B对B。
    • 建议将驱动器的COM与主站的信号地相连,以增强信号稳定性。
    • 使用Modbus-RTU通讯协议,通讯默认波特率9600bps。
    • 检验方式为偶校验,有1位停止位。
    • 如果通讯参数被更改,需使用新的参数进行通讯。

    在这里插入图片描述

    在这里插入图片描述

CAN通讯控制:
  1. CAN连接与参数

    • 若主站为CAN设备,连接方式是CAN主站/客户端的CANH对CANH、CANL对CANL。
    • 必须至少在CAN总线上并联一个120Ω的终止电阻。
    • CAN通讯默认波特率为500kbps。
    • 如果通讯参数被更改,需使用新的参数进行通讯。
    • 使用CANopen协议时,0x0120寄存器必须配置为1。
  2. CAN总线访问

    • 通过CAN可访问CANopen对象字典和Modbus寄存器。
    • 关于如何通过CAN访问Modbus寄存器的详细信息,请参阅文档的第7.4节。

在这里插入图片描述

通过Demo程序配置驱动器参数(RS485通讯)

  • 在使用RS485与驱动器进行通讯时,需要确保通讯参数和设备地址与驱动器设置一致。
  1. 通讯参数
    • 默认设置:驱动器默认的通讯参数设置为波特率9600bps,偶校验,以及1个停止位。
    • 波特率配置:可以通过寄存器0x0090和0x0091来配置驱动器的波特率,支持的范围是1200bps到115200bps。
    • 校验方式和停止位:校验方式和停止位的配置通过寄存器0x0092进行,支持偶校验或奇校验加1个停止位,以及无校验加2个停止位。
  2. 设备地址
    • 拨码开关配置:Modbus从站设备地址可以通过设置拨码开关的第1到第7位来配置,具体的地址设置可以参照驱动器的文档中的译码表。
    • 寄存器配置:也可以通过寄存器0x009c来指定设备地址。
    • 控制方式位:当使用485/CAN通讯控制时,拨码开关的第8位应该拨到ON位置。
  • 可能需要通过Demo配置的参数
寄存器地址寄存器作用描述
0x0043设定速度闭环控制目标速度-32768~32767数值乘以 0.1 为目标换向频率,单位为 Hz
0x006a配置电机额定电流0~2000数值乘以 0.01 为电流值,单位为 A。
0x006b配置电机最大负载电流0~2000数值乘以 0.01 为电流值,单位为 A。
0x0070配置速度闭环控制算法0, 10:速度闭环控制
1:时间-位置闭环控制
0x0073配置电机极个数0~65535设定电机极个数,电机极个数通常为 3 的 倍数
0x0074配置电机减速比0~65535
0x0022实时电机换向频率-32768~32767当 0x0035 寄存器为 1 时, 数值即为换向频率;
当 0x0035 寄存器为 0 时,数值乘以 0.1 为换向频率,单位为 Hz;
换向频率除以电机极个数再乘以 20 为电机转速,单位RPM。
0x0034电机实时转速0~65535当 0x0035 寄存器为 1 时,数值乘以 10 为 转速;
当 0x0035 寄存器为 0 时,数值即为转速,单位为 RPM。
注:需先通过 0x0073 和 0x0074 寄存器配置正确的电机极个数和减速比,读取的转速才正确。
0x0035转速是否需要乘 以 100, 10:数值即转速;
1:数值乘以 10 为转速
  • 电机转速=换向频率/电机极个数*20

通过STM32 CAN通讯配置驱动器参数(CAN通讯)

硬件连接

  • 连接方式:CAN通讯线(CANH和CANL)按照CANH对CANH、CANL对CANL的方式,连接CAN主站(如PLC、单片机或PC机等)与电机驱动器的485/CAN通讯接口。
  • 控制目的:通过CAN通讯,主站可以对电机进行调速、方向控制和位置控制等操作。

数据访问方式

  • CANopen对象字典和Modbus寄存器:通过CAN通讯,既可以访问CANopen对象字典,也可以访问Modbus寄存器,实现对电机的详细控制。
  • 访问规则
    • 对于地址在0x0000~0x0FFF范围内的Modbus寄存器,通过CANOpen索引号0x4000加上寄存器地址来访问。
    • 对于地址在0x7000~0x7FFF范围内的Modbus寄存器,通过寄存器地址减去0x2000来访问。
    • 子索引号固定为0。
    • 使用0x2B和0x23命令分别对双字节和四字节数据的寄存器进行写操作;使用0x40命令进行读操作。

CAN节点ID配置

  • 驱动器支持多节点通讯,节点ID可通过拨码开关、寄存器0x0121或对象字典索引0x2201配置,支持最多127个节点ID。
  • 节点ID的配置规则:
    • 当0x0121寄存器和0x2201索引的数据为默认值0时,CAN节点ID由拨码开关设定。
    • 当这些参数设定为1~127范围内的值时,无论是通讯控制方式还是数字/模拟信号控制方式,CAN节点ID都会被设定为此值。

CAN波特率配置

  • 通过寄存器0x0122或对象字典索引0x2202配置CAN波特率。
  • 默认波特率为500kbps,可配置范围从10kbps到1Mbps。

CANopen协议启用和配置

  • 通过将寄存器0x0120的值设定为1来启用CANopen协议。
  • 可通过寄存器0x0128设定值为1来启用CANopen自启动,使得驱动器在上电节点初始化后直接进入Operational状态。
  • 心跳周期可通过寄存器0x0129或对象字典的0x1017索引进行配置。

通讯参数配置

  • 波特率和节点ID:在使用CAN通讯时,必须确保波特率及节点ID与驱动器设置一致。
    • 默认波特率为500kbps,可通过0x0122寄存器配置,支持范围为10kbps~1Mbps。
    • 节点ID可通过拨码开关的第1~7位配置,或通过0x0121寄存器指定。
    • 当使用485/CAN通讯控制时,拨码开关的第8位应拨到ON。

默认通讯参数

  • 当拨码开关的第1~8位全为ON时,驱动器使用默认通讯参数,此时CAN波特率设为500kbps,CAN节点ID为0x01,并且不支持CANopen通讯协议,即使0x0120寄存器的值被配置为1。

在这里插入图片描述

CAN消息语法

主站/客户端发送消息格式
  • 在RS485/CAN通讯模式或CANopen通讯模式,我们可通过如下CAN消息格式(对应于
    CANopen的SDO加速传送报文)来访问对象字典。
CAN 标识符数据字节 0数据字节 1-2数据字节 3数据字节 4-7
0x600+节点 ID命令索引号子索引号数据
  • CAN 标识符:0x600加上节点ID,用于标识消息的目的地。节点ID范围从0x01到0x7F,保证每个CAN设备的节点ID唯一。
  • 数据字节0(命令字节)
    • 写命令分别为0x2F(单字节数据)、0x2B(双字节数据)、0x27(三字节数据)、0x23(四字节数据)。
    • 读命令为0x40。
  • 数据字节1-2(对象字典索引号):表示要访问的对象字典项的索引号,低字节在前。
  • 数据字节3(子索引号):表示对象字典项内部的子项。
  • 数据字节4-7(数据):要写入的数据,低字节在前,无效字节用0x00填充。对于读取操作,这些字节均为无效。
命令与数据字节有效性对应关系
状态码描述数据字节 4-7 中有效字节
0x4F数据长度为 1 字节前 1 字节
0x4B数据长度为 2 字节前 2 字节
0x47数据长度为 3 字节前 3 字节
0x43数据长度为 4 字节全有效
0x60传送成功均无效
0x80传送中止4 个字节为中止代码
  • 0x2F(写单字节):数据字节4中的前1字节有效。
  • 0x2B(写双字节):数据字节4-5中的前2字节有效。
  • 0x27(写三字节):数据字节4-6中的前3字节有效。
  • 0x23(写四字节):数据字节4-7全部有效。
  • 0x40(读取数据):所有数据字节均无效。
限制
  • 在RS485/CAN通讯模式下,无法访问数据长度大于4字节的对象。若需要访问这类对象,必须在CANopen通讯模式下进行,这时应参照CANopen协议的相关文档来执行。
从站/服务器应答消息格式
  • 相应 CAN 节点接收到消息后的应答格式如下:
CAN 标识符数据字节 0数据字节 1-2数据字节 3数据字节 4-7
0x580+节点 ID状态索引号子索引号数据/中止代码
  • CAN 标识符:0x580加上节点ID,用于标识应答消息的源头。节点ID范围从0x01到0x7F,确保每个CAN设备的节点ID唯一。
  • 数据字节0(状态码):用于表示应答的状态或操作结果。
  • 数据字节1-2(对象字典索引号):表示被访问的对象字典项的索引号,低字节在前。
  • 数据字节3(子索引号):表示对象字典项内部的子项。
  • 数据字节4-7(数据/中止代码):根据状态码,这部分可以是读取操作返回的数据,或者操作失败时的中止代码,低字节在前。
状态码与数据有效性对应关系
状态码描述数据字节 4-7 中有效字节
0x4F数据长度为 1 字节前 1 字节
0x4B数据长度为 2 字节前 2 字节
0x47数据长度为 3 字节前 3 字节
0x43数据长度为 4 字节全有效
0x60传送成功均无效
0x80传送中止4 个字节为中止代码
  • 0x4F:数据长度为1字节,数据字节4中的前1字节有效。
  • 0x4B:数据长度为2字节,数据字节4-5中的前2字节有效。
  • 0x47:数据长度为3字节,数据字节4-6中的前3字节有效。
  • 0x43:数据长度为4字节,数据字节4-7全部有效。
  • 0x60:传送成功,所有数据字节均无效。
  • 0x80:传送中止,数据字节4-7中包含4个字节的中止代码。

通过这些规则,从站在接收到主站的请求后,能够根据操作的结果和数据的长度,返回一个格式化的应答消息。这种应答机制不仅允许主站了解操作是否成功,还能获取操作结果的详细数据或失败的原因。这一过程是CANopen和类似基于CAN的通讯协议中设备间交互的基础。

通过CAN访问MODBUS寄存器

Modbus寄存器地址与CANopen索引号的转换关系
MODBUS 寄存器地址( REG_ADDR)对象字典索引号( INDEX)对象字典子索引号( SUB-INDEX)
0x0000~0x0FFF0x4000 + REG_ADDR0
0x7000~0x7FFFREG_ADDR - 0x20000
  • 对于Modbus寄存器地址范围在0x0000~0x0FFF内的,对象字典索引号为0x4000 + REG_ADDR,并且对象字典子索引号固定为0
  • 对于Modbus寄存器地址范围在0x7000~0x7FFF内的,对象字典索引号为REG_ADDR - 0x2000,同样对象字典子索引号固定为0
读写操作命令
  • 读取操作:使用0x40命令对Modbus寄存器进行读取。
  • 写入操作
    • 对于16位数据长度的寄存器,通过0x2B命令进行写入。
    • 对于32位数据长度的寄存器(例如:设定目标位置的寄存器0x0046),通过0x23命令进行写入。
实例解释

假设我们需要通过CAN通讯方式,向一个位于地址0x0088的Modbus寄存器写入一个16位的值(例如,0x1234),然后从该寄存器读取数据。设备的CAN节点ID为0x05。以下是如何实现这一过程的示例及其解释。

写入操作
  1. 计算索引号:首先,根据Modbus寄存器地址转换规则,我们需要将Modbus寄存器地址0x0088转换为CANopen对象字典索引号。

    • 因为0x0088属于0x0000~0x0FFF范围,转换后的索引号为0x4000 + 0x0088 = 0x4088
  2. 构建CAN消息

    CAN 标识符数据字节 0 (命令)数据字节 1-2 (索引号)数据字节 3 (子索引号)数据字节 4-7 (数据)
    0x6050x2B0x88, 0x400x000x34, 0x12, 0x00, 0x00
    • CAN标识符:0x600 + 节点ID = 0x600 + 0x05 = 0x605。
    • 命令字节(数据字节0):因为我们要写入一个16位(双字节)的值,使用命令0x2B
    • 索引号(数据字节1-2):0x4088,低字节在前,所以数据字节1为0x88,数据字节2为0x40。
    • 子索引号(数据字节3):0,因为大多数操作的子索引号默认为0。
    • 数据(数据字节4-7):要写入的值为0x1234,低字节在前,所以数据字节4为0x34,数据字节5为0x12,数据字节6和7为0x00(无效字节填充)。
读取操作
  1. 构建CAN消息(为了请求数据):

    CAN 标识符数据字节 0 (命令)数据字节 1-2 (索引号)数据字节 3 (子索引号)数据字节 4-7 (无效字节)
    0x6050x400x88, 0x400x000x00, 0x00, 0x00, 0x00
    • CAN标识符:仍然是0x605。
    • 命令字节(数据字节0):使用读取命令0x40
    • 索引号(数据字节1-2)、子索引号(数据字节3):同写操作。
  2. 从站应答消息

    CAN 标识符数据字节 0 (状态)数据字节 1-2 (索引号)数据字节 3 (子索引号)数据字节 4-7 (数据/中止代码)
    0x5850x4B0x88, 0x400x000x34, 0x12, 0x00, 0x00
    • 如果读取成功,从站会发送一个应答消息,其CAN标识符将是0x580 + 节点ID = 0x585
    • 状态码(数据字节0):传送成功,一般为0x60,或者根据读取数据长度使用0x4B(对于双字节数据)。
    • 索引号(数据字节1-2)和子索引号(数据字节3):与请求消息相同。
    • 数据(数据字节4-7):包含请求的数据,对于成功读取的双字节数据,数据字节4-5将包含值,字节6-7为0x00。
格式解释
  • 在CAN通讯中,消息的具体内容通过数据字节来传递,每一部分的字节都有其特定的含义,如命令字节决定操作类型,索引号和子索引号指定要操作的具体对象,数据字节承载实际要写入或读取的数据。
  • 通过适当的命令和数据格式,可以在CAN网络中实现复杂的数据交换和设备控制操作,使得基于CAN的系统不仅能够支持简单的数据传输,也能实现复杂的控制逻辑和设备间的高效通信。
需要配置或读取的modbus寄存器
寄存器地址寄存器作用描述
0x0043设定速度闭环控制目标速度-32768~32767数值乘以 0.1 为目标换向频率,单位为 Hz
0x006a配置电机额定电流0~2000数值乘以 0.01 为电流值,单位为 A。
0x006b配置电机最大负载电流0~2000数值乘以 0.01 为电流值,单位为 A。
0x0070配置速度闭环控制算法0, 10:速度闭环控制
1:时间-位置闭环控制
0x0073配置电机极个数0~65535设定电机极个数,电机极个数通常为 3 的 倍数
0x0074配置电机减速比0~65535
0x0022实时电机换向频率-32768~32767当 0x0035 寄存器为 1 时, 数值即为换向频率;
当 0x0035 寄存器为 0 时,数值乘以 0.1 为换向频率,单位为 Hz;
换向频率除以电机极个数再乘以 20 为电机转速,单位RPM。
0x0034电机实时转速0~65535当 0x0035 寄存器为 1 时,数值乘以 10 为 转速;
当 0x0035 寄存器为 0 时,数值即为转速,单位为 RPM。
注:需先通过 0x0073 和 0x0074 寄存器配置正确的电机极个数和减速比,读取的转速才正确。
0x0035转速是否需要乘 以 100, 10:数值即转速;
1:数值乘以 10 为转速

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FileLink跨网文件摆渡系统:保障数据安全,促进业务高效协同

FileLink跨网文件摆渡系统,作为一种先进的文件传输解决方案,正逐渐在企业级应用中崭露头角。它打通了不同网络之间的隔阂,使得文件能够安全、高效地从一个网络传输到另一个网络。 FileLink跨网文件摆渡系统基于先进的加密技术和数据传输协议&…

亚信安慧AntDB:解锁数智化的新时代

亚信安慧AntDB的融合实时的特性使得它在数据库领域独树一帜。传统的数据库系统往往只能追求数据的准确性和一致性,但在实际的业务场景中,这些特性并不能满足企业的需求。AntDB的出现打破了传统束缚,为企业带来了全新的数据处理方式&#xff0…

【Linux网络编程】高级IO——五种IO模型

高级IO 1.什么是IO?什么是高效的IO?2.有那些IO的方式?这么多的方式,有那些是高效的?3.五种IO模型4.高级IO重要概念5.非阻塞IO 点赞👍👍收藏🌟🌟关注💖&#x…

shopro商城 源码搭建/部署/上线/运营/售后/更新

基于Fastadmin和Uniapp进行开发的多平台(微信公众号、微信小程序、H5网页、Android-App、IOS-App)购物商城,拥有强大的店铺装修、自定义模板、路由同步、多端支付(微信,支付宝)、多规格商品、运费模板、多地…

突发!31篇文章被撤!这本Springer旗下SCI,开始大面积撤稿,原因涉及同行评议!

【欧亚科睿学术】 近期,期刊JOURNAL OF COMBINATORIAL OPTIMIZATION撤回了31篇文章,大部分文章都是由中国学者参与。主要原因是包括但不限于:编辑处理和同行评议过程的妥协,不恰当或不相关的参考文献,或者不在期刊或客…

如何高效合并Python字典?掌握这些技巧,让你的代码更优雅!

在Python中,字典(Dictionary)是一种非常有用的数据结构,它允许我们以键值对的形式存储数据。在日常编程中,我们经常需要将两个或多个字典合并为一个。幸运的是,Python提供了一种简洁而高效的方式来实现这一…

探索财富新纪元:订单排队模式引领企业革新之路

尊敬的企业家们,大家好!在现今这个竞争激烈的商业环境中,寻找一种既高效又具持续性的商业策略,是每个企业家都关注的焦点。今天,我要为您揭示一种前沿的商业模式——订单排队模式,它可能为您的企业开启全新…

金蝶BI应收分析报表:关于应收,这样分析

这是一张出自奥威-金蝶BI方案的BI应收分析报表,是一张综合运用了筛选、内存计算等智能分析功能以及数据可视化图表打造而成的BI数据可视化分析报表,可以让企业运用决策层快速知道应收账款有多少?账龄如何?周转情况如何&#xff1f…

2024数维杯数学建模A题B题C题思路+模型+代码(开赛后第一时间更新)

2024数维杯数学建模A题B题C题思路模型代码(开赛后第一时间更新) https://mbd.pub/o/bread/ZpWakpdq https://mbd.pub/o/bread/ZpWakpdq 2024年第九届数维杯大学生数学建模挑战赛参赛规则 竞赛要求及论文提交方式; ①本次参赛作品统一在线提交到竞赛…

echarts-gl 离线3D地图

1、安装依赖 echarts-gl 与 echarts 版本关系: "echarts": "^5.2.0", "echarts-gl": "^2.0.8"# 执行安装 yarn add echarts-gl2、下载离线地图 免费下载实时更新的geoJson数据、行政区划边界数据、区划边界坐标集合_…

2024年北京服贸会媒体邀约资源有哪些?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 2024年北京服贸会(中国国际服务贸易交易会,简称CIFTIS)作为中国重要的国际性服务贸易盛会,会吸引众多媒体的关注和参与。媒体邀约资源通常…

【记录】常见的前端设计系统(Design System)

解释一下设计系统的定义,以及在国内,都有那些优秀的设计系统可以学习,希望可以帮到大家。 什么是设计系统(Design System)? 设计系统(Design System)是一套综合性的指导原则、组件和规则&…

标准参编征集|《第三方运维服务水平评价指南 工业废水处理设施》

目前,对于工业废水处理设施第三方运维服务的标准,国家和行业未曾出台有针对性的评价标准和规范,工业企业和工业园区对第三方运维服务的监督、考核、评价体系需要进一步补充和完善。 本标准的编制旨在帮助第三方运营单位从运营技术和管理举措…

如何使用XCTest进行ios自动化测试?

iOS自动化测试框架有哪些? iOS自动化测试框架有很多,以下是一些常用的iOS自动化测试框架: XCTest: XCTest是苹果官方提供的iOS自动化测试框架,可以用于单元测试和UI测试。 Appium: Appium是一个跨平台的自…

【Linux系统编程】第十四弹---进度条

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、回车和换行 2、观察回车换行现象 3、缓冲区 4、usleep和fflush函数 5、简单倒计时 6、进度条 6.1、版本一 6.2、版本…

【数据结构】单链表专题详细分析

与其临渊羡鱼,不如退而结网。💓💓💓 目录 •✨说在前面 🍋知识点一:什么是链表? • 🌰1.链表的概念 • 🌰2.链表的结构 • 🌰3.链表的分类 🍋…

青动CRM源码搭建/部署/上线/运营/售后/更新

CRM是一款基于thinkphpfastadmin开发的客户管理系统。旨在助力企业销售全流程精细化、数字化管理,全面解决企业销售团队的全流程客户服务难题,帮助企业有效盘 活客户资源、量化销售行为,合理配置资源、建立科学销售体系,提升销售业…

无限免费泛域名SSL证书申请

如今https访问已经成为了网络安全的标识,SSL证书也成为了保护网站内用户信息安全和加密信息交互的手段之一。自2019年等保2.0的相应政策出台后,实现网站https访问也是必经环节之一。 当下SSL证书的相关政策也一直备受关注,有免费的SSL证书也…

【OV SSL证书】OV证书为什么更贵,又好在哪里?

证书类型有三种,分别是DV证书、OV证书、EV证书,本文将具体讲解OV证书的优点。 一、OV 证书的介绍 OV证书:企业验证型证书,证书审核方式为通过验证域名所有权和申请企业的真实身份信息才能签发证书。目前OV类型证书是全球运用最广…

Java的事件处理机制

Java事件处理机制 Java事件处理是采取“委派事件模型”。当事件发生时,产生事件的对象,会把此“信息”传递给“事件的监听者”处理,这里所说的“信息”实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为“事件的对…