Mois: mai 2014

Alimentation 5V et 3.3V à partir d’un transformateur 12V

Lors de la conception d’un circuit, il arrive souvent que l’on ai besoin de plusieurs valeurs de tensions. Par exemple, l’Atmega 328 qui équipe l’Arduino nécessité du 5V, un émetteur 2.4GHz nRF24l01+ à besoin de 3.3V et un émetteur 433MHz à lui besoin de 12V pour bénéficier de sa portée maximale.
L’idéal est donc d’avoir ces trois tensions différentes disponibles sur notre circuit. Il existe pour cela des composants appelés régulateurs de tension qui ont pour but de réduire une tension d’entrée pour la transformer en une tension de sortie à la valeur voulue.

La logique du circuit

Pour notre exemple, on va avoir à alimenter un composant en 12V, un en 5V et un dernier en 3.3V.
L’alimentation générale du circuit sera faite à partir d’un transformateur 12V, qui pourra donc alimenter directement notre composant 12V. Pour les deux autres, on utilisera des régulateurs de tension.

De 12V à 5V

Pour passer de 12V a 5V, le composant le plus courant s’appelle le LM7805. Si on se réfère à la documentation constructeur, on peux l’alimenter de +7V a +35V, il convient donc pour notre utilisation. Sa tension de sortie est de 5V@1A, ce qui laisse de la marge en terme d’intensité.
Attention toutefois ce composant consomme 8mA pour lui même. Si vous voulez alimenter avec une pile, c’est à prendre en compte.
Dernière info, le 7805 fait partie de la famille des 78XX, ou les deux XX indiquent la tension de sortie. Si par exemple vous avez besoin de 6V, alors orientez vous vers un 7806 etc.

Photo 08-05-2014 17 45 51

A quoi servent les deux condensateurs ? Ce sont des condensateurs de découplage, ils servent à stabiliser la tension. Et comme ils sont recommandés par le constructeur, autant les mettre.

De 12V à 3.3V

Comme pour le 5V, il existe un composant courant pour faire du 3.3V. Ce composant c’est le LM1117. Il accepte une tension d’entrée comprise entre +5V et +15V. Sa tension de sortie est de 3.3V@800mA. Le composant consomme 10mA pour son propre fonctionnement, la remarque concernant le 7805 au sujet de alimentation par pile est donc valable.

Photo 08-05-2014 17 46 01

Comme on peut le voir, des condensateurs de découplage sont nécessaire également.

Réunissons le meilleur des deux mondes

En réunissant les deux circuits, voilà ce que ça donne :

Photo 08-05-2014 17 45 44

Vous noterez que les valeurs des condensateurs sont différentes par rapport aux deux précédents schémas, ceci dans le but d’harmoniser les valeurs et surtout de faire avec des valeurs courantes. Ne descendez jamais en dessous de 10uF pour le condensateur côté 12V, car c’est la valeur minimum conseillée pour le LM1117.

Reste à définir l’intensité maximale que devra délivrer notre transformateur 12V afin de pouvoir tirer meilleure partie de nos deux régulateurs.

Imax = I1max + I2max + Conso LM7805 + Conso LM1117
Imax = 0.8 + 1 + 0.008 + 0.01
Imax = 1.818A

Je conseille donc un transfo 12V@2A pour alimenter ce circuit pour utiliser les capacités maximales de nos deux régulateurs simultanément. Il restera cependant 200mA uniquement pour le rail 12V.

Commander un relais avec un micro-contrôleur, savoir choisir ses composants

Programmer un micro-contrôleur c’est bien, mais pouvoir le faire interagir avec le monde extérieur c’est encore mieux, comme par exemple piloter une prise, un éclairage etc… Comme on peut s’en douter, un micro-controleur comme l’Atmega 328 qui équipe l’Arduino ne peux pas commander du 230V directement, il faut pour cela passer par un relais. Un relais c’est une sorte d’interrupteur télécommandé, qu’on pourra donc piloter avec notre Arduino.

Il existe des cartes relais toute faites, prêtes à être pilotées par l’Arduino, mais elles sont chères par rapport au prix des composants, et prennent pas mal de place dans le cas d’un montage embarqué.

carte_relai

Une carte 4 relais « préfabriquée »

Moi je vais vous montrer comment choisir vos composants pour arriver au même résultat, et surtout ce sera du sur-mesure !

Voici les composants minimum à avoir pour piloter un relais :

  • Un relais
  • Une résistance
  • Un transistor
  • Une diode

Petites explications concernant ces composants :

Le relais

 Comme on l’a dit plus haut, il joue le role d’interrupteur télécommandé 230V (dans notre cas). Il peut driver du 230V mais ne peut pas etre piloté directement par le micro controleur.

Le transistor

Pour notre montage, on va utiliser le transistor de la meme manière que notre relais, en interrupteur télécommandé. Dans notre cas, on va l’utiliser en mode saturé et en mode bloqué. Mais qu’est-ce que c’est ? Le mode saturé correspond à un interrupteur fermé, et le mode bloqué correspond à un interrupteur ouvert.

Le transistor est un composant à trois pattes : la base, le collecteur et l’emetteur. Pour l’utiliser en interrupteur télécommandé, appelé en commutation, la base est la commande, et l’interrupteur se situe entre le collecteur et l’émetteur. La jonction base – émetteur ce comporte comme une diode.

Photo 02-05-2014 13 36 57

Lorsque Vbe = 0V,  le transistor est bloqué, et comme du coup Ic = Ie = 0A, le transistor se comporte comme un interrupteur ouvert entre le collecteur et l’émetteur.

