Lassen Sie einen Momentschalter einen Kippschalter steuern


17

Was sind die einfachsten, billigsten und kleinsten Möglichkeiten, einen Momentschalter zu veranlassen, einen Schaltausgang mit zwei Zuständen zu erzeugen (Verriegeln des Momentschalters)?

Mit anderen Worten, der Ausgang ist kontinuierlich niedrig, und wenn Sie kurz die Taste / den Taktschalter drücken, wechselt der Ausgang zu kontinuierlich hoch, und wenn Sie ihn erneut drücken, wechselt er zurück zu niedrig.


Ich denke, die beste Antwort darauf hängt vom Fragesteller ab und davon, ob Sie mit einer Hardware- oder Softwarelösung zufriedener sind oder nicht.
J. Polfer

Es hängt auch davon ab, wo sich dieser Ausgangsschalter befindet und welche Spannungen (Zustände!) Verfügbar sind.
XTL

Nur zwei Zustände, hoch und niedrig, wie jede digitale Logik. Wenn Sie mehrere Zustände ausführen möchten, die Sie durchlaufen, ist meines Erachtens ein Mikrocontroller erforderlich. Dafür hätten Sie wahrscheinlich sowieso einen in Ihrer Schaltung.
Endolith

Mir gefällt die Lösung mit 2 Wechselrichtern. Sie fragen sich nur, was erforderlich ist, um 30V @ 1A zu schalten?
Stevenrcfox

@Overlow: Ersetzen des Ausgangstransistors mit einem Leistungstransistor oder Relais
Endolithe

Antworten:


9

Hier ist eine weitere Alternative mit zwei Wechselrichtern und Entprellen:

Zwei Wechselrichter

Für die Logikausgabe werden nur die beiden Inverter RC und der Rückkopplungswiderstand benötigt:

Bildbeschreibung hier eingeben

NC7WZ14 kostet $ 0,06 mit 2 Invertern, einem kleinen 6-poligen Gehäuse und Schmitt-Triggereingängen, obwohl ich denke, dass diese Schaltung aufgrund der RC nicht einmal Schmitt-Eingänge benötigt. Außerdem kann es 24 mA treiben, sodass Sie die LED direkt daran anschließen können, wenn Sie aus irgendeinem Grund eine LED verwenden.

Auch hier und hier als Kippschalter dargestellt .

Ich denke, der Rückkopplungswiderstand muss viel kleiner als der Mittelwiderstand sein, um zu verhindern, dass er schwingt, wenn Sie die Taste gedrückt halten, da die niederohmige Verbindung zum Ausgang verhindert, dass sich der Kondensator auf die mittlere Spannung auflädt, bis Sie loslassen.

Varianten sind bei beschrieben Drücken Sie ON - OFF drücken weiche Schaltungen Rast :

AND-Gate-Variante


Wenn dieses Gerät zum ersten Mal eingeschaltet wird, startet es dann mit eingeschaltetem, ausgeschaltetem oder zufälligem Ausgang? Wenn ich nur die Schaltung inspiziere, schätze ich, dass sie sich mit eingeschaltetem Ausgang einschaltet.
Craig McQueen

@CraigMcQueen Beim ersten Einschalten liegt am Kondensator 0 V an. Der erste Stromkreis startet also in der EIN-Position. Schließen Sie den Kondensator an die Stromversorgung statt an Masse an, und er startet in der AUS-Position.
Endolith

@CraigMcQueen Ist das wirklich garantiert? Ich bin mir nicht sicher. Die niedrige Ausgangsimpedanz des Wechselrichters dominiert den 220k-Widerstand, so dass er möglicherweise in einem zufälligen Zustand startet.
Endolith

@CraigMcQueen Die letzte gezeigte Schaltung startet mit 0,01 μF Kondensator 0 V, daher ist Vout 0.
Endolith

@endolith Wo im letzten Bild ist der VCC angeschlossen? Ich sehe Boden und Vout.
Mike

7

Eine mögliche Methode:

Verwenden Sie einen RC, um den Schalter zu entprellen

RC-Netzwerk mit Momentschalter zum Entprellen verbunden

und dann in ein D-Flip-Flop eingespeist, wobei der Ausgang zum Eingang zurückgeführt wird, um ein T-Flip-Flop zu implementieren.

D-Flip-Flop konfiguriert als Toggle-Flip-Flop

Das D-Flip-Flop muss nur durch eine positive Flanke getriggert werden und benötigt einen invertierten Ausgang.

  • Der 8-polige NC7SZ74 sollte funktionieren, ist sehr klein und kostet 0,12 US-Dollar.
  • Der 74HC74 ist ein Dual-D-Flip-Flop mit 14 Pins für $ 0,05.

