[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: basic anti-EMI design q



On Thu, Mar 23, 2006 at 10:41:30PM -0500, DJ Delorie wrote:
> 
> > last time I had to work in a hostile environment, I threw away the
> > solid state dumb waiter controller and replaced it with latches and
> > a simple state machine made with mechanical relays!  No more
> > interaction between the dishwasher and dumb waiter :)
> 
> Well, the alternistors end up driving mechanical relays anyway.  It's
> a chain - I/O port to FET (1mA), FET to opto (20mA), opto's triac
> driver to alternistor (0.8A pulse), alternistor to relay (1-3 amps),
> relay to 120VAC motor (1/8-5HP).
> 
> It's not the drivers that mess up, it's the octal latch.

I suggest to put a shielding partition across the opto triac (so the
control half of the optotriac is on one side, the power half on the
other, and the triac sitting in a hole in the partition).

> 
> > Do you have a way to tell how the interference is getting in?  Is it
> > the supplies or the signal lines?
> 
> The only thing I've *seen* is a pulse on the latch line from the
> computer to the latch.  Remember, I'm just using the parallel port,
> and there's a 10 foot ribbon cable connecting it to the board.  It's

Change ribbon cable to a shielded multi-conductor cable, make sure all
connectors in the system have gold-plated contacts (otherwise you get
resistance on the ground connection which will cause the shield to
malfunction - Faraday was talking about *conductive* things, not
half-conductive ones :) ).

> one of the things I'm trying to get rid of ;-) However, the pulse
> looked digital, not like EMI, except that the software couldn't have
> put it there (the timing didn't match the "real" signals).
> 
> Occasionally I see the results of glitches on the LCD panels, which
> means the 9600 baud line is getting corrupted some too.  But since
> it's bit-banged, that could be the latches too.

Send a picture of your system.

> 
> But my 32Ms/s DSO only goes to about 10MHz or so before the
> attenuation is limiting.

Take a 300MHz bandwidth DSO which can do the bandwidth without
interlacing.

> 
> > If you do split the planes, the big thing to keep in mind is all
> > currents flow in a loop.  So pay attention to the complete current

Yes, I once got problems with current flow in a loop - my PC was
connected to audio amplifier. There was a hum. The hum was cause by a
ground loop - apart from the audio connection ground, there was a ground
loop amplifier - radio aerial on the roof - lightning conductor -
grounding point - power wires in the house - wall socket earth protect -
computer.

The problem is not current flow in the loop. The problem is that Faraday
said that it should be conductive, and it wasn't. So I put a 20mm^2
copper cable between PC's ground and the ground of the audio system. And
the hum went away. Without optocouplers or transformers, without signal
degradation.

Also once got interference from PC into my walkman. Drilling the case
lid along it's border with 5cm pitch for self-cutting screws and putting
ferrite cylinders on all wires did the job, excellently. TEMPEST is
TEMPEST.

CL<
> > loop and make sure it flows where you want.  If you don't pay
> > attention to this, you can split the planes in a bad way and do
> > worse.
> 
> I've figure out that keeping power and ground paths together is one
> key thing, and watch where signals go and return.
> 
> But the cs8900a has separate digital and analog pins; I assume they
> did that for *some* reason.
> 
> Amusingly, the M32C is a split power chip too!  One half (physically)
> of the chip has one power/ground pair, and all the I/O pins on that
> side use that pair, and the other side has its own pair.  Thus, you
> can have both 5v GPIO and 3.3v GPIO, or 5v GPIO and 3.3v addr/data
> busses (all the I/O which double as CPU interfaces are on one side),
> etc.  Not sure I need this, and it complicates the power system
> anyway.
> 
> > As an example, I helped someone with a board where the 13th harmonic
> > (no kidding!) of a clock oscillator was getting into the IF path of
> > a receiver via the power supply and then mixing with an LO (or maybe
> > it was a harmonic of the LO) and producing an in-band interference.
> 
> Just hit something like this a week ago.  Rebecca (my daughter) and
> her friend wanted to do a remote beeper for their science fair (she's
> 13).  They salvaged electronics from an old R/C car, but as soon as
> the buzzer got power it messed up the radio and shut it down again.
> Ended up using the radio to discharge a capacitor (fast) and let the
> buzzer recharge it (slow) so the buzzer and radio didn't have to be on
> at the same time.
> 
> > The next benefit came from a small series resistor at the output to
> > limit the risetimes of the signal at the load.
> 
> I have been reading a lot about small series resistors on fast lines.
> I don't know if 32MHz signals qualify, though.  None of the app notes
> mention them.  The xscale requires them at high clock speeds.
> 
> > In your case, I'd look at using opto isolators or transformers where
> > possible for driving those off board signals.  That confines the
> > currents induced in that loop to a specific spot which doesn't
> > include your power supplies.
> 
> I was planning on FETs for the same reason; the high impedance on the
> gate (inherent and resistors) provides a lot of isolation; I don't
> *need* opto isolation just for the electricals; it's all +5 signaling.
> 
> One of the first steps when I get serious about it is to design the
> I/O blocks, and post them.  There's a couple of stages of filtering in
> them, yet they should still be usable as generic three-state
> bidirectional ports.
> 
> > If the supply into your board is particularly nasty, which is likely
> > the case, at a minimum you should put some filtering on it right
> > where it comes in.
> 
> The switcher's app notes talk about those.
> 
> > Be sure and address both differential and common mode signals.  X
> > and Y caps in line filtering terms.  In other words, put some C
> > between the lines and also to ground.
> 
> The switcher only provides +5 and ground.  What's the third line?
> 
> > For an AC signal, you can put a common mode choke on the incoming
> > line.  By this I mean, take the pair of wires that bring 24 VAC in
> > and wrap them around a magnetic core.
> 
> This can be done just off the board, yes?  Just a ferrite on those
> lines?
> 
> > Actually, on this topic, differential signalling for off chip 
> > signals and some common mode filtering may give some benefit.
> 
> The wires and thermos are already there.  I had 8 conductors installed
> to each, but I think one quad got hit by a nail or something, because
> it's stone cold dead, so I can only rely on four conductors.  I
> suppose I could do PoE style signalling, but there's not a lot of room
> in the thermostats.  That's where the 1wire and 9600 baud go; I can
> put specific filters on those if needed, although I'm trying to keep
> the core board design generic, or at least hackable.
> 
> Unless you know of a two-wire bidirectionall differential signalling
> that works with a tssop on the thermo end; that's about all the room I
> have in there.  Otherwise, I may end up putting a CPU in the thermo
> and packetizing those links for fault recovery.
> 
> > Also, many regulators don't have stellar rejection of glitches at
> > their input so you might look specifically for that when picking
> > one.
> 
> ACON series CX isolating regulator.
> 
> > If you can tolerate it, you might be able to improve things by
> > cascading 2 regulators.
> 
> Not a lot of room for that, and they're *expensive*.  I did try
> replacing one of the three bulk caps with a bulk inductor, but there
> wasn't enough room for one that would do any good, and there was a lot
> of ringing.  I'll stick with what their app notes call for ;-)
> 
> I suppose using a 9v main and a non-isolated 9-5 switcher would be
> feasable, but there should be enough inductance in the one stage.  I
> suppose I could test it once I start collecting parts.
> 
> > Take a look at some of the EMI filters made by companies like
> > murata.  Those can be quite effective on supply lines.
> 
> Thanks!