-         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Verriegelungsschaltung (Latch-Circuit) mit D-FlipFlop macht Probleme

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.01.2012
    Beiträge
    92

    Verriegelungsschaltung (Latch-Circuit) mit D-FlipFlop macht Probleme

    Anzeige

    Ich habe hier einen 74HC74, welcher von einem Taster ein Taktsignal bekommt und damit einen MOSFET (über einen Vorschalttransistor) ansteuern soll.

    Leider ist es bei mir wohl so, dass die Schaltung auf Ewig verriegelt... Beim ersten Drücken des Tasters schaltet der MOSFET wie gewünscht durch, beim erneuten drücken passiert jedoch nichts mehr (der MOSFET sollte eig. wieder abgeschaltet bzw. hochohmig werden).

    Ich bin mit jetzt nicht sicher, ob es mit dem Entprellen des Tasters zu tun hat (wie muss das aussehen?), fehlenden Kondensatoren zur Spannungsglättung, fehlender Pullup- oder Pulldown-Widerstände oder einfach einer falschen Verschaltung des D-FlipFlops. Vielleicht kann ja jemand helfen.

    Was ist auch noch nicht begriffen habe, wie verhält sich der D-FlipFlop im Moment des Einschaltens bzw. bei Spannungszufuhr. Welche Zustände herrschen an den Ausgängen? Da keine positive Taktflanke vorliegt im Moment des Einschaltens soll ja laut Theorie der alte Zustand beibehalten werden, aber welcher ist das denn beim Einschalten? Dazu finde ich keine passende Wahrheitstabelle im Datenblatt, oder verstehe es noch nicht so ganz...

    Verschaltung des D-FlipFlops:

    Klicke auf die Grafik für eine größere Ansicht

Name:	1.JPG
Hits:	29
Größe:	44,5 KB
ID:	35383

    Das Signal kommt von einem Taster, mit ca. 12 Volt Spannung wenn dieser gedrückt wird. Toggle geht zum Vorschalttransistor für den MOSFET.

    Bin über jede Hilfe dankbar.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.519
    Blog-Einträge
    29
    Hallo SturmGhost,



    Bei R5 = 100k und R3 = 68k ist der Pegel am CLK für HIGH besser definiert, auf 4.86V.


    Wie es aussieht, sind die Zustände an den Ausgängen undefiniert, beim Einschalten.


    Der Reset muss beim Einschalten für einen definierten Ausgangspegel sorgen.


    Das Flip-Flop sollte sich am nicht invertierten Ausgang (Pin 5) auf LOW einstellen. Deshalb für RESET eine Einschaltverzögerung vom HIGH-Pegel vorsehen (Wechsel von LOW auf HIGH nach Zeit x). Und SET dauerhaft an HIGH.


    Für die Einschaltverzögerung gäbe es wohl verschiedene Möglichkeiten. Eine wäre diskret möglich, mit Elko (für den Impuls), NPN-Transistor + Vorwiderstand. Wobei beim Transistor Collector als Ausgang für RESET und von dort einen Widerstand (bspw. 100k) gegen Vcc. Transistor Emitter gegen GND.


    MfG

    - - - Aktualisiert - - -

    Habe mal nach der Zeitkonstante geschaut und daher R mit 470 Ohm und C mit 100µF oder 220µF angesetzt.

    Hinweise zur Schaltung:

    Die 1000 Ohm für den Pullup, am Reset: da fehlt eine Null, das sollen eher 10kOhm sein.

    Variationen:

    Die 100 oder 200µF sind sehr großzügig. Wenn kleinere Werte vorhanden sind (ab 1µF) sollten die auch funktionieren. Wenn ich das richtig sehe, sind wir mit 470 Ohm und 1µF schon im Millisekundenbereich, das sollte dicke ausreichend sein, für ein Flip-Flop (die Schaltfrequenz ist dort um einiges höher).
    Der Vorwiderstand am Transistor sollte auch weggelassen werden können.


    theoretisches Schaltungsbeispiel:



    PS: Ich kann die Schaltung erst später aufbauen. Dann melde ich mich evtl. noch mal dazu.
    Geändert von Moppi (29.12.2020 um 06:24 Uhr)

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    15.01.2012
    Beiträge
    92
    Hallo Moppi,

    danke erstmal für einen Vorschlag.

    Das Flip-Flop sollte sich am nicht invertierten Ausgang (Pin 5) auf LOW einstellen. Deshalb für RESET eine Einschaltverzögerung vom HIGH-Pegel vorsehen (Wechsel von LOW auf HIGH nach Zeit x). Und SET dauerhaft an HIGH.
    Hast du dich ggf. verschrieben? Ich verstehe im ersten Satz ein Wechsel von HIGH auf LOW aber im nächsten Satz soll es dann LOW auf HIGH sein?

    Gemäß der Wahrheitstabelle:

    Klicke auf die Grafik für eine größere Ansicht

