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.

DRV8214: Recommendations for Accurate Ripple Counting at Lower PWM Duty Cycles

Part Number: DRV8214

Tool/software:

Hello,

I've been using the DRV8214 to drive a small brushed DC motor. It performs well when operating at a 100% duty cycle, but the ripple counts become quite noisy when I reduce the PWM duty cycle to 50%. I understand that this is one of the challenges mentioned in the Application Note, but despite following the recommended workarounds, I haven't found an effective method to obtain accurate ripple counts at lower speeds for this tiny motor.

Ideally, I need to vary the motor speed while maintaining precise ripple counts to accurately determine the motor shaft's position. Do you have any recommendations for achieving this?

I'm using an Arduino Giga R1 microcontroller, and the brushed DC motor has a Kv rating of 0.00009 V/rpm and an N_R value of 6. Since the application involves a variable load, it's crucial to sense the motor shaft position to protect the motor from being damanged by the load conditions.

Looking forward to your insights!

Thanks,

  • Hello,

    The difficulty using ripple counting with small currents is the device is unable to distinguish between noise and current ripples. The resolution of register might not be large enough to support such a small Kv rating motor. Have you tried increasing the KMC_SCALE value. The largest setting is setting KMC_SCALE = 11b,

    KMC = (Kv/N_R)*KMC_SCALE = (0.00009/6)*24*2^13 = 2.95 = ~3. 

    This register has 255 bits of resolution and the higher the KMC the higher the bit precision. 

    This value can try to be manually tuned as well following the datasheet in section 9.2.3.1.2.2 Case II.

    Best,

    David

  • Thanks, David, for your response. I obtained the same theoretical KCM value using the provided formula. However, the actual KMC value that yields steady ripple current readings is approximately 27 (from manual tuning) for 100% PWM duty cycle. I suspect this discrepancy may be related to the gearbox I'm using.

    Anyway, for the 50% duty cycle drive, I've been adjusting the KMC value to find a suitable KMC/KMC scale combination that results in a stable ripple current waveform. The attached screenshots show the settings and parameters that provided a relatively consistent waveform, though my readings still have a tolerance of ±20%.


     

  • Hello,

    Glad to hear that you are able to produce a stable ripple current waveform.

    One more thing to suggest would be to increase the Count Duration time from 10ms to at least 50ms. The more ripples you are able to manually count and enter, the more accurate the tuning. 

    Best,

    David