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.

Closed current loop control (DRV8412DDW)



Hi everybody,

I am using the DRV8412DDW evaluation board with CC 28035.

- Motor from the kit: Anaheim BDD-38-63

- Motor intended to use: Maxon A-max 22 (110164) + GP 22 (134163) + MR-ENC (201940)

Following instruction, I can run the Anaheim DC motor from the kit but as soon as I try with a Maxon the current loop can't be tuned right.
So I began to measure signal and adapt the current sense parts to achieve same condition from both motors (Rmot Anaheim is 1.8 Ohm and Maxon is 21.3 Ohm). This way I get a sensing voltage from 1-100mV (0-6mV without load).


Now that I see the waveforms of the voltage ready for ADC (VR20-23), I can't understand how the feedback is computed to reflect increasing or decreasing current since the Anaheim motor has many ripple.

I saw the ADC result is taken from the middle of the low PWM duty cycle so this is synchronized but the mean voltage is moving up/down.

More information to follow but any tips is welcome.

Thanks

  • Moved to Motor drivers forum...
  • When the switching frequency is high enough for the R-L circuit, which is motor resistance and inductance in your case, the current will be linear during both pwm on and off times. Therefore, the current during middle of PWM on or off time represent the average current flowing through. If R is too large such that the current is not continuous anymore, (becomes zero during PWM off time or exponentially rising and decaying), then you need to increase the PWM frequency until it is continuous and linear. Otherwise, you may need to add ext inductance.

    The mean voltage output from the converter is computed assuming continuous current, it will only go higher if discontinuous.

  • Thanks Ramesh,

    In the meantime I also found a document from Maxon which explain the same as you told (increase PWM freq and/or inductance) and it works now. This fact could be explained in the doc for faster understanding. I post this request with a waveform of the default parameters and motor in the DRV8412EVM kit and the ripple is quite big but this does still work... This make me longer to find out why without your help.

    So if I resume:
    - Adding the information about R-L setting could be good
    - Setting it "right" for the default motor (Anaheim) would help to understand faster too
  • Ramesh,

    I have another question.
    I intend to use speed loop interfacing incremental encoder to the DRV kit.
    In the firmware there is a constant which is BASE_FREQ = 200 by default... What is the base electrical frequency (I use BDC) ?
  • BASE_FREQ represents the base frequency used in the controller. It need not represent that of the motor. If your motor's max freq is 100Hz, then in your software, you should not set the reference more than 0.5pu. Hope it clarifies.
  • OK fine.
    Thank you