Gibt es irgendwelche Probleme damit? Der Schalter müsste für die Anstiegszeit kurz gedrückt gehalten werden, um den Takteingang auszulösen, was wahrscheinlich gut ist. Wenn Sie die Taste gedrückt halten, wird nur einmal ausgelöst, was gut ist. Gibt es einen besseren Weg, um in der Rückkopplungsschleife zu entprellen, oder etwas anderes?


5
Benötigt wirklich einen Schmitt-Trigger-Puffer am Eingang der Schaltfläche (oder wenn das Flip-Flop Schmitt-Trigger-Eingänge hat, die auch funktionieren würden). Andernfalls kann der FF vorübergehend schwingen, wenn der Takteingang beim Loslassen der Taste langsam ansteigt. (Dies kann durch sorgfältige Auswahl der Entprellkappe und des Widerstandes etwas gemildert werden, wird jedoch nie beseitigt.)
Connor Wolf,

Könnten Sie nicht auch einen RC-Filter im Rückkopplungspfad verwenden, um ein Prellen zu verhindern?
Endolith

6

Oder Sie könnten es mit einem einzelnen winzigen 6-poligen Mikrocontroller und keinen anderen Komponenten tun. Es kostet vielleicht ein bisschen mehr, ist aber einfacher und nimmt weniger Platz ein. Das Debouncen eines Switches in Software ist einfach. Es ist nur eine Art, einen Booleschen Wert zu speichern, wenn die Ausgabe hoch oder niedrig sein soll. Die kleinste Version dieses Mikrocontrollers wird in einem 2 mm x 2 mm großen Gehäuse für die Oberflächenmontage geliefert. In großen Mengen könnte es 0,50 $ sein.

Schaltplan umschalten


+1 - Aber ich glaube, dieser Teil kommt nur in SMT.
J. Polfer,

1
Ja, aber selbst der billigste Mikrocontroller wird mehr kosten als nur einfache digitale Logik. Es ist ein ziemlich komplexes System, um eine einfache Aufgabe zu erledigen, und Sie öffnen sich für die Welt der Softwarefehler. Erhöht es auch die Produktionskosten, jedes Mikro zu programmieren?
Endolith

Sie würden also den internen Pull-up-Widerstand von PB0 als digitalen Eingang verwenden und ihn dann erden, um ihn zu triggern, oder? Sie sollten auf diese Weise keinen Widerstand in Reihe mit dem Schalter benötigen.
Endolith

1
@TokenMacGuy Es sollte kein Strom von PB0 nach GND fließen, da PB0 ein Eingang und kein Ausgang wäre. @endolith richtig, bei Verwendung des internen Klimmzugs ist kein externer Klimmzug erforderlich. (Außerdem ist der Pull-Up nicht mit dem Schalter in Reihe geschaltet, weder mit einem internen noch mit einem externen Pull-Up.) @ Sheepsimulator kommt in SMT ist nur ein Problem für den Bastler. In diesem Fall wären ein oder zwei zusätzliche Dollar kein Problem, und Sie können problemlos auf den 8-poligen DIP ATtiny25 aufsteigen.
Davr

@endolith Es kommt auf die Anwendung an, denke ich. Es gibt immer Kompromisse. Alles andere als das grundlegendste Gerät enthält eine Art Logik. Zu sagen, dass Sie sich für die Welt der Softwarefehler öffnen, ist keine so große Sache ... ohne die MCU öffnen Sie sich für Hardwarefehler, da Sie eine Art Digital / Analog-Schaltung zur Ausführung von Logik konstruieren.
Davr

1

Diese Schaltung (auch hier beschrieben ) ist sehr billig, aber komplexer und nimmt mit allen Bauteilen etwas Platz ein. Wenn Transistoren wie 0,02 US-Dollar in großen Mengen sind, wären es vielleicht insgesamt 0,10 US-Dollar?

3-Transistor-Verriegelungsschalter


$ 0.02 ... vielleicht, wenn Sie 27.000 davon wie hier kaufen: search.digikey.com/scripts/DkSearch/…
davr

1
$ 0.03 ist eine Menge wie $ 0.02 in kleinen Mengen ...
SingleNegationElimination

3904s für 1,4 Cent: newark.com/on-semiconductor/mmbt3904lt1g/… In hohen Stückzahlen sind Kondensatoren wie 1 Cent und Widerstände wie Cent.
Endolith

