zwei Schalter, für Drehrichtung eines Motors: wenn Schalter A gedrückt wird, soll die Eingabe von Schalter B ignoriert werden und umgekehrt. Mit welchem/n Logikbausteinen kann das umgesetzt werden?
Damit nicht der "verbotene Zustand" eintreten kann, wenn versehentlich beide Schalter gleichzeitig gedrückt werden. Die beiden Schalter sind durch eine vorhandene Fernbedienung vorgegeben.
Hat jemand VL eine Idee wie die Funktion umgesetzt werden kann? Gerne bescheid geben, falls mehr nötig ist!
zwei Schalter, für Drehrichtung eines Motors: wenn Schalter A gedrückt
wird, soll die Eingabe von Schalter B ignoriert werden und umgekehrt.
Mit welchem/n Logikbausteinen kann das umgesetzt werden?
Diese Schaltung habe ich vor Jahren mal für einen anderen User entwickelt. Das Video zeigt die Funktion. Vielleicht ein Ansatz für Dich.
Deine Titelzeile dürfte ruhig aussagekräftiger sein. Der Text weniger im SMS-Stil und Abkürzungen schon korrekt verwenden:-)
In VHDL gibt es aber Wildcards in slvs, nämlich "-". Das ist aus meiner Sicht das Gleiche wie ignorieren. Es ist einfach egal welchen Wert das andere Signal/slv-Eintrag hat, der kann beliebig sein und ändert nichts an der Funktion.
Hier geht es aber eher um ein Timing wenn ich das richtig verstehe.
zwei Schalter, für Drehrichtung eines Motors: wenn Schalter A gedrückt
wird, soll die Eingabe von Schalter B ignoriert werden und umgekehrt.
B soll natürlich nicht immer ignoriert werden, sondern nur dann wenn A schon gedrückt ist.
Da hilft also keine Logiktabelle, denn der Zustand A und B sind gedrückt, der ist ja erlaubt! Und je nachdem was zuerst gedrückt wurde wird dann A oder B ignoriert.
Es muss also irgendwie die Flanke oder der Start von den Signalen zusammen mit Pegel (oder der fallenden Flanke) erfasst werden.
In VHDL gibt es aber Wildcards in slvs, nämlich "-". Das ist aus meiner
Sicht das Gleiche wie ignorieren. Es ist einfach egal welchen Wert das
andere Signal/slv-Eintrag hat, der kann beliebig sein und ändert nichts
an der Funktion.
Was Du meinst ist wohl "Don't Care" und das ist genaugenommen kein "Ignorieren", sondern "Gilt für jede mögliche Belegung unterscheidungslos". Als Mengen-Operator aus der Logik wäre das wohl das Symbol für den Allquantor '∀'.
Hier geht es aber eher um ein Timing wenn ich das richtig verstehe.
zwei Schalter, für Drehrichtung eines Motors: wenn Schalter A gedrückt
wird, soll die Eingabe von Schalter B ignoriert werden und umgekehrt.
Da hilft also keine Logiktabelle, denn der Zustand A und B sind
gedrückt, der ist ja erlaubt! Und je nachdem was zuerst gedrückt wurde
wird dann A oder B ignoriert.
Dann brauchts eben die Angabe als Zustandsautomat mit seinen Zustandsübergängen. Obwohl es auch "Wahrheitstabellen" gibt, die Zustandsübergänge berücksichtigen, da schreibt man halt 1 ➔ 0 o.ä..
Es muss also irgendwie die Flanke oder der Start von den Signalen
zusammen mit Pegel (oder der fallenden Flanke) erfasst werden.
Es braucht halt ne vollständige Beschreibung, mit welcher Eingangsgrößen (Schalterstellungen AB) welcher Ausgangs-Wert (Drehrichtung) erreicht werden soll.
Und dann vielleicht noch Angabe, was bei nichtgenannten Schalterstellungen pauschal passieren soll, beispielsweise "keine Änderung" oder "Maschine steht".
Die beiden Schalter sind
durch eine vorhandene Fernbedienung vorgegeben.
? Eine Fernbedienung hat meistens Tasten, willst du die Tasten der Fernbedienung "abgreifen" oder gibt es einen Empfangsteil mit Relais (Relais mit einem oder zwei Wechsler Kontakten?) -
Hat jemand VL eine Idee wie die Funktion umgesetzt werden kann?
Am besten auch mal beschreiben was wirklich vorhanden ist, welche Spannungen, welches Umfeld, welche Bausätze und/oder Gegebenheiten...wofür - für Rollläden, für eine Lüftung für einen 230V Lüfter oder eine Pumpe usw... und technische Details was genau gewollt ist...
Damit nicht der "verbotene Zustand" eintreten kann, wenn versehentlich
beide Schalter gleichzeitig gedrückt werden.
Handbediente Rollladensteuerungen machen das mit Umschaltkontakten, indem der zweite Handtaster nur Strom bekommt, wenn sich der erste in der Ruhestellung befindet - Problem gelöst.
p.s.
Spätestens bei deinem Titel "Logikbaustein" hätte es dir auffallen können, dass es sich um ein Problem aus der digitalen Schaltungstechnik handelt. Wie stellst du dir eine analoge Schaltung dazu vor?
Mit 2 UND Gattern und 2 Invertern würde es funktionieren.
Aus den beiden übrig gebliebenen UND-Gattern lassen sich keine Inverter mehr bilden.
Mit einem CD4093 (4fach NAND-Gatter mit Schmitt-Triggerfunktion) ist man nicht auf 5V beschränkt und man könnte die Tastereingänge noch bequem mit einem RC-Glied entprellen. Dann sieht die Schaltung so aus wie im Bild, nur dass die Ausgänge invertiert sind.
Das lasst sich einfach mit einem Logikgatter aufbauen.
Variante 2: Wenn A schon gedrückt gehalten wird und währenddessen B runtergedrückt wird, bleibe bei A. Wenn B schon gedrückt gehalten wird und währenddessen A runtergedrückt wird, bleibe bei B.
Dazu braucht man 2 flankengetriggerte (JK) FlipFlops die sich gegenseitig verriegeln, möglichst beim Einschalten der Anlage beide zurückgesetzt werden, und im unwahrscheinlichen aber möglichen Event dass beide Taster exakt zur gleichen Zeit 'auf die Pikosekunde' runtergedruckt werden versagt die Schaltung.
Daher gibt es eine 3. Variante: Sampeln der Taster nacheinander, z.B jede 1/100 Sekunde erst A, dann B usw. Das macht am Besten ein uC.
Wenn die Eingänge low-aktiv sind (die Taster also gegen GND schalten)
und die Ausgänge high-aktiv, genügt ein einfaches RS-Flipflop aus zwei
NOR-Gattern. Mit einem 74xx02 kann man diese Schaltung sogar zweimal
realisieren.
Beides ist aber hier Quatsch.
Denn daNN würde der Motor DAUERHAFT laufen, vorwärts oder rückwärts.
Niemals stillstehen.
Eben, vom Wunsch nach Stillstand schreibt der TO nix, nur von Drehrichtung. Kümmert ihn vielleicht auch nicht, weil das die (mglw. vorhandenen) Endlageschalter für ihn übernehmen.
Ja, auch an die Gesetzmässigkeiten der Schaltungstechnik kann man sich herantasten wie im Dunkel eines Treppenhauses entlang der Mauer zum Licht-/Wechsel-Schalter. ;-)
Damit nicht der "verbotene Zustand" eintreten kann, wenn versehentlich
beide Schalter gleichzeitig gedrückt werden.
Handbediente Rollladensteuerungen machen das mit Umschaltkontakten,
indem der zweite Handtaster nur Strom bekommt, wenn sich der erste in
der Ruhestellung befindet - Problem gelöst.
Taster, die sich per Öffnerkontakt gegenseitig Spannung wegnehmen, wäre meine erste und sicherste Idee gewesen. Das ist z.B. beim mitgelieferten Innentaster meines Garagentors so. Bei der Eigenbau-Fernbedienung habe ich zwei Relais über Kreuz, wenn der µC spinnen sollte, kommt am Motor nichts an.
Rolladentaster kenne ich auch als Drehknopf mit Mittelstellung, beides gleichzeitig geht nicht.
Rolladentaster kenne ich auch als Drehknopf mit Mittelstellung, beides
gleichzeitig geht nicht.
Das ist ausgesprochen hilfreich, um eine harte Richtungsumschaltung zu vermeiden.
Damit wäre dann zusätzlich zur direkten logischen Verriegelung eine zeitliche Verriegelung im Spiel.
Ist sowas gemeint:
...
Ist dann wohl ein "Exklusiv-ODER" oder "Antivalenz"
Da zeigt sich der wahre Theoretiker mit Fokussierung auf nur einen Teilaspekt.
Ich kann mir gut vorstellen, dass der Rolladen nicht dauernd laufen soll, sondern aus auch noch einen dritten Ausgangszustand geben muss, z.B. "Drehrichtung null", also Stillstand. Dieser Zustand sollte vorzugsweise eingenommen werden, wenn beide Taster im Ruhrzustand sind. Die Zuordnung zu "Open"/"Close" hängt dann von der Ausführung der Kontakte ab.
Viele Motoren mögen es nicht, wenn sie von vorwärts nach rückwärts umgeschaltet werden. Im günstigsten Fall fliegt dann nur die Sicherung. Daher muß noch eine Totzeit vorgesehen werden, bis der Motor erstmal steht.
Ein Kapitän stellt den Maschinentelegraphen ja auch nie von "Full Ahead" auf "Full Astern".