Forum: Mikrocontroller und Digitale Elektronik Pulsverlängerung dual-edge


von Marius S. (lupin) Benutzerseite


Lesenswert?

Eine Schaltung soll sowohl auf steigende, als auch auf fallende Flanken 
reagieren. Nach einer steigenden oder fallenden Flanke soll der neue 
Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in 
der Zwischenzeit weitere Flankenwechsel stattfinden.
Nach Ablauf der festgelegten Zeit soll der neue Zustand übernommen 
werden, falls sich dieser in der Zwischenzeit geändert hat, und wieder 
für die gleiche festgelegte Mindest-Zeit gehalten werden.

Es geht einfach darum, dass durch die Schaltung eine Mindest-Pulsbreite 
sichergestellt wird, so dass keine sehr kurzen positiven oder negativen 
Pulse entstehen können, aber auch keine Pulse "verschluckt" werden.

Irgendwie stehe ich auf dem Schlauch und bekomme es maximal für eine 
Flanke zum Laufen.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Marius S. schrieb:
> soll der neue
> Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in
> der Zwischenzeit weitere Flankenwechsel stattfinden.

Marius S. schrieb:
>  aber auch keine Pulse "verschluckt" werden.

Diese beiden Ansagen widersprechen sich.

: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Marius S. schrieb:
> Irgendwie stehe ich auf dem Schlauch

Ich stehe auch auf dem Schlauch, bei deinen knallharten Forderungen.

von Volker Z. (vzavza)


Lesenswert?


von GHz N. (ghz-nerd)


Lesenswert?

Zum Thema Entprellung: Es gibt ICs, welche die ganze Arbeit abnehmen. Je 
nach Teil zudem noch eine einstellbare "Beobachtungzeit".
Beispiel: MC14490

von Mi N. (msx)


Lesenswert?

GHz N. schrieb:
> Beispiel: MC14490

Bevor wir hier noch zur ECC83 kommen, die genauso untauglich ist, sollte 
der TO doch mal seine Schaltung zeigen.
Vielleicht bringt uns das einen Schritt vom Schlauch weg.

von Axel S. (a-za-z0-9)


Lesenswert?

Arduino F. schrieb:
> Marius S. schrieb:
>> soll der neue
>> Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in
>> der Zwischenzeit weitere Flankenwechsel stattfinden.
>
> Marius S. schrieb:
>>  aber auch keine Pulse "verschluckt" werden.
>
> Diese beiden Ansagen widersprechen sich.

Wohl wahr. Abgesehen davon kriegt man das mit einer Schaltung hin, die 
viele "Logiktester" Prüfstifte zur Anzeige von Einzelimpulsen haben. 
Zwei flankengesteuerte Monoflops, eins für steigende das andere für 
fallende Flanke, die sich gegenseitig verriegeln. Klassisch mit einem 
CD4538 (enthält zwei Monoflops) realisiert.

von Rainer W. (rawi)


Lesenswert?

Mi N. schrieb:
> Bevor wir hier noch zur ECC83 kommen, die genauso untauglich ist, sollte
> der TO doch mal seine Schaltung zeigen.

Es kommt immer drauf an, was man draus macht.

Marius S. schrieb:
> Eine Schaltung soll sowohl auf steigende, als auch auf fallende Flanken
> reagieren. Nach einer steigenden oder fallenden Flanke soll der neue
> Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in
> der Zwischenzeit weitere Flankenwechsel stattfinden.

Soll diese Schaltung das mit einem Mikrocontroller oder mit 
hartverdrahteter Logik machen.

Die hartverdrahtete Version hört sich nach flankengetriggerte[m/-n] 
retriggerbare[m/-n] Monoflop(s), ein bisschen Glue-Logik und einem Latch 
an, wie Axel das auch schon skizziert hat. Darf es auch synchrone Logik 
sein oder wie genau müssen irgendwelche Eingangsflanke am Ausgang 
erscheinen.

Vielleicht zeigst du einmal ein paar Impulsdiagramme mit Bezeichnung der 
relevanten Zeiten.

: Bearbeitet durch User
von Marius S. (lupin) Benutzerseite


Angehängte Dateien:

Lesenswert?

Arduino F. schrieb:
> Diese beiden Ansagen widersprechen sich.