Es sieht so aus, als ob der Transistor Q2 einen Widerstand an der Basis benötigt, um den durch die Basis fließenden Strom zu begrenzen.
Craig McQueen


0

Ich weiß, dass dies eine "indirekte" Methode ist, aber Sie können einen Hall-Effekt-Sensor wie den von Sparkfun erwerben: http://www.sparkfun.com/commerce/product_info.php?products_id=9312

und verwenden Sie einfach einen Magneten, ich habe herausgefunden (auf die harte Tour), dass dieser bestimmte Halleffekt einrastet, so dass er nicht für das funktioniert, was ich brauche, aber es sieht so aus, als könnte er theoretisch für das funktionieren, wonach Sie suchen .

Ich habe es gerade in ein Steckbrett gesteckt, ich glaube, ich habe einen Widerstand verwendet (es ist wahrscheinlich ein Monat vergangen, daher bin ich ein wenig verschwommen bei den Details), und wenn ich den Magneten nah (kurz) bewege, schließt er den Sensor und dorthin du gehst.


1
Wie würden Sie es jedoch "lösen"? Wenn Sie den Magneten ein zweites Mal in die Nähe des Sensors bringen, wird er nicht deaktiviert, oder?
Davr

Ich glaube, Sie müssten die Polarität des Magneten umkehren, um ihn zu "löschen". Ich muss ihn zu Hause erneut anschließen, um ihn zu testen. Allerdings prüfe ich, wie lange es dauert, bis er "zurückgesetzt" wird. Wenn Sie die Stromversorgung unterbrechen. Möglicherweise kann ich es für mein
geplantes

0

Die einfachste Alternative ist die Verwendung eines Wechseltasters.

Wenn Sie die Tatsache ignorieren, dass es an verschiedenen Positionen einrastet, ist es fast genau wie ein Momentschalter. Ich verstehe, dass dies nicht der Sinn der Frage ist, aber es ist eine einfache und kompakte Lösung, die keine Software und keine externe Hardware erfordert.


0

Ich bin mir nicht sicher, was genau das Endziel ist, aber ich dachte, ich würde das hier veröffentlichen:

Dies ist eine großartige kleine Schaltung, mit der ich gerne bistabile Relais ansteuere. Es ist auch ziemlich billig zu bauen.

Durch Drücken des Momentschalters wird der Status des Relais und der LED umgeschaltet. Es ist nicht wirklich wählerisch, wie lange Sie die Taste gedrückt halten. Da das Relais selbsthaltend ist, nimmt es die meiste Zeit nicht viel Strom auf.

In dieser Konfiguration leuchtet die LED, wenn sich das Relais im eingestellten Zustand befindet, und erlischt, wenn das Relais zurückgesetzt wird. Sie können R7 auch an die Klemme + von C3 anschließen, damit die LED leuchtet, wenn das Relais zurückgesetzt wird.

Ich verwende dies gerne in Gitarreneffekten, damit ich das Gerät mit einem kurzen Fußschalter umgehen oder aktivieren kann. Natürlich würde ein 3PDT-Schalter das Gleiche für sich tun, aber das Umschalten ist auf diese Weise leiser (kein großer Knall), und kurzzeitige Soft-Touch-Fußschalter fühlen sich viel besser an als die großen 3PDT-Schalter.

Hoffe das hilft.

Verriegelungsrelais-Treiber


0

Könntest du es nicht einfach in Software machen?

Wird die Schaltfläche ein Eingang für ein programmierbares Gerät sein, oder müssen Sie im Hardware-Bereich umschalten?

Durch Speichern eines Schaltflächenzustands im Speicher ist es recht einfach, einen Momentschalter als Umschalter zu verwenden.

boolean buttonState = false; // store for toggle state, false = off true = on

if(yourButton == HIGH && buttonState == false) // if button is pressed and toggled off
{
     Serial.println("Button Toggled On"); // do something while button is on

     buttonState = true // set button state to on
}

if(yourButton == HIGH && buttonState == true) // if button is pressed and toggled on
{
     Serial.println("Button Toggled Off");  // do something else while button is off

     buttonState = false // set button state to off
}

Entschuldigung, wenn dies nicht der Fall ist, hängt diese Antwort natürlich davon ab, ob Sie eine MCU oder einen programmierbaren Chip verwenden.


Persönlich brauche ich eine eigenständige Lösung, aber die Frage soll allgemein sein.
Endolith

1
Ja, das ist sicherlich die vernünftige Lösung, wenn Sie einen Mikroprozessor haben. Beachten Sie, dass Sie auch "Entprellen" implementieren sollten, da Schalter und Tasten beim Umschalten laut sind.
Craig McQueen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.