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.

[参考译文] DRV3946-Q1:尖峰和保持功能似乎不起作用

Guru**** 2399305 points


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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1423687/drv3946-q1-spike-and-hold-functionality-does-not-appear-to-work

器件型号:DRV3946-Q1

工具与软件:

您好!

我已经在使用这款器件一段时间了、它最终大部分都在工作。  测试团队最近通知我、器件不具有尖峰和保持功能...

我对该器件进行了设置、以便能够将 EN 和 EN1用作器件所控制的两个螺线管的单独控制、我想我还对其进行了设置、以便尖峰持续大约250ms、然后保持为峰值电流值的%40、但它永远不会进入保持模式。 对于器件、电流始终保持为最大值、约为400mA。

我按此方式设置了寄存器。

SPI 读取为我们提供寄存器地址0x1 RDATA -> 0xc1 = 0x1 0x88
SPI 读取为我们提供了寄存器地址0x2 RDATA -> 0xC2 = 0x8 0x80
SPI 读取为我们提供寄存器地址0x3 RDATA -> 0xc3 = 0x8 0x0
SPI 读取为我们提供寄存器地址0x4 RDATA -> 0xc4 = 0x8 0x0
SPI 读取为我们提供寄存器地址0x5 RDATA -> 0xc5 = 0x0 0x0
SPI 读取为我们提供寄存器地址0x6 RDATA -> 0xc6 = 0x1 0x0
SPI 读取为我们提供寄存器地址0x7 RDATA -> 0xc7 = 0xff 0x9C
SPI 读取为我们提供寄存器地址0x8 RDATA -> 0xc8 = 0x1 0x0
SPI 读取为我们提供寄存器地址0x9 RDATA -> 0xc9 = 0xff 0x9C
SPI 读取为我们提供寄存器地址0xA RDATA -> 0xca = 0x0 0x0
SPI 读取为我们提供寄存器地址0xb RDATA -> 0xcb = 0x0 0x0
SPI 读取为我们提供了寄存器地址0xc RDATA -> 0xcc = 0xb9 0x4c
SPI 读取为我们提供了寄存器地址0xd RDATA -> 0xcd = 0xb9 0x4c
SPI 读取为我们提供寄存器地址0xe RDATA -> 0xce = 0x0 0x0
SPI 读取为我们提供寄存器地址0xF RDATA -> 0xCF = 0x0 0x0
SPI 读取为我们提供寄存器地址0x10 RDATA -> 0xd0 = 0xc0 0x40
SPI 读取为我们提供寄存器地址0x11 RDATA -> 0xD1 = 0xc0 0x40
SPI 读取为我们提供了寄存器地址0x12 RDATA -> 0xd2 = 0x24 0x24
SPI 读取为我们提供寄存器地址0x13 RDATA -> 0xd3 = 0x0 0xff
SPI 读取为我们提供了寄存器地址0x14 RDATA -> 0xd4 = 0xd3 0xc
SPI 读取为我们提供寄存器地址0x15 RDATA -> 0xd5 = 0x80 0x0
SPI 读取为我们提供寄存器地址0x16 RDATA -> 0xd6 = 0x0 0xDE
SPI 读取为我们提供了寄存器地址0x17 RDATA -> 0xd7 = 0x26 0x23
SPI 读取为我们提供寄存器地址0x18 RDATA -> 0xd8 = 0x0 0x0
SPI 读取为我们提供了寄存器地址0x19 RDATA -> 0xd9 = 0xb 0xb
SPI 读取为我们提供了寄存器地址0x1a RDATA -> 0xda = 0xa0 0x0
SPI 读取为我们提供了寄存器地址0x1b RDATA -> 0xdb = 0x0 0x56
SPI 读取为我们提供寄存器地址0x1c RDATA -> 0xdc = 0x80 0xb1
SPI 读取为我们提供了寄存器地址0x1d RDATA -> 0xdd = 0x12 0x5f
SPI 读取为我们提供了寄存器地址0x1E RDATA -> 0xDE = 0x0 0x87
SPI 读取为我们提供了寄存器地址0x1f RDATA -> 0xdf = 0x0 0x0

我一直在玩的命令寄存器、它们目前包含以下内容。

