Go Down

Topic: Conversion of a pulse (Read 578 times) previous topic - next topic

naut

Oct 17, 2013, 08:04 am Last Edit: Oct 17, 2013, 08:25 am by naut Reason: 1
greets

I'm looking for a way to convert the top signal into the bottom one without using an MCU (i.e. programming), do you know if it's possible?

thanks

p.s. the modified wave does not have to be perfect, I could use a schmitt trigger to get clean highs and low transitions. The length of the low part does not matter, for me it's just important do get rid of the short highs. 

You could try with a retriggerable monoflop. The time constant of the monoflop should be a little longer than your short pulses.

The monoflop will be triggered by the first pulse. Before it's time is over it is retriggered by the next pulse so you don't get pulses at the output. Only during the time between two pulse series it falls back.

Elektrix
My blog about arduino and Linux themes:
http://heliosoph.mit-links.info/

cjdelphi

Simplest way would to fill a capacitor just long enough so each pulse stays high just long enough before hysterisis kicks in, a 0.1uf or lower and a resistor to bleed it or it will just stay high.

dc42

Here's one way. The value of C depends on the length of the input pulses. Not shown is the power to the 74HC14 and associated decoupling capacitor.
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.

polymorph

A 555 set up as a monostable makes a great missing pulse detector.

However... is it important that the rising edge of the bottom pulse coincide with the rising edge the last pulse on the top waveform? All these methods will result in a delayed response of longer than the distance between the top pulses.

However, if it is always the same number of pulses on top, you can count pulses. This can be done without a processor, however it would be very simple to set this up on an 8 pin AVR. Just count the pulses, and make the output go high on the fourth rising edge of the last pulse. It can even have suitable timing so it ignores pulses far outside the expected parameters.
Steve Greenfield AE7HD
Nick Gammon on multitasking Arduinos:
http://gammon.com.au/blink
http://gammon.com.au/serial
http://gammon.com.au/interrupts

dc42

I agree, an ATtiny is the simplest solution, if you have the means to program it.
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.

jackrae

#6
Oct 18, 2013, 09:54 am Last Edit: Oct 18, 2013, 10:16 am by jackrae Reason: 1
You will have a potential problem determining when the "short high" pulses end.
It's easy enough to create an extended "hold low" for short pulses but your problem comes at the end of the train of short pulses.
The circuit has to remain low until it has "determined" that the high is of sufficient duration that it is no longer considered a "short duration high".  This means the transition of your lower waveform cannot revert to a "high" until this determination has been made.  This implies the leading rising edge of the lower waveform will be time delayed by however long you set the "not short duration" determination factor.
If this isn't a problem then all well and good, but if it is, then what you require is a means of looking into the future to determine if the pulse about to start is of "not short" duration.  When you work that one out we'd all like to hear how you did it.

naut

thanks for the help guys! The circuit with the schmitt triggers works well, I even tried it with regular buffer inverters (74hc04b) works almost as good. Haven't tried the 555 method yet.

I should've mentioned why I need this. I want to use a simple beeping metronome (arion um-70) to control the tap tempo function on a digitech jamman looper. I'll be using the circuits output to switch an NPN transistor or an opto-coupler that will be connected to the tap tempo input on the looper.

Anyways, perhaps someone is curious how the input and output signals look like on a scope. I've sampled the wave-shapes at different points in the circuit at different resolutions. The schematic has the sampling points (1-6) labeled and the pictures are labeled accordingly.



Opto-C = LTV827
R1 = 10K
R2 = 4.7K
Diode = 1N4148
Cap = 22µF



next: one pulse/beep magnified 250 times:



next: after the opto-coupler



















jackrae

Excellent feedback from the op  :)

Go Up