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.

DRV8214EVM: Sensorless Position Measurement and IPROPI

Part Number: DRV8214EVM

Tool/software:

Hi All, 

I am evaluating the above IC for sensorless position control of a small (8mmx16mm size coreless) brushed motor, which is coupled to a planetary gearbox.

I am strugling to get reliable position control, with the reported number of counts changing dramatically based on load. 

I am also seeing a lot of noise on IPROPI. 

The EVM is in its factory state, with no modifications. VM is 3V, motor current is below 100mA

IPROPI and RC_OUT waveforms, EC enabled:

 

As above, but with EC disabled:

Any advice would be greatly appreciated.

  • Hi Sam,

    You will need to tune the device. DRV8214EVM page contains a walkthrough video of the GUI for the EVM. I would highly recommend following the step-by-step procedure in the video. 

    Once tuned, the rc_out pulses frequency and the ripple frequency of motor will match. Additionally, you can refer to this appnote for theory on how ripple counting works.

    Regards, 
    Karan 

  • Hi Karan, 

    I have already completed the tuning both using the GUI, and also manually as per the datasheet. I have tried various combinations of parameters, filters etc, with no appreciable benefit. 

    Can you please offer some advice on the noise on the IPROPI trace?

    Thanks,

    Sam

  • Hi Sam, 

    My apologies - I missed the word coreless in your earlier description. I have tested a coreless motor in the lab with this device in the past. I found that PWMing messes up the current waveform which makes it difficult for the device to detect ripples since they are not 'true ripples' caused due to commutation. Can you confirm that you are not PWMing and operating at 100% duty cycle? 

    Additionally, can you confirm that the waveform is of a similar nature using a current probe? This is to rule out the case where the ipropi pin itself is noisy, not the current waveform overall. 

    Regards, 
    Karan

  • Hi Karan,

    Understood - in the attached screenshots i was PWMing. I was hoping to use the DRV to drop the motor speed whilst also keeping track of position, can you advise if this is not a feasible solution? Is the issue related to the relatively low inductance of the coreless motor?

    I did also test at 100% duty and I see a much clearer waveform on IPROPI, however I am still experiencing loss of position over changes in loading (perhaps a 20% difference in reported vs true position, over ~1200 RC_COUNTS).

    For reference, the no-load current draw is around 30mA, and I am testing loading up to ~200mA.

    I have attached a pic of the waveforms at 100% duty, light load, as well as a screenshot of the device registers. Apologies if there is a way of exporting these in a more sensible format...

    I don't have a current probe to hand, but let me know if these would significant help the fault finding, and I will see what I can do.

    Thanks,

    Sam

  • Some more info:

    I have gathered some current plots, using a somewhat crude in-line resistor. 

    It appears that as well as a clear current ripple, there is a high frequency, transient spike in current, despite the PWM duty cycle being set to 100%. This spike is also present when the motor is stalled, as you can see in the second shot.

  • Hi Sam, 

    Let me get back to you by end of this week.

    Regards, 
    Karan

  • Hi Sam, 

    Understood. The coreless motor I had tested on was working well with 100% duty cycle, but the RC_OUT pulses were inconsistent during PWM, since the current waveform was noisy. 

    From the first waveform, I see that despite the clear current spike periodically, the RC_OUT waveform is inconsistent. This tells me that there is still a tuning issue in the motor. I would recommend that you try tuning the motor once again using the datasheet/appnote recommended procedure. You can classify the current spikes as 'ripples'.
    If the RC_OUT pulses are still non-periodic after following everything to the dot, it means that this device would not work with coreless motors as we had guessed earlier. This is expected. The ripple counting algorithm operates on the principle of commutation, which is absent in a coreless motor. 

    Also, I do not see a yellow spike in the second waveform. If you are referring to the pink (RC_OUT) spikes, they will exist due to the error corrector. To disable them, you can refer to the datasheet section 8.3.6.1.11 Error Correction. 

    Regards, 
    Karan

  • Hi Karan, 

    Firstly, can you please explain what you mean by "The ripple counting algorithm operates on the principle of commutation, which is absent in a coreless motor." - my understanding is that coreless motors still contain a commutator and brushes, and should operate much like any other motor in this regard. This is backed up by the current plot I have provided showing a clear ripple that varies with motor speed. 

    Perhaps my initial scope traces were not clear. I have attached some more that hopefully show the issue. 

    Aside from the clear current ripple, there is a very transient spike that the ripple detector is triggering on. The transient occurs roughly every mS, although the timing changes slightly with load. 

    This transient is still present even when the motor is stalled, however it dissapears when the outputs are disabled. Perhaps the duty cycle is not being set to 100%?

    I have tested the driver with a "standard" brushed motor, and the transients are still present. 

    Coreless motor, VM = 2V, stalled, Purple - RC_OUT, Yellow - Motor Current:

    Coreless motor, VM = 2V, stalled, Purple - RC_OUT, Yellow - Motor Current:

    Coreless motor, VM = 2V, stalled, Purple - RC_OUT, Yellow - IPROPI:

    Coreless motor, VM = 2V, running, Purple - RC_OUT, Yellow - Motor Current:

    Coreless motor, VM = 2V, outputs disabled, same trigger conditions Purple - RC_OUT, Yellow - Motor Current:

    I then re-tuned the EVM for a small brushed DC motor:

    "Standard motor", VM = 2V, stalled, Purple - RC_OUT, Yellow - Motor Current:

    "Standard motor", VM = 2V, running, Purple - RC_OUT, Yellow - Motor Current:

  • Hi Sam, 

    Interesting find. This is different from what I had tested with a different coreless motor. Let me look at this and get back to you by end of this week. 

    Regards, 
    Karan

  • Hi Karan, 

    Just a further thing I have discovered - the transient in motor current disasapears if ripple counting is disabled, regardless of if the motor is running or not. 

    Sam

  • Interesting. Can you tell me the motor part number? I can try to order the same and replicate this on my end since it did not happen with the coreless motor I have.

    Regards, 
    Karan