Forum: Digitale Signalverarbeitung / DSP / Machine Learning Toggeln mit JK-FF


von Nachzügler55 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

für meine Modelleisenbahn plane ich einen einfachen Gleisbesetztmelder. 
Die Loks werden mit einem Neodym-magneten ausgerüstet und schalten die 
Reed-Kontakte beim Ein- und Ausfahren aus einem Gleisabschnitt. Durch 
CLK erfolgt ein toggeln.

(Siehe Abb.)

1. Problem:

Wenn ich nur Reed-EINschalter verwende flackert die LED ständig
statt entweder ein oder aus zu zeigen.

2. Problem:

Wenn ich Reed-UMschalter verwende gibt es natürlich Kurzschluss zwischen 
den reeds.

Wer kann mir weiterhelfen?


Mit bestem Dank im Vorraus
Nachzügler55

von Joachim B. (jar)


Lesenswert?


: Bearbeitet durch User
von Bernhard H. (nachzuegler55)


Angehängte Dateien:

Lesenswert?

Danke für schnelle Antwort, aber:

zu 1. Mit Reed_EINschalter kann ich entweder L oder H an CLK schalten
       -->  Q flackert

zu 2. Mit UMschalter gibt es im Schaltvorgang eines Reed den Kurzschluss
       --> sihe neue Abb.

Nachzügler55

von Joachim B. (jar)


Lesenswert?

erst mal sollte man entprellen auch bei Reedumschalter.
Dann wäre es gut einen Clock zu generieren egal wohin der Wechsel 
erfolgt.

Entprellen mit monoflop
Clock generieren mit Verzögerung und XOR
ginge auch mit dem kleinsten µC oder klassisch mit TTL
Muss ich einen Plan machen?

von K. L. (Gast)


Lesenswert?

Kann es sein, dass hier ein Monoflop benötigt wird?

von Bernhard H. (nachzuegler55)


Lesenswert?

Entprellen ist klar, Zeichnung sollte einfach bleiben...

Dann kein Monoflop
Einfahrt: besetzt  --> Ausfahrt: frei  -->Einfahrt: besetzt ...

Danke
Nachzügler55

von Joe F. (easylife)


Lesenswert?

Bernhard H. schrieb:
> zu 1. Mit Reed_EINschalter kann ich entweder L oder H an CLK schalten
>        -->  Q flackert

Du benötigst einen Pullup oder Pulldown, um einen definierten Pegel an 
CLK zu haben, während der Reedkontakt offen ist.
Wenn der Reedkontakt nach GND schaltet, benötigst du einen Pullup.
Wenn der Reedkontakt nach +5V schaltet, benötigst du einen Pulldown.
10K sollte genügen.

Vergiss den Umschalter.

: Bearbeitet durch User
von Stefan K. (stefan64)


Lesenswert?

Warum nimmst Du nicht ein asynchrones RS-FlipFlop ganz ohne clk?

Gruß, Stefan

von Joe F. (easylife)


Lesenswert?

Stefan K. schrieb:
> Warum nimmst Du nicht ein asynchrones RS-FlipFlop ganz ohne clk?

Das wäre definitiv die bessere Lösung, löst auch gleichzeitig das 
Problem mit Kontaktprellen.

Zusätzlich kann man dann auf jeder Gleisseite einen Reedkontakt hinbauen 
(für Einfahren und Ausfahren). Wenn alle Loks den Magneten immer auf der 
gleichen Seite haben, kannst du in beide Richtungen durch den 
Streckenabschnitt fahren, und der Besetztmelder zeigt immer die richtige 
Information an.
1
   SET                   RESET
2
   ---                    ---
3
 --o o--                --o o--
4
 
5
-----------------------------------------
6
             GLEIS         <-- {*****} LOK
7
---------------------------------**------
8
9
  RESET                   SET    Magnet auf linker Seite
10
   ---                    ---
11
 --o o--                --o o--

Die beiden Schliesser für "SET" am Anfang und am Ende der Strecke werden 
einfach parallel geschaltet.
Genauso die beiden Schließer für "RESET".

: Bearbeitet durch User
von Nachzügler55 (Gast)


Angehängte Dateien:

Lesenswert?

Danke Easylife,
Danke Stefan64,
Danke Klausi5000,
Danke Jar

Die Idee mit 4 Reedschaltern ist gut und einfach!
Bloß die Gehäuse von TT-Loks haben da zuwenig Platz, außerdem ist auch 
die Lage der Pole bei den Reeds nicht zu unterschätzen.

Letztendlich habe ich mich für diese Schaltung entschieden
Die Pulldown/Pullup- Widerstäne sind nicht mehr nötig.?


Bis zur nächsten Frage
Nachzuegler55

von Joe F. (easylife)


Lesenswert?

Nachzügler55 schrieb:
> Die Pulldown/Pullup- Widerstäne sind nicht mehr nötig.?

Doch.
"Offen" gelassene Inputs fangen sich zufällige Signale ein.
Die Schaltung ist ausserdem krass kompliziert, um sich einen 
Pullup/-down Widerstand zu sparen.
Auch ist sie falsch, denn du kannst nicht einfach die Ausgänge der 2 
ersten Flipflops zusammenschalten.


Anderer Vorschlag (mit nur einem RS-Flipflop):

Andordnung von 4 Reedschaltern im Gleis so:
1
------------------------- - - - - ----------------------------
2
3
  RESET        SET                       SET        RESET
4
   ---         ---                       ---         ---
5
 --o o--     --o o--                   --o o--     --o o--
6
7
-------------------------- - - - - ---------------------------


Wenn ein Zug in den Abschnitt reinfährt, wird das Flipflop resettet (ist 
es ja eh schon), und dann gesetzt.
Beim rausfahren wird es nochmal gesetzt (ist es ohnehin schon), und dann 
resettet.

Funktioniert in beide Richtungen.
Der Abstand der Reedschalter sollte so gewählt werden, dass sie niemals 
gleichzeitig schalten.

: 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.