Re: How to acheive glich free SSR outputs on the BasicX LCDX module at powerup?

Started by Tom Becker June 8, 2011
> ... Is there any way to configure the BX35 so the ULN2803A outputs do not sink
>on powerup?

I think this is caused by a characteristic of AVRs, on which the BX35 is built.
AVR I/O pins float (high-impedance) during a processor reset, as occurs at
powerup. My guess is that the 2803 outputs might go low, perhaps weakly, while
the inputs float high. Had I designed the LCDX I might have put 10k pulldown
resistors from the 2803 inputs to ground tp prevent that - and that might be a
solution for you.

That said, I switch mechanical relays with an LCDX and I can't say that I see
this effect on that project; it seems to reset fine without relay glitching.
Perhaps the 2803 doesn't sink enough current with floating inputs to pull the
relay coils closed in my case but, in your case, the SSR inputs are sufficiently
sensitive to glitch. Maybe you can drive the SSRs differently to avoid it, too.

I/O states when in reset are a proper concern for many projects. Pressing Reset
in a panic shouldn't cause motors to suddenly run full-blast - or cause firework
ignitors to light - for instance. Outputs should be designed to adopt the safe
state when in the reset state.
Tom
Isn't the 2803 connected through an SPI chip, rather than direct to the AVR. On my LCD-serial, the precursor to the LDC+, the 2803 is driven from a 74HC595 which has /OE and /MR, are they used?
DAvid

--- In b..., Tom Becker wrote:
>
> > ... Is there any way to configure the BX35 so the ULN2803A outputs do not sink
> >on powerup?
>
> I think this is caused by a characteristic of AVRs, on which the BX35 is built.
> AVR I/O pins float (high-impedance) during a processor reset, as occurs at
> powerup. My guess is that the 2803 outputs might go low, perhaps weakly, while
> the inputs float high. Had I designed the LCDX I might have put 10k pulldown
> resistors from the 2803 inputs to ground tp prevent that - and that might be a
> solution for you.
>
> That said, I switch mechanical relays with an LCDX and I can't say that I see
> this effect on that project; it seems to reset fine without relay glitching.
> Perhaps the 2803 doesn't sink enough current with floating inputs to pull the
> relay coils closed in my case but, in your case, the SSR inputs are sufficiently
> sensitive to glitch. Maybe you can drive the SSRs differently to avoid it, too.
>
> I/O states when in reset are a proper concern for many projects. Pressing Reset
> in a panic shouldn't cause motors to suddenly run full-blast - or cause firework
> ignitors to light - for instance. Outputs should be designed to adopt the safe
> state when in the reset state.
> Tom
>

Yes you are correct, in that the 2803 is driven by a 74HC595. I did some
continuity tests that indicate the /MR is tied to +5vdc and the /OE is tied
to GND. If only the pcb designer had used an RC network to allow the /OE
some time to hold the 595 outputs low. Something like a .1uf and a 10k would
have worked great, holding the 595 outputs inactive for about 700ms. I sure
there is a more precise way to calculate this, but I just use .7RC. Close
enough, I think. Anyway, without really hacking the board, I have just put
Call RelayInitialize() as the first line in Main(). That seems to minimize
the glitch effects on the 2803 outputs somewhat. What else do you think
could be done?

_____

From: b... [mailto:b...] On Behalf Of
David
Sent: Thursday, June 09, 2011 6:36 AM
To: b...
Subject: [BasicX] Re: How to acheive glich free SSR outputs on the BasicX
LCDX module at powerup?

Isn't the 2803 connected through an SPI chip, rather than direct to the AVR.
On my LCD-serial, the precursor to the LDC+, the 2803 is driven from a
74HC595 which has /OE and /MR, are they used?
DAvid

--- In b... , Tom Becker
wrote:
>
> > ... Is there any way to configure the BX35 so the ULN2803A outputs do
not sink
> >on powerup?
>
> I think this is caused by a characteristic of AVRs, on which the BX35 is
built.
> AVR I/O pins float (high-impedance) during a processor reset, as occurs at

> powerup. My guess is that the 2803 outputs might go low, perhaps weakly,
while
> the inputs float high. Had I designed the LCDX I might have put 10k
pulldown
> resistors from the 2803 inputs to ground tp prevent that - and that might
be a
> solution for you.
>
> That said, I switch mechanical relays with an LCDX and I can't say that I
see
> this effect on that project; it seems to reset fine without relay
glitching.
> Perhaps the 2803 doesn't sink enough current with floating inputs to pull
the
> relay coils closed in my case but, in your case, the SSR inputs are
sufficiently
> sensitive to glitch. Maybe you can drive the SSRs differently to avoid it,
too.
>
> I/O states when in reset are a proper concern for many projects. Pressing
Reset
> in a panic shouldn't cause motors to suddenly run full-blast - or cause
firework
> ignitors to light - for instance. Outputs should be designed to adopt the
safe
> state when in the reset state.
> Tom
>