We have developed a prototype of a PID-regulated Buck converter made around the AVR XMega. 6-17V at the input, 5-10 on the output, 15A current limit, 500kHz PWM switching. The issue is, how to make the overcurrent protection work.

  1. First we have tried using the ZXCT1107 accompanied with a 1mR sense resistor and a 10k at the output, making the output voltage \$V_{Out} = 0.04*I\$ according to datasheet's \$4mA/V\$ value of transconductance. An RC network was also created on the differential input, as the datasheet says. The output would then be fed into the on-chip Analog Comparator.

This turned out not to work at all when the converter was in operation. The RMS of the output signal would stay at zero. So I though, 'yeah the AVR's leaking too much current!'. Wrong, disconnecting the XMega didn't help. When we tried bypassing all the switching circuits and forcing nice and sweet DC through the sense resistor, it worked a treat. Exactly what I suspected. The switching caused couple of Volts high transients to be induced all around the device, making it inoperable. Increasing the RC constant at the input didn't help.

  1. Second option was not to measure the output current, but rather predict it. This was not my idea, but I adopted it since it would solve the problem while eliminating several components. It relies on the fact that the Duty Cycle increases as the output current goes up. This is true, but the following plot proved that it is only viable when Vout/Vin ratio is high enough. Not the way to go. (5V output; 7V-red, 12V, 17V-yellow input) 5V output, 6V, 12V and 17V input

  2. The last option, being probably the most expensive, would hopefully solve our issues. A dedicated differential amplifier across the sensing resistor. But since I am not an analog guy, I turn to you.

    • Is it even possible to make a differential amp work with such small voltages, like 15mV or less?
    • Is there any chance that it will ignore our beloved transients, while only passing the low-end frequencies?
    • Is using a regular opamp a bad solution because - as I heard - normal opamps have high input offset voltages?

Thanks everyone in advance, any answers will be welcome.

  • 1
    \$\begingroup\$ How physically big is the resistor - even a moderately sized resistor's self inductance could cause problems at 500kHz. \$\endgroup\$ – Andy aka Oct 31 '13 at 23:37
  • 1
    \$\begingroup\$ Looking at your graph it's a synchronous regulator and these wouldn't change mark-space much over load with a fixed input voltage. Going back to your original idea using the 1107 - could it be that PCB tracking gave you the problem; the gnd connections to the output resistor needs to be off-the beaten path of any heavy duty current draw or you'll pick-up massive transients. Also, at 500kHz and with the gain you are expecting, is the device fast enough? \$\endgroup\$ – Andy aka Oct 31 '13 at 23:49
  • \$\begingroup\$ @Andyaka The resistor is a 1206. And the GND end is indeed connected to the stable analog portion of the ground plane. The device's bandwidth is specified as 650kHz. Using an RC filter on the differential input should make the signal within safe limits, sadly, it likely fails to do so. \$\endgroup\$ – Dzarda Oct 31 '13 at 23:53
  • 1
    \$\begingroup\$ Are you trying to implement overload protection on the DC side (after the filter) or cycle-by-cycle peak inductor current limiting in the buck itself? \$\endgroup\$ – Adam Lawrence Nov 1 '13 at 2:34
  • \$\begingroup\$ @Madmanguruman The sense resistor is placed after the inductor and output capacitors, thus this should be an overload protection on the DC side. \$\endgroup\$ – Dzarda Nov 1 '13 at 9:28

Your assumption about duty cycle always increasing as load increases is only true when the converter is in discontinuous mode (i.e. when the inductor current falls to zero every switching cycle). You haven't said if your buck is synchronous or not, and haven't mentioned your inductor size, so we cannot tell when (or if) your converter would transition to CCM from DCM.

A quick-and-dirty way to get a representation of the inductor current is to put an R and C in parallel with the inductor such that the R and C give you a voltage proportional to the inductor current - this voltage can be fed to a comparator to generate an overload trip signal. (It works well in CCM.)

  • \$\begingroup\$ The converter is realized with a DrMOS switching element, it has a feature called skip mode, that automatically switches off the low gate when the current drops to zero. Also, the inductor is a 3u3 shielded 18A rated SMD mount thing. Thanks for the suggestion, I will definitely try it out! \$\endgroup\$ – Dzarda Nov 1 '13 at 9:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.