SPI 读取为我们提供寄存器地址0x1c RDATA -> 0xdc = 0x80 0xb1
SPI 读取为我们提供了寄存器地址0x1d RDATA -> 0xdd = 0x12 0x5f
SPI 读取为我们提供了寄存器地址0x1E RDATA -> 0xDE = 0x0 0x87

我尝试了许多不同的设置、但未能成功使其达到尖峰、然后移至保持状态。

所有的规范在读取时就好像它应该能够自己完成一样、我担心的是每次我激活它时、我实际上必须使用 cmd1寄存器更换器件、以将其强制移动到%50、我真的不需要这样做。  

当我使用 EN 线启用螺线管时、drv3946是否实际上会自己执行此操作? 或者、我是否必须在激活 cmd1寄存器后进入该寄存器、以自行实现该功能?

您能给我任何有关这方面的见解都将会很有帮助。

谢谢

Rick

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

    大家好、Rick、

    很抱歉耽误你的时间。 给我,直到结束这个断语,快速尝试这个在工作台上,并返回给你。

    此致!

    Keerthi

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

    你好。 您是否已成功获得此方面的任何结果?  此外、在哪里可以获得 drv3946的勘误表副本?

    谢谢

    Rick

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

    大家好、Rick、

    对于响应缓慢、我们深表歉意。

    指示的状态看起来很好。

    不过、我看到 STATUS0寄存器的位7和3显示为高电平、这表示开路负载或接地短路这种故障

    您认为这在系统中是否存在可能性吗?

    谢谢!

    Ibinu

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

    抱歉、我想我从错误的器件获取了状态寄存器。 我的板上有四个器件、总共有8个阀门...  其中一半未组装。 不过、配置寄存器设置完全相同。  我的目的是仅共享配置寄存器设置。  因此不、这不是导致这个的原因。 有其他的东西,但我只是不明白什么。

    我能够做的一件事是使用命令寄存器将电流重置为%50、这已经奏效、但我确实需要设置一个 IO 位给阀门通电或通电、让 drv3946能够执行它应该执行的任务、为我执行尖峰和保持操作。

     在配置寄存器设置中、我是否可以查看其他任何因素以确定发生了什么情况?  此外、是否有一些勘误表可以查看、看看其中的某些勘误是否指向某个解决方案?

    谢谢!

    Rick

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

    尊敬的 Richard:

    您能否在发出电流调节命令后向我提供 PVDD、输出电压和电流的波形。

    查看状态寄存器也有助于查看出现的故障类型。

    谢谢!

    Ibinu

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

    在该线程中捕获数据也对他人有所帮助。

    线圈电压以24伏运行

    线圈电阻为56.3欧姆

    线圈电感- 237.5毫亨

    仅 EN1线路被置为有效时器件的寄存器转储。

    EN1有效、DIS 无效。 nFault 无效、器件错误无效、状态寄存器0 (地址0x1)中的器件警告有效

    显示为参考的加载运行 Micropython。

    >>导入 main
    错误:代码=200 attr=VALLEE_4对地短路或开路、阀门控制丢失
    错误:代码=200 attr=VALLE_3对地短路或开路、阀门控制丢失
    错误:代码=200 attr=VALLEE_6对地短路或开路、阀门控制丢失
    错误:代码=200 attr=VALLEY_5对地短路或开路、阀门控制丢失
    错误:代码=200 attr=VALLEY_8对地短路或开路、阀门控制丢失
    错误:代码=200 attr=VALLEY_7对地短路或开路、阀门控制丢失
    0 SVS 1 1
    正常:SEQ_ID=0阀1状态设置为1
    错误:代码=311 ATTR=CONTROLLER_1违反由 CHx_PT 设置的最大阈值
    错误:代码=318 ATTR=CONTROLLER_1违反由 HRT_MIN_THRS 设置的最小阈值
    错误:代码=208 ATTR=CONTROLLER_1欠流锁定警告
    错误:代码=222 ATTR=CONTROLLER_1保持电流调节期间纹波低警告
    错误:代码=224 ATTR=CONTROLLER_1在保持电流调节期间保持电流低警告
    0直流
    转储 DRV3946 #1…
    SPI 读取为我们提供寄存器地址0x1 RDATA -> 0xc1 = 0x15 0x10 (STATUS0、EN1置为有效、DIS、nFault、器件错误未置为有效。 器件警告置位)
    SPI 读取为我们提供了寄存器地址0x2 RDATA -> 0xC2 = 0x38 0x80
    SPI 读取为我们提供寄存器地址0x3 RDATA -> 0xc3 = 0x21 0x30
    SPI 读取为我们提供寄存器地址0x4 RDATA -> 0xc4 = 0x0 0x0
    SPI 读取为我们提供了寄存器地址0x5 RDATA -> 0xc5 = 0x7d 0x0
    SPI 读取为我们提供寄存器地址0x6 RDATA -> 0xc6 = 0x9C 0x0
    SPI 读取为我们提供寄存器地址0x7 RDATA -> 0xc7 = 0x0 0x0
    SPI 读取为我们提供寄存器地址0x8 RDATA -> 0xc8 = 0x0 0x0
    SPI 读取为我们提供寄存器地址0x9 RDATA -> 0xc9 = 0x0 0x0
    SPI 读取为我们提供了寄存器地址0xA RDATA -> 0xca = 0x80 0x14
    SPI 读取为我们提供寄存器地址0xb RDATA -> 0xcb = 0x0 0x0
    SPI 读取为我们提供了寄存器地址0xc RDATA -> 0xcc = 0xb8 0x4d
    SPI 读取为我们提供了寄存器地址0xd RDATA -> 0xcd = 0xb8 0x4e
    SPI 读取为我们提供寄存器地址0xe RDATA -> 0xce = 0x0 0x0
    SPI 读取为我们提供寄存器地址0xF RDATA -> 0xCF = 0x0 0x0
    SPI 读取为我们提供寄存器地址0x10 RDATA -> 0xd0 = 0xc0 0x40
    SPI 读取为我们提供寄存器地址0x11 RDATA -> 0xD1 = 0xc0 0x40
    SPI 读取为我们提供了寄存器地址0x12 RDATA -> 0xd2 = 0x24 0x24
    SPI 读取为我们提供寄存器地址0x13 RDATA -> 0xd3 = 0x0 0xff
    SPI 读取为我们提供了寄存器地址0x14 RDATA -> 0xd4 = 0xd3 0xc
    SPI 读取为我们提供寄存器地址0x15 RDATA -> 0xd5 = 0x80 0x0
    SPI 读取为我们提供寄存器地址0x16 RDATA -> 0xd6 = 0x0 0xDE
    SPI 读取为我们提供了寄存器地址0x17 RDATA -> 0xd7 = 0x26 0x23
    SPI 读取为我们提供寄存器地址0x18 RDATA -> 0xd8 = 0x0 0x0
    SPI 读取为我们提供了寄存器地址0x19 RDATA -> 0xd9 = 0xb 0xb
    SPI 读取为我们提供了寄存器地址0x1a RDATA -> 0xda = 0xa0 0x0
    SPI 读取为我们提供了寄存器地址0x1b RDATA -> 0xdb = 0x0 0x56
    SPI 读取为我们提供寄存器地址0x1c RDATA -> 0xdc = 0x80 0xb1
    SPI 读取为我们提供寄存器地址0x1d RDATA -> 0xdd = 0x12 0xbc
    SPI 读取为我们提供了寄存器地址0x1E RDATA -> 0xDE = 0x0 0x0
    SPI 读取为我们提供了寄存器地址0x1f RDATA -> 0xdf = 0x0 0x0

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

    大家好、Rick、

    我再次浏览了设置文件。

     我找到了几个要点

    地址0x2 (状态1):PVDD_OV 似乎为高电平、这意味着 PVDD_OV_SHUTOFF_EN 将确定驱动器是否会根据 PVDD 进行关断

    2.地址0x17 (配置 B0 ):第5位似乎是高电平 ,这意味着 meansPVDD_OV_SHUTOFF_EN =1

    您是否可以尝试将#2中所述的此位保持低电平并在 CLR-FAULT 之后重试

    谢谢!

    Ibinu

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

    我已尝试该功能、没有看到它将进入保持模式。  

    PVDD_OV 也一样。 因为我们使用24伏来驱动阀门、并且 PVDD 为24伏、所以始终如此。 鉴于阈值为13.5伏、我希望 PVDD_OV 始终设置为 true。

    谢谢

    Rick

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

    大家好、Rick、

    感谢您的耐心。 我再向您发送一个会议邀请。 当器件开启并进行电流调节时、您能为输出节点上的波形和流经线圈的电流提供帮助吗?

    谢谢!

    Ibinu