DRV10987 在No Motor Fault状态 FG信号出现异常PWM信号

Other Parts Discussed in Thread: DRV10987

      DRV10987 的 FG信号为实时反馈电机稳定闭环状态(config设置为Output FG in only closed loop)的转速信号,当侦测到错误出现时应该需要拉高(3.3V)FG 信号。但是,当电机的U、V、W三相中的某相或者全部接触不良的情况下,DRV10987可以侦测到错误(config设置侦测 no Motor Fault),FG输出却出现了频率逐渐减弱的PWM信号。目前通过对比发现:Analog和PWM输入控制转速的情况下都会出现这种现象,而通过IIC设定转速的情况下当No Motor Fault出现时 FG信号却能正常的拉高。  请问需要如何设置在Analog和PWM控制转速的情况下也能使出现错误时FG信号真实的反馈电机状态(如拉高,而不是频率逐渐变弱的PWM信号,这样系统会误认为电机仍然在旋转)。

  • 为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上https://e2e.ti.com/support/motor-drivers/f/38,将由资深的工程师为您提供帮助。我们的E2E英文社区有TI专家进行回复,并得到全球各地工程师的支持,分享他们的知识和经验。

  • 你好,麻烦帮忙转过去。我好像不能在E2E英文技术论坛上提问。
    The FG signal of drv10987 is the real-time feedback motor speed signal of stable closed-loop state, When error is detected ,the FG signal will be pulled up to "High". But now a problem is found in the application, when the U\V\W are in poor contact or no contact(Before the no contact the motor works normally), FG outputs PWM signal and the frequency decreases gradually ( config detect no Motor Fault), In this way, the system mistakenly assumes that the motor is still rotating. So how to set the config register to feedback the condition of no contact of U\V\W?
    Now my EEPROM Config is follow:
    0X90 0X102E
    0X91 0X0B3A
    0X92 0X08C0
    0X93 0X12EB
    0X94 0X3B0F
    0X95 0XF843
    0X96 0X006A
  • 抱歉,造成您不好的体验。 已为您递交问题,如需跟进,您可以直接在这个帖子中回复英文,我可以为您传递。

    https://e2e.ti.com/support/motor-drivers/f/38/t/965451

  • The phase U current is checked after transitioning from open loop to closed loop. If the phase U current is not greater than 140 mA then the motor is not connected and this condition is treated and reported as a fault. FG signal is generated by detecting the zero-crossings of phase U current.

    1. Do you know which phase is not connected to the motor? If it is phase U then I expect FG to be pulled High as there will be no current in phase U. 

    2. Is the motor disconnected from the device before the motor enters closed loop or after closed loop? From your post, I understand that the device detects "No motor fault" so I'm assuming the motor is disconnected before the device enters closed loop. If the motor is disconnected after it enters closed loop, then the device will not detect "No motor fault" as this fault check is done after transitioning from open loop to closed loop.

    My suggestion will be to read the fault register (address: 0x00) bit 3 to know if there is a "No Motor Fault". If this bit is set to 1 then we can ignore the FG signal as the motor is not connected to the device. 

  • Thanks for your reply.

    Yes ,the motor is disconnected after it enters closed loop. Now ,When the motor doesn't rotate, my system needs hardware protection (There is a delay in the software reading register), so I use the FG signal to detect the fault of the motor(Hardware detect).

    Configure EEPROM to detect wrong KT,when motor is disconnected on closed loop,FG will pulled up to high .But Kt will change with the speed 、temperature read by the DEV10987 Demo Tools. I'm afraid there will be mistakes when motor works well. So any other reliable hardware detect suggestions?
  • I agree that there will be a propagation delay in the order of microseconds in reading the registers. Is your system not tolerant to this delay? Adding external current sense resistors in series to either the power supply or the phases will be the next option but I see this as a complicated process in terms of implementation. The best way to detect no-motor fault without making any hardware modifications will be to read the fault register or measure the change in frequency of FG signal as suggested in my previous post.
  • thanks for your confirm.