So schalten Sie einen hohen Ausgang für jeden anderen hohen Eingang ein

Entschuldigung, wenn mein Titel zweideutig klingt, ich bin ziemlich neu in der Elektronik, und einige der Dinge, die ich vor all den Jahren in der Schule gelernt habe, sind mir entgangen.

Ich habe eine Schaltung, die aus einer Lipo-Batterie, einem Magnetschalter und einem Elektromagneten besteht.

Der Elektromagnet schaltet sich ein, wenn der Magnetschalter durch einen nahegelegenen Magneten eingeschaltet wird. Was ich jedoch brauche, ist, dass es sich jedes ANDERE Mal einschaltet, wenn es einen Magneten erkennt.

Ich erinnere mich vage an etwas über die Verwendung von Flipflops, um dies zu tun. Gehe ich recht in der Annahme, dass dies der beste Weg ist, dies anzugehen? Oder bekomme ich Probleme? Ich möchte eine möglichst einfache Schaltung. (Ich habe zuvor ein Arduino verwendet, um all dies zu tun und einen Zähler zu erhöhen, aber ich denke, das ist ein bisschen übertrieben).

Haben Sie bereits eine Schaltung, um den Schalter zu entprellen? Haben Sie auch eine geregelte Versorgungsspannung oder laufen Sie direkt vom Li-Po?
Last but not least, haben Sie in Ihrem Design eine Art Power-On-Reset-Signal oder muss die Schaltung es selbst bereitstellen?
Ich verwende einen Adafruit Powerboost 500, der die Stromversorgung regelt, mit einem Schalter, der an EN und GND angeschlossen ist und ihn im Wesentlichen ein- und ausschaltet.

Antworten (1)

Abhängig von den tatsächlichen Details der Eingangsimpulse (dh Sie erhalten tatsächlich einen schönen Impuls und kein springendes Signal, das zusätzliche Schaltkreise zum Aufräumen benötigt), können Sie ja jeden zweiten Impuls mit einem Flip-Flop umschalten.

Es gibt viele Möglichkeiten, wie Sie dies tun können. Das einfachste ist in dem Bild gezeigt, das ich unten gefunden habe (Googeln von 2-Bit-Zähler-Flip-Flops):

Zwei-Bit-Zähler mit Flip-Flops

Wenn Sie bemerken, dass der Q1-Ausgang jeden zweiten Takteingangsimpuls umschaltet.

Dies verwendet Flip-Flops mit negativer Flanke. Sie können Flip-Flops mit positiver Flanke (oder einen Inverter am clk-Eingang) verwenden, und die Funktionalität bleibt gleich, außer dass die Ausgangsumschaltungen an den steigenden Flanken des Takts erfolgen, anstatt zu fallen.

Bearbeiten

Ich wollte nur hinzufügen, dass Sie keine JK-Flip-Flops benötigen, damit dies funktioniert. Sie können T-Flip-Flops, D-Flip-Flops verwenden; was auch immer wirklich. Aber das gezeigte Beispiel verwendet JK-Flip-Flops.

Vielen Dank für das Beispiel, das meine Frage beantwortet, also werde ich mich für diesen Ansatz entscheiden.
Würde etwas ähnliches funktionieren? ti.com/product/CD4013B Es sieht im Wesentlichen gleich aus.
@Festivejelly: ja, das würde perfekt funktionieren. Um d Flip-Flops zum Umschalten zu bringen, können Sie das Q' in den D-Eingang zurückführen (auf diese Weise wird es jedes Mal, wenn es einen Takt empfängt, in den entgegengesetzten Zustand umschalten). Wenn Haltezeitfehler auftreten, können Sie ein RC-Netzwerk zwischen dem Q'- und dem D-Eingang hinzufügen.
Ich habe das zum Laufen gebracht, aber der Impuls bleibt an, bis sich eine Flanke ändert. Ich möchte, dass der Zähler zählt, aber auf Impulsen basiert und einen Impuls überspringt, wenn er <2 ist
Ja, Flops werden flankengetriggert. Können Sie die Wellenformen, die Sie erhalten, mit den gewünschten Wellenformen vergleichen?