Name:	1.JPG
Hits:	5
Größe:	43,2 KB
ID:	35385

    und deinem Vorschlag, wäre doch Reset im Einschaltmoment HIGH und wird dann LOW sobald der Transistor durchschaltet bzw. der Kondensator ausreichend geladen ist. Aber eig. bräuchten wir doch die Umgekehrte Funktion, erst LOW dann HIGH, oder? Wenn ich die Schaltung so wie von dir vorgeschlagen aufbaue, leuchtet meine LED an Q nach dem Einschalten direkt. Die sollte aber erst leuchten, wenn ich ein CLK-Signal gebe bzw. den Taster drücke.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.519
    Blog-Einträge
    29
    Ich habe das gerade mal aufgebaut und mir ist das was komisch vorgekommen. Deswegen habe ich das anders zusammengesteckt. Und so funktioniert es auch:



    Ich habe dort, zum Probieren, einen 1000µF Elko eingesetzt, das gibt ~5s Verzögerung.

    Ich glaube nicht ich habe mich verschrieben.

    Ich schaue noch mal drüber und korrigiere evtl.

    Ich habe die Wahrheitstabelle angesehen und selbst das aufgezeichnet. So konnte ich sehen, dass Deine Beschaltung i.O. ist, bis auf den Reset-Pin beim Einschalten.

    MfG

    - - - Aktualisiert - - -

    Laut Wahrheitstabelle:


    gegeben:


    Set = HIGH (Vcc)


    dann:


    Reset = LOW beim Einschalten und Set = HIGH ergibt Q = LOW und Qinv = HIGH


    dann, wenn Reset auf HIGH geht:


    Reset = HIGH und Set = HIGH: Ausgänge sollten unverändert bleiben (wie oben), bis Takt = HIGH


    dann bei Takt = HIGH wird von Qinv das HIGH von D übernommen und Qinv ist dann LOW, aber Q = HIGH (eingeschaltet).


    beim nächsten Takt wird das LOW von Qinv an D übernommen und ergibt an Q = LOW (ausgeschaltet).

    - - - Aktualisiert - - -

    was ich noch ändern würde:

    statt R=1500, R=470
    statt R=4700, R=2200
    C=1µF

    Die Verzögerung beträgt dann voraussichtlich ~3ms.

    statt R=1500, R=470
    statt R=4700, R=2200
    statt C = 1µF, C=100nF

    Die Verzögerung beträgt dann voraussichtlich ~250µs.

    - - - Aktualisiert - - -

    Zum MOSFET kann man nicht viel sagen, weil Du dafür keinen Plan zeigst. Vielleicht kannst Du das ja noch machen? - Es kann sein, das Du beim MOSFET, am Gate, noch einen Widerstand gegen GND brauchst (10k z.B.), zusätzlich zu der Transistoransteuerung.

    Gruß
    Geändert von Moppi (29.12.2020 um 08:45 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    15.01.2012
    Beiträge
    92
    Hallo Moppi,

    das scheint schonmal zu funktionieren, zumindest soweit ich das beurteilen kann, danke!

    Ich habe noch Probleme ein vernünftiges CLK-Signal mit einem Taster zu generieren, vermutlich weil ich nicht richtig entprellt habe... In der finalen Schaltung wird von außerhalb ein (entprelltes) 12V Signal kommen, auf dem Breadboard möchte ich das Signal mit einem Taster simulieren. Voraussetzung ist aber auch, das beim halten des Tasters die Schaltung nicht anfängt zu oszillieren.

    Wie kann diese Entprellung aussehen? Könnte ich das in meinem Fall so machen:

    Klicke auf die Grafik für eine größere Ansicht

Name:	2.JPG
Hits:	13
Größe:	21,2 KB
ID:	35387

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.429
    Ich hab jetzt kein DB zur Hand (und bin zu faul zum Suchen), aber: Leg doch mal den CLR-Eingang mit auf den negierten Ausgang. Wenn CLR Vorrang vor D hat kann sich da nix mehr ändern.

    Entprellen kannst du, indem du noch einen Kondensator (aus dem Bauch heraus - ich hab es jetzt nicht berechnent - 1nF oder weniger) parallel zu R3 legst.

    Edit:
    Das in deinem Bild funktioniert auch.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.519
    Blog-Einträge
    29
    Wegen dem Entprellen, der 100nF am Ende, rechts, lädt sich nur langsam auf, durch den Vorwiderstand 10 bis 33k).
    Wie White_Fox schon schreibt, der C muss direkt an den Taster dran. Allerdings wäre der ganz rechts überflüssig.

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.429
    Er kann auch einfach R4 in seinem zweiten Bild kleiner machen. Oder hat es einen Grund daß das alles so hochohmig ist?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.519
    Blog-Einträge
    29
    Das C muss vor R4 sitzen, das ist alles. Der R4 soll wohl zum Schutz für den nachfolgenden Digitaleingang sein. Ich denke, der R4 kann ganz weg. Wenn es dann mit dem Entprellen noch nicht hin haut den C größer machen.

    Nachtrag:

    Guck mal, der Taster geht doch nur an 3.3V. Ein nachfolgender GPIO wird doch wahrscheinlich (Glaskugel) mindestens mit 3V - Pegel als HIGH arbeiten.
    R4: weg.

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    15.01.2012
    Beiträge
    92
    Hallo zusammen,

    Zeit mich mal zu erklären - wozu das ganze eig. dienen soll.

    Ziel ist ein primitives "Steuergerät" zu bauen, um die Sitzheizung anzusteuern. Leider sind die originalen Steuergeräte in den Matten integriert und einzeln nicht zu bekommen. Komplett mit Matten lässt man sich natürlich fürstlich bezahlen. Deshalb muss eine eigene Lösung her. Zu allem Überfluss funktioniert die Ansteuerung der Matte für den Fahrer über einen einfachen Schalter, wo am Ausgang dann immer HIGH anliegt, wenn die Sitzheizung eingeschaltet sein soll, für den Beifahrer ist es jedoch ein Taster - der gibt nur einen kurzen HIGH-Pegel raus (SIGNAL in meiner Schaltung). Zusätzlich gibt es für beide Schalter eine einfache Feedback-LED welche nur mit 12 V versorgt werden muss, wenn die Matte eingeschaltet ist (FEEDBACK in meiner Schaltung).

    Die Feedback- und Signalleitung möchte ich noch mit einer Diode "absichern". Als generellen Überspannungsschutz ist eine Bidirektionale 15V Diode (TPSMA6L15A-LF) vorgesehen. Ich habe mich dafür unter diesem Link etwas belesen, um da kein unnötiges Risiko einzugehen. Natürlich ist die komplette Versorgungsleitung für Steuergerät und Heizmatte nochmal über normale Sicherungen im KFZ abgesichert...

    Mein Steuergerät hat demnach fünf Anschlüsse: Batteriespannung (~14 Volt bei laufendem Motor), Ground, Ausgang für die Heizmatte und LED-Feedback, Eingang für Signal.

    Jetzt also meine komplette Schaltung (für den Fall Taster, für den Schalter kann ich mir die 5V-Versorgung und den FlipFlop ja sparen - Platine wird also so ausgelegt das beide Varianten auf der Platine bestückt werden können).

    Klicke auf die Grafik für eine größere Ansicht

Name:	3.jpg
Hits:	10
Größe:	21,6 KB
ID:	35389

    Kann man glaube ich schlecht lesen, hier nochmal an anderer Stelle hochgeladen: https://abload.de/img/3lqkt9.jpg

    -------

    Zum Entprellen: Ich habe das mal so umgesetzt wie von White_Fox vorgeschlagen. Funktioniert auch fast perfekt allerdings oszilliert die Schaltung hin und wieder doch mal beim Drücken des Tasters (also an-aus direkt hintereinander). Wie kann ich das noch verbessern?
    Geändert von SturmGhost (29.12.2020 um 10:33 Uhr)

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 07.07.2014, 20:44
  2. PCF8574p macht Probleme
    Von oderlachs im Forum Elektronik
    Antworten: 23
    Letzter Beitrag: 10.03.2014, 11:07
  3. Atmega8 macht Probleme
    Von Blackaffe im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 1
    Letzter Beitrag: 21.05.2011, 10:44
  4. Ramansteuerung mit Latch und direkt - Richtig?
    Von CowZ im Forum Elektronik
    Antworten: 18
    Letzter Beitrag: 19.02.2007, 12:08
  5. Antworten: 2
    Letzter Beitrag: 24.10.2004, 23:56

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •