Forum: Mikrocontroller und Digitale Elektronik D Flip Flop mit Verzögerung


von Fabian (Gast)


Lesenswert?

Hallo,

ich benötige eine Schaltung, die bei einer Flanke am Eingang, verzögert 
den Ausgang setzt.
Die Schaltung soll sich also so verhalten wie ein D Flip Flop, bei dem 
der Ausgang verzögert ist.
Wie kann ich das möglichst einfach mit Logik-ICs (und 555?) realisieren?

Gruß Fabian

von Klakx (Gast)


Lesenswert?

wie lange denn verzögern? und wie genau?

buffer->RC-Tiefpass->buffer

von Fabian (Gast)


Lesenswert?

Klakx schrieb:
> wie lange denn verzögern? und wie genau?

Sorry, hab ich vergessen anzugeben. Verzögerung soll im Sekunden-Bereich 
liegen.

von Harald W. (wilhelms)


Lesenswert?

Fabian schrieb:

> ich benötige eine Schaltung, die bei einer Flanke am Eingang, verzögert
> den Ausgang setzt.

Dann brauchst Du vor dem D-Flipflop ein sog. Monoflop.
Z.B. das IC4538.

von Fabian (Gast)


Lesenswert?

Harald W. schrieb:
> Dann brauchst Du vor dem D-Flipflop ein sog. Monoflop.

Hab ich grad zum ersten mal gehört, aber nach einer gidf Suche ist mir 
die Funktion klar.

Danke, dann werde ich mal was aufbauen (:

von Jörg R. (solar77)


Lesenswert?

Hallo Fabian,

könntest Du das Problem nicht mit einem Attiny85 o.ä. lösen?

von Fabian (Gast)


Lesenswert?

Jörg R. schrieb:
> könntest Du das Problem nicht mit einem Attiny85 o.ä. lösen?

Anfangs wollte ich das auch machen, hab mich dann aber dagegen 
entschieden um mir das Programmieren eines weiteren uC zu ersparen (soll 
eine Kleinserie daraus werden).

Gruß Fabian

von c-hater (Gast)


Lesenswert?

Fabian schrieb:

> ich benötige eine Schaltung, die bei einer Flanke am Eingang, verzögert
> den Ausgang setzt.
> Die Schaltung soll sich also so verhalten wie ein D Flip Flop, bei dem
> der Ausgang verzögert ist.

Nö. Der Punkt ist nämlich, dass ein D-FF ZWEI Eingänge hat, einen für 
den Takt und und einen für die Daten.

Du suchst aber entweder eine Schaltung mit nur EINEM Eingang oder du 
hast das Verhalten der gesuchten Schaltung nur unvollständig 
beschrieben. Punkt, Ende und Aus. Selbst als vollständig inkompetent 
disqualifiziert.

Die bisherigen Antworten sind übrigens "falsch". Denn bei dieser Lösung 
mit dem Monoflop in der Taktleitung wird nicht etwa der Zeitpunkt der 
Ausgabe verzögert, sondern der Zeitpunkt der Signalübernahme. Das ist 
u.U. etwas völlig anderes.

Ob es aber wirklich falsch ist (im Sinne der tatsächlichen 
Aufgabenstellung) oder eventuell doch das Richtige, kann man eben wegen 
deiner inkompetenten Frage nicht wirklich feststellen...

von Fabian (Gast)


Lesenswert?

c-hater schrieb:
> kann man eben wegen
> deiner inkompetenten Frage nicht wirklich feststellen...

Danke für die netten Worte ...
Du hast recht, da fehlt was. Die Schaltung soll sich so verhalten, wie 
ein D-FF, bei dem der Daten-Eingang fix auf High hängt.

So wie ich das verstanden habe, verzögert mir das Monoflop die Flanke am 
Eingang.
Die verzögerte Flanke gebe ich einem D-FF (D fix auf High), der den 
Ausgang verzögert setzt.

von Georg (Gast)


Lesenswert?

Fabian schrieb:
> Die verzögerte Flanke gebe ich einem D-FF (D fix auf High)

Das ist eine völlig sinnlose Konstruktion. Wenn der Eingang fest auf Hi 
ist, ist auch der Ausgang immer Hi, egal wann eine Flanke anliegt.

Georg

von Jakob (Gast)


Lesenswert?

Dass er irgendwann resetten will, oder muss, hat Fabian auch
noch nicht erzählt, oder kapiert...

von c-hater (Gast)


Lesenswert?

Fabian schrieb:

> Du hast recht, da fehlt was. Die Schaltung soll sich so verhalten, wie
> ein D-FF, bei dem der Daten-Eingang fix auf High hängt.
>
> So wie ich das verstanden habe, verzögert mir das Monoflop die Flanke am
> Eingang.
> Die verzögerte Flanke gebe ich einem D-FF (D fix auf High), der den
> Ausgang verzögert setzt.

OMG.

Wenn die Datenleitung des D-FF fix auf H ist, dann wird im besten Fall 
genau einmal durch Änderungen an der Taktleitung irgendwas am Ausgang 
geändert. Und ob dieser Bestfall eintritt, ist obendrein auch noch 
unbestimmt. Das kann doch nicht wirklich dein Ziel sein? Und ob 
irgendeine Verzögerung bei dieser einen, auch nur eventuell eintretenden 
Änderung noch irgendeine Rolle spielt? Ich glaube nicht...

-> Lerne logisch denken und dich logisch vollständig auszudrücken.

Wenn du gelernt hast, dein Problem z.B. in einer Zustandstabelle 
auszudrücken, wie du sie in jedem DB eines Logik-ICs finden kannst, dann 
können wir nochmal reden. Allerdings wird dann wohl keine Rede mehr 
nötig sein, denn du könntest dann ja glatt selber die Datenblätter nach 
ICs nach einem mit für deine Zwecke brauchbarem Verhalten 
durchforsten...

von Jörg R. (solar77)


Lesenswert?

Hallo Fabian,

beschreibe doch mal etwas genauer was Du eigentlich machen willst.
Ich bin ja wieder beim Attiny XX.
Und - wurde auch schon gefragt - wie soll die Schaltung resetet werden?
Auch mit Zeitverzögerung ?

von Fabian (Gast)


Lesenswert?

c-hater schrieb:
> Lerne logisch denken und dich logisch vollständig auszudrücken.

Die Kritik nehme ich an.

Jörg R. schrieb:
> beschreibe doch mal etwas genauer was Du eigentlich machen willst.

Dieses "D-FF mit Verzögerung" soll ein Teil einer Ein-/Ausschaltlogik 
mit einem einzigen Taster werden.

Folgende Anforderungen dabei an die On/Off-Logik:
1. Ausgang (EN) setzen, sobald Taste 1sec gedrückt wird
2. Ausschalten (Erzwungen) bzw. Ausgang (EN) auf Low, sobald Taste 6sec 
gedrückt wird
3. Ausschalten über einen Eingang der On/Off-Logik zur ARM-CPU:
ARM-CPU legt an diesen Eingang eine fallende Flanke an. Nachdem die 
Flanke erkannt wurde, soll der Ausgang des On/Off-Controllers (EN) mit 
einer Verzögerung von etwa 2sec auf Low gesetzt wird.

Punkt 1. und 2. lassen sich mit einem On/Off-Controller wie den LTC2950 
realisieren. Wie lange der Taster gedrückt werden muss, um den Ausgang 
zu setzen bzw. zu löschen können mit externen Komponenten eingestellt 
werden.

Der LTC2950 hat auch einen (/KILL-)Eingang, mit dem der Ausgang (EN) 
direkt und ohne (nennenswerte) Verzögerung) auf Low gesetzt werden kann. 
Damit lässt sich Punkt 3. realisieren.
Allerdings bekomme ich da Probleme, da die ARM-CPU nach setzen des 
/KILL-Eingangs auf Low noch 1-2sec bräuchte, um sich komplett 
abzuschalten.

