How to enhance the protection of S12ZVM’s VLS_OUT pin ?

cancel
Showing results for 
Search instead for 
Did you mean: 

How to enhance the protection of S12ZVM’s VLS_OUT pin ?

Jump to solution
1,045 Views
dustyko
Contributor II

Hi All:

 

I am using a S12ZVMLEVBLIN EVM board to implement a automotive HVAC's motor control.

And, the MCU's firmware is base on MC9S12ZVML128_PMSM_Sensorless project.

 

I have a issue about I can't drive this HVAC motor to max. speed. (4000 RPM)

When I drive this motor to 3000 RPM, the EVM board is into Over Bus Voltage protection.

 

When I open the limited range of OVP to 40V and drive motor to 3200 RPM , the S12ZVM’s VLS_OUT is broken. ( Normal is 11V , it is 1V only now )

It seems there is a more than 35V high voltage in the DC Bus when I drive this motor to high speed.

 

May I have any recommend about how to adjust S12ZVMLEVBLIN EVM board’s OVP Circuit ?

 

 

Labels (1)
1 Solution
227 Views
RadekS
NXP Employee
NXP Employee

Hi Dusty and StanleyH,

I am sorry, but I overlooked your updates.

Here is answer from motor control team:

+++++++++++++

The result is the GDU internal voltage reference is damaged by a high voltage peak going from the HSx through the bootstrap capacitors to the VBSx. Considering the switching is not optimal (e.g. to fast or too short deadtime), a high voltage peak can be generated during the switching. This voltage peak can be two or three times higher than the DC bus voltage. Let’s assume the voltage peak is 30 Volts. When the peak arrives on the VBSx pin, it is added to the internal 11 Volt reference and the voltage is 41 Volts which damages the GDU gradually or immediately. Such peaks usually occur if the current is high, thus two times per period of the sinus wave.

If the GDU is damaged, the MCU is typically hot and the GDUF_GLVLSF flag is set permanently.

I’d suggest to optimize the switching by adjusting the deadtime and slew rate, by slowing the switching-on period by increasing the gate resistors, by changing the snubber circuit or to add some 0.1uF to 1uF capacitors in parallel to each leg of the inverter. The optimization criteria is the minimal voltage peaks measured by the oscilloscope on the VBSx pins or the PHASE_x terminals.

+++++++++++++

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

6 Replies
227 Views
StanleyH
NXP Employee
NXP Employee

Hi Radek,

  Thanks. We will check, and let you know the result.

Best regards,

Stanley

0 Kudos
227 Views
StanleyH
NXP Employee
NXP Employee

RadekS

Hi Radek,

  After increased the dead-time setting and decreased the PWM frequency, we solve the issue of customer’s motor driving and MCU damage. The motor speed can achieve 3000rpm now without MCU over temperature. Thanks a lot for your great help.

Best regards,

Stanley

0 Kudos
227 Views
StanleyH
NXP Employee
NXP Employee

RadekS

Hi Radek,

  Dusty and I used the EVBs,MTRCKTSPNZVM128, to drove the customer's motor together.

(1) We can drive the motor to 2000 rpm in the beginning. After run the motor about 4~5 times (Starting, accelerating to 1000~2000 rpm, and setting to 0 rpm by FreeMASTER to stop), the MCU was very hot, and finally burned.

  Because the fault happened suddently, we didn't know what kinds of fault happened, and can't use FreeMASTER to catch some waveform/situation. Two EVB MCUs were burned.

(2) The project code we used was MTRCKTSPNZVM128 software released on official website (http://cache.nxp.com/files/product/software_tools/MTRCKTSPNZVM128-SW.exe) The EVB is 700-27485 rev X3. Carcassonne chip is 1N95G.

(3) The motor is 2 pole-pair and 4000rpm rated. The motor widing is delta-connection.

U-V,   R=38.31mΩ,   L=0.10050mH  
V-W,  R=38.01mΩ,   L=0.10243mH  
U-W,  R=37.92mΩ,   L=0.09947mH   

The motor parameters we filled into the S12ZVM_PMSMFOC_appcfonfig.xlsm were R=19.04mΩ,  L=0.0504mH.

(4) The Udc showed on the power supply was 12V. Idc was about 1.9~2.2Amp just before the MCU was damaged.

  After the fault, D14 LED1 was alwayse on. VLS out was low. The debugger can run, but the MCU was stuck in --

void cpmu_init(void)
{
// Wait for stable supply after power up
while (GDUF_GLVLSF)
  GDUF_GLVLSF = 1;

  We need your help to comment what the probable cause is, and which  fault protection we can add  in the code to prevent the MCU from damaging ? Thanks.

Best regards,
Stanley

0 Kudos
228 Views
RadekS
NXP Employee
NXP Employee

Hi Dusty and StanleyH,

I am sorry, but I overlooked your updates.

Here is answer from motor control team:

+++++++++++++

The result is the GDU internal voltage reference is damaged by a high voltage peak going from the HSx through the bootstrap capacitors to the VBSx. Considering the switching is not optimal (e.g. to fast or too short deadtime), a high voltage peak can be generated during the switching. This voltage peak can be two or three times higher than the DC bus voltage. Let’s assume the voltage peak is 30 Volts. When the peak arrives on the VBSx pin, it is added to the internal 11 Volt reference and the voltage is 41 Volts which damages the GDU gradually or immediately. Such peaks usually occur if the current is high, thus two times per period of the sinus wave.

If the GDU is damaged, the MCU is typically hot and the GDUF_GLVLSF flag is set permanently.

I’d suggest to optimize the switching by adjusting the deadtime and slew rate, by slowing the switching-on period by increasing the gate resistors, by changing the snubber circuit or to add some 0.1uF to 1uF capacitors in parallel to each leg of the inverter. The optimization criteria is the minimal voltage peaks measured by the oscilloscope on the VBSx pins or the PHASE_x terminals.

+++++++++++++

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

227 Views
RadekS
NXP Employee
NXP Employee

Hi Dusty,

In fact, the GDU module is designed to work only up to 20V. We could let it run beyond that limit (up to 26V), but only for limited amount of time (one hour during whole MCU lifetime).

The MCU may survive 40V, but only during the short time (low dump pulse 400ms).

Could you please specify your power supply voltage?

If this DC bus voltage is higher than power supply voltage, it is clear that it is somehow generated voltage. In some cases, the bus voltage may be generated by the motor during rapid slow down (The kinetic energy is transformed into voltage). In that case, we could limit slow down a slope or we could add additional FET transistor with power resistor between DC bus lines and switch ON in the case of an overvoltage.

The power resistor will waste excess energy.

Here is example of that connection (brake chopper circuit):

brake chopper circuit.png

If the power supply is in the operational range, all settings are correct and the motor starts or rotates on stable speed, there isn't any reason for DC bus overvoltage.

I hope it helps you.

Have a great day,
Radek

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

227 Views
dustyko
Contributor II

Hi Radek :

Thank you for all your assistance !!

I work this motor in a DC 12V system. 

It is a automotive HVAC application and we add a load on this motor.

S12ZVM is into over voltage protection when I drive this motor to 3000 RPM , the power supply shows the power is about 12V , 13A.

The ramp up speed is about 100 RPM/s , it should be a slow ramp up speed.

It seems has a high voltage in the DC bus  when I drive this motor to high speed.

The power path is as below , I want to do some thing to resolve this problem.

Do you have any idea ?

pastedImage_9.png

Best Regards,

0 Kudos