Wie kann ich sowohl ein Arduino als auch ein elektromagnetisches Schloss mit derselben Stromversorgung sicher mit Strom versorgen?

Ich arbeite für ein Escape-Room-Unternehmen, ich erstelle Tricks und Requisiten mit Arduinos. Meistens muss der Arduino Eingaben von einem Spieler mit Knöpfen, Sensoren usw. entgegennehmen und entweder eine Tür oder eine Schublade oder so etwas sperren/entsperren und elektromagnetisch verriegeln. Die Schlösser werden immer über Relais und ihr jeweiliges Arduino gesteuert.

Das Problem ist, dass die Installation ziemlich chaotisch und widerspenstig werden kann, da wir so viele Schlösser und Arduinos haben, die Netzteile benötigen. Also habe ich vorerst ein 12-V-Netzteil verwendet, das das Arduino über einen 7805-Spannungsregler sowie das Schloss mit Strom versorgt. Wie hier gezeigt.

Hinweis: Ich verwende eine Relaismodulplatine , die alle für die Zuverlässigkeit erforderlichen Komponenten enthält, z. B. den Transistor vor der Spule und einen Optokoppler.

Allerdings habe ich Probleme mit dieser Schaltung.

Der Spannungsregler wird sehr sehr heiß, auch mit einem Kühlkörper darauf. Wenn das Relais die Sperre löst, reagiert das Arduino nicht mehr und erfordert einen Neustart, um wieder ordnungsgemäß zu funktionieren. Die Netzteile, die ich verwende, sind 12 V 1000 mA. Und die elektromagnetischen Schlösser, die ich verwende, verbrauchen im eingeschalteten Zustand bis zu 500 mA.

Meine Frage ist: Gibt es eine zuverlässigere oder einfachere Möglichkeit, sowohl das Arduino als auch das elektromagnetische Schloss mit derselben Stromversorgung zu versorgen.

Sollte eine Seite des Relaiskontakts nicht an die 12-V-Eingangsspannung angeschlossen werden? Dies ist wahrscheinlich ein Fehler in der Zeichnung, sonst würde das Schloss nicht funktionieren.
Du hast meinen Traumjob.

Antworten (3)

Wie in anderen Antworten erwähnt, würde das Austauschen des Linearreglers 7805 gegen einen Abwärtsregler bei der Hitze helfen.

Ich glaube jedoch, dass dies nicht erforderlich ist: Ihr Anwendungsfall sollte nicht so viel Strom verbrauchen, dass selbst ein Linearregler heiß wird. Die Komponenten, die Sie den Regler im Diagramm ausschalten, würden insgesamt weniger als 100 mA verbrauchen, was (12 V - 5 V) * 0,1 A = 0,7 W als maximale Wärmemenge ergibt, die der Regler abführen müsste. Wenn das Relais nicht erregt ist, würden Sie wahrscheinlich höchstens ein Zehntel davon verwenden.

Also: Überprüfen Sie den aktuellen Verbrauch der verschiedenen Komponenten mit einem Multimeter, um zu sehen, wohin der ganze Strom fließt.

  • Der Arduino sollte in der Größenordnung von 15 mA verbrauchen, und es gibt viele Möglichkeiten, dies noch weiter zu reduzieren: https://learn.sparkfun.com/tutorials/reducing-arduino-power-consumption
  • Die Relaisplatine gibt 65 mA als Arbeitsstrom an, und dieser sollte viel niedriger sein, wenn das Relais nicht angezogen ist
  • Was auch immer Sie als Eingänge verwenden, um zu entscheiden, wann das Relais ausgelöst werden soll ... Nun, nur Sie wissen, was diese sind

Es gibt viele Gründe, warum der Arduino nach dem Auslösen des Relais möglicherweise nicht mehr reagiert, und es ist nicht möglich, dies anhand der von Ihnen angegebenen Informationen mit Sicherheit zu sagen. Einige Möglichkeiten:

  • Der Code, den Sie ausführen, hat keine Möglichkeit, vom ausgelösten Zustand zurück in den nicht ausgelösten Zustand zu wechseln. Sie brauchen einen Codepfad, der das Relais ausschaltet und zurückkehrt, um darauf zu warten, dass jemand die richtigen Tasten oder was auch immer drückt.
  • Die elektromagnetische Verriegelung verbraucht beim Auslösen (kurz oder dauerhaft) zu viel Strom, was zu einem Abfall der Arduino-Eingangsspannung führt. Wenn kurz, kann dies mit einem Kondensator am Reglerausgang behoben werden (es sollte auf jeden Fall einer vorhanden sein)
  • Induktive Spannungsspitze vom Schloss, wenn es ausgeschaltet ist. Hier hilft eine Freilaufdiode, also eine Diode, die parallel zum Schloss "falsch herum" geschaltet wird, so dass sie keinen Strom leiten soll. Eine Spannungsspitze wäre umgekehrt zur normalen Arbeitsspannung und würde harmlos durch die Diode passieren.
Ja, ich stimme zu, dass das Arduino nicht so viel Strom ziehen sollte. Wirklich die einzigen anderen I/O-Geräte, die angeschlossen sind, sind vielleicht 1-3 LEDs, Drucktasten, Magnetkontaktschalter oder einige Mikrofonsensoren. Kann der Strom, der durch den 12-V-Eingang des Spannungsreglers (für das Schloss) fließt, zu hoch sein?
Auch was mein Arduino-Hängen angeht: Ich hatte dieses Problem, als ich sowohl Arduino als auch Schloss über dasselbe Netzteil mit Strom versorgte. Aber als ich ein separates Netzteil für das Schloss verwendete und alles andere gleich ließ, wurde mein Problem behoben. Die Idee mit den Freilaufdioden klingt also großartig. Ich dachte, das von mir verwendete Relaismodul würde das jedoch abdecken. Kann ich weitere Einzelheiten darüber haben, welche Art von Diode ich verwenden sollte und wo genau in der Schaltung sie hingehört?

Sie sollten einen Abwärtswandler verwenden, der Ihnen einen viel höheren Wirkungsgrad bietet. Es gibt unzählige Optionen. Hier ist einer: LM2596

Sie werden wahrscheinlich besser dran sein, eine zu kaufen, die bereits ausgelegt ist, wie diese: Buck Buck Bild

Siehe auch diese Frage , in der verschiedene Buck/SMPs-Optionen erörtert werden, einschließlich einiger 7805-Pin-äquivalenter Optionen (an die mich die Antwort von @ Manu3l0us gerade erinnert hat).

Wie in der anderen Antwort erwähnt, würde ein Abwärtswandler bei dem thermischen Problem helfen. Es gibt sogar Drop-in-Ersatz für den 7805, was sehr praktisch ist.

Sie können versuchen, Ihrem elektromagnetischen Schloss eine Freilaufdiode hinzuzufügen. Kann eine Spannungsspitze beim Ausschalten sein, die dazu führt, dass Ihr Arduino hängt.