Wie verwende ich ein 5-V-Relais mit einem 3,3-V-Arduino Pro Mini?

Ich verwende ein paar Arduino Pro Minis (3,3 V) für ein Heimautomatisierungsprojekt und möchte dem endgültigen PCB-Design Relais hinzufügen, um einige Dinge ein- und auszuschalten.

Da ich ein 5V-Relais wie folgt verwenden möchte: HF 46F 5V, Miniatur-HF-Leistungsrelais, 5 V, 1 Schließer 5 A

Ich frage mich, wie ich dieses Relais mit dem Arduino schalten kann, da der Pro Mini nur einen Ausgang von 3,3 V an den Pins hat? Das Arduino wird von einem 3,7-V-Li-Ion-Akku angetrieben.

Eine andere Frage wäre, wie man das Relais sicher mit hohen Spannungen verwendet? (abgesehen von Leiterbahnbreite und Leiterbahnabstand zwischen Hoch- und Niederspannungsteilen auf der Platine) Vielen Dank im Voraus!

Warum nicht ein Relais mit niedrigerer Spannung wählen? Es gibt eine 3V-Version des von Ihnen verlinkten Modells. Möglicherweise stellen Sie fest, dass 3,7 V ausreichen, um die Kontakte einiger Relais mit höherer Spannung zu schließen. so steht es im datenblatt. Die minimale Ansprechspannung für das verbundene Relais beträgt 3,75 V, es würde also nicht funktionieren. Ich habe keine Erfahrung damit, ein Relais langfristig unter Spannung zu setzen, daher kann ich nicht mit Sicherheit sagen, dass Sie sich auf diese Technik verlassen sollten.
Führen Sie das Relais vom Netzteil mit höherer Spannung aus, das den Arduino speist, und nehmen Sie die Last vom 3,3-V-Regler. Sie suchen einen MOSFET- oder Transistorschalter. Es gibt Tausende von Beiträgen auf dieser SE-Site zu diesem Thema.
@CharlieHanson Es gibt keine Möglichkeit, dass der Controller genug Strom liefern / senken kann, um ein solches Relais direkt anzusteuern, selbst wenn die Spulenspannung übereinstimmt. Sie werden immer eine Art Pufferstufe benötigen.
@jippie Ich habe nicht gesagt, dass der Controller das jemals könnte. Da dies ein Kommentar und keine Antwort war, sah ich keine Notwendigkeit, über aktuelle Themen ins Schwärmen zu geraten.
Warum wird diese Batterie betrieben und verwendet keine von der Lastversorgung abgeleitete Stromversorgung? Selbst wenn Sie möchten, dass die MCU für Backup-Zwecke batteriebetrieben wird, betreiben Sie Ihr Schaltelement (Relais usw.) von einer Versorgung, die von der Lastversorgung abgeleitet ist - es bringt nicht viel, auf das Relais zu klicken, wenn keine Netzspannung vorhanden ist, um die Last zu betreiben. und Ihre Batterielebensdauer wird viel besser sein, wenn Sie die Relaisspule nicht davon abschalten.
@jippie Das verknüpfte Relais benötigt 40 mA bei 5 V. 40 mA ist praktischerweise auch die absolut maximale Nennstromsenke/-quelle für den Atmega328P. Also würde ich sagen, dass Sie sich irren; Die MCU könnte ein solches Relais wahrscheinlich direkt ansteuern. (Es wäre eine schlechte Idee, aber darum geht es hier nicht)
@marcelm Überprüfen Sie das Datenblatt auf die Ausgangsspannung, die zu diesem Strom gehört. Es ist möglich, mehrere GPIO-Pins parallel zu verwenden, solange sie genau zur gleichen Zeit angesteuert werden. Die Verwendung des Standards digitalWrite( pin , state ) ist für diese Anwendung keine gute Idee.
@marcelm Das Entwerfen einer Schaltung, um eine Komponente mit ihrer absoluten maximalen Bewertung zu verwenden, ist keine gute Entwurfspraxis. (Aus dem Datenblatt: „Der Betrieb des Geräts unter diesen oder anderen Bedingungen, die über die in den Betriebsabschnitten dieser Spezifikation angegebenen hinausgehen, ist nicht impliziert.“)
Je nachdem, wie oft Sie die Spule erregen müssen, sollten Sie auch ein Stromstoßrelais mit 3-Volt-Spule (oder weniger) untersuchen. Dieser, der OMRON G5RLU-1A-E DC3 , verwendet 200 mA in einem kurzen Burst, um den Zustand von Aus zu Ein oder Ein zu Aus zu ändern, wodurch Ihre Lithium-Ionen-Stromquelle erheblich länger halten kann.

