Welcome
Username or Email:

Password:


Missing Code




[ ]
[ ]
Online
  • Guests: 79
  • Members: 0
  • Newest Member: omjtest
  • Most ever online: 396
    Guests: 396, Members: 0 on 12 Jan : 12:51
Members Birthdays:
All today's birthdays', congrats!
dan (37)
rchydro (64)
CapRack (30)


Next birthdays
11/06 dan (37)
11/06 rchydro (64)
11/06 CapRack (30)
Contact
If you need assistance, please send an email to forum at 4hv dot org. To ensure your email is not marked as spam, please include the phrase "4hv help" in the subject line. You can also find assistance via IRC, at irc.shadowworld.net, room #hvcomm.
Support 4hv.org!
Donate:
4hv.org is hosted on a dedicated server. Unfortunately, this server costs and we rely on the help of site members to keep 4hv.org running. Please consider donating. We will place your name on the thanks list and you'll be helping to keep 4hv.org alive and free for everyone. Members whose names appear in red bold have donated recently. Green bold denotes those who have recently donated to keep the server carbon neutral.


Special Thanks To:
  • Aaron Holmes
  • Aaron Wheeler
  • Adam Horden
  • Alan Scrimgeour
  • Andre
  • Andrew Haynes
  • Anonymous000
  • asabase
  • Austin Weil
  • barney
  • Barry
  • Bert Hickman
  • Bill Kukowski
  • Blitzorn
  • Brandon Paradelas
  • Bruce Bowling
  • BubeeMike
  • Byong Park
  • Cesiumsponge
  • Chris F.
  • Chris Hooper
  • Corey Worthington
  • Derek Woodroffe
  • Dalus
  • Dan Strother
  • Daniel Davis
  • Daniel Uhrenholt
  • datasheetarchive
  • Dave Billington
  • Dave Marshall
  • David F.
  • Dennis Rogers
  • drelectrix
  • Dr. John Gudenas
  • Dr. Spark
  • E.TexasTesla
  • eastvoltresearch
  • Eirik Taylor
  • Erik Dyakov
  • Erlend^SE
  • Finn Hammer
  • Firebug24k
  • GalliumMan
  • Gary Peterson
  • George Slade
  • GhostNull
  • Gordon Mcknight
  • Graham Armitage
  • Grant
  • GreySoul
  • Henry H
  • IamSmooth
  • In memory of Leo Powning
  • Jacob Cash
  • James Howells
  • James Pawson
  • Jeff Greenfield
  • Jeff Thomas
  • Jesse Frost
  • Jim Mitchell
  • jlr134
  • Joe Mastroianni
  • John Forcina
  • John Oberg
  • John Willcutt
  • Jon Newcomb
  • klugesmith
  • Leslie Wright
  • Lutz Hoffman
  • Mads Barnkob
  • Martin King
  • Mats Karlsson
  • Matt Gibson
  • Matthew Guidry
  • mbd
  • Michael D'Angelo
  • Mikkel
  • mileswaldron
  • mister_rf
  • Neil Foster
  • Nick de Smith
  • Nick Soroka
  • nicklenorp
  • Nik
  • Norman Stanley
  • Patrick Coleman
  • Paul Brodie
  • Paul Jordan
  • Paul Montgomery
  • Ped
  • Peter Krogen
  • Peter Terren
  • PhilGood
  • Richard Feldman
  • Robert Bush
  • Royce Bailey
  • Scott Fusare
  • Scott Newman
  • smiffy
  • Stella
  • Steven Busic
  • Steve Conner
  • Steve Jones
  • Steve Ward
  • Sulaiman
  • Thomas Coyle
  • Thomas A. Wallace
  • Thomas W
  • Timo
  • Torch
  • Ulf Jonsson
  • vasil
  • Vaxian
  • vladi mazzilli
  • wastehl
  • Weston
  • William Kim
  • William N.
  • William Stehl
  • Wesley Venis
The aforementioned have contributed financially to the continuing triumph of 4hv.org. They are deserving of my most heartfelt thanks.
Forums
4hv.org :: Forums :: General Science and Electronics
« Previous topic | Next topic »   

Design help on a digital controlled linear power supply

Move Thread LAN_403
101111
Wed May 30 2012, 03:44PM Print
101111 Registered Member #575 Joined: Sun Mar 11 2007, 04:00AM
Location: Norway
Posts: 263
Hello, lately I've been brainstorming and sketching a digital controlled linear PSU.
And I am general interested in your opinions regarding a few design aspects.

First off all, below are the intended specifications:

Output voltage: 0-20V
Output current: 0-1A
Total output ripple: 0.5mVpp

As mentioned the PSU is digitally controlled by a micro controller that via SPI/I2C adjusts the output on two 16-bit DACs (one for voltage, one for current limit)
The whole feedback part will be done analog (if there is nothing to gain on a adjustable slew rate/transient response?)
I am thinking of using a well known jelly bean regulator as an tracking pre-regulator (LM317, LT1085 etc.) followed by a OPA548 as an output regulator. The OPA548 was chosen mainly cause I have a few of them, secondly because it is simply to use. But the OPA548 have a typical input offset at about 5mV, I find this somewhat too high so I was thinking of using an low-offset opamp to take care of the feedback, I believe this should compensate for the offset voltage.

Any inputs?

