Comment utiliser un relais 5V avec un Arduino Pro Mini 3,3V?


12

J'utilise quelques Arduino Pro Mini (3,3 V) pour un projet domotique et je veux ajouter des relais à la conception finale du PCB pour allumer et éteindre certaines choses.

Puisque je veux utiliser un relais 5V comme celui-ci: HF 46F 5V, relais de puissance HF miniature, 5 V, 1 NO 5 A

Je me demande comment je peux commuter ce relais avec l'arduino, puisque le pro mini n'a qu'une sortie de 3,3V sur les broches? L'arduino est alimenté par une batterie Li-Ion de 3,7 V.

Une autre question serait de savoir comment utiliser le relais en toute sécurité avec des tensions élevées? (en dehors de la largeur de trace et de l'espacement des traces entre les pièces haute et basse tension sur le circuit imprimé) Merci d'avance!


1
Pourquoi ne pas choisir un relais de tension inférieure? Il existe une version 3V du modèle auquel vous vous êtes connecté. Vous trouverez peut-être que 3,7 V est suffisant pour fermer les contacts sur certains relais à tension plus élevée; il dira dans la fiche technique. La tension de démarrage minimale pour le relais lié est de 3,75 V, donc cela ne fonctionnerait pas. Je n'ai aucune expérience de la sous-tension d'un relais à long terme, donc je ne peux pas dire pour sûr que vous devriez vous fier à cette technique.
CharlieHanson

Exécutez le relais à partir du bloc d'alimentation à tension plus élevée qui alimente l'Arduino et retirez la charge du régulateur 3,3 V. Vous recherchez un commutateur MOSFET ou transistor. Il y a des milliers de messages sur ce site SE à ce sujet.
Transistor

1
@CharlieHanson il n'y a aucun moyen que le contrôleur puisse fournir / absorber suffisamment de courant pour piloter directement un relais comme celui-ci, même si la tension de la bobine correspond. Vous aurez toujours besoin d'une sorte d'étape tampon.
jippie

@jippie Je n'ai pas dit que le contrôleur le pourrait jamais. Comme il s'agissait d'un commentaire et non d'une réponse, je ne voyais pas la nécessité de parler lyrique des problèmes actuels.
CharlieHanson

Pourquoi cette batterie est-elle alimentée et n'utilise-t-elle pas une alimentation dérivée de l'alimentation de charge? Même si vous voulez que la batterie du MCU soit alimentée à des fins de sauvegarde, exécutez votre élément de commutation (relais, etc.) à partir d'une alimentation dérivée de l'alimentation de la charge - il n'y a pas beaucoup d'avantages à cliquer sur le relais s'il n'y a pas d'alimentation secteur pour exécuter la charge, et la durée de vie de votre batterie sera bien meilleure si vous ne faites pas fonctionner la bobine de relais.
Chris Stratton

Réponses:


10

Il existe de nombreuses façons de connecter un appareil 5V à une broche de sortie 3,3V.

// édité La réponse originale / acceptée se trouve ci-dessous. Cette partie éditée devrait être une version améliorée de l'original.

Gardez à l'esprit que cette réponse est pour la conduite de relais, si vous allez commuter 20VDC à ~ 3A, un MOSFET sera une solution meilleure / moins chère, car vous n'avez pas besoin du relais.

Les broches de sortie ne doivent pas être utilisées pour piloter quoi que ce soit. Les signaux de sortie sont des signaux de commande à faible courant. Il est quelque peu accepté de piloter une LED directement à partir d'une broche de sortie (si vous utilisez une résistance de limitation de courant suffisamment élevée), mais cela peut entraîner des problèmes, car le courant total sur plusieurs broches peut également être limité par le matériel. Pour les communications, il peut parfois fonctionner pour utiliser 3,3 V car il pourrait être enregistré comme un niveau logique élevé, mais vous feriez mieux de ne pas vous y fier, pour toute application sérieuse.

Vous pouvez choisir un relais qui peut fonctionner avec une basse tension / un faible courant. Votre meilleur pari serait un "relais à semi-conducteurs", car ceux-ci ne nécessitent pas une bobine pour être alimenté et peuvent fonctionner sur une basse tension / courant. Vérifiez les spécifications pour en trouver une qui correspond à vos besoins.

Habituellement, vous devez alimenter l'appareil 3,3 V à partir de quelque chose comme une prise USB 5V ou 9V. Ces sources peuvent souvent fournir la puissance nécessaire pour alimenter la bobine de votre relais. Vous devrez faire le signal de contrôle de votre carte et commuter la "puissance d'entrée" sur la bobine de votre relais. (TODO ajouter un diagramme, je ne suis pas en mesure de le faire, donnez-moi 12h)

Gardez à l'esprit que certaines sorties de relais ont déjà des circuits pour cela. Et que votre tension d'entrée ne doit pas être supérieure / inférieure à celle pour laquelle la bobine est évaluée. Votre source devrait être en mesure de fournir suffisamment de courant pour le relais.

La bobine peut "subitement" prendre beaucoup de courant, vous pouvez voir que la tension sur votre carte chute ou qu'elle se réinitialise. Souvent, l'alimentation n'est pas "suffisamment réactive". Vous pouvez résoudre ce problème en ajoutant un condensateur pour "tamponner" la puissance, afin qu'elle puisse être libérée au moment même où la bobine doit être alimentée, et cela ne prendra pas la puissance du reste de la carte.

// fin de l'édition

  1. Connectez-le. (La mauvaise direction)**

Cela peut fonctionner dans certains scénarios, mais pas dans ce scénario. Le relais consommera trop de courant. Pour connecter une connexion de données à faible courant, cela peut réellement fonctionner puisque le 3,3 V peut être considéré comme une logique ÉLEVÉE.

2. La façon Arduino.

Achetez un TTL Logic Level Shifter - https://www.sparkfun.com/products/12009

Cette petite carte changera la sortie de 5 V, lorsqu'elle reçoit 3,3 V au signal entrant. Le seul problème, cependant, est que vous aurez besoin d'un 5 V à l'entrée de la carte.

3. La voie électronique.

Vous pouvez facilement utiliser un transistor ou un mosfet pour commuter un autre courant (plus élevé). Cela ne diffère pas vraiment de l'option 2, mais c'est un peu plus compliqué, mais moins cher.

4. Une autre façon, comme un patron.

Recherchez Stack-Exchange / Google pour les personnes ayant le même problème. J'ai trouvé que vous pouvez réellement augmenter de 3,3 V à 5 V, de sorte que vous n'aurez pas besoin d'une alimentation 5 V. https://www.circuitsathome.com/dc-dc/33v-to-5v-dc-dc-converter

5. Solution

Obtenez un relais qui fonctionne sur la tension de votre batterie et peut être déclenché à partir de 3,3 V. Vous pouvez envisager quelque chose comme ceci: http://www.ebay.com/itm/5PCS-3V-3-3V-Relay-High-Level-Driver-Module-optocouple-Relay-Module-for-Arduino-/331413255692

Il dispose d'un optocoupleur, pour isoler l'arduino du relais réel. Il pourrait être préférable d'en obtenir un qui fonctionne réellement sur la plage de tension de votre batterie. Pour que vous puissiez le brancher à la batterie (et la broche de signal à l'Arduino). Ainsi, la bobine n'est pas activée directement par l'arduino, ce qui tirerait trop de courant.