Lorsque Vbe = Vbe_max, alors le transistor est passant. Pour que le transistor soit saturé, il faut que Ib > Ic / Hfe. Il se comporte alors comme un interrupteur ferme.

Hfe, Vbe_max et d’autres valeurs barbares sont différentes suivant chaque type de transistor, elles sont données par le fabriquant. On les verra dans le calcul plus tard.

La resistance

Elle sera connectée a la base du transistor, et sera calculée pour obtenir Ib > Ic / Hfe.

La diode

On l’utilisera comme diode dite de roue libre. Elle supprime le pic de tension aux bornes de la bobine du relais lors de l’ouverture du circuit, et par consequent protege le transistor.

Pourquoi tout ça ?

Et bien c’est très simple. Une sortie d’un Arduino supporte 20mA au maximum, impossible donc d’exciter la bobine du relais. Pour se faire on va utiliser un transistor entre les deux; il a la particularité de laisser passer un courant fort venant de l’alimentation entre son collecteur et son émetteur alors qu’on envoie un petit courant sur la base. Un transistor type NPN 2N2222 par exemple supporte jusqu’a 800mA entre le collecteur et l’emetteur, largement suffisant pour piloter la bobine du relais.

Voici donc notre schéma pour piloter un relais avec un micro-controleur:


Photo 02-05-2014 14 25 42


Le choix des composants pour notre exemple

Ce qu’on veut :

  • Piloter une lampe de 60W en 230V à partir d’un Arduino

Ce qu’on sait :

  • L’Arduino tolère un maximum de 20mA@5V à ses sorties
  • Je dispose d’une alimention 5V pour mon circuit

Voilà nos données de base, on peut donc commencer à choisir ses composants dans un ordre bien précis.

Choix du relais

Pour choisir notre relais, il faut qu’il soit pilotable par le 5V de notre circuit de commande. Il faut également qu’il supporte la charge de notre ampoule de 60W.

Calcul de l’intensité consommée par notre ampoule :

Puissance = tension par intensité ( P=U*I), donc

I = P / U
I = 60 / 230
I = 0.26 A

Il nous faut un relais pilotable en 5V et supportant au moins 0,26A@230V : je choisi le LEG-5 de REYEX INC, qui est pilotable en 5V et supporte 7A@230V. On est large.

Choix du transistor

Il va commander la bobine du relais, il faut donc que l’intensité maximale admise par le collecteur soit supérieure à l’intensité parcourue par la bobine du relais. On va donc calculer cette intensité.

En regardant la documentation constructeur, la résistance de la bobine vaut 70 ohms, et on va dire qu’en théorie le transistor consomme 0V (Vce = 0V, ce qui donne une marge supérieure dans le calcul de l’intensité parcourant la bobine) donc:

Ibob = Ubob / Rbob
Ibob = (Vcc – Vce) / Rbob
Ibob = (5 – 0) / 70
Ibob = 0,071A

Il faut aussi qu’il supporte une tension de 5V entre la base et l’émetteur (tension de sortie de l’Arduino Vbe), et également une tension de 5V entre le collecteur et l’émetteur (tension du circuit Vce).

Je choisi un transistor NPN BC547B puisque son Ic_max = 100mA ( donc supérieur à Ibob), Vce_max = 45V (supérieur à notre 5V de circuit) et Vbe_max = 6V (supérieur à notre 5V de tension de commande Vbe).

Choix de la diode

La diode de roue libre va être branchée aux bornes de la bobine du relais.  Elle va devoir encaisser une tension de 5V et une intensité de 0,071 A. Je choisi la 1N4007 (parce que je l’ai déjà…) et surtout elle supporte 1000V et un courant de pointe de 50A.

Choix de la résistance

Pour cette partie j’espère que vous maitrisez la loi d’Ohm, qui est pour rappel U = R * I (tension = resistance multiplié par l’intensité).

Les caractéristiques de notre transistor BC547B:

  • Vce_sat = 0,7V
  • Vbe_sat = 0,2V
  • Gain Hfe_min = 200

On va d’abord calculer Ic:

Vcc = Vce_sat + Ubob
Vcc = Vce_sat + Rbob * Ib
Ic = Vcc – (Vce_sat) / Rbob
Ic = (5-0,2)/70
Ic = 0,069 A

Maintenant, on va calculer Ib_min, qui est l’intensité minimale à appliquer sur la base pour saturer le transistor dans notre cas. Elle est fonction de l’intensité sur le collecteur du transistor et de son gain Hfe, qui est une valeur donnée par le constructeur. J’applique également un coefficient de sécurité coeff_secu = 2 por prendre en compte les tolérances du transistor et la résistance.

Ib_min = Ic / Hfe * coeff_secu
Ib_min = 0,069 / 200 * 2
Ib_min = 0,0007 A

On a toute les données nécessaires au calcul de R :

Ve = Ur + Vbe avec Vbe = Vbe_sat
Ve = R * Ib_min + Vbe_sat
R = (Ve – Vbe_sat) / Ib_min
R = (5 – 0,7) / 0,0007
R = 6143 ohms

On va donc choisir la valeur de résistance juste en dessous, on prendra donc une résistance de 5,6 Kohms.

 


 

Quel est le cout de tout ça ?

  • Transistor BC547B : € 0,16
  • Relais LEG-5 : € 1,95
  • Diode 1N4007 : € 0,11
  • Résistance 5,6 KOhms : € 0,01

Total : €2,23

Ce n’est pas la ruine, et surtout on à maintenant un montage qui correspond totalement à notre utilisation. Et comme je suis gentil, je vous ai préparé un fichier Excel qui calcule notre résistance R en fonction des composants que vous aurez choisi : Calcul de résistance fonction transistor et relais