And in my experience, a pair of banana plugs can have a total of about 0.2-0-4 ohm in resistance, this raise the question if I should have some type of remote sensing? 1A over 0.2 ohm is 200mV loss in just wiring.

Thank you.

1338392530 575 FT0 Tmp
Back to top
Neet Studio
Wed May 30 2012, 05:18PM
Neet Studio Registered Member #4037 Joined: Fri Jul 29 2011, 03:13PM
Location:
Posts: 86
If you have digital control, you could always subtract off the DC offset digitally each time on power up (or set once). Find out what DAC value that make output goes to zero (or change from 0 for -ve offsets).

I would assume that there is an A/D some where reading back the output voltage and current etc. if you want to (sort of like digital integrator) correct for drifts. I like analog feedback for transient, not so fond of the typical microcontroller doing control loops and have transient response dependent on code quality/loop timing.

Also note that there might be DC offset/drifts etc associated by whatever opamp they put in a DAC with voltage output . I usually use (multiplying) DAC with current output as I can pick the opamp and have much better slew rates in my design.

>this raise the question if I should have some type of remote sensing?
Probably if you are concerned even with a +/-2mV (typ) and +/- 10mV (max) in DC offset on your OPA548.

What the store bought one usually does is to have two resistors (say 10 ohms) to connect the rails to the senses so that the feedback loop would also work when you only use 2 terminals. Watch closely which grounds you are using to output sense, decouple and which are signal ground and power ground.

As for current, you can always do high side sensing, so not have to break up the grounds. My personal believing in not cutting up the ground too much if I can help it. There are chips to do high side sensing and they are no more complex than your low side sensing.

There is also the approach by using LM317 (or its high current version) to drive the output directly and use your feedback path to control its output. It can't sink current like your circuit does. You heatsink also have to handle dissipation when your power opamp decided to sink current from the load.

Right now your current limit feedback path allows it to both increase and decrease the output voltage via L1. I wonder if you should restrict it to only lowering the output voltage with a diode or something.

The other concern I have is the load. As a power supply, it would have to handle all kinds of funny loads - low ESR ceramic caps, large values caps, inductive load etc. and not getting into stability issues.
Back to top
Dr. Slack
Wed May 30 2012, 07:23PM
Dr. Slack Registered Member #72 Joined: Thu Feb 09 2006, 08:29AM
Location: UK St. Albans
Posts: 1659
The OPA548 has no local feedback round it in your circuit, and there are a total of three opamps connected round as the feedback loop. The only thing that can be guarranteed for that circuit is that it will honk. A power supply is an amplifier with feedback. Unless you know your Bode plots as a minimum, then you will make a power-oscillator. There are too many components to hope'n'poke them into order either on a circuit simulator, or in real life, without understanding gain and phase margins.

When I design a power supply, I tend to make the output capacitive load create a dominant pole with the power output device as a current source. That way, unlimited extra C can be added to the output without compromising stability. There are other more exciting ways to make a supply stable, but single dominant pole always

There's a lot to be said for leveraging existing an existing power supply regulator, like an LM317, and using your DAC to program its ADJ pin open loop. The result will be a voltage offset from the ADJ pin by about 1.2v, which you can calibrate out by the magic of uC, with inherent overcurrent protection and over temperature shutdown, stability into capactive loads, and ability to troubleshoot by replacing the DAC with a potentiometer. I doubt that would meet your stringent accuracy requirements, but it would work, and work well.

+1 on doing high side current sensing
Back to top
101111
Wed May 30 2012, 07:44PM
101111 Registered Member #575 Joined: Sun Mar 11 2007, 04:00AM
Location: Norway
Posts: 263
Neet Studio, Dr. Slack: As this will be a single rail PSU I don't really see the need for high-side current sensing, but I'll have to give it some though. But I've seen one some of the proprietary high-side sensors and they all have about 1-3% offset/drift. I would guess an instrumentation amplifier would serve better at it will reject common voltage.

Thanks for your input.
Back to top
Neet Studio
Wed May 30 2012, 08:03PM
Neet Studio Registered Member #4037 Joined: Fri Jul 29 2011, 03:13PM
Location:
Posts: 86
"Control A High-Power Load With A Low-Power Microcontroller" Link2 Schematic (in case you miss it in the article) Link2

Take a look at how they use an external opamp to control a LM317 from an external voltage Vc in the schematic.
(They basically use a PWM as a replacement for a low res. DAC)

There is no reason why the LM317 has to run open looped.

Linear Tech: AN105 - Current Sense Circuit Collection - Linear Technology Link2 Lots of examples


1338408569 4037 FT1630 Lt6101


Drift would be the opamp offset and whatever tempco of the sense resistor, Rin and Rout. Circuit limited by operating voltage, but you should be able to power a opamp with the supply input.
Back to top

Moderator(s): Chris Russell, Noelle, Alex, Tesladownunder, Dave Marshall, Dave Billington, Bjørn, Steve Conner, Wolfram, Kizmo, Mads Barnkob

Go to:

Powered by e107 Forum System
 
Legal Information
This site is powered by e107, which is released under the GNU GPL License. All work on this site, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 2.5 License. By submitting any information to this site, you agree that anything submitted will be so licensed. Please read our Disclaimer and Policies page for information on your rights and responsibilities regarding this site.