6. Utilisation d'une alimentation 5V

Vous pouvez changer les choses si vous le voulez vraiment. Vous voudrez peut-être utiliser une USB-Powerbank (ou des circuits fabriqués par vous-même / fournis) pour alimenter votre pro mini, le pro mini pourra prendre le 5V directement. ( Https://www.arduino.cc/en/ Main / ArduinoBoardProMini )

Vous pouvez maintenant utiliser le 5V pour alimenter votre relais en utilisant les options 2, 3 ou 5.


@jippie Vous avez raison, l'avez immédiatement édité quand je l'ai vu.
Paul

Merci! Je pense qu'il vaudrait mieux utiliser un relais 3V, dans ce cas je n'ai pas besoin du régulateur de tension (qui prend beaucoup de place que je n'ai pas). <br/> J'irai avec le Songle chinois SRD pas cher- 03VDC-SL-C (je n'utiliserai ceci que pour des tensions inférieures à 20V DC) Pour piloter le relais Songle en toute sécurité, j'ai besoin d'un transistor et d'une diode (veuillez me corriger si je me trompe) Je vais aller avec le NPN 2N2222 et le 1N4007 si ça va. Voici à quoi ressemblent mes schémas (D5 est la broche 5 de l'arduino numérique; GND.2 est le GND de l'arduino): lien
Henry

@Henry Je ne connais pas beaucoup l'électronique / les schémas, mais ça ne marchera pas. Vous devez mettre la batterie en série avec une bobine et utiliser le transistor comme "interrupteur". Ainsi, l'Arduino peut activer le transistor et laisser le courant plus élevé de la batterie se soulever. Je pourrais vérifier si je peux faire un schéma, mais ce sera demain.
Paul

oui j'ai réalisé que j'ai mélangé quelque chose là-haut: D j'ai un peu googlé et je me suis retrouvé avec ce nouveau câblage: lien Est-ce correct? Merci d'avance!
Henry

@Henry, je pensais à quelque chose comme ça wired.com/geekdad/wp-content/uploads/2012/09/relay_driver.jpg juste google: "circuit de relais de commande de transistor" vous n'êtes pas la première personne à le faire, donc pas besoin de réinventer la roue (dans ce cas) :)
Paul

2

Ce circuit peut résoudre votre problème. J'espère que cela fonctionne aussi pour une alimentation 3,3 V et un relais 5V. Pour expliquer la raison pour laquelle cela fonctionne, citez la page liée:

"Ce circuit permet à un relais 12v de fonctionner sur une alimentation 6v ou 9v. La plupart des relais 12v nécessitent environ 12v pour être" enfichables "mais" tiennent "sur environ 6v. Le 220u se charge via la diode 2k2 et inférieure. Lorsqu'une entrée au-dessus de 1,5 V est appliqué à l'entrée du circuit, les deux transistors sont passants et le 5 V à travers l'électrolyse fait que l'extrémité négative de l'électro passe sous le rail 0 V d'environ 4,5 V, ce qui met environ 10 V à travers le relais. "

entrez la description de l'image ici


D'où vient le 5V?
CharlieHanson

J'ai raté le fait qu'aucune autre offre n'était disponible. Mise à jour du circuit. Merci de l'avoir porté à ma connaissance.
Abu Bakar

0

Trouvez un relais qui a une bobine pour 3,3 volts, ou. . .

Vous allez devoir obtenir (ou créer) une alimentation de 5 volts.

Si vous recherchez «intensification de rupture», vous trouverez des produits pouvant augmenter de 3,3 V à 5 volts. Un appareil comme celui-ci coûtera quelques dollars.

Ou, si vous conduisez des circuits CA, vous pouvez utiliser un circuit pilote TRIAC directement à partir de votre 3,3 volts.

Un SSR (relais à semi-conducteurs) pourrait également être envisagé.

EDIT: sur la base des commentaires, je viens de réaliser que vous aurez besoin d'un transistor (MOSFET) pour piloter la bobine du relais.


Votre modification invalide le reste de la réponse. Une fois que vous avez le transistor (en fait, meilleur bipolaire que le FET), la tension MCU matte peu au moins dans la plage 3,3v et plus.
Chris Stratton
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.