Emission noise from a PWM/buck converter? - Page 1
Forum section: electronics / projects

author: Artlav
author_rank: Frequent Contributor
timestamp: January 07, 2015, 10:59:21 am
content: I'm making a controllable driver for a couple of 15V, 6A peltier (step-down from 24V).An attiny85 PWMs the switches open-loop at 32KHz.Problem is, there is a lot of noise.As in, the PC speakers a meter away are fizzling, and there are glitches in digital logic on a breadboard 20cm away.Needless to say, this is not good.What can be causing the emissions?My primary suspect would be the way inductors are made and mounted, but i don't see what exactly is bad about them. The extra cm or two of wire does not sound worse than an extra cm or two of PCB track, and the latter don't cause massive EMI.Schematic:Layout:Appearance:

author: Niklas
author_rank: Frequent Contributor
timestamp: January 07, 2015, 12:01:43 pm
content: The noise will be above the switching frequency and the impedance of the electrolytic capacitors is not low enough. The PCB looks home made and without solder mask, so it will be easy to add ceramic capacitors on the bottom side. Put capacitors in parallel with the electrolytic caps and also between +24V and GND in the area between Q2 and D2. >=50V, X7R and standard values like 1nF, 100nF, 1uF could be good start to test with.Also measure the voltage ripple over C8 and C9. 6A output current could need more buffering capacitance on the input and that extra ripple current will flow through the supply wires/antennas

author: bktemp
author_rank: Super Contributor
timestamp: January 07, 2015, 12:14:35 pm
content: The main problem is probably the arrangement of the inductor an output capacitors:In a typical buck converter the output capacitor is connected to GND, but you tried to avoid the high side switches. Instead of connecting the capacitor to GND, you connected it directly at the switching node.All the wires and the peltiers are exposed to the switching frequency and therefore work as antennas.Exchaning the inductors and output capacitors should correct the problem.

author: Richard Head
author_rank: Frequent Contributor
timestamp: January 07, 2015, 12:48:06 pm
content: BKtemp is spot on. There is probably a relatively large capacitance between the peltiers and the heatsink. The result is that the entire heatsink is jumping up and down in potential at the switching frequency.Solution: Use a high side switch (I know it's a pain in the ass!)

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 07, 2015, 03:33:27 pm
content: They're bouncing around at full switching voltage... put inductor on the transistor side...

author: Artlav
author_rank: Frequent Contributor
timestamp: January 07, 2015, 08:46:39 pm
content: Quote from: Niklas on January 07, 2015, 12:01:43 pmNo effect, from either bulk or ceramics.Quote from: Niklas on January 07, 2015, 12:01:43 pmThere is some spiking on the input, but it's not getting fixed by more capacitance.Quote from: bktemp on January 07, 2015, 12:14:35 pmThat seems plausible - moving their wires around change the noise quite a bit.Quote from: bktemp on January 07, 2015, 12:14:35 pmUh, how is that supposed to work again?Capacitor in place of the inductor will just block the current path.Quote from: T3sl4co1l on January 07, 2015, 03:33:27 pmLike so?Would that be as good as doing high side switching?The load is now stays bound to one rail (and the voltage is a bit harder to measure), so it won't bounce and radiate?

author: langwadt
author_rank: Super Contributor
timestamp: January 08, 2015, 12:01:31 am
content: Quote from: Artlav on January 07, 2015, 08:46:39 pmIt reduces the switching node to the three pins on diode,fet and inductor instead of the big antenna that is the wire to the peltier

author: Yansi
author_rank: Super Contributor
timestamp: January 08, 2015, 12:20:37 am
content: Now you have a problem with measuring voltage on the output, because now it is referenced to +24V rail, not ground. So with 0 duty cycle you will get +24V, at full duty cycle you will get 0V. With this configuration, if you want to measure the voltage, you must use subtraction, 24V bus minus what you've measured on ur Va/Vb pin. So u'd need to measure also the 24V bus to do that. Or use another configuration of the power circuit.By the way, why did you choose so expensive driver? That IRFZ at 32kHz will do almost any cheap driver with a few hundred mAmps pulse current capability.I'd rather use synchronous buck for that application. Instead of the freewheeling diode second mosfet is used. If proper type of mosfet is chosen, the power loss in the buck is almost negligible at your six amps output. The only requirement is to use bootstrapped halfbridge driver with deadtime. Their price is same or lower then yours HCPL stuff. Like IR2104 or anything...And keep in mind that with a bootstraped driver, you cannot use duty cycles over about 95%.And I'd add an overcurrent protection.And I see you use 330uF elytic caps on the output. Too small, they will blow. If your ripple current is topping at 1.9 amps, the cap must be rated for that. Even high quality 330/35 cap like Nippon LXZ series is not much suffient for this. Standard 330/35 caps are rated about 0.2 to 0.4 amps, and those low impedance are up to an amp.I can't see well on the photo, what type of core did you use for the chokes? Is it iron powder? Which material? (26? 52?) - or just the color identification like yellow-white or blue-green,..

author: Artlav
author_rank: Frequent Contributor
timestamp: January 08, 2015, 10:09:49 am
content: Quote from: Yansi on January 08, 2015, 12:20:37 amYep, but not an impossible one.Fortunately, the voltage is not really used anywhere but for instrumentation - with a fixed known load i don't need feedback.Quote from: Yansi on January 08, 2015, 12:20:37 amAnd no need for opto-isolation, etc.It was really more of a "what do i have on hands" question rather than a price/selection question.Quote from: Yansi on January 08, 2015, 12:20:37 amThe diodes are already only about as warm as the FETs, and all is running within touching temperatures at full power without a heatsink, suggesting efficiency well into the 90% range as is.Hm, is there a way to make a synchronous buck without a whole ton of complications and sensing?It feels like in this case it is as simple as one switch is on while the other is off and vice versa, right?Quote from: Yansi on January 08, 2015, 12:20:37 amJamicon WL low impedance ones.No heating what-so-ever in any mode, so they seem to be sufficient.Quote from: Yansi on January 08, 2015, 12:20:37 amIt's a soft ferrite ring with permeability of 50, local made.I described these inductors here:https://www.eevblog.com/forum/chat/the-squeal-of-a-newborn-inductor/

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 08, 2015, 10:12:12 am
content: Have you measured that those cores are actually desired inductance under load?

author: Yansi
author_rank: Super Contributor
timestamp: January 08, 2015, 05:39:31 pm
content: Ferrite with permeability of 50? Strange choice for such a choke. Without much knowledge about designing such a supply I wouldn't experiment much, but used what's known to work, such as standard iron powder core mix no 26 (yellow-white), which you can find almost everywhere. It is a cheap material good for switching frequencies under 100k. Suitable core could be found in a PC AT/X supply. Typically, these are T106-26 type (27mm outer dia). You can use Micrometals' catalogue of iron powder cores to help you to identify iron powder cores.The core u've used seems to be impractically big and I suspect it has cost ya more than a new mix 26 iron powder core. That's only a suggestion for futere projects...If the core produces loudly audible noises, might be a first flag telling you it is being oversaturated. But if nothings wams up quick and if you've run the math for choosing and winding such a choke, that might be not the problem. What are the specs of your core and what level of flux density was used for the core to work at?I've forgot that you can use a 40-60V schottky diode for the buck, so it musn't generate as much heat as I thought. For this simple setup making a synchronous buck is not so much neccessary, there are almost none complications. Just use suitable bootstrapped halfbridge driver with deadtime. Usualy also DIP8 package, requiring only a few components (bootstrap cap and diode, and standard decoupling stuff - for the simpliest setup). The bootstrapped driver also has some requirements for proper layout of the board (the floating side typically can't withstand much negative voltage overshoot which can be very easily generated in a bad board layout). Keep in mind the max duty cycle is not 100% but lower, to make sure the bootstrapping supply charges enough. And also be aware of that synchronous buck converter can actually reverse the flow of energy, so it can take energy from its output and put it back. But I don't want to dig much detail, some math to be explained here...To sum up, making simple buck converter is not hard (it is easy), if you know, what you are doing. So as many times "it depends". :-) Having a single switch buck is fine there. I've just suggested using synchronous one, bcs for low voltage and high amperage stuff it is more efficient.

author: Artlav
author_rank: Frequent Contributor
timestamp: January 08, 2015, 08:01:14 pm
content: Quote from: T3sl4co1l on January 08, 2015, 10:12:12 amQuote from: Yansi on January 08, 2015, 05:39:31 pmNow that you asked...No, it does not seem to be holding well.Here is what i measured, by pulsing a current through it.20V input, 0.1 Ohm sense resistor, 2A per vertical notch, 10us per horizontal.At first it goes up nicely at 100uH up to about 2A.Then, something weird happens between 2A and 3A, to the effect of the inductance being over 200uH.Above 3-4A it saturates, and the inductance becomes on the order of 50uH between 4A and 6A.I am a bit surprised at the sag in that curve.Does it look like something real, or should i look for measurement issues?In any case, it appears to be saturating half-way up the power range.Still works fine, however.Quote from: Yansi on January 08, 2015, 05:39:31 pmHm. The core i used cost just under $1 equivalent, not what i would call expensive.The ones you describe sound like alsifer/sendust - powdered iron materials.These are at least 10 times as expensive.Unless i'm missing some third option, of course.The problem is that the soviet/russian nomenculature cores are much easier to find here than the western/imported ones, and they don't quite map one to one.As far as i can tell, the core i used was indeed intended for low power uses, so it's back to square one.I tried math, i tried simulation programs, i tried guessing.Looks like it's time to get a bunch of different material cores and just test them out to find the right one (and get an idea what is what)...Quote from: Yansi on January 08, 2015, 05:39:31 pmI figured it would be maybe a percent or two more efficient, at cost of extra parts and complexity.Not quite practical, but i might try it just for the fun of it.

author: Artlav
author_rank: Frequent Contributor
timestamp: January 08, 2015, 08:22:08 pm
content: Ok, a stupid question:Can you damage a ferrite by current alone?Because that inductor i was testing suddenly lost half of it's inductance after i tried it for 80us pulse.I plug it into an LCR meter, and it shows 77uH.On the rig, it shows a completely different curve, basically a clean parabolic going skywards.The core wasn't moved or touched.One pulse, it's at 100uH and weird.Next pulse, it's at 75uH and parabolic.WTF?

author: Yansi
author_rank: Super Contributor
timestamp: January 08, 2015, 09:49:59 pm
content: Thats because you use cores without careful decisions being done before.You used somewhat nonstandard ferrite thing which you haven't specified for us, you only told us it is ferrite with permeability of 50 and it is from local sources. That is not enough information.Who knows, what that core is, you are only the one who shoud know before putting it into the circuit.The core you have used is probably NiZn ferrite, which is RF core used for high frequency noise filtering, absolutely not usable for this kind of power stuff. And sure this type of ferrite gets degraded when saturation occurs.So please now find a proper core, such as from PC AT or ATX power supply, there is a yellow-white marked toroidal core, typicaly 27mm diameter, type T106-26 or its bigger brother T130-26 with 33mm diameter. Wind there at least 100uH (to 150uH) It will be about 29 turns for the smaller T106 core or 36 for the T130 core.NEVER use ferrite for a choke without calculating the maximum operating flux density. Wth standard ferrite types such as N27 (CF196,..) with high permeability (thousands), properly calculated air gap must be used to prevent saturation of the core!

author: Artlav
author_rank: Frequent Contributor
timestamp: January 08, 2015, 10:53:12 pm
content: Sigh.Today i learned that you can overload the ferrite itself.Not burn the wires off of it, but physically damage the material itself, just by oversaturation.That's the story of my relationship with inductors.They keep being mysterious, and every know and then i demystify a part of them.Back when i couldn't understand how they work at all, i used to make a 12 to 200V converter like that:Which is a lot of voltage doubler stages.That's the kind of steps it took.Anyway.I dug through the salvaged parts box, and found one choke wound on that yellow material.It was tiny.I put it into the test rig, and what do you think happens?It performs about as good.Slightly saturated above 3A, average inductance of 100uH on reaching 6A.The tiny bastard that canfit through the holeof the big one performs just as good or better, and does not even mind the overload.Good thing is, now i know what to look for.But wait, there is more.Remember that 3000F supercap-battery-that-can-melt-a-crowbar thing i wrote about some time back?Well, i figured that if the big one betrayed me, he is due to be executed.Don't like 6 amps?How about 500?...One zap later, it's hot but intact.I measure it on the LCR meter - 118uH.I put it into the rig -it got better.As in, it is about as good as it was before, a little quicker to saturate perhaps, but...It. Got. Better.Not.Fair.I'm sure there is something in the lab that would kill the thing.As a last resot, there is a hammer.But my heart is not into it any more.It survived, so i let it live. For whatever project that might need this type of a core.And that's how my relationship with inductors go, people...Sorry to dump this on you.Maybe i should start a blog.Hm...Love/Hate Electronics Blog.One day, perhaps.Back on topic/TL;DR version:I've etched the board with the new layout and figured out what inductor to use.Should populate it tomorrow, and we'll see how it fixes the noise problem this thread was, ultimately, about.

author: Yansi
author_rank: Super Contributor
timestamp: January 08, 2015, 11:16:58 pm
content: Quote from: Artlav on January 08, 2015, 10:53:12 pmCongrats that now it will work better.By the way, you can calculate the static flux density in a choke with this formula: N * I = Rm* Phi where N is number of turns, I the passing current, Rmis the magnetic resistance of the core and Phi is the magnetic flux:Rmcan be expressed as lc/ (u0*ur* Sc) where lcis the mean length of the force line, Scthe cross-section area of the core. Magnetic resistance Rmhas units of H-1and the u0= 4pi*10-7Hm-1.Phi is the magnetic flux, B (flux density in Teslas) times cross-section Sc.For ferrite cores with air gap, the formula can be simplified to la= N*I*u0/ Bmax. Now you know how big air gap you need for a (standard, high permeability) ferrite core, if you have the maxim flux (in datasheet, 0.3T max for most ferrites) and current as known value. The magnetic resistance of the core is a few orders of magnite smaller that the air resistance, so it is neglected. Note, that the flux density inside a choke core does not depend on the cross-section of the core itself. The result, la, length-of-air. Usually about a milimeter.It is also useful to note iron powder cores have the air gap distributed in its whole volume and it is hard to get these cores to saturate. The length of the distributed air gap can be calculated, but it is one big bad ass formula.I hope you I haven't scared too much you with a little choking math :-) But someone could find that useful.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 08, 2015, 11:20:23 pm
content: I don't know where the hell you're finding those cores for $1 each, but I'm tempted to ask even *with* international shipping.Low-mu ferrites are NiZn material, which has low losses at high frequency. The downsides? Low permeability, low Bmax, and sensitivity to stresses (like mechanical shock and saturation -- the datasheets specifically warn you not to saturate it, or the material properties may be permanently affected!).Cores that size are probably suitable for 20~100W of RF as wideband transformers or ferrite beads, and would normally be in the ~$5 range from retail sources.Assuming, of course, they aren't something weird like square ferrite, but it doesn't look like it (your current waveform is characteristic of a butterfly curve, where there's some low initial permeability, followed by a relatively high-mu region, followed by steadily decreasing mu as it finally saturates; then coming out of saturation with little remenance so it is able to travel a pretty open hysteresis loop repeatedly, even for pulsed DC waveforms like this).The powdered iron is a bit better behaved, though still too small for the waveform used to test. If you're only using it for an amp or two, it should be pretty good. You may still want a higher inductance, because even at 30kHz, it'll be pretty lossy.Tim

author: Artlav
author_rank: Frequent Contributor
timestamp: January 09, 2015, 01:20:49 pm
content: Well, good news and bad news.Good is that i got some T106-52 cores, and they work great.On the test rig it's mostly a straight line all the way to 15A or so (34 turns of 1mm wire).In circuit, the fets got a bit colder, the diodes are where they were, but there are no sounds even when the things aren't wrapped or anything.So that was an improvement, at $0.5 apiece.The bad news.Here is the new schematic:I swapped the inductor to the other end of the peltier, and the noise got worse.Well, maybe not worse, but different.It does not reach as far - the speakers no longer make sputtering sounds.But the temperature sensor board (on a breadboard) is barely functional now, and full of spikes.Before it was more noise-y pokes, and now it's more regular spikes.The board is powered from a separate battery pack, but have the ground linked to the buck board.If i remove the ground wire, the noise dies down to a quarter or so.The question remains - WTF and how to fix it?Quote from: Yansi on January 08, 2015, 11:16:58 pmYeah, thanks. That should come in handy.Quote from: T3sl4co1l on January 08, 2015, 11:20:23 pmA local shop, i don't think they have anything online, much less international.These are local made, so the price might just be lower naturally.Quote from: T3sl4co1l on January 08, 2015, 11:20:23 pmNot "a bit", but "a straight line of properly working inductor" up to 15A.Huge difference, and they are smaller too.

author: Artlav
author_rank: Frequent Contributor
timestamp: January 09, 2015, 01:24:19 pm
content: Follow-up.I think i got it.Taking a guess based on one of Dave's videos, the change removed emission noise, but left or added conducted noise.So, i added a 500 ohm resistor into the ground line (there is one in the signal wire already).It does not affect the (slow) communication any, but the noise is all but gone, and it works great.Is that what it was, and if so is adding a resistor a correct way of fixing that?Or have i just masked some other issue?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: January 09, 2015, 01:52:00 pm
content: I'd have to know where everything is in your circuit (schematic and layout wise) to say anything specific..Tim

author: Yansi
author_rank: Super Contributor
timestamp: January 09, 2015, 02:03:31 pm
content: Yes, you probably only masked an issue. There is no way such a 6 amps buck should or had to make such terrible noise. To analyze the problem, we should look thoroughly on you board layout and wiring.You cannot swap the inductor to the another wire of the peltier, NO! It must be exactly right as you've posted the last schematic, inductor being on the side with the full voltage swing, connecting between the diode and FET.T106-52 is a great choice, 52 mix is low loss for higher frequencies, the drawback is lower permeability, so lower inductance per turn in some cases, depending on the core dimensions. Here it is pretty fine with 95nH (same core of #26 mix has 93nH per turn turn).Now lets talk a little about the layout of the components. I've drawn for you a nasty looking image, but it'll do the job.The yellow loop must be the shortest possible, to avoid stray inductance appearing in the circuit. Otherwise it would generate heat in components being overloaded by voltage spikes and likely it would produce high EMI.The only thing which might be connected with loooong traces is the inductor. Longer traces only add extra inductance, which is fine. But EMC requirements suggest not doing so, because there is high speed high amplitude voltage swing accross the line going from the mosfet. (By the way, EMC requirements suggests having all things just small, short, ... but not always possible in really high power electronics).Make sure your control circuit (the gatedriver) is connected directly or at least closest possible to the mosfet's source lead. A little advice also how to reduce EMI in your circuit is to slow down switchni speed of the FET. You've used relatively high speed driver and only 10 ohms gate resistance. That makes the fet to switch relatively high speed. By increasing the gate resistance, you can slow the switching speed down, to reduce EMI. The drawback is reduction of efficiency, by a liiitle bit. So you can try to increase the gate resistance let say up to 100 ohms, with observing the FET's temperature rise at the same time. With the reduction of switching speed, switching loss increases, so be aware of that, not to slow it down too much.Make sure that C1 is "beefy enough" to hold all the current ripple. Maybe at least 1000/35 cap for each! buck converter (same for the output). The usual approach is to put a few microfarad foil capacitors (like WIMA MKP 1-5uF/100-250V) directly next to the diode and fet and leave the electrolytic somwhere near). But placing just each of the two electrolytics closest possible will help here also quite a lot.