www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik zeitverzögertes Rücksetzen eines FlipFlops


Autor: Gunter N. (tusor)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein kleines Problem mit dem Rücksetzen eines RS-FlipFlops. 
Zunächst aber erst einmal die Beschreibung, was passieren soll:
Es geht darum, zwei Züge zu erkennen. Zug 1 betätigt Taster 1 und Zug 2 
Taster 2 (die Taster sind Reedkontakte). Sobald beide Züge ihre Taster 
aktiviert haben, möchte ich ein Relais schalten. Da nicht sichergestellt 
ist, dass beide Züge die Taster zugleich betätigen, habe ich ein 
RS-Flipflop eingebaut, sodass die Betätigung eines Tasters gespeichert 
wird. Das führt dazu, dass ich das FlipFlop aber zurücksetzen muss, 
damit auch bei der nächsten Durchfahrt beide Taster gespeichert werden. 
Genau hier liegt jedoch das Problem. Ich muss beim Rücksetzen nämlich 
sicherstellen, dass hinterher beide Ausgänge des FlipFlops zurückgesetzt 
sind. Dazu darf das Rücksetzen erst erfolgen, wenn beide Züge ihre 
Taster nicht mehr betätigen. Deshalb dachte ich mir: "OK...baust du 
einfach eine Zeitverzögerung ein". Nur leider funktioniert die nicht so, 
wie ich mir das gedacht habe. Meine Lösungsidee findet ihr im Anhang. 
Das zuschaltende Relais habe ich hier einfach mal durch den Widerstand 
R1 ersetzt. Das sollte meiner Meinung nach aber egal sein. Es soll nur 
zeigen, dass ich das Signal aus dem NAND-Gatter noch für eine 
Ansteuerung brauche.
Ich hoffe, dass ihr mir bei meinem Problem weiterhelfen könnt. Dafür 
möchte ich mich bereits im Voraus bedanken.

Viele Grüße

Gunter

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schließ mal die Rückführung zu deinem Timer an die andere Seite von R2 
an. An der Basis vom R2 hast du nur 0V und 0,7V. Das wird dir für die 
Timergeschichte nicht reichen...

Autor: Gunter N. (tusor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, mir ist da beim Nachzeichnen der Schaltung hier fürs Forum ein 
kleiner Fehler passiert. Der T1 ist in Wirklichkeit ein pnp-Transistor. 
Damit komme ich dann eigentlich wieder auf 0V und 5V.

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gunter,
Einfach mal umdenken...

Nutz die Reseteingänge, nicht die Seteingänge zum erfassen der Züge...
Ein Zug setzt das FF zurück, sobald beide resettet sind, kanst du ein 
Signal auf die SET Eingänge geben.
Da sich der Reset Eingang durchsetzt (Datenblatt) kannst du die FF erst 
wieder in den Ausgangszustand bringen, wenn kein Zug mehr auf dem
Schalter steht...

Eine Zeitverzögerung ist nicht mehr nötig...

nitraM

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeitliche Steuerung würde ja bedeuten, daß der langsame oder längere Zug 
dann durch offenen Schranken fährt?

Frage bei der ganzen Geschichte ist jedoch: die 
Störspannungsanfälligkeit Deiner Erfindung. Eine Selbsthalteschaltung 
mit einem Relais hätte auch gereicht?
http://de.wikipedia.org/wiki/Selbsthaltefunktion#S...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Oder wenn du unbedingt mit Zeiten herumbasteln willst:
Sieh dir doch mal das im Anhang an...
Du solltest übrigens die Zeiten zum Scharfschalten (100Ohm) und 
Verzögern (10kOhm) unterschiedlich machen.

Aber das eigentliche Problem liegt genau dort, wo Martin hinzeigt.

Autor: Gunter N. (tusor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als erstes ein riesiges Kompliment an euch. Innerhalb von 2Stunden habe 
ich hier 3 verschiedene Lösungswege für mein Problem bekommen...das ist 
echt super. Jetzt schau ich mal, welchen ich umsetze. Der sauberste Weg 
scheint wirklich der von Martin zu sein. Da war ich wirklich blind und 
habe die Möglichkeit nicht gesehen, den Reseteingang nicht zum resetten 
zu nehmen ;-).
Die Selbsthalteschaltung passt nicht ganz. Ich muss zugeben, dass ich 
nicht die ganze Geschichte erzählt habe. Das Ausschalten des Relais ist 
nämlich dann nochmal an Bedingungen geknüpft und da komme ich gerade 
gedanklich nicht mit der Selbsthalteschaltung hin.
Die dritte Variante von Lothar gefällt mir auch nicht ganz schlecht, da 
sie meiner ersten Idee am nächsten kommt ;-). Die werde ich wohl auch 
als erstes Umsetzen, da dazu die wenigsten Änderungen notwendig sind. 
Aber der saubere Weg über die Reseteingänge wird auch noch getestet, 
sofern ich dafür nicht die ganze Platine neulöten muss.
Vielen Dank nochmal.