Jaein, die Schaltung soll nach einer Flanke für eine Zeit "blind" sein 
und in dieser Zeit die Pulse verschlucken, stimmt. Aber danach reicht 
ein kurzer Puls in die andere Richtung um den Ausgang in die 
entsprechend andere Richtung umzuschalten (und die Schaltung ist danach 
dann wieder für die festgelegte Zeit "blind").

Ich stehe auch absolut auf dem Schlauch, sonst würde ich nicht fragen 
:-(

Es soll analog bzw. mit digitalen Bauteilen realisiert werden. Ob 
Asynchron oder synchron ist prinzipiell egal, die Schaltung darf bei 
einer Mischung nur nicht zu Race-Conditions führen (also wenn die Pulse 
sehr klein werden oder Pulsfolgen nahe beeinander liegen).

Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten 
Ausgangssignal in Rot. Das Zeitglied wäre dort auf 2µs eingestellt, so 
dass jeder Ausgangspuls minimal 2µs lang wird bzw. die Schaltung nach 
Flankenwechsel am Eingang für 2µs "blind" ist.

von Klaus H. (hildek)


Lesenswert?

GHz N. schrieb:
> Zum Thema Entprellung:

Die Anforderungen sind hier unterschiedlich zu denen einer Entprellung.
Hier: reagiere auf die erste Flanke und dann für eine Zeit blind. Genau 
das will man bei einer Entprellung eher nicht - Beispiel: Störpeak.
Entprellung: schalte erst den Ausgang, wenn das Signal für eine 
bestimmte Mindestzeit stabil ist.

von Rainer W. (rawi)


Lesenswert?

Marius S. schrieb:
> Ich stehe auch absolut auf dem Schlauch, sonst würde ich nicht fragen
> :-(

Dann erhelle uns wenigsten ;-)
Muss die Pause zwischen Ausgangspulsen auch eine bestimmte Mindestlänge 
haben oder darf die beliebig kurz sein?

von Mi N. (msx)


Lesenswert?

Axel S. schrieb:
> Zwei flankengesteuerte Monoflops, eins für steigende das andere für
> fallende Flanke, die sich gegenseitig verriegeln. Klassisch mit einem
> CD4538 (enthält zwei Monoflops) realisiert.

So sieht es aus!
Alternativ ein Monoflop und ein XOR + 'Verzögerungsleitung' (RC) zur 
Erkennung beider Flanken.

von Vanye R. (vanye_rijan)


Lesenswert?

> Klassisch mit einem CD4538 (enthält zwei Monoflops) realisiert.

Genau! Mein LieblingsIC fuer die junge Generation. Da koennen
die ollen 555 nicht mithalten. :-D

Vanye

von Marius S. (lupin) Benutzerseite


Lesenswert?

Rainer W. schrieb:
> Muss die Pause zwischen Ausgangspulsen auch eine bestimmte Mindestlänge
> haben oder darf die beliebig kurz sein?

Am Ausgang ergibt sich die Pause zwischen den Flankenwechseln durch die 
eingestellte Zeit in der die Schaltung blind ist (in meinem Beispiel 
2µs). Ist diese Zeit abgelaufen darf der Ausgang direkt in den gerade am 
Eingang anliegenden Zustand wechseln.

So ganz einfach scheint es nicht zu sein. Ein einzelnes Monoflop bekomme 
ich auch noch hin, aber irgendwie nicht dass es auf beide Flanken 
reagiert.
Ich würde ja meine Simulation hier reinstellen, wäre die nicht so 
konfus.

Ich hatte gehofft jemand hätte schonmal etwas ähnliches aufgebaut bzw. 
kennt eine Schaltung irgendwo im Internet (google hat mir bisher nicht 
weitergeholfen).

von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Die wechselnden Eingangsnadelimpulse können mit zwei Transistoren (PNP 
und NPN) differenziert werden und anschließend über je ein Monoflop 
gemonofloppt werden.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Marius S. schrieb:
> Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten
> Ausgangssignal in Rot.

Im Bild sowas in der Art, um einen "Zwischenimpuls" zu unterdrücken.
Mit Monoflop und Logik.
Hat nur den Nachteil, dass die Bauteiletoleranzen zu Ungenauigkeiten 
führen. Im Dauertest war Temperaturdrift Ursache für Ungenauigkeit.
Problem dann schlussendlich softwaremäßig mit "Veroderung" gelöst.

ciao
gustav

: Bearbeitet durch User
von Klaus H. (hildek)


Lesenswert?

Marius S. schrieb:
> Ist diese Zeit abgelaufen darf der Ausgang direkt in den gerade am
> Eingang anliegenden Zustand wechseln.

Direkt? Nicht erst mit dem nächsten Flankenwechsel?

Marius S. schrieb:
> Ein einzelnes Monoflop bekomme
> ich auch noch hin, aber irgendwie nicht dass es auf beide Flanken
> reagiert.

Ein Monoflop, das auf beide Flanken reagiert, gibt es auch nicht 
(meines Wissens). Nur welche, die man entweder / oder einstellen kann. 
Da von den genannten eh zwei in einem Gehäuse sind, kann eines auf die 
positive, das andere auf die negative Flanke reagieren und man muss nur 
noch deren Ausgangssignale geeignet verknüpfen - erst recht wenn gleich 
der Zustand nach Ablauf der Schutzzeit übernommen werden soll.

Das Ganze riecht schon wieder nach einer Lösung mit einem keinen µC ...

von Peter D. (peda)


Angehängte Dateien:

Lesenswert?

Mit 2 Monoflops und einem D-Latch sollte das gehen.
Die Monoflops sind nicht retriggerbar beschaltet und verriegeln sich 
gegenseitig. Sind beide MF abgefallen, übernimmt das D-Latch.

von H. H. (hhinz)


Lesenswert?

Vanye R. schrieb:
>> Klassisch mit einem CD4538 (enthält zwei Monoflops) realisiert.
>
> Genau! Mein LieblingsIC fuer die junge Generation. Da koennen
> die ollen 555 nicht mithalten. :-D

Der 4538 ist nur wenige Jahre jünger als der 555.

von Foobar (asdfasd)


Lesenswert?

Das Signal im festen Zeitabstand (der deiner Haltezeit entspricht) 
samplen.

von Mi N. (msx)


Angehängte Dateien:

Lesenswert?

Peter D. schrieb:
> Mit 2 Monoflops und einem D-Latch sollte das gehen.

Ganz schön viel Holz ;-)
Da wir hier im Digitalforum sind, bietet sich natürlich ein kleiner 
8-Pinner an. Verwendet man den internen ADC zur Spannungsmessung, kann 
man die Schwelle auf t = R * C einstellen.

