This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BOOST-DRV8711:具有 SM2563C40B41 步进电机的步进电机卡

Guru**** 2652475 points

Other Parts Discussed in Thread: DRV8711EVM, BOOST-DRV8711, DRV8711, MSP430F1612

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor

器件型号: BOOST-DRV8711
主题中讨论的其他器件: DRV8711、DRV8711EVM、 MSP430F1612

尊敬的 TI 团队:

我已连接升压 DRV-8711 步进电机卡、并已与 UL 认证的 SM2563C40B41 步进电机连接:

  1. DRV-8711 步进 电机卡显示与 UL 认证 SM2563C40B41 步进电机有很多不兼容之处。
  2. DRV-8711 步进电机模块卡间歇性地能够在停止信号激活的情况下旋转此电机。
  3. DRV-8711 步进电机卡能够使用 STM32F429ZIT6 为电机提供驱动、我们已按照  slvc575b.zip 中给出的 BOOST-DRV8711_FIRMWAREv1.11 中给出的指南编写代码。 我们 还引用了 SLVC500—DRV8711 软件 来编写我们的 固件。
  4. 上述代码并未 阐明 DRV8711 芯片复位过程的实现。
  5. SM2563C40B41 步进电机根据斜升逻辑发出嗡嗡声斜升、以提高电机转速、其中电动机 PWM 频率上限为 100KHz、以防止电机轴承受到我们写的机械损坏、但电机转子不发生任何运动、因此、在反复试验后、此电动机绕组快速升温。
  6. 在发出 PWM 信号之前、每次都需要写入 DRV8711 中 CTRL 和扭矩寄存器的设置。 在这种情况下、DRV8711 提供驱动电流来为已安装在升压 DRV8711 套件上的 MOSFET 供电。
    但是、如果我们仅提供 PWM 信号但没有这些设置、DRV8711 不会为已安装在升压 DRV8711 套件上的 MOSFET 提供驱动电流、这是不可接受的。
  7. 此外、如果我们重复重新配置所有寄存 器、清除状态寄存器(地址= 0x07)中的所有错误、即使是这样、DRV8711 仍拒绝为升压 DRV8711 套件上已安装的 MOSFET 提供驱动电流。
  8. 当 CTRL 寄存器(地址= 0x00)中的 ENBL 位= 0 时、 DRV8711 提供驱动电流来为已安装在升压 DRV8711 套件上的 MOSFET 功率。 否则 ENBL 位=1、 DRV8711 拒绝为已安装在升压 DRV8711 套件上的功率 MOSFET 提供驱动电流。 这与数据表中提到的相反。
    反复试验表明 、存在电动机绕组永久性电气损坏和电动机轴承机械损坏的危险、以上述方式进行。
  9. 当我们读回所有寄存器时、即使在遵循 DRV8711 数据表中针对 SPI 事务给出的指南后、寄存器也会给出错误或损坏的值。   