Antworten (3)

Es gibt sehr viele Möglichkeiten, ein 5-V-Gerät an einen 3,3-V-Ausgangspin anzuschließen.

//bearbeitet Die ursprüngliche/akzeptierte Antwort finden Sie unten. Dieser bearbeitete Teil sollte eine verbesserte Version des Originals sein.

Beachten Sie, dass diese Antwort für das Ansteuern von Relais gilt. Wenn Sie 20 VDC bei ~ 3 A schalten, ist ein MOSFET eine bessere / billigere Lösung, da Sie das Relais nicht benötigen.

Ausgangspins sollten nicht verwendet werden, um irgendetwas anzutreiben. Ausgangssignale sind Niedrigstrom-Steuersignale. Es ist einigermaßen üblich, eine LED direkt von einem Ausgangspin anzusteuern (bei Verwendung eines ausreichend hohen Strombegrenzungswiderstands), kann jedoch zu Problemen führen, da der Gesamtstrom über mehrere Pins auch durch die Hardware begrenzt werden kann. Für die Kommunikation kann es manchmal funktionieren, 3,3 V zu verwenden, da es als logisch hoch registriert werden könnte, aber Sie sollten sich bei ernsthaften Anwendungen besser nicht darauf verlassen.

Sie können ein Relais wählen, das mit niedriger Spannung/niedrigem Strom arbeiten kann. Ihre beste Wahl wäre ein "Halbleiterrelais", da diese keine Spule benötigen, um mit Strom versorgt zu werden, und möglicherweise mit niedriger Spannung / niedrigem Strom arbeiten. Überprüfen Sie die Spezifikationen, um eine zu finden, die Ihren Anforderungen entspricht.

Normalerweise müssen Sie das 3,3-V-Gerät über einen 5-V-USB- oder 9-V-Stecker mit Strom versorgen. Diese Quellen können oft den Strom liefern, der zum Erregen der Spule Ihres Relais erforderlich ist. Sie müssen das Steuersignal Ihres Boards machen und die "Eingangsleistung" über die Spule Ihres Relais schalten. (TODO Diagramm hinzufügen, ich kann derzeit nicht, gib mir 12h)

Beachten Sie, dass einige Relais-Breakouts bereits eine Schaltung dafür haben. Und dass Ihre Eingangsspannung nicht höher / niedriger sein sollte als die Nennleistung der Spule. Ihre Quelle sollte in der Lage sein, genügend Strom für das Relais zu liefern.

Die Spule kann "plötzlich" viel Strom aufnehmen, Sie können sehen, dass die Spannung auf Ihrer Platine abfällt oder dass sie zurückgesetzt wird. Oftmals ist das Netzteil nicht „ansprechbar genug“. Sie können dies beheben, indem Sie einen Kondensator hinzufügen, um die Leistung zu "puffern", sodass sie genau in dem Moment freigegeben werden kann, in dem die Spule mit Strom versorgt werden muss, und dem Rest der Platine nicht die Leistung entzieht.

//Ende der Bearbeitung

  1. Schließen Sie es einfach an. (Der falsche Weg)**

Dies könnte in einigen Szenarien funktionieren, aber nicht in diesem Szenario. Das Relais zieht zu viel Strom. Zum Anschließen einer Niedrigstrom-Datenverbindung kann es tatsächlich funktionieren, da die 3,3 V möglicherweise als logisches HIGH angesehen werden.

2. Der Arduino-Weg.

Kaufen Sie einen TTL Logic Level Shifter – https://www.sparkfun.com/products/12009

