Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Input current regulated buck bandwidth optimisation

ACharnley

Member
Hi all,

I've designed and simulated a buck circuit which tracks input current by way of a variable voltage reference, in this case it's set to around 500mA. It uses a high-side INA199 (which I simulated using components as the build in symbol doesn't work for it for some reason), and MCU logic to present a 500KHz PWM where the duty is controlled by the INA199 presenting a fault, which is latched with an auto reset. Buck controllers generally refer to this as 'hiccuping'.

The power goes into super-capacitors with an OVLO also shutting off the PWM. The inductor has been chosen to suit the frequency and input voltage range.

The logic will be MCU based and implemented in hardware where the fault is async triggered. As such the bandwidth here will be much higher than the 500KHz signal that it generates. As the current control is dependant on the impedance of the input source there will be another loop monitoring the current value and moving the reference point to settle the current around the ideal point.

The buck controller is rated to 1MHz, so this is the ceiling. I have plenty of space for a large inductor and feel 500KHz is a good target.

Running the simulation I get current control of between 440-510mA, so delta 70mA. I'm looking at whether I can optimise further. As I understand it the core restriction is going to be with the bandwidth of the current sense op-amp. I've used a 100m resistor and the lowest gain (x50) INA199 here but the LM324 is likely not accurate. According to the datasheet the INA199 only has a bandwidth of 80KHz while an alternative, INA139 is 440KHz.

Am I correct in my analysis?

The other question is whether hiccuping is the right way to go. If I instead used some form of method to turn a reference voltage and the current sense output into a variable duty PWM at set frequency that could be a tighter way to do it. Any ideas on how to do that warmly appreciated as I'm unsure where to start with it.

(Circuit uses generic components, can open and run it)
 

Attachments

  • buck_controller.png
    buck_controller.png
    41.5 KB · Views: 96
  • l1_base2.asc
    7 KB · Views: 93
When you look at input current, are measuring RMS or average or "440-510mA" current. It makes a big difference why you want to regulate input current. For example 500mA at 10% duty cycle is not the same thing as 500mA at 90%.

I don't know why you need large bandwidth. I charge super caps that takes minutes to charge up so bandwidth is not a problem. Are you charging 66uF at 500mA?

Generally the lower the uH and the smaller the uF the faster the bandwidth.
 
Last edited:
Sorry for my delay, it's because the input source is fixed current variable voltage. Previously I was monitoring the voltage, using a reference table and applying a duty based on knowing the output voltage and using the continuous conduction mode equation. This in turn would choose a current and so track.

But the other way is to monitor the current.

I've since moved on, using a current sense chip feeding into a buck chip. It no longer made logical sense to use individual items.
 

Latest threads

New Articles From Microcontroller Tips

Back
Top