请以嵌入式 c 格式提供全面编写的示例源代码、以验证我们可以在我们的所有器件平台上移植的 SPI 和 PWM 的输入信号波形。

 
此致、
Neeraj

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    感谢您的发布。

    SM2563C40B41 步进电机的数据表指示了以下电气规格。   双极绕组 4A 额定电流/相、0.52Ω DCR 和 2.4mH/相线圈电感。 根据此规格、DRV8711 可正常驱动该步进器、而不会出现任何问题。 如果 使用了 BOOST-DRV8711 硬件、MOSFET 应该足以驱动每个线圈 4A 的额定电流。 使用的 VM 电源是什么?

    DRV-8711 步进电机转卡间歇性地能够在失速信号处于活动状态的情况下旋转此电机。

    失速检测仅报告、不会影响电机驱动。 失速检测不是导致转位中断的原因。 系统中应该还有其他问题。 请共享线圈电流波形以进行分析。

    SM2563C40B41 步进电机根据斜升逻辑发出嗡嗡声、以提高电动机 PWM 频率上限为 100KHz 的速度、从而防止电机轴承受到机械损坏、但电机转子没有任何移动、因此、重复试验后该电动机绕组很快升温。

    根据该步进电机的速度与扭矩图、在全步进模式下、其扭矩输出在 3kHz 步进速率下降至 50%以下。 由于扭矩较低、该步进电机可能会以大约 5kHz 或更高的步进速率失速。 在这种情况下、假设线圈电流正确设置为 4A、电机线圈将过热。这是步进电机的预期行为、与 DRV8711 驱动器无关。 在测试中配置的步进模式是什么、特别是在 100kHz 步进速率下。  

    [引述 userid=“487726" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor
    • DRV-8711 步进电机卡能够使用 STM32F429ZIT6 为电机提供驱动、我们已按照  slvc575b.zip 中给出的 BOOST-DRV8711_FIRMWAREv1.11 中给出的指南编写代码。 我们 还引用了 SLVC500—DRV8711 软件 来编写我们的 固件。
    • 上述代码并未 阐明 DRV8711 芯片复位过程的实现。
    [/报价]

    请参阅数据表 — 见下文。

    在发出 PWM 信号之前、每次都需要写入 DRV8711 中 CTRL 和扭矩寄存器的设置。 在这种情况下、DRV8711 提供驱动电流来为已安装在升压 DRV8711 套件上的 MOSFET 供电。
    但是、如果我们仅提供 PWM 信号但没有这些设置、DRV8711 不会为已安装在升压 DRV8711 套件上的 MOSFET 提供驱动电流。

    您将 STEP 脉冲输入称为 PWM 吗? 每次发出 STEP 输入之前都不需要设置 CTRL 和扭矩。 但是、如果器件进入睡眠和唤醒周期或复位、寄存器将采用数据表中提到的默认值。 编写该代码时必须确保器件在 STEP 脉冲之间不会进入睡眠状态或复位状态。 每次器件复位或从睡眠状态唤醒时、必须将寄存器配置为所需设置。  

    此外、如果我们重复重新配置所有寄存 器、清除状态寄存器(地址= 0x07)中的所有错误、甚至随后 DRV8711 拒绝为已安装在升压 DRV8711 套件上的功率 MOSFET 提供驱动电流。

    如果您复位器件、则所有寄存器都将恢复为默认值。 正常运行时不应发生错误、因此无需复位。  重新配置后输出驱动未激活时、状态寄存器读数是多少? 某些故障会使输出处于高阻态。 请参阅数据表。  

    当 CTRL 寄存器(地址= 0x00)中的 ENBL 位= 0 时、 DRV8711 为已安装在升压 DRV8711 套件上的 MOSFET 提供驱动电流。 否则 ENBL 位=1、 DRV8711 拒绝为已安装在升压 DRV8711 套件上的功率 MOSFET 提供驱动电流。 这与数据表中提到的相反。
    反复试验表明 、电动机绕组有永久电气损坏的危险、电动机轴承有机械损坏的危险、以上述方式进行。

    这是不可能的。 当 ENBL = 0 时、默认状态不会有来自驱动器的任何输出。 SPI 事务的格式可能不正确。  

    当我们读回所有寄存器时、即使在遵循 DRV8711 数据表中针对 SPI 事务给出的指南后、寄存器也会给出错误或损坏的值。   [/报价]

    这也说明所使用的 SPI 格式存在问题。 使用了什么 MCU 来驱动 — 它是 TI 建议的 LaunchPad 还是其他外部 MCU? SPI 帧格式必须完全遵循数据表中提到的格式。  

      

    [报价 userid=“487726" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor ]请提供嵌入式 c 中全面编写的示例源代码、以验证 SPI 和 PWM 的输入信号波形、我们可以将其移植到我们的所有器件平台上。

     BOOST-DRV8711_FIRMWAREv1.11 用于 特定的 Launchpad。 此外、SLVC500d.zip 也是一个很好的参考、因为它在当前交付的 EVM 中得到了验证。 DRV8711EVM 的完整原理图可从 EVM 网页 https://www.ti.com/lit/zip/SLVC594 下载。 C 源代码是为板载 MSP430F1612 MCU 编写的。

    您使用的器件平台 MCU 是什么? 低级功能必须根据您的平台进行调整。 谢谢你。

    此致、Murugavel    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 

    请! 请查找下面给出的详细答案:   

    好消息:我可以使用当前 MCU 内核 STM32F429ZIT6 正确地读取和写入所有设置到 DRV8711  

    1.使用的 VM 电源: 24V 直流@ 5 安培。

    2. 失速检测仅报告,不影响电机驱动。 失速检测不是间歇旋转的原因。 系统中应该还有其他问题。 -> 这样就没有问题、我们将在能够旋转电机后在后续级共享线圈波形。    

    3. 根据该步进电机的速度与扭矩图、在全步进模式下、其扭矩输出在 3kHz 步进速率下降至 50%以下。 由于扭矩较低、该步进电机可能会以大约 5kHz 或更高的步进速率失速。 在这种情况下、假设线圈电流正确设置为 4A、电机线圈将过热。这是步进电机的预期行为、与 DRV8711 驱动器无关。 在测试中配置的步进模式是什么、特别是在 100kHz 步进速率下。  
    -> 在你作出答复时、我已经理解了这一点。 为避免发热问题、I m 电流以大约 1A (0x17) 的扭矩进行测试。  我之前已经使用 F2BFD400P100 驱动器测试了此电机、步长为 1/64 微步长@64x200 =每转 12800 个脉冲、电流上限为 2.7Amps。  
    我想继续这些设置。 亲切! 建议基本 PWM 频率、使用此频率时、电机可以平稳完成旋转、而不会出现至少从 13RPM 开始到最大 600RPM 的失速。

    4. 。 到目前为止、我已经清楚地了解了 DRV8711 芯片的基本复位过程。  

    5. 您将 STEP 脉冲输入称为 PWM 吗? 每次发出 STEP 输入之前都不需要设置 CTRL 和扭矩。 但是、如果器件进入睡眠和唤醒周期或复位、寄存器将采用数据表中提到的默认值。 编写该代码时必须确保器件在 STEP 脉冲之间不会进入睡眠状态或复位状态。 每次器件复位或从睡眠状态唤醒时、必须将寄存器配置为所需设置。  
    -> 是的、我 m 将阶跃脉冲输入称为 PWM。 STEP 脉冲后、I m 未在 DRV8711 芯片上复位或置于睡眠和唤醒周期、但仍然在发生这种情况。   

    6. 这是不可能的。 当 ENBL = 0 时、默认状态不会有来自驱动器的任何输出。 SPI 事务的格式可能不正确。 这也说明所使用的 SPI 格式存在问题。 使用了什么 MCU 来驱动 — 它是 TI 建议的 LaunchPad 还是其他外部 MCU? SPI 帧格式必须完全遵循数据表中提到的格式。
    -> 更正 SPI 内核的设置后我能够解决这个问题。  

    现在、我需要设置所有寄存器、才能将上述步进电机从 13rpm 旋转到 600RPM 或最大 625RPM。  
    目前、我 m 在 大约 100KHz PWM 下测试电机(但这可能是错误的)、请! 建议启动此电机所需的最小 PWM。  

    请! 将此视为紧急帮助。  

    谢谢  

    Neeraj Gupta.  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    感谢您的更新。

    I m 能够在当前 MCU
    内使用 SPI 内核将所有设置正确读取并写入 DRV8711

    这是很好的了解。  

    为了避免发热问题、我目前以大约 1A (0x17) 的扭矩进行测试。

    降低 IFS(满量程电流)肯定有助于减少发热。 但这也会降低电机的扭矩输出。 电机的额定工作电流为每相 4A、可实现 高达 1kHz 步进速率的最大扭矩输出。  

    PWM 频率、使用该频率、电机可以顺利完成旋转、而不会出现至少从 13RPM 到最大 600RPM 的失速。

    600RPM 表示 10 转/秒或 200 x 10 x 64 = 128kHz 步进速率(步进为 1/64 微步进)。 这意味着在全步进 (FS) 模式下为 2kHz。 根据电机的速度与扭矩间的关系、在 2kHz FS 下、扭矩会降至 40%水平。 如果您使用 1A 进行测试、则意味着扭矩将会降低、电机很可能会失速。

    所需的启动速度为 13 转/分。 这将转化为 200 x (13/60) x 64 = 2.773kHz、步进速率为 1/64 微步进、即 FS 模式下为 43Hz。 这应该不会成为问题、因为扭矩处于最大值 峰值电流电平。  

    为了实现 600RPM、您必须实施梯形斜升运动曲线、其中步进速率在短时间内增加、而不是以 1/64 微步进直接跳转到 128kHz。 以最低速度 2.8kHz 启动电机并斜升至 128kHz。 从 128kHz 开始、大多数步进电机将无法跟上。 我们在 EVM 中实现了这种运动控制。 请参阅随附的文档和伪 C 代码、了解实现加速和减速的梯形运动控制。

    e2e.ti.com/.../5661.Stepper-Motion-Control.pdf e2e.ti.com/.../7737.Motion-profile-C-source-code.pdf

    -> 是的、我 m 将阶跃脉冲输入称为 PWM。 STEP 脉冲后、I m 未在 DRV8711 芯片上复位或置于睡眠和唤醒周期、但仍然在发生这种情况。  [/报价]

    如果其他一切看起来都正确并且仍然发生这种情况、则表明 VM 电压已短暂降至 UVLO 阈值以下。 此事件发生后、您能否读取状态寄存器值并分享以供分析?

    我需要设置上述步进电机从 13rpm 旋转到 600RPM 或最大 625RPM 所需的所有寄存器。  
    目前、我 m 在 大约 100KHz PWM 下测试电机(但这可能是错误的)、请! 建议启动此电机所需的最小 PWM。  [/报价]

    上电和从睡眠状态唤醒后、建议使用以下寄存器设置和序列:

    1. 等待至少 1ms (tSLEEP)。  
    2. OFF 寄存器保留默认值。
    3. 空白寄存器为默认值或设置 ABT = 1。
    4. DECAY 寄存器、将 DECMOD 设置为 101:始终使用自动混合衰减、REST 默认值。
    5. STALL 寄存器、根据应用需求设置。
    6. 驱动寄存器、所有默认值均正常、OCPTH = 00b。
    7. 根据 IFS 电流要求的扭矩寄存器。  SMPLTH 默认值。
    8. 控制寄存器、保持 ENBL = 0b 并将模式更改为 1/64、EXSTALL 默认值、ISGAIN 视 IFS 电流而定、DTIME 默认值。
    9. CTRL 寄存器、逻辑或 ENBL = 1b 以启用输出。

    配置完成后、可以使用梯形运动曲线启动 STEP 输入、从 最小速度 2.8kHz 开始、并逐渐升至所需速度或最大 128kHz。  

    此致、Murugavel  

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用下面给出的计算:

    使用 ISGAIN = 10 作为 0.5–4.0 A 的默认值

    • 当 R_SENSE = 0.05Ω 时、ISGAIN = 10 可以得出:

      • 每扭矩电流 LSB≈0.021484375A(≈LSB/LSB 21.5mA)

      • 扭矩= 255≈5.48A 时的最大 IFS (因此,4A 完全在范围内)。

    • 常见电流的扭矩(近似值):

      • 0.5A→扭矩≈23 (0x17)

      • 1.0 A→扭矩≈47 (0x2F)

      • 2.0A→扭矩≈93 (0x5D)

      • 3.0A→扭矩≈140 (0x8C)

      • 4.0A→扭矩≈186 (0xBA)


    我在 BOOST-DRV8711 评估套件上应用了以下设置(给出的值):  

    //扭矩寄存器的设置
    G_TORQUET_REG.Address = 0x01;
    G_TORQUET_REG.SIMPLTH = 0x01;
    G_Torque_REG.Torque = 0x8C;

    // CTRL 寄存器的设置
      G_CTRL_REG.Address   = 0x00;
      G_CTRL_REG.DTIME   = 0x03;//默认设置
      G_CTRL_REG.ISGAIN   = 0x01;//01:增益为 10 -> Imax = 5.48A 平衡选择->扭矩 21.5mA =(LSB/LSB)
      G_CTRL_REG.EXSTALL   = 0x00;//0:内部失速检测
      G_CTRL_REG.MODE   = 0x06;//0110:1/64 阶跃
      G_CTRL_REG.RSTEP   = 0x00;//0:无操作
      G_CTRL_REG.RDIR   = 0x00;//0:方向由 DIR 引脚设置。  

    重要说明:我使用了上面中您给出的计算(根据电机的 RPM)、我能够获得您建议的 PWM 频率。  

    我还使用了这两个 PDF 中给出的指南   

    5661.步进运动 Control.pdf 7737.运动曲线 C 源代码 code.pdf

    问题:高达 400 转/分、SM2563C40B41 步进电机运行平稳、但当同一步进电机在上侧超过 400 转/分时、电机开始产生较大的振动、一段时间后、电机减速并变得不合理地升温。 DRV-8711 还会触发故障 LED。  

    到目前为止、我已经调整了以粗体突出显示的设置。 请! 如果任何其他设置影响电机转速高达 600RPM、请参考指南。

    请! 再次处理所需的紧急帮助。  

    感谢您的支持

    NEERAJ GUPTA

       




  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    [引述 userid=“675083" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor/6096995

    我在 BOOST-DRV8711 评估套件上应用了以下设置(给出的值):  

    //扭矩寄存器的设置
    G_TORQUET_REG.Address = 0x01;
    G_TORQUET_REG.SIMPLTH = 0x01;
    G_Torque_REG.Torque = 0x8C;

    // CTRL 寄存器的设置
      G_CTRL_REG.Address   = 0x00;
      G_CTRL_REG.DTIME   = 0x03;//默认设置
      G_CTRL_REG.ISGAIN   = 0x01;//01:增益为 10 -> Imax = 5.48A 平衡选择->扭矩 21.5mA =(LSB/LSB)
      G_CTRL_REG.EXSTALL   = 0x00;//0:内部失速检测
      G_CTRL_REG.MODE   = 0x06;//0110:1/64 阶跃
      G_CTRL_REG.RSTEP   = 0x00;//0:无操作
      G_CTRL_REG.RDIR   = 0x00;//0:方向由 DIR 引脚设置。  

    [/报价]

    消隐和衰减的设置是什么? 您是否在空白处启用了 ABT、并使用了 101:始终使用自动混合衰减进行衰减? 请确认。

    [引述 userid=“675083" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor/6096995

    重要说明:我使用了上面中您给出的计算(根据电机的 RPM)、我能够获得您建议的 PWM 频率。  

    我还使用了这两个 PDF 中给出的指南   

    5661.步进运动 Control.pdf 7737.运动曲线 C 源代码 code.pdf

    [/报价]

    好的、这很好。 感谢您的更新。  

    问题:转速高达 400RPM、SM2563C40B41 步进电机运行平稳、但当同一步进电机在上侧超过 400RPM 时、电机开始产生较大的振动、一段时间后、电机减速并变得不合理地升温。 DRV-8711 还会触发故障 LED。  [/报价]

    根据大于 400RPM 的电机特性、电机转矩输出将小于额定扭矩的 50%。 振动可能是由于电机的扭矩输出与负载要求不足所致。 它还可能是机械共振、具体取决于您的系统、超出了 DRV8711 器件相关行为的范围。  

    您能否共享线圈电流波形:线圈 A 或 B(转速小于 400RPM)和>400RPM(转速较大且减速时)。 关于电机加热、这是步进电机的预期行为。 当电机运转不平稳时、其 BEMF 显著下降、并且所有功率都通过线圈 I2R 以热量的形式耗散。 应避免在此状态下运行步进电机。 当速度进一步增加(例如 450 RPM 或更高)时会发生什么情况? 也有助于获取这些速度的电流波形。 如果问题是 400RPM 左右的机械共振,则可以跳过该特定的速度范围以避免共振 — 这是业界用于克服共振相关问题的典型解决方案。 您可能需要在互联网上搜索“步进电机共振及其避免方法“。  

    DRV8711 触发故障 LED。 发生此故障时、您能否分享状态寄存器读数的内容? 这将有助于进行诊断和电流波形。 如果没有电流波形、就无法了解电机在 400RPM 以上振动时应用中发生了什么。

    您是否还可以尝试将 VM 电源电压从 24V 增加到 33V 或 36V、看看您是否可以将步进电机驱动至 400RPM 以上? 由于来自 DRV8711 的恒定电流驱动、增加 VM 电压不会影响步进电机电流。 如果增大 VM 解决了速度问题、则意味着 VM 24V 不足以克服大于 400RPM 的 BEMF、这也是步进电机的已知行为。  

    在您之前的某个帖子中、您提到了“ 我之前已经使用 F2BFD400P100 驱动器测试了此电机、步长为 1/64 微步长@64x200 =每转 12800 个脉冲、电流上限为 2.7Amps。 “。  但您没有提到测试的步进速率。 您是否测试过 400 转/分至 600 转/分的转速? 您是否还可以使用此驱动器捕获大于 400RPM 的线圈电流波形以进行比较?  

    此致、Murugavel  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我能够解决我的问题,通过运行电机从 400 到 600 RPM 基于相同的设置,只需降低微步进和配置相应的步进频率根据您给出的计算. 是的、我已经 使用 F2BFD400P100 驱动器测试了电机上的 400 转/分至 600 转/分转速、运行非常平稳。 当然、我也想与该驱动器共享 400RPM 以上的线圈电流波形进行比较、但我发现  F2BFD400P100 驱动器的 PCB 上有保形保护涂层。

    现在只剩下一个问题、

    1.我是否需要非常及时地探测状态寄存器、因为当我读取状态寄存器 DRV8711 时会停止驱动来为 MOSFET 供电。

    只需回答这个问题。  

    很多 x 很多 x 1000 感谢整个 TI 团队帮助解决该问题。  

    谢谢

    Neeraj Gupta.



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    我很高兴您的问题已得到解决。 请将此帖子标记为“已解决“、谢谢。

    是的、我已经 测试过使用 F2BFD400P100 驱动程序在电机上方运行 400 RPM 至 600 RPM、运行非常平稳。 当然、我也想与此驱动器分享大于 400RPM 的线圈电流波形进行比较、但我发现  F2BFD400P100 驱动器的 PCB 上有保形保护涂层。

    理想情况下、步进电机的线圈电流应由非接触式示波器电流探头捕获。   

    [引述 userid=“675083" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1581609/boost-drv8711-stepper-motor-card-with-sm2563c40b41-stepper-motor/6098923

    现在只剩下一个问题、

    1.我是否需要非常及时地探测状态寄存器、因为当我读取状态寄存器 DRV8711 时会停止驱动来为 MOSFET 供电。

    [/报价]

    对状态寄存器的读取操作不应停止驱动 MOSFET。 我们会定期读取所有寄存器、包括 EVM GUI 中的状态、而不会出现任何问题。 正确的“读取“操作不应修改寄存器内容。 我怀疑您的固件可能意外写入状态寄存器。  

    此致、Murugavel  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我只是在没有任何写入的情况下读回状态寄存器、DRV8711 驱动器仍停止工作。 如果我没有从任何寄存器读取任何内容、则驱动器工作正常并遵循命令。 为 IS-Gain 01:增益为 10 时、扭矩寄存器配置为大约 3A。 深入测试后的另一个问题表明、当步进电机旋转速度小于 80RPM 左右时、它会平稳旋转、但当步进电机旋转大于 80RPM 时、DRV-8711 会升高失速 LED 亮起、然后失速 LED 会熄灭。  

    在整个测试过程中需要注意的重要一点:要平稳旋转电机、必须绕过任何寄存器的读数。  

    我不知道如何继续、但是的电机现在正在旋转。 请! 建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    我只是在没有任何写入的情况下读回状态寄存器、但 DRV8711 驱动器仍停止工作。 如果我没有从任何寄存器读取任何内容、则驱动器工作正常并遵循命令。 为 IS-Gain 01:增益为 10 时、扭矩寄存器配置为大约 3A。 [/报价]

    出于调试目的、在读取状态且电机停止后、您能否立即读取所有寄存器并将值发送给我们? 我们需要查看哪个位已更改。 您的 MCU 与 BOOST-DRV8711 板之间是如何实现硬件连接的? 您能发送这张图片、电路图或示意图吗?

    我无法使用 EVM 重现此问题。  

    经过深入测试后的另一个问题表明、当步进电机旋转速度小于约 80RPM 时、它会平稳旋转、但当步进电机旋转大于约 80RPM 时、DRV-8711 会使失速 LED 亮起、然后失速 LED 会“关闭“。  [/报价]

    这是因为当电机< 80RPM 时、BEMF 读数低于 STALL 寄存器中的失速阈值。 这表明失速检测效果良好。 您必须微调失速检测设置、使其与步进电机匹配。

    VDIV 的默认值为 BEMF/32。 您可能必须更改该值、具体取决于步进电机。 对于低 BEMF 电机、这应设置为 BEMF/4。 对于有噪声的 BEMF、一些步进电机的 SDCNT 值必须从默认值 0 增加。 同样、默认的 SDTHR 为 0x40、可能必须对其进行微调、以避免发生错误的失速检测。 对于某些步进电机、扭矩寄存器中的 SMPLTH 也可能必须增加。  如果不需要失速检测、您可以设置 CTRL 寄存器中的 EXSTALL 位。 此设置将禁用内部失速检测并避免 STALL LED 亮起。

    此致、Murugavel  

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当 STALL LED 变为“ON"时“时、使用 SPI 从状态寄存器读取状态位时。 然后  每次都发现 STD 和 STDLAT 位为高电平、UVLO 位也会变为“高电平“、但仅当电机 rpm 小于 80RPM 时、才会保持非常短的持续时间。 但当 RPM 大于 80 RPM 时、这些位是“低“位。 同样、在调试时很难获得此信息。 由于电机在大多数情况下拒绝运行、并且即使这些位被清除以重新启动电机、也会产生急冲。 因此、我们需要绕过该读数以使电机平稳运行。 此外、还有来自电机的嗡嗡声、就像食品混合器电机发出的嗡嗡声一样。 虽然我已经使用其他成熟的步进电机驱动器测试了该电机、但该电机以静默方式运行。 请! 建议。    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    当 STALL LED 变为“on"时“时、使用 SPI 从状态寄存器读取状态位时。 然后  每次都会找到 STD 和 STDLAT 位为高电平、

    失速检测和报告仅用于指示目的、不会停止电机运行。 当内部失速计数低于 STALL 寄存器中的 SDTHR 时、会检测到失速。 您可能必须降低阈值。 但由于 BEMF 电压较低、低速时通常会获得失速报告。 这取决于电机结构。 这就是 DRV8711 支持外部失速检测的原因、这可以通过 MCU ADC 输入和算法来完成。 在内部检测 EXSTALL = 0 时进行失速检测不会停止电机。 为暂时避免失速检测、您可以设置 EXSTALL = 1。  

    UVLO 位也会变为“高电平“、但持续时间很短、仅当电机转速小于 80RPM 时。 但当 RPM 大于 80 RPM 时、这些位是“低“位。 同样、在调试时很难获得此信息。 [/报价]

    当检测到 UVLO 时、驱动器将无法运行。 这是内置保护机制。 仅当 VM 短暂降至 UVLO 下降阈值以下时、才会检测到 UVLO。 这表示电源有问题。 您可以使用示波器观察 VM 电压、在 FAULTn 引脚变为低电平时进行捕获、并与我们分享、此时此引脚将在检测到 UVLO 时立即变为低电平。

    读取状态寄存器不会错误地触发 UVLO。 我尝试了 多次读取状态寄存器、但使用 DRV8711EVM 时没有出现任何问题。 我们无法重现此问题。

    DRV8711 也是一款成熟的步进驱动器。 自 2013 年以来、全球多家客户都在使用它、使用时间已超过十年。 这些器件中有数百万个 用于许多应用、没有此类错误的 UVLO 报告。 这与您的设置有关。 请尝试使用其他电源。

    另外还有来自电机的嗡嗡声、就像食品搅拌器电机发出的声音一样。 虽然我已经使用其他成熟的步进电机驱动器测试了该电机、但该电机以静默方式运行。 请! 建议。    [/报价]

    其他驱动器可能已经正确调整了步进驱动器、但您可能无法调整 DRV8711 设置来适合您的步进电机。 其他驱动器使用哪种微步模式? 我们可以获取其他驱动器的电流波形来与 DRV8711 的电流波形进行比较吗?

    请共享线圈电流波形以进行进一步分析。 没有电流波形、我们就无法对此进行注释。 DRV8711 支持高达 256 微步进的模式、该模式将是最平滑的模式、且可闻噪声极低。 TOFF 必须适合您的电机才能尽可能降低可闻噪声。 请放大电流波形并共享 tON 和 tOFF 周期以进行分析。 谢谢你。

    此致、Murugavel  

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1.我已经解决了 UVLO 的问题,通过在 DRV8711 驱动器的电源输入处安装了 2 个 200uF 63V 电容器。

    2.微步进增加到 256,当然噪音降低了,但问题电动机无法在 250RPM 以上平稳旋转,即使在 扭矩寄存器中将电流值增加到 4A 左右。

    我应该具有已使用该可用的步进电机进行测试的其他驱动器的电流波形  、但问题是其他驱动器的电流波形无法与 DRV8711 的电流波形进行比较、因为存在涂层来隐藏 PCB 以防止任何探测。  

    但不是问题、我的电平最好提供电流波形。  

    我刚尝试确认、在 DRV8711 中观察到的任何行为在电机运行几天后都是正常或异常。 到目前为止,我已经解决了大部分的问题。 但不知何故、I m 无法将电机在较低转速(高达 200RPM)下发出的嗡嗡声减少到原来的水平。    

    请! 如果可以进一步改进、请根据您的经验向我提供建议。    





     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Neeraj、

    我应该具有已使用该可用步进电机进行测试的其他驱动器  的共享电流波形、但问题是其他驱动器的电流波形访问无法与 DRV8711 的电流波形进行比较、因为有保形涂层可隐藏 PCB 以防止任何探测。  [/报价]

    无需访问 PCB 即可捕获电流波形。  https://www.hantek.com/products/detail/77 等低成本钳位电流探头 可以钳位到其中一根步进电机导线、并可使用示波器采集其电流波形。  

    现在,我已经解决了大部分问题。 但不知何故、I m 无法将电机在较低转速(高达 200RPM)下发出的嗡嗡声减少到原来的水平。    
    [/报价]

    嗡嗡声 也可能由电源纹波引起。 尝试使用容量更高的电源。 如果电流波形看起来不是具有 256 微步进模式的干净正弦波、则电机可能会产生明显的可闻噪声。 希望您能够获得夹钳式电流探头并查看电流波形。 此时我没有更多的输入。 请关闭此主题已解决。 谢谢你。

    此致、Murugavel  

    [/quote]