Autor: Gunter N. (tusor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, ich möchte mich hier noch einmal zu Wort melden.
Wie bereits oben geschrieben habe ich als erstes die Variante von Lothar 
getestet: Leider ohne Erfolg. Deshalb habe ich mir gedacht, dass ich 
vielleicht doch die richtige Variante von Martin umsetze. Dabei bin ich 
aber darauf gestoßen, dass ich an sehr vielen Stellen meine Logik 
invertieren müsste. Deshalb habe ich noch einmal nachgedacht, wieso die 
Variante mit dem zeitverzögerten zurücksetzen nicht funktioniert: In dem 
Moment, wo beide FlipFlopausgänge high sind, entlädt sich der 
Kondensator. Sobald er die Schaltschwelle am FlipFlop 1 unterschreitet 
löst er dort den Reset aus. Aufgrund der nachfolgenden UND-Verknüpfung 
führt das jedoch schon dazu, dass sich der Kondensator wieder lädt und 
niemals die Schaltschwelle des zweiten FlipFlops erreicht die offenbar 
geringfügig tiefer liegt. Abhilfe hat hier geschaffen, dass ich mein 
"Logik"-Signal aus dem Kondensator erst noch mal durch zwei NAND-Gatter 
geschickt habe (das erste für saubere Logikwerte und das zweite nur zum 
Invertieren). Damit habe ich nun an den Reseteingängen wirklich nur 0 
oder 5V. Und damit klappt es nun endlich.

Viele Grüße

Gunter

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> niemals die Schaltschwelle des zweiten FlipFlops erreicht
Böse, sowas... :-o

> noch mal durch zwei NAND-Gatter geschickt habe
Dann solltest du jetzt aber Gatter mit Schmitttrigger-Eingängen 
verwenden...
Denn sonst trickst du nur mit irgendwelchen Laufzeiten durch die 
Inverter (Nand-Gatter) herum.

Autor: Gunter N. (tusor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
>> noch mal durch zwei NAND-Gatter geschickt habe
> Dann solltest du jetzt aber Gatter mit Schmitttrigger-Eingängen
> verwenden...
> Denn sonst trickst du nur mit irgendwelchen Laufzeiten durch die
> Inverter (Nand-Gatter) herum.

Ich weiß nicht, ob ich gerade ein Problem nicht sehe. Also meine 
Zeitverzögerung mache ich immer noch über die Kombination aus großem 
Elko und Widerstand. Ich sorge nur dafür, dass ich die daraus 
entstehende Spannungskurve mit einem Schwellwert (der mir eigentlich 
egal ist) vergleichen kann und dann ein eindeutiges Logiksignal für die 
Reseteingänge bekomme. Meiner Meinung nach nutze ich deshalb nicht die 
Laufzeiten der NAND-Gatter aus. Auf den Schmitttrigger war ich bei 
meinen Überlegungen auch gekommen, wollte aber halt eigentlich nicht 
noch ein extra Bauteil verlöten (außerdem sah ich es als Verschwendung, 
ein 14beiniges Bauteil mit 6 Schmitttriggern zu verbauen nur weil ich 
einen brauche ;-) )

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.