Pages: [1]   Go Down
Author Topic: generating a two stage signal.  (Read 585 times)
0 Members and 1 Guest are viewing this topic.
ottawa, canada
Offline Offline
God Member
*****
Karma: 6
Posts: 993
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm short an output pin to control an outside circuit and I need a simple way to control two outputs from 1 pin.

when my input signal goes low to high I want output A to go high, then 100-200 ns later, output B to go high.

when my signal goes high to low I want output B to go low then 100-200 ns later output A to go low.

The effect is that both A and B track my input but I always get A=high and B=low briefly between transitions.  (I'm driving control pins on another processor between two stable states 11 and 00 with a guaranteed 10 in the middle which is a reset).
Logged

Bill Rowe
Olduino - An Arduino for the First of Us
www.olduino.wordpress.com

0
Offline Offline
Full Member
***
Karma: 2
Posts: 128
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How about a 555 to get the reset delay?
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17303
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Have you also used up all the analog input pins, they too can be used as digital output pins? And the solution would be so much easier done in software commands in the sketch rather then having to add external logic components.

Lefty

Logged

0
Offline Offline
Shannon Member
****
Karma: 216
Posts: 12556
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Because a 555 isn't really fast enough?  Maybe a CMOS 555 is. This sounds like a job for a monostable, there will be one or two in the 74HCxx range I think.  Alternatively using an RC delay circuit (RC followed by schmidt-trigger gate to combine with the non-delayed signal.
Logged

[ I won't respond to messages, use the forum please ]

ottawa, canada
Offline Offline
God Member
*****
Karma: 6
Posts: 993
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@lefty, yeah, nothing left, I'm even using the xtal pins.  The avr just has a bit part in the circuit but its i/o pins are all spoken for.

@MarkT and tjb: I don't *think* it's a single 555 or monostable because I need one output to go high first when my input goes high and stay high longer when it goes low.

So far I'm looking at the following when the input on the left goes high, the lower right output (/clear) will be slower to go high because of charging its cap thru the 100k rx.  when my input drops, the top output will stay high longer because it has to discharge its cap through a 1M vs the 100k.  I think this would work but it's a lot of pieces.
Logged

Bill Rowe
Olduino - An Arduino for the First of Us
www.olduino.wordpress.com

ottawa, canada
Offline Offline
God Member
*****
Karma: 6
Posts: 993
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, way better idea.  The single digital pin will drive both outputs either high or low but, if I tri-state the pin, resistors will pull the outputs to the reset state.  much simpler and i can control the sequencing in software.
Logged

Bill Rowe
Olduino - An Arduino for the First of Us
www.olduino.wordpress.com

United Kingdom
Offline Offline
Tesla Member
***
Karma: 227
Posts: 6637
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

What are you using all the other pins for? It may be easier to reduce the number you are already using.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Pages: [1]   Go Up
Jump to: