Pages: [1]   Go Down
Author Topic: Tuto :Régulateur de l'arduino, puissance dans un transistor un peu de thermique  (Read 2101 times)
0 Members and 1 Guest are viewing this topic.
IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2311
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le sujet est récurant et je pense qu'un peu d'explications pourraient être utiles.
Cet article est peut être un peu long mais c'est essentiel de comprendre le bilan thermique d'un montage électronique.
Si vous avez le courage d'aller jusqu'au bout vous comprendrez pourquoi sur ce forum d'autres que moi vous conseillent avec raison de ne pas dépasser 7V quand vous alimentez votre arduino avec une alim externe.

Pour avoir une idée de la puissance que peut dissiper un composant (c'est pareil pour un transistor ou un circuit intégré) il faut faire un bilan thermique car le silicium fond à des températures de l'ordre de 180/190°C. Compte tenu de la surface moyenne d'une puce (moins d'un mm2) ces températures peuvent être atteintes facilement.
Nota 1: les calculs suivants ne sont pas à prendre à la lettre. S'ils indiquent une température max pour l'air ambiant de 50°C/70°C  on peut être confiant sur le fonctionnement mais s'ils n'indiquent que 20°C max il est préférable de revoir à la baisse les puissances dissipées ou de prévoir des dissipateurs sur les composants concernés.
Nota 2 : Meme si "ça passe " en thermique ne pas négliger de respecter les limites max en courant indiquées dans les datasheets. Ces limitations relèvent d'autres phénomènes physiques comme des densités de courant maximales dans les interconnexions internes aux circuits intégrés.

La chaleur est un flux comme l'électricité c'est pour cela qu'on sait faire des analogies.
En thermique on parle de résistance thermique, le symbole est "Rth" et l'unité est le  "°C/W".
En fait ce qu'on sait calculer c'est une élévation de température Delta_T (°C)
Delta_T = Rth * P     (P est la puissance dissipée dans le composant, elle est exprimée en watts)

Analogies :
Electricité :    Différence de potentiel      = Résistance x Courant                    --> U=R x I
Thermique :   Différence de température = Résistance_thermique x Puissance --> Delta_T= Rth x P

1) Calcul de la puissance :
Dans le cas d'un régulateur alimenté en entrée avec du 12 V et délivrant du 5V sous 500 mA la puissance dissipée sera égale à : (12V - 5 V) * 0.5 A = 3.5 W
Dans le cas d'un transistor bipolaire P= Vce*I (d'où l'utilité en commutation quand on utilise des transistors en boîtier plastique TO92 de choisir des modèles avec un faible Vcesat).

2) Résistance thermique :
elle dépend du boîtier (TO220, SOT223, Dpack, TO92, SOT23 etc ).
Selon le modèle de l'arduino le régulateur est soit en boîtier Dpack (Duemilanove) soit en boîtier SOT 223 (UNO)
Dpack
Rth Jonction / air ambiant = 92 °C/W
Rth Jonction / Case (boitier) = 6 °C/W

SOT 223
Rth Jonction / air ambiant = 245 °C/W
Rth Jonction / Case (boîtier) = 15 °C/W

Quand le boîtier est "en l'air" c'est à dire qu'il n'est raccordé à rien qui pourrait faire office de dissipateur on utilise la Rth jonction/ambiant
Quand le boîtier est raccordé à un dissipateur on utilise :
  --la Rth jonction/case
  --la Rth du dissipateur
La Rth globale étant égale à la somme des Rth.
Exemple pour un transistor Tip 31 en boîtier TO220 Rth J/case = 3°C/W et Rth j/ambiant = 62.5 °C/W. Si on utilise le transistor en l'air la Rth à prendre en compte est 62.5 °C/W, si on le monte sur un radiateur de Rth 10°C/W la Rth à prendre en compte sera 3+10= 13°C/W.

Comment on calcule ?
Prenons un exemple simple avec la puissance précédemment calculée (Vin=12V et I=500mA) et un boîtier SOT 223 "en l'air" c'est à dire que la grosse patte métallique n'est pas soudée sur le circuit imprimé :   Rth = 245 °C/W
L'élévation de température sera égale à P * Rth soit  3,5 W * 245 °C/W = 857,5 °C  ->>  Cela ne marche pas le circuit fond !  Le silicium fond pour des températures de l'ordre de 180/190 °C

Prenons maintenant le couple de valeurs Vin = 7V et I= 150 mA
P= (7-5)*0.15 =0.3 W.  L'élévation de température sera maintenant égale à 0.3 * 245 = 73.5 °C ->> c'est plus raisonnable mais il reste une dernière étape à franchir : s'assurer que l'on ne dépasse pas la température max de la jonction.
Cette température max est propre à chaque circuit, elle est donnée par le constructeur : on la trouve dans la datasheet du régulateur. Ici la valeur indiquée est +125°C.

On peut maintenant calculer la température que l'air ambiant ne devra pas dépasser  :
Tmax_air = 125 - 73.5 = 51,5 °C
Ce qui veut dire que l'air autour du régulateur ne doit pas dépasser 51.5 °C, dans le cas contraire la jonction serait à plus de 125 °C et le régulateur non fonctionnel.

Avec un boîtier Dpack le delta de température n'aurait été que de 27.6 °C et la température maximale de l'air aurait été Tmax_air = +97.4 °C
On peut aussi voir le problème autrement. Pour la même élévation de température qu'avec le SOT223 avec le Dpack on pourrait avoir les couples de valeur suivants :
@Vin=7V       I=400mA au lieu de 150mA
ou
@ I=150mA   Vin=10V  au lieu de 7V

Dans le cas réel de l'arduino le calcul est moins simple car le régulateur est soudé sur une plage métallique du circuit imprimé qui fait office de dissipateur.
Dans ce cas il faut utiliser la Rth jonction/case  et additionner la Rth du dissipateur que constitue le circuit imprimé de l'arduino. Malheureusement cette  valeur n'est pas connue, dommage.

Il est quand même possible d'avoir un ordre de grandeur de la température de jonction en mesurant la température de la grosse patte métallique du boîtier Dpack ou SOT223
La Rth de la plage métallique du Circuit imprimé peut aussi être évaluée en faisant le calcul à l'envers : on connaît la température de la plage métallique, celle de l'air ambiant et la puissance dissipée : on peut en déduire Rth_plage_métal.


Faire attention a ne pas utiliser une sonde de température qui modifie les propriétés thermiques du dissipateur, par exemple sonde trop grosse qui dissiperait elle même une partie de la chaleur.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 92
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Très bon idée ce genre de tutos sur le forum Arduino, merci à toi, je m'empresse de te lire smiley-wink

Ça serait intéressant si ce genre de tutos se démocratise sur ce forum je trouve smiley-grin
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 145
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Très bien fait ! Bravo

Même bien meilleur que certains cours venant de profs "réputés"...
Logged

Offline Offline
Edison Member
*
Karma: 17
Posts: 1991
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour,
un mot : BRAVOOOOOOOOO
vraiment très constructif en effet
Logged

France
Offline Offline
God Member
*****
Karma: 4
Posts: 980
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

clair, précis, complet  .... chapeau !!!
Merci
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5413
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Chapeau ! Du trés trés bon bouleau !

Je t'est ajouté sur la liste des tutoriels tellement c'est du bon bouleau :
http://arduino.cc/forum/index.php/topic,67634.msg581086.html#msg581086
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Pages: [1]   Go Up
Jump to: