The title pretty much says it all.
I have an idea to try out involving a op-amp differentiator circuit and a diode bridge, but I am flying blind.
Also I am trying to accomplish this without a micro-controller.
|
|
If you'd like a nice analog solution, there's this circuit that's used by flight simmers:
The schematic shows the arrangement for a toggle switch, but it could be easily substituted for a momentary. Each time the switch changes positions, the capacitor has to charge and discharge. During this time, a voltage is developed across the relay contacts, closing the switch. Once the capacitor has charged, the relay turns off again. More info here: http://www.simprojects.nl/toggle_to_momentary.htm |
|||||
|
|
XOR gate:
I've used the NC7SZ58 for this, which is cheap ($0.04) and tiny and has Schmitt trigger inputs so the pulses are roughly the same length. |
||||
|
|
Depending on how much you want to invest in learning, the debouncing, xor, flip-flop solution would be the most "basic". The 555 is a great circuit to learn about though. Here is a page that walks through about a large number of applications for it: http://www.kpsec.freeuk.com/555timer.htm If you look for "Edge-triggering" under the monostable section you will find what seems to be the solution you are looking for. |
|||||
|
|
You may use a simple xor gate, and one of the inputs connected to the switch directly, while the other input through a R-C circuit which provides the delay. This works OK as an "edge detector", but it doesn't do any debouncing - you didn't ask for this :-). It's probably the cheapest way if you already have an unused xor gate in your design. |
|||
|
|
|
Allowing a 555 but rejecting a microcontroller is silly, you can get a microcontroler in the same or smaller package than a 555, and as a bonus you can do debouncing in software, saving some extra components which would be required to debounce the signal for the 555. Same thing goes for D flip-flop and XOR gate...that's 2 ICs you need, in addition to the debouncing components. What is your reason for wanting to avoid a microcontroller? The simplest ones are $1, probably much less in high quantities. If it's space, there is an 8-pin TSSOP AVR which is like 3x5 mm, pretty tiny. |
|||||||||||||||||
|
|
There might be a way to do it with a 555 timer set up as a one-shot. One D flip flop and one XOR gate will also do it. Exact logic left as an exercise to the reader. |
|||
|
|