von Georg M. (g_m)


Lesenswert?

Mi N. schrieb:
> Da wir hier im Digitalforum sind, bietet sich natürlich ein kleiner
> 8-Pinner an. Verwendet man den internen ADC zur Spannungsmessung, kann
> man die Schwelle auf t = R * C einstellen.

Wenn schon digital, dann digital: ohne R und C.

von Mi N. (msx)


Lesenswert?

Georg M. schrieb:
> Wenn schon digital, dann digital: ohne R und C.

Jein. Nur wenn man eine konstante Zeit braucht oder jedesmal 
umprogrammieren will.
Andernfalls bietet die RC-Kombination mit R1 1 k - 1 MOhm und C3 1 nF - 
>= 1000 µF einen sehr großen Zeitbereich. Den µC muß man dazu nicht mehr 
verändern.
Zwischen C3 und Eingang PB4 sollte noch ein Widerstand zur Begrenzung 
des Entladestroms eingefügt werden.

Weiterhin frohes Fest :-)

von Klaus H. (hildek)


Lesenswert?

Mi N. schrieb:
> Jein. Nur wenn man eine konstante Zeit braucht oder jedesmal
> umprogrammieren will.

Poti und ADC tun es auch, wenn schon dieser Wunsch besteht.
Ich hatte ja weiter oben schon "µC" angedeutet.
Aber der TO will sich im einstelligen µs-Bereich bewegen, da muss der µC 
schon etwas flotter laufen.

von Mi N. (msx)


Lesenswert?

Klaus H. schrieb:
> Poti und ADC tun es auch, wenn schon dieser Wunsch besteht.

Ja, aber mit begrenztem Bereich. Ich wollte gerne ein typisches Monoflop 
nachempfinden.

> Ich hatte ja weiter oben schon "µC" angedeutet.

Da will ich Dir garnicht widersprechen und hatte Dir insgeheim auch 
zugestimmt ;-)

> Aber der TO will sich im einstelligen µs-Bereich bewegen, da muss der µC
> schon etwas flotter laufen.

Was genau der TO will, hat er nicht explizit geschrieben, und ich 
weigere mich, Vorgaben aus bunten Bildchen abzuleiten.

von Klaus H. (hildek)


Lesenswert?

Mi N. schrieb:
> Was genau der TO will, hat er nicht explizit geschrieben

Ich entnahm das hier:
 Marius S. schrieb:
> Das Zeitglied wäre dort auf 2µs eingestellt, so
> dass jeder Ausgangspuls minimal 2µs lang wird bzw. die Schaltung nach
> Flankenwechsel am Eingang für 2µs "blind" ist.

Aber es ist ein Beispiel im Konjunktiv, da hast du wiederum recht ...

von Peter D. (peda)


Lesenswert?

Mi N. schrieb:
> Da wir hier im Digitalforum sind, bietet sich natürlich ein kleiner
> 8-Pinner an.

Puh, bei 2µs sehe ich schwarz. Das sind ja nur 32 CPU-Zyklen Zeit, um 
was zu machen (@16MHz). Interrupts sind eh viel zu langsam und selbst 
bei Polling kann der Eingangspuls schon vorbei sein.
Und minimal dürfen die Eingangspulse 63ns kurz sein (6ns beim 74HC4538).

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Interrupts sind eh viel zu langsam
Ich würde einfach das kleinste MachXO2 FPGA mit internem RC-Oszillator 
nehmen. Dann geht das locker.

Marius S. schrieb:
> Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten
> Ausgangssignal in Rot.
Bei manchen Lösungen frage ich mich wirklich, was denn eigentlich das 
zugrundeliegende Problem ist, für das eine Lösung gesucht wird...

von Peter D. (peda)


Lesenswert?

Lothar M. schrieb:
> Bei manchen Lösungen frage ich mich wirklich, was denn eigentlich das
> zugrundeliegende Problem ist, für das eine Lösung gesucht wird...

Da hast Du natürlich recht.
Wenn man es wüßte, würde vermutlich das passieren:
https://www.youtube.com/watch?v=xwbSwOjmFDM

von Mi N. (msx)


Lesenswert?

Peter D. schrieb:
> Puh, bei 2µs sehe ich schwarz.

Da hat der TO wohl die default-Werte des Simulationsprogrammes nicht 
ändern können. Gemeint hat er bestimmt 2 ns.

Endlich Freitag!

von R. L. (roland123)


Angehängte Dateien:

Lesenswert?

getestet ist es nicht

von R. L. (roland123)


Angehängte Dateien:

Lesenswert?

mit Schmitt-Trigger und single gates ist es besser

von Vanye R. (vanye_rijan)


Lesenswert?

> Der 4538 ist nur wenige Jahre jünger als der 555.

Ja vermutlich. Das Datenblatt von dem ist auch so rustikal gescannt, 
aber der 555 war ja irgendwie schon immer da. Den 4538 hab ich dann erst 
irgendwann in den 90ern fuer mich entdeckt. Da hab ich immer ein paar 
von da. Obwohl es heute vermutlich einfacher waere einen CH32V003 zu 
nehmen.

Ausserdem bin ich mit dem 555 nie warm geworden weil er etwas durstig 
war und der 7555 ist ja nicht ganz so bekannt/verbreitet. Der 4538 ist 
aber automatisch CMOS.

Vanye

von Jens G. (jensig)


Lesenswert?

Vanye R. schrieb:
> Ausserdem bin ich mit dem 555 nie warm geworden weil er etwas durstig
> war und der 7555 ist ja nicht ganz so bekannt/verbreitet. Der 4538 ist
> aber automatisch CMOS.

Der ist zwar automatisch CMOS, aber in seinem Stromkonsum ist er es bei 
weitem nicht. Denn da er Komponenten für Analogwertverarbeitung enthält, 
zieht er auf halbem Wege immer einen CMOS-untypischen Strom von knapp 
einem mA (eigentlich isses sogar CMOS-typisch, denn CMOS ist ja bekannt 
dafür, bei nicht digitalen Signalen deutlich mehr Querstrom zu ziehen).
Ist auch so beim 4093, wenn er analoge Signale an seinen Eingängen 
sieht.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.