Diese kleine Platine ändert den Ausgang um 5 V, wenn am Signaleingang 3,3 V anliegen. Das einzige Problem ist jedoch, dass Sie am Eingang der Platine 5 V benötigen.

3. Der elektronische Weg.

Sie können problemlos einen Transistor oder Mosfet verwenden, um einen anderen (höheren) Strom zu schalten. Dies unterscheidet sich nicht wirklich von Option 2, ist aber etwas komplizierter, aber billiger.

4. Anders, wie ein Chef.

Durchsuchen Sie Stack-Exchange/Google nach Personen mit demselben Problem. Ich habe festgestellt, dass Sie tatsächlich 3,3 V auf 5 V erhöhen können, sodass Sie keine 5-V-Versorgung benötigen. https://www.circuitsathome.com/dc-dc/33v-to-5v-dc-dc-converter

5. Problemumgehung

Holen Sie sich ein Relais, das mit Ihrer Batteriespannung arbeitet und von 3,3 V ausgelöst werden kann. Sie könnten so etwas in Betracht ziehen: http://www.ebay.com/itm/5PCS-3V-3-3V-Relay-High-Level-Driver-Module-optocouple-Relay-Module-for-Arduino-/331413255692

Es hat einen Optokoppler, um das Arduino vom eigentlichen Relais zu isolieren. Es könnte besser sein, einen zu bekommen, der tatsächlich in Ihrem Batteriespannungsbereich funktioniert. Damit Sie es an die Batterie anschließen können (und den Signalstift an den Arduino). Die Spule wird also nicht direkt vom Arduino aktiviert, was zu viel Strom ziehen würde.

6. Verwendung einer 5-V-Versorgung

Sie können die Dinge umdrehen, wenn Sie wirklich wollen. Vielleicht möchten Sie eine USB-Powerbank (oder eine selbstgebaute/gelieferte Schaltung) verwenden, um Ihren Pro Mini mit Strom zu versorgen, der Pro Mini kann die 5 V direkt aufnehmen. ( https://www.arduino.cc/en/ Haupt-/ArduinoBoardProMini )

Sie können jetzt die 5 V verwenden, um Ihr Relais mit den Optionen 2, 3 oder 5 zu versorgen.

@jippie Du hast Recht, habe es sofort bearbeitet, als ich es gesehen habe.
Danke! Ich denke, es wäre besser, ein 3-V-Relais zu verwenden, in diesem Fall brauche ich den Spannungsregler nicht (der viel Platz braucht, den ich nicht habe).<br/> Ich werde mit dem billigen chinesischen Songle SRD- 03VDC-SL-C (ich werde dies nur für Spannungen unter 20 V DC verwenden) Um das Songle-Relais sicher anzusteuern, brauche ich einen Transistor und eine Diode (bitte korrigieren Sie mich, wenn ich falsch liege). Ich werde mit dem NPN 2N2222 und dem gehen 1N4007 wenn das ok ist. So sehen meine Schaltpläne aus (D5 ist Digital Arduino Pin 5; GND.2 ist GND des Arduino): Link
@Henry Ich weiß nicht viel über Elektronik / Schaltpläne, aber das wird nicht funktionieren. Sie müssen die Batterie in Reihe mit der Spule schalten und den Transistor als "Schalter" verwenden. So kann der Arduino den Transistor aktivieren, und den höheren Strom der Batterie zum Schwergewicht heben lassen. Ich könnte nachsehen, ob ich einen Schaltplan machen kann, aber das wird morgen sein.
Ja, mir ist aufgefallen, dass ich da etwas verwechselt habe: D Ich habe ein bisschen gegoogelt und bin bei dieser neuen Verkabelung gelandet: Link Ist es richtig? Vielen Dank im Voraus!
@Henry, ich habe an so etwas wie wired.com/geekdad/wp-content/uploads/2012/09/relay_driver.jpg gedacht, google einfach: "Transistor Drive Relay Circuit", du bist also nicht die erste Person, die das tut man muss das Rad nicht neu erfinden (in diesem Fall) :)
Ja, das ist der gleiche Schaltplan, den ich gezeichnet habe. Ich habe noch eine Frage: Ich möchte dem Relais einen manuellen Schalter hinzufügen, damit ich es manuell auslösen kann. Kann ich den Schalter einfach so anschließen? --> http://i.imgur.com/NeDE3sX.png
Ich habe # 5 ausprobiert und sie sind Junk Arduino würde es nicht zum Laufen bringen. Ich denke, die Schaltung bringt die Spannung unter 3 V. Ich konnte die Kontakte klappern hören, aber sie ließ sich nicht einschalten.
@Bill, möglicherweise müssen Sie ein externes Netzteil verwenden. Um etwas mehr aktuelle zur Verfügung zu bekommen.
Dies ist ein nutzloser Beitrag; Es enthält nicht nur eklatante Fehler, sondern ignoriert die Tatsache, dass unabhängig von 3,3 V gegenüber 5 V der Strom für die Relaisspule nicht durch die MCU fließen darf. Die meisten praktischen Schaltungen zum Ansteuern eines 5-V-Spulenrelais mit einem NPN-Transistor oder Optokoppler sind mit 3,3 V auf der Steuerseite in Ordnung , was benötigt wird, ist etwas im Bereich von 5 V auf der Spulenversorgung .
@Chris, ich stimme zu, dass die Antwort von geringer Qualität ist. Ich werde mich mit der Bearbeitung befassen (innerhalb von 12 Tagen ab jetzt). Danke, dass du es bemerkst!
Vorschlag 2 ist völlig falsch und hat schon jemanden dazu verleitet , einen Logikpegelwandler für ungeeignete Zwecke einzusetzen . Ein Logikpegelwandler kann nicht den Strom liefern, der zum Ansteuern einer Relaisspule erforderlich ist! Insbesondere der in der Antwort verlinkte ist auf (viel) weniger als 1 mA Ausgangsstrom begrenzt (seine Ausgangsimpedanz beträgt 10 kOhm) und kann dank einiger günstig platzierter Body-Dioden die angeschlossene MCU braten.

