Bootstrap

多摩川协议报警码的清除

在这里插入图片描述

1. BA指令的具体使用方法

  • 指令格式0xBA
  • 功能:清除报警码。
  • 使用场景:当系统中出现报警码时,可以通过发送BA指令来清除这些报警码。
  • 操作步骤
    1. 发送BA指令(0xBA)到编码器。
    2. 编码器接收到指令后,会清除当前的报警码。
    3. 清除后,编码器的状态标志会更新,报警码将被重置。

2. 清除的故障码

根据文件中的描述,BA指令主要用于清除以下故障码(状态标志):

  1. Over-speed (OS):超速错误。
  2. Full absolute status (FS):全绝对状态错误。
  3. Counting error (CE):计数错误。
  4. Counter overflow (OF):计数器溢出错误。
  5. Over-heat (OH):过热错误。
  6. Multi-turn error (ME):多圈计数错误。
  7. Battery alarm (BA):电池报警。
  8. Battery error (BE):电池错误。

3. 故障码清除的条件

每个故障码的清除条件如下:

(1) Over-speed (OS)
  • 触发条件:在外部电池供电模式下,编码器轴转速超过规定的速度。
  • 清除条件
    • 通过BA指令清除。
    • 需要复位错误(参考文件中的第10节)。
(2) Full absolute status (FS)
  • 触发条件:在主电源开启时,编码器轴转速超过100转/分钟。
  • 清除条件
    • 通过BA指令清除。
    • 将转速降低到100转/分钟以下,等待标志自动释放。
(3) Counting error (CE)
  • 触发条件:在主电源开启时,编码器的一圈数据出现偏差。
  • 清除条件
    • 通过BA指令清除。
    • 需要停止伺服系统并复位错误。
(4) Counter overflow (OF)
  • 触发条件:多圈计数器溢出。
  • 清除条件
    • 通过BA指令清除。
    • 需要复位错误。
(5) Over-heat (OH)
  • 触发条件:编码器基板温度超过设定的过热检测温度。
  • 清除条件
    • 通过BA指令清除。
    • 需要等待编码器温度降低后复位错误。
(6) Multi-turn error (ME)
  • 触发条件:在多圈信号中发生位跳变。
  • 清除条件
    • 通过BA指令清除。
    • 需要返回原点并复位错误。
(7) Battery alarm (BA)
  • 触发条件:外部电池电压低于3.1V ±0.1V。
  • 清除条件
    • 通过BA指令清除。
    • 当电池电压恢复正常时,错误状态会自动释放。
(8) Battery error (BE)
  • 触发条件:外部电池电压低于2.75V ±0.25V。
  • 清除条件
    • 通过BA指令清除。
    • 需要复位错误并检查或更换外部电池。

4. 注意事项

  • 复位操作:某些故障码(如OS、OF、OH、ME、BE)需要通过复位操作来清除。复位操作可以通过发送特定的复位指令(如Data ID 7、8、C)来完成。
  • 电池相关错误:对于电池相关的错误(BA、BE),除了清除报警码外,还需要检查或更换外部电池。
  • 过热错误:清除过热错误后,需要等待编码器温度降低,否则错误可能会再次触发。

5. 示例代码

假设你正在使用C语言与编码器通信,以下是一个发送BA指令的示例代码:

void clear_alarm_codes(void) {
    uint32_t cmd = 0xBA; // BA指令
    sei_set_command_value(BOARD_SEI, BOARD_SEI_CTRL, cmd); // 发送指令
}

  • BA指令用于清除编码器的报警码。
  • 清除的故障码包括OS、FS、CE、OF、OH、ME、BA、BE。
  • 清除条件因故障码而异,部分故障码需要复位操作或外部条件(如降低转速、更换电池等)才能完全清除。
;