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.
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It only takes a minute to sign up.
Sign up to join this communityThe 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.
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 (which can be set by the RC values).
If you'd like a nice analog solution, there's this circuit that's used by flight simmers:
(source: simprojects.nl)
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
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.