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.

[参考译文] DRV8434SEVM:失速检测+ Dir 通过 SPI 串行运行

Guru**** 2463330 points
Other Parts Discussed in Thread: DRV8434SEVM, DRV8462, DRV8434S, DRV8889-Q1

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1305376/drv8434sevm-stall-detection-dir-over-spi-behaving-strangely

器件型号:DRV8434SEVM
主题中讨论的其他器件: DRV8462DRV8434SDRV8889-Q1

您好!

终于得到8434工作后(非常感谢 Murugavel! e2e.ti.com/.../4957431、我在一个电机上遇到了两种奇怪的行为、而8462上并未发生这种行为:

  1. 只有当我将1写入寄存器0x07 - 0×1F (而不是0×18)上的所有保留位时、失速检测似乎才起作用。 根据数据表、这些位应保留为零、但如果我这样做、失速检测不会按预期工作。  
  2. 似乎在步骤中向 DIRECTION 位写入1。 寄存器不像8462上那样正常工作-电机继续沿上一方向旋转。 我们使用的是 SPI 上的步进和方向控制、而不是引脚、区别在于写入的是0x7M 或0xFM、而 M 是我们要使用的微步进模式。

我们的设置如下:

  • 0x04至0x8F (默认值+ EN_OUT=1)
  • 0x07至0x18 (EN_STL=1)
  • 0x08至3。
  • 我们还将 TRQ_DAC 设置为0xC0、并尝试了更低的百分比(=较高的值)。

谢谢!

投资回报(ROI)

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

    您好 ROI、

    我们又见面了!  

    1.我从未见过这种情况。 写入0x18就足够了。 事实上、我让 DRV8434SEVM 运行步进电机进行另一个测试。 我已使用 GUI 进行了验证、我们绝不会写入这些保留位。

    2.我还使用同一个运行步进电机的 DRV8434SEVM 在 SPI_DIR = 1时验证了 CTRL3 (地址0x05)中的 DIR 位运行情况。 请注意、DRV8462中的 SPI、DIR 和 STEP 寄存器是 CTRL2 (地址0x05与 DRV8434S 相同、但标签为 CTRL2)。  

    失速阈值寄存器0x08 = 3似乎是一个非常低的值。 您是否了解了步进电机或使用的手动阈值模式? CTRL7 (0x09)寄存器中的阈值高4位设置和其他设置是什么? 当电机以目标速度运行且没有失速时、扭矩计数是多少?

    此致、Murugavel

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

    尊敬的 Murugavel:

    这是我的乐趣!

    关于您的问题:

    • 我正在执行手动阈值-但3个阈值在8462上正常
    • 我们没有触摸4个高位-所以我想它们是默认位、
    • 读取 SPI 时、我始终收到 TRQ 计数0 -我已读取不同的寄存器(0x03)以检查 SPI、这是我写入该寄存器的值(0xC0)、因此 SDO 正常。

    我想指出的是、我仍然在0x00寄存器和每次 SPI 写入时收到 SPI 问题-但 SPI 显然可以工作。

    谢谢!

    投资回报(ROI)

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

    高投资回报(ROI)、

    感谢您的更新。 您说"在通过 SPI 读取时、我始终接收到 TRQ 计数为0 "。 那么、如果您对 RSVD 位进行编程、它是否发生了变化? DRV8434S 中保留位的读回值是多少。 不失速时、在 DRV8462中读取的扭矩计数是多少?

    关于 SPI 错误、您能分享几个事务的捕获吗? 它们是否符合下图的要求? SCLK 必须空闲低电平、nSCS 必须空闲高电平。 时钟相位和极性必须符合标准。  

    此致、Murugavel

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

    您好!

    SPI 设置如下-在8462上工作相同(实际上更好):

    • 常规 CS -如您所说、使用量低
    • MSB 优先
    • SPI 模式1 - CLK 高电平有效、跟踪边沿
    • 5000000时钟速度-已尝试不同速度、但不可用

    如前所述-尽管 SPI FAULT 位为高电平、但写入和读取的其他数据仍正常。

    此外-是否有类似于8462上的流程图来尝试8434上的失速学习过程? 我尝试了8462数据表中图表之类的东西、但都没有用。

    谢谢!

    投资回报(ROI)

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

    您好!

    我附上了 DRV8889-Q1器件的流程图、该流程图与之类似、但对于失速检测的分辨率较低。 此流程图可用作参考。

    e2e.ti.com/.../8272.DRV8889Q1_5F00_Stall_5F00_Detect_5F00_Flowchart.pdf

    此致、Murugavel

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

    您好!
    这是我尝试过的过程-对我的不满它不工作:(  

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

    您好!

    今天是一个美国假期。  明天期待响应。

    此致、

    瑞安

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

    我知道,谢谢!

    为明天添加:

    我终于能够通过从控制器芯片中删除所有日志使它正常工作。 它必须增加了一个奇怪的开销。

     我现在的问题是一个计时+参数游戏之间:

    • SPI 速度-已尝试1Mbit 至20Mbit
    • 在几步之间休眠-已尝试10us 至1ms
    • 微步进-尝试了几乎所有选项
    • 阈值-从3到200次尝试

    我假设寄存器参数是取决于电机的、因此我只需要自行检查这些参数-但是否有建议的最优时序参数?

    谢谢!

    投资回报(ROI)

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

    高投资回报(ROI)、

    感谢您的更新。 我很高兴您能够使它正常工作。 就时序和参数设置而言、正如您提到的、大多数器件取决于应用、但某些规格存在界限。 我已将我的评论添加到您发布的要点中。 我希望这对您有所帮助。 请单击"已解决"关闭此主题。 谢谢。

    • SPI 速度-已尝试数据表中的1Mbit 至20Mbit >> tCLK 最短周期规格为100ns。 最大 SCLK 为10 MHz。 20Mbit 超出规格。
    • 在几步之间休眠-已尝试10us 至1ms >>根据应用、您可以选择在几步之间休眠。 不过、您需要考虑器件的两种行为。 1) 1)睡眠期间、H 桥将处于 Hi-Z 状态、这意味着步进电机端子悬空、并且仅存在定位扭矩。 2)从睡眠状态唤醒、即在 nSLEEP = 1后不久、器件会花费1.2ms 时间来激活数字和驱动电路、并完全准备好进行通信和驱动。 必须考虑每次器件从睡眠模式唤醒时的唤醒时间。 请注意、在器件的指定工作条件下、最坏情况下的唤醒时间为1.2ms。  
    • 微步进-尝试了几乎所有选项>>是的、可以动态更改。
    • 阈值–尝试范围为3至200 >>机械刚性电机失速情况的经验法则是在电机以目标速度正常运行时观察扭矩计数、并将阈值设置为该值的~ 50%。 这将是一个很好的起点、您可以根据需要进行微调。

    此致、Murugavel