Diese Schaltung kann Ihr Problem lösen. Ich hoffe, es funktioniert auch für 3,3-V-Versorgung und 5-V-Relais. Um zu erklären, warum es funktioniert, zitieren Sie von der verlinkten Seite:

"Diese Schaltung ermöglicht es einem 12-V-Relais, an einer 6-V- oder 9-V-Versorgung zu arbeiten. Die meisten 12-V-Relais benötigen etwa 12 V zum "Einziehen", "halten" aber etwa 6 V. Der 220u wird über die 2k2 und die untere Diode aufgeladen. Wenn ein Eingang Über 1,5 V werden an den Eingang der Schaltung angelegt, beide Transistoren werden eingeschaltet und die 5 V über dem Elektrolyt bewirken, dass das negative Ende des Elektros um etwa 4,5 V unter die 0-V-Schiene sinkt, und dies legt etwa 10 V über das Relais.

Geben Sie hier die Bildbeschreibung ein

Woher kommen die 5V?
Ich habe den Punkt verpasst, dass keine andere Versorgung verfügbar war. Schaltung aktualisiert. Danke, dass du mich darauf aufmerksam gemacht hast.

Finden Sie ein Relais, das eine Spule für 3,3 Volt hat, oder . . .

Sie müssen eine 5-Volt-Versorgung erhalten (oder erstellen).

Wenn Sie nach „Step up Breakout“ suchen, finden Sie Produkte, die 3,3 V auf 5 Volt erhöhen können. So ein Gerät kostet ein paar Euro.

Oder wenn Sie Wechselstromkreise ansteuern, können Sie eine TRIAC-Treiberschaltung direkt von Ihren 3,3 Volt verwenden.

Ein SSR (Solid State Relay) könnte ebenfalls in Betracht gezogen werden.

BEARBEITEN: Aufgrund von Kommentaren wurde mir gerade klar, dass Sie einen Transistor (MOSFET) benötigen, um die Spule des Relais anzusteuern.

Ihre Bearbeitung macht den gesamten Rest der Antwort ungültig. Sobald Sie den Transistor haben (eigentlich besser bipolar als FET), spielt die MCU-Spannung zumindest im Bereich von 3,3 V und darüber kaum eine Rolle.