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.

DRV8332: with different motors

Part Number: DRV8332
Other Parts Discussed in Thread: DRV8312

Dear Support team I'm working with DRv8332 and DRV8312 evaluation KIT on sensoreless BLDC application :

I have issue that my system working with some motor and not working properly with other motors. It seems the motor parameters are effecting the system and the firmware,

is the reason (open loop stage OR PI controller parameters OR the fake zero crossings BEMF )

I need your  advice regarding the best practice for tuning the necessary parameters that suits different motors, if any, or some guidelines to deal with this inconsistency.


(2) the second question: do I  need to change some parameters in the firmware every time I have a new motor or it can be generic to all the BLDC motors?

....
The system i m using has NXP S12ZVMC12EVBCAN Controller, with level shifter to Match 3.3 to 5v of nxp

Motors currently being tested are the one used with the drv kit ( DT4260-24-055-04) and a similar one (but not identical) used with NXP kit (Linix 45ZWN24-90).


Thank you

Amin Zaky
Design engineer

  • Hi Amin,

    It is hard for me to judge the reason for a system not working properly without additional information. Do you have any waveforms of the motor running properly versus improperly?

    In general, sensorless algorithms will be very sensitive to changes in the motor because the open loop start-up will depend on the motor. In sensorless sine/FOC applications, the motor resistance, inductance, and back-EMF constant are used to calculate the rotor position so any changes to these parameters will drastically effect operation.

    Thanks,

    Matt

  • Dear Matt,
    That's the result that I got from tracing the signals of reset and the output signals

    1-on the the motor which working properly
    2-on the the motor which didn't work

    stages:
    -alignment
    -open loop
    -closed loop the MC1v5 and the .

    the reset is the yellow signal and the phase output is the blue signal (resrt and output of the phase)



    these 3 images are the output of reset and output of working motor and the cursor is in the beginning of alignment stage.



    these are the same signals on the not working motor



    these 3 images are the output of reset and output of the working motor  and the cursor is in the beginning of open loop stage.



    these are the same signals on the not working setup



    these 3 images are the output of reset and output of the working motor and the cursor is in the beginning of closed loop stage.



    these are the same signals on the not working setup

    -all phases are A,B,C respectively


    there is another images for commutation sequence on bipolar on the workingsystem


    I think this signals would help to have a good respectve.

    Thanks Matt,

    looking forward to hearing from you.

    Amin Zaky

  • Dear Matt,
    That's the result that I got from tracing the signals of reset and the output signals

    1-on the the working motor
    2-on the not working

    stages:
    -alignment
    -open loop
    -closed loop the MC1v5 and the .

    the reset is the yellow signal and the phase output is the blue signal



    these 3 images are the output of reset and output of working motor  and the cursor is in the beginning of alignment stage.



    these are the same signals on the not working motor



    these 3 images are the output of reset and output of the working motor and the cursor is in the beginning of open loop stage.



    these are the same signals on the not working motor



    these 3 images are the output of reset and output of working motor  and the cursor is in the beginning of closed loop stage.



    these are the same signals on the not working motor

    -all phases are A,B,C respectively

    there is another images for commutation sequence on bipolar on the working system only


    I think this will help to see what is the issue.

    Amin Zaky

  • Hi Amin,

    What do you mean by "output of reset"?

    Motor 2 is not entering closed loop.

    It looks like your motor is not properly aligning based on the second set of images. Can you increase the align time (currently 200ms, make it 400ms). Also try slowing down the open loop acceleration by a factor of 2x.

    Can you also check if you are asserting any FAULT signals from the DRV8332 (over current, for example)

    Thanks,

    Matt

  • Thanks Matt,

    I meant with reset outputs : (RESET pins output from micro-controller and inputs to the DRV8332 ).

    I will do your your recommendations and give you the feedback.

     Amin Zaky.

  • Hi Amin,

    Please let me know as soon as you have any data!

    Thanks,

    Matt

  • Hi Matt,

    Thanks for your advise, it worked with me after trying changing these parameters in the firmware:

    -the alignment time changed from 200 ms to 400 ms

    -and the open loop start up accelerator constant from 0.7711 to 0.8 (after trying a range of values)

    Can you please guide me to material or systematic way or suggested algorithm to enable parameters adjustment?

    Do I have to manually tune the parameters for each type of motor and each type of load .

    or there is a way to automatically change the parameters (just plug and play)

    Motor I used are sensoeless BLDC operated with up to 30V and the power range from 100 to 500 watt,running at speed from 200 to 500 RPM.

    Thank you,

    Amin Zaky.

  • Hello Amin,

    In sensorless motor drive techniques the startup needs to be tuned for the motor in question. Some motors will have higher inertia and require a longer align time and a slower open loop spin up. In general, you can make the align as long as possible and the open loop acceleration as slow as possible to support the most motors.

    In order to determine the motor parameters like inductance, resistance, and inertia, you would have to develop an algorithm to first measure these parameters of the connected motor and then feed them into your program to estimate the align time and acceleration.

    Thanks,

    Matt