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.
Registered Member #8120
Joined: Thu Nov 15 2012, 06:06PM
Location: Moscow, Russia
Posts: 94
I want to be able to regulate a current in an electromagnet. 100A-150A of it, from a source in tens of volts. And there are some questions coming up with this project.
First of all, does the control circuitry make sense? I kind of came up with it without using any reference, so even though it works, i'm still somewhat unsure if it's good or not.
What kind of snubbers should i add to the FET? There is quite a bit of ringing on the FET, getting less with better power bus layout, but worse with increasing current (i tested up to 20A so far). So, snubbers seem important. Would a 1uF film capacitor on D-S be enough, or is that a bad idea? Adding just a capacitor does removes the ringing.
Then, the diode have the same kind of ringing across it, and there i have no idea what to use.
Finally, how do you calculate how much input capacitance to use, and what kind of ripple current rating to look for? I used to "design" such things by using the biggest parts i had at hand, but now i want to figure out how big is big enough. Trouble is, i don't know the name for this topology, so google is of no use.
---
Power layout:
Driver part. The idea is - first op-amp amplifies 0-75mV (RC filtered) from the shunt to 0-5V, second op-amp acts as a comparator with hysteresis, it's output drives an isolated gate driver (HCPL-3180). The frequency is determined by a combination of the load inductance and comparator hysteresis (around 5-10KHz in my case). In other words, the magnet is free-wheeling; once it's below threshold, some current is added until it's above threshold.
Registered Member #72
Joined: Thu Feb 09 2006, 08:29AM
Location: UK St. Albans
Posts: 1659
Artlav wrote ...
Trouble is, i don't know the name for this topology, so google is of no use.
It's a buck converter. There's shed-loads of stuff to google once you have that. Check the International Rectifier site for theory papers, app notes.
Artlav wrote ...
What kind of snubbers should i add to the FET? There is quite a bit of ringing on the FET, getting less with better power bus layout, but worse with increasing current (i tested up to 20A so far). So, snubbers seem important.
You don't really want to 'add snubbers' to get yourself out of trouble, the trick is to avoid trouble in the first place.
Analyse the current flows in the circuit, the app notes from IR and other vendors of FETs intended for SMPSs will be a good resource here. As the FET goes on and off to maintain the magnet current between an upper and lower threshold, the current in the magnet and in the sense resistor will be continuous, so they will tolerate a fairly loose layout without problems. However the current has to switch abruptly between the FET+PSU and the free-wheel diode. It is the loop area of this circuit that comprises the inductance that is getting hit by the 100A/uS current transitions.
General hints.
a) Use a small value low ESL capacitor at the supply to the FET and magnet, so the current transitions don't reach the PSU, and so that you know which components the large current changes are happening in. You don't need a big value here, just enough to take the sting out of the change of load on the PSU. If you have the theory, then design an LC filter, L to the PSU, C to the FET, to attenuate the circuit's current transitions at the PSU. The filter design will give you the component values.
b) Minimise the loop area of the changeing current.
c) Think about slowing the FET gate transitions down. Although the increased transition time will result in more FET heating, the lower dI/dt will result in less excitation of the problem current loop.
Registered Member #8120
Joined: Thu Nov 15 2012, 06:06PM
Location: Moscow, Russia
Posts: 94
Dr. Slack wrote ... It's a buck converter. There's shed-loads of stuff to google once you have that. Check the International Rectifier site for theory papers, app notes.
I suspect it's not exactly a buck converter. Here there is no load, and the inductor is the load. Most of the documents give useful formulas, but for a completely different goal. Even worse, they are predominantly talking about ICs, ceramic caps close to the pins, ones to tens of amps and constant voltage output. None of which is directly useful.
I was hoping there would be a separate class of converters like that, with ideas and existing solutions for it.
Dr. Slack wrote ... the current in the magnet and in the sense resistor will be continuous, so they will tolerate a fairly loose layout without problems.
Curiously, touching and wiggling the wires going to the sense resistor change the frequency, but not the set current. It's sensitive to something.
Dr. Slack wrote ... However the current has to switch abruptly between the FET+PSU and the free-wheel diode. It is the loop area of this circuit that comprises the inductance that is getting hit by the 100A/uS current transitions.
Um, what loop would it be? The FET loop is clear - that's the input capacitor loop. But what about the diode one?
Or is it one and the same? On switch off the current in the loop is cut off and tries to ring into the FET, on switch on the current in the magnet tries to go into the loop (against it's parasitic), and rings up at the diode?
Dr. Slack wrote ... c) Think about slowing the FET gate transitions down. Although the increased transition time will result in more FET heating, the lower dI/dt will result in less excitation of the problem current loop.
That's an interesting idea. What is a good way to do that? Gate resistor, or extra capacitance at the gate? Something else?
I tried adding a 100nF cap to the gate (own capacitance is 10nF), and it increased the turn on time to 200nS from 50nS. There was some slight reduction effect on the ringing. Any more capacitance, and the things start going haywire. So, resistance?
Considering the low frequency, i think the switching losses would naturally be small, so trading a bit of them off for less ringing is a good idea.
But with all that done and tweaked, i expect there would still be a need for some snubbers. :)
Registered Member #2939
Joined: Fri Jun 25 2010, 04:25AM
Location:
Posts: 615
It most definitely is a buck topology. The load is there, but not obvious - its in the DCR of the magnet, and in the sense resistor and in the forward V of the diode. You appear to be using hysteretic control - this is a regime usually used at light loads in chip regulators. It may be prone to amplifying any ringing - the switching will tend to synchronise with the natural resonances present. If it were me doing this, I'd change to a PWM controller and use a FET as a synchronous rectifier, given the currents involved.
Registered Member #33
Joined: Sat Feb 04 2006, 01:31PM
Location: Norway
Posts: 971
The keyword to search for is "Synchronous buck controller". The first hit in google is the NCP1034 which looks like a promising candidate, but there are loads more that might be even better.
Registered Member #72
Joined: Thu Feb 09 2006, 08:29AM
Location: UK St. Albans
Posts: 1659
Full credit for powering it up, and double credit for doing that at low power, when mistakes won't be fatal.
However, now you've done that and realised that things are not so simple, take a step back, and do your homework. Go to the IR site , technical library, and don't do anything else to your circuit until you've read what they've written about how to design buck converter systems, topology fundamnentals, app notes, design tips.
You can regard it as a buck converter driving a short-circuit load, with your magnet coil as the output inductor. Or, you can split out the resistance of the magnet coil, call that the resistive load, and then you have the theoretical luxury of working with a lossless output inductor. How much of a theoreitical advantage that is is moot, as you can't take your scope and measure the 'load' voltage by itself, to compare with theory. So you may as well stick with the model of a short-circuited converter with a lossy output inductor.
100nF on the gate to slow it down? Ouch! You need zero added gate cap, and you should increase the series R that you already have there from a few ohms to the low 10s of ohms. Don't have a series R there at the moment? Ouch!
I *would* agree with 2spoons about using a FET as a synchronous rectifier at these currents *if* you'd shown evidence of being on top of the literature that's out there. As you are clearly just starting out, I would suggest sticking with the free-wheel diode for the moment, and go for the extra efficiency of a synchronous FET when the simple circuit is working at full current.
Ditto with hysteretic control. It will get you started, but you are laying yourself open to a number of other potential nasties. Perhaps once you've seen the options, you'll appreciate the pros and cons of other methods, I'd personally go for fixed frequency control.
Which loop? All the heavy red wires have discontinuous currents in them due to the FET switching action. If the input cap wasn't there, the discontinuous current would extend all the way back to the PSU.
During FET conduction, current flows from the junction between the diode and the sense resistor (sorry, not labelled on the diagram), though the input cap, through the FET and out to the coil. During FET blocking, current flows from the diode/senseR junction , though the diode, and out to the coil. These currents starting and stopping create a voltage in the inductance of that loop. Or to put it another way, to get the currents to start and stop in that inductance, a high voltage may be needed. Get the area of that loop down to as near zero as possible, tightly twisted wires, broad tracks running on opposite sides of a board, that sort of thing.
While we're thinking about control options, let me float this past you. How about, while you are de-fleaing the current switching transients and FET driving, you operate it open-loop, without feedback? I am a great fan of solving one problem at a time, and breaking control loops and working on them open circuit. It you set an op-amp, a 555, or a PIC/AVR or something to give you a controllable frequency and duty cycle, then that would initially remove one variable from what you're trying to do. If you set the duty cycle to say 10%, then the effect (to first order) will be on average to impress 10% of the battery voltage across the total resistance of the circuit, including coil, wiring and FET resistance. The current will rise over several cycles to (duty_cycle*V_batt)/(total_R), which for a low enough duty cycle will be small. Then you have a nice stable steady state to probe with your scope and see what's happening. Once everything is clean, then go back and choose a control method.
Registered Member #230
Joined: Tue Feb 21 2006, 08:01PM
Location: Gracefield lower Hutt
Posts: 284
I would be tempted to do this with a current mode converter where the conduction is continuous. I does make it more complex and a big inductor will be required to drive the current mode stage
Registered Member #8120
Joined: Thu Nov 15 2012, 06:06PM
Location: Moscow, Russia
Posts: 94
Progress.
Added a 15 Ohm resistor to the gate driver, and it had a lot of effect. The switch on time is now close to 1 us. The ringing (rather, the initial spike) diminished by half on the FET, but remained the same at the diode. The FET is now warming up a little (at 20A current) instead of staying metal cold.
That last part feels questionable - can i run into problems at full current, when the FET spends so much time in linear mode that it fuses even in 1uS? SOA graph suggests that not even close, but no clue how much heat removal am i looking at now.
Next, the loop. It's kind of big...
And there was no obvious way to reduce it without moving the parts around. But i'm allowed to move the parts around, so i think of rearranging it like that, basically folding the loop:
It seems more round, but the total area is much smaller. I can't think of any way of making it tighter.
Can anyone? Should i just connect strips of copper straight (like below), or are there some sandwich shenanigans to try?
Anyway, i cobbled the flip together.
Ringing on the FET: Almost gone. Ringing on the diode: Same.
So what am i doing wrong, diode-wise? Also, what else can be improved there?
Next, control.
I've encountered two issues so far. 1. Starting - if the input capacitor is not charged, then the thing would try to source the whole set current from a high voltage, low current PSU, and would never start. Not really a problem, since it can't damage anything and you just have to keep it in mind.
2. Sensitivity - the frequency changes from any sense wire twitch. The magnet is close, naturally, so i suspect the feedback wires pick up it's field. In any case, it got worse with the new layout - with the wires parallel i got 80kHz and noise! I found out that if i do a half-circle of the wire on top of the shunt, then the noise gets cancelled out and everything works fine. But that just smells of sorcery to me at this point, so what are the how and why of fixing that?
Anyway, obviously the control would like some improvements. But yes, i'd like to have a good power design first, as suggested.
Synchronous rectification does not feel like being worth it - i can heatsink the difference in efficiency, so simplicity is preferred.
Registered Member #2939
Joined: Fri Jun 25 2010, 04:25AM
Location:
Posts: 615
1. Try adding a soft start cap to your current control setting resistor - so the current ramps up gently. 2. Not surprising, given the hysteretic control. The switching point will always be determined by your feedback voltage plus any noise (picked up by radiation, or from ringing in the coil loop). Increasing the hysteresis range might help.
I suggested sync rect as your diode could end up dissipating north of 70W at full current, which has to come out of your supply. The sync buck driver chips are pretty simple. It also gives you the option of a controlled turn-on for the flywheel device, which you can't do with a diode (except by picking a slow one).
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.