TIDM-02013: Regarding the overcurrent protection in Lab 3

Part Number: TIDM-02013


Hello, expert. I'm sorry to bother you.

 

Regarding the overcurrent protection in Lab 3, when I run the program, it will enter the judgment condition of if((TTPLPFC_PWM_TRIP_STATUS(TTPLPFC_LOW_FREQ_PWM_BASE) & EPWM_TZ_INTERRUPT_DCAEVT1) != 0) and meet this condition, then proceed to execute the following program.

When the input voltage is 81V and the output voltage is 130V, the voltage is boosted but does not reach the expected level. The values of TTPLPFC_pwm_SwState.enum_pwmSwState and TTPLPFC_board_Status.enum_boardStatus are shown in the figure. Afterwards, the output voltage slowly drops to 81V multiplied by the square root of 2.

Subsequently, I commented out these two lines of code.

The values of TTPLPFC_pwm_SwState.enum_pwmSwState and TTPLPFC_board_Status.enum_boardStatus are shown in the figure.There is no voltage boost.

On this basis, I commented out the seventh line of code.

The output voltage reached 173V, which is the result of normal voltage boosting, but only momentarily. After that, the circuit board showed a PH-1-h overcurrent status, yet no current value exceeding the limit of 30A was observed in the monitoring window. Subsequently, the output voltage dropped slowly, but the circuit board continued to display the overcurrent status.

My questions are as follows:
  1. What does the overcurrent protection judgment condition if((TTPLPFC_PWM_TRIP_STATUS(TTPLPFC_LOW_FREQ_PWM_BASE) & EPWM_TZ_INTERRUPT_DCAEVT1) != 0) mean? Why does the system enter overcurrent protection?
  2. Why didn't overcurrent protection occur before commenting out the last two lines of code, but boardStatus_OverCurrentTrip_Ph1_H appeared after commenting them out?
  3. Why is there such a large difference between the values of TTPLPFC_iL2_sensed_Amps and TTPLPFC_iL1_sensed_Amps? Could there be a problem with the sampling?
  • Hello!

    We have received your case and will take some time. Thank you for your patience.

  • The statement if((TTPLPFC_PWM_TRIP_STATUS(TTPLPFC_LOW_FREQ_PWM_BASE) & EPWM_TZ_INTERRUPT_DCAEVT1) != 0) is used to check whether the 3rd bit of the TZFLG register equals 1. However, how does this judgment condition change? Why does this bit remain set to 1 once the program starts boosting voltage, and even stay unchanged after a power-off? This judgment condition should be updated in real time, so why does it remain stuck at 1? How can I solve this problem?

  •  Will adding code to clear the fault in the overcurrent protection function by writing 1 to the TZCLR register have any effect? I'm worried that overcurrent damage might occur.

  • In today's experiment, I turned off the overcurrent protection. With an input voltage of 65V, the output voltage spiked to 320V the moment the relay closed—this caused capacitors C165 and C160 to explode. However, the voltage rating of C160 and C165 is 1000V, so the explosion might have been caused by overcurrent. But why didn’t the other capacitors get damaged?
    After that, I replaced these two capacitors. Later, I used a 1-ohm resistor to test the input current and connected a 500-ohm resistor to the output terminal. The current reached 15A the instant the boost code started running; while this value is quite high, it did not reach the overcurrent threshold of 30A. Afterward, the code triggered the overcurrent protection and remained in that state.
  • Hello, in the latest experiment, I replaced R160 and R165 with PTC resistors that have significantly higher voltage and current resistance ratings. I also set the relay to remain open. When the output voltage reached 90V (with an output of Vrms = 65V), the autostart met the operating conditions, and the output voltage rose to 143V and remained stable. In previous experiments, capacitors C160 and C155 exploded when the output voltage reached approximately 320V. For safety reasons, I did not proceed with further voltage boosting. Now, I intend to replace the PTC resistors with NTC resistors. Please help analyze why overcurrent occurs when the relay is closed, and why the two aforementioned capacitors exploded.

    I look forward to your prompt reply.

  • Hello, in the latest experiment, I replaced R160 and R165 with PTC resistors that have significantly higher voltage and current resistance ratings. I also set the relay to remain open. When the output voltage reached 90V (with an output of Vrms = 65V), the autostart met the operating conditions, and the output voltage rose to 143V and remained stable. In previous experiments, capacitors C160 and C155 exploded when the output voltage reached approximately 320V. For safety reasons, I did not proceed with further voltage boosting. Now, I intend to replace the PTC resistors with NTC resistors. Please help analyze why overcurrent occurs when the relay is closed, and why the two aforementioned capacitors exploded.

    I look forward to your prompt reply.

  • What is the DC bus voltage before closing the relay? Closing the relay shouldn't have any effect on the bus voltage. Did you gradually increase the ac voltage?

  • The bus voltage before the closing relay is 90V. When it reaches 90V, the autostart meets the judgment condition and starts voltage boosting. The output DC bus voltage rises to 170V, which immediately triggers the overcurrent protection and stops the voltage boosting. I then slowly increased the input Vac.

  • Replacing the NTC resistor did not work, as the circuit board still activates overcurrent protection the moment the relay closes. When I set the relay to never close, the voltage can be boosted, but this clearly deviates from the original design intent.