Ich brauche also wirklich nur eine Schaltung, die mir bei einer 
fallenden Flanke (generiert von CPU) am Eingang nach einer Verzögerung 
den Ausgang setzt (auf Low, da /KILL low active).

---
  |----------------    <-- Eingang zu CPU

  <--------> Delay ~1-2s

------------
           |--------  <-- Ausgang auf /KILL

Hier nochmal etwas anschaulicher:

          |---------|
Taster ---| LTC2950 |------ EN (zu DC/DC-Wandler)
          |---------|
              |
              | /KILL
              |
              | out
          |-------|
          | Delay |
          |-------|
              | in
              |
          ----------
          |   CPU  |


Der LTC2950 hat eine eigene Versorgung, die immer aktiv ist. Die 
gesuchte Delay-Schaltung wird nach Setzen des /KILL-Eingangs bzw. 
Ausgangs des LTC (EN) auf Low nicht mehr versorgt (selbe Versorgung wie 
für CPU).
Somit ist ein direkter Reset der Delay-Schaltung nicht nötig, sie soll 
resettet werden im Sinne eines Power-On Resets.

Mir ist bewusst, dass sich die ganze On/Off-Logik einfach mit einem 
kleinen uC realisieren lässt (da hätte ich auch deutlich weniger 
Probleme damit), ich muss/möchte das Ganze aber mit Logik-ICs 
realisieren.

Gruß Fabian

von Harald W. (wilhelms)


Lesenswert?

Fabian schrieb:

> Folgende Anforderungen dabei an die On/Off-Logik:
> 1. Ausgang (EN) setzen, sobald Taste 1sec gedrückt wird
> 2. Ausschalten (Erzwungen) bzw. Ausgang (EN) auf Low, sobald Taste 6sec
> gedrückt wird

Da solltest Du die komplette "Intelligenz" in das Programm Deines
µCs verlegen. Vielleicht auch in einen zusätzlichen Billig-µC.

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.