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.

MSPM0G3507: FULL_SCALE_CURRENT_BASE does not work as calculated.

Part Number: MSPM0G3507
Other Parts Discussed in Thread: DRV8329

Tool/software:

Hello my dear supporters and engineers,

I've asked several questions about driving a motor using MSPM0G3507 and DRV8329 using the code in "C:\ti\mspm0_sdk_2_02_00_05\examples\nortos\LP_MSPM0G3507\motor_control_pmsm_sensorless_foc\sensorless-foc_DRV8329", and now I'm at the step before the tuning step.

It seems. However, a critical problem was encountered.

According to the datasheet,

when using a 1m ohm shunt resistor, if R1 = 10k and R2 = 1k, CSAGAIN = 20,  CURRENTBASE = 144.375. However, if the value is not 7.218 as written in the example code, the motor will not run. I would like to know what was violated in setting the currentbase. 

If I change CSAGAIN to 40, it becomes 72.188, but this also does not work unless it is 7.218.

To follow the tuning guide, we first need to add Currentbase to the counter.

Please check this issue, and let me know if you need mor information.

Best regards,

Donguk

  • Hello my dear supporters and engineers,

    I modified several settings in ISR.C to ensure that the motor runs at the current base calculated.
    However, this is limited to open loop only.
    Once the closed loop is entered, the motor will not operate again. I will explain it with photos.

    In the photo above, in open loop, numbers 1, 3, and 5 are the gate waveforms of the high-side mosfet of the half-bridge circuit for phases a, b, and c, and numbers 2, 4, and 6 are the output waveforms of each phase.

     

    The photo above shows the high-side and low-side waveforms of each phase in open loop.

  • The picture above is the output current of each phase in open loop.

    The photo above shows the high-side gate voltage waveform of each phase and the output waveform of each phase at the moment of entering the closed loop. Voltage goes below 12V.

    The photo above shows the current waveforms of each phase at the point of entering the closed loop. The current cycle becomes longer. Check the horizontal axis.

    I'm curious why it spins in open loop but doesn't spin in closed loop.

  • Hi Donguk,

    Please check this issue, and let me know if you need mor information.

    We do give the insturctions in the user guide:

    That is the reason why it is 7A.

    You can find the hardware documents in the SDK:

    C:\ti\mspm0_sdk_2_02_00_05\docs\english\middleware\motor_control_pmsm_sensorless_foc

    B.R.

    Sal

  • Hi Donguk,

    Also, please try larger shunt resisitor to do the test.

    I used to test with 1m Ohm, it doesn't work. And I test with 20m Ohm, it does work.

    I suspect the noise is large when the shunt resistor is 1m ohm.

    B.R.

    Sal

  • Hi Sal,

    We need to use a 1m ohm shunt resistor. And even if it is 1m Ohm, the motor will work well if it has a current base of 7.128. The maximum current should be 30A, We believe that motor operation will be possible with 1 mOhm.

    B.R.

    Donguk

  • Hi Donguk,

    Sorry for the late reply. I am busy with some items.

    We need to use a 1m ohm shunt resistor.

    What the motor rated current? The current base should be proper.

    • This is for best ADC performance. When set the larger current base, normally means the shunt resistor is smaller. This will make the actual value of the current sampling signal has too much noise.

    Maybe you can check the OPA output signal of the DRV, the current signal should be similar with below:

    This is my test with DRV8329EVM before, maybe you can also check the OPA output, to see any issues here.

    The photo above shows the current waveforms of each phase at the point of entering the closed loop. The current cycle becomes longer. Check the horizontal axis.

    It do have the possibility. Unproper setting will make the Observer incorrect.

    What's your setting of below register:

    B.R.

    Sal

  • Hi Sal,

    Is the waveform photo you uploaded correct from measuring the voltage between SO and GND of the DRV8329?

    The picture posted above as noise is the voltage between So pin and GND when our protopcb operates.

    The register settings are as follows:

    and, The rated current is 30A.

    B.R.

    Donguk

  • The above register setting is when running in an open loop, and the motor stops in a close loop by changing closeLoopDis of algoDebugCtrl1 to 0 to enable closeloop, and it stops in MOTOR_STALL status due to faultCfg2.b.lowBemfFault.

    B.R.

    Donguk

  • Hi Donguk,

    I believe we have communicated in the email chain, so I will close this thread.

    B.R.

    Sal