Contrôler des klaxons en PWM

Patatas de goma - DIY

2013.01.21

Pour le projet Patatas de goma, nous devons contrôler des avertisseurs sonores et des phares de voitures. Après deux ou trois années de tests et de composants brûlés, j'aboutis aujourd'hui à une solution qui semble satisfaisante. Je partage dans ce document les notions techniques auxquelles j'ai été confronté et une méthode pas-à-pas pour réaliser le premier prototype fonctionnel. Celui-ci évoluera certainement lors d'une prochaine étape de développement.

Je remercie les personnes qui m'ont aidé et particulièrement Emmanuel Fléty pour ses conseils précieux et précis qui m'ont permis d'aboutir à ce prototype. Le livre Arduino Robotics a aussi été une ressource clé pour compléter mes connaissances. Toutes les remarques sont les bienvenues pour améliorer ce document et le prototype, n'hésitez pas à m'envoyer un message.

Agrandir la photo

  1. Analyse des besoins
  2. Conception
  3. Réalisation

1. Analyse des besoins

L'objectif technique est de contrôler deux phares et deux avertisseurs sonores par voiture pour synchroniser la lumière et le son. Il faut avant tout comprendre le comportement électrique d'un tel système afin de déterminer les composants appropriés. Ce système, comme celui d'une voiture, fonctionne en courant continu.

1.1. Charge résistive et inductive
1.1.1. Phare

Agrandir la photo

Les phares de voitures les plus répandus sont des lampes à incandescence halogène. Un filament métallique résiste au passage du courant, chauffe et émet de la lumière.

On parle alors de charge résistive. C'est un appareil passif qui chauffe ou génère de la lumière. Quelques exemples dans la vie quotidienne l'illustrent : un grille pain, un sèche-cheveux, une LED, une ampoule à filament, un fer à souder, etc.

1.1.2. Avertisseur sonore

Agrandir la photo

Les avertisseurs sonores sont aussi appelés Klaxons qui est le nom d'une marque déposée devenue un nom commun. Le plus souvent ils sont de type électromagnétique. Une fois mis sous tension, un électroaimant attire un tube métallique (le plongeur) sur lequel est accrochée une membrane métallique et flexible. Au bout de la course, l'électroaimant est déconnecté. Le plongeur revient alors à sa position initiale du fait de l'élasticité de la membrane et repart aussitôt car l'électroaimant est de nouveau parcouru par le courant. Et ainsi de suite. Cette oscillation mécanique crée un son de très forte intensité, nécessaire à sa fonction d'avertisseur. Ce fonctionnement ressemble aux sonneries des anciens téléphones, où à chaque rebond une cloche est percutée.

On parle de charge inductive car elle crée un mouvement. Il s'agit en général de tous les moteurs qui comportent un enroulement selfique ou bobine : moteurs, solenoïdes, relais, etc.

1.1.3. Pour aller plus loin

1.2. Consommation électrique

Explorons quelques méthodes pour mesurer la consommation électrique du système.

1.2.1. Hors fonctionnement

Hors fonctionnement, c'est-à-dire lorsque le circuit n'est pas alimenté, la technique est simple.

  • Dans le cas des phares, on a toujours deux informations écrites sur l'emballage : le voltage et la puissance. On obtient facilement la consommation de courant en divisant la puissance par les volts: I = P/U = 55W / 12V = 4,5A.
  • Dans le cas des klaxons, à part la tension de fonctionnement qui est celle d'une batterie de voiture de 12V, rien n'est écrit sur l'emballage... Il faut donc se débrouiller soi-même pour trouver l'intensité. Il suffit de mesurer la résistance aux bornes du klaxon, qui sont les bornes de la bobine. Ici, elle est de 1Ω (voir l'illustration). Donc : I = U/R = 12V / 1Ω = 12A. On en déduit la puissance : P = 12V x 12A = 240W.

Agrandir la photo

Au total, si les deux phares et les deux klaxons sont à pleine puissance, on aurait une consommation de : I totale = 12x2 + 4,5x2 = 33A

C'est un système très gourmand, consommant beaucoup d'énergie. On n'est plus dans le cas de figure auquel nous sommes habitués, qui est d'actionner un ou deux moteurs à courant continu et quelques LEDs. C'est important, nous passons dans le domaine de l'électronique de puissance. Vouloir contrôler 33A en 12V par le biais d'un microcontrôleur n'est pas tout à fait banal. Des considérations sont à prendre dans le choix des composants, pour dissiper la chaleur, le diamètre des fils, etc. Ce n'est pas tout. La consommation totale de 33A calculée ici nécessite d'être affinée. Des pointes dépassant 33A soient envisageables. Nous verrons cela plus loin.

1.2.2. En fonctionnement

Je n'ai pas encore pu tester ces méthodes. J'attends la prochaine étape de développement pour ajouter ici mes résultats.

  • Avec un oscilloscope La meilleure méthode consisterait à utiliser un oscilloscope pour visualiser en temps-réel la consommation électrique. En analysant la courbe du signal, on aurait les tensions de crêtes maximales nous donnant ainsi la pire des situations. Agrandir la photo
  • Avec une résistance bobinée Merci à Xavier des Open Ateliers pour cette technique. Son efficacité dépend du temps de réaction de votre multimètre, car bien souvent le multimètre met un certain temps à calculer, beaucoup d'événements importants comme des pics de tension rapides peuvent nous échapper. Cependant, cela peut nous donner une bonne idée de la consommation moyenne du système. La résistance bobinée est une très grosse résistance supportant de fortes puissances, plusieurs dizaines de watts. En générale, les résistances classiques, supportent 1/4 watt pour donner un ordre d'idée, alors que celle-ci supporte 50 watts et elle fait 4,7 ohms. Agrandir la photo En branchant cette résistance entre la source d'alimentation et le klaxon et en branchant en parallèle le multimètre, on mesure les volts. On en déduit alors l'intensité (voir l'illustration). Je me demande cependant si la résistance choisie ici n'est pas encore sous-dimensionnée. Les 50W sont nettement inférieurs à la puissance maximale supposée d'un klaxon qui semble être de 240W... Agrandir la photo
  • Avec un galvanomètre L'autre technique est prévue pour supporter un courant de 30A. Elle paraît plus adaptée ici. Il s'agit d'utiliser un galvanomètre, aussi appelé shunt, qui jouera le rôle d'ampéremètre. On le branche en série comme la résistance dans le schéma précédent. La mesure est analogique, l'aiguille du cadran est donc très rapide. Agrandir la photo

1.3. Analyse du signal

Malgré l'absence de mesures dignes de ce nom, je peux mentionner quelques hypothèses sur le comportement du signal. Celles-ci s'inspirent de ce qui se passe quand on allume et éteint brusquement une charge résistive, notion que nous avons développé plus haut. Cette partie devra être confirmée par l'analyse du signal avec un oscilloscope.

Agrandir la photo

Cette illustration présente ces hypothèses :

  • il est probable que l'allumage de la bobine provoque une surtension ou une surintensité très élevée.
  • la valeur mesurée du fonctionnement du klaxon de 12A pourrait correspondre à la période de maintien (sustain).
  • quand le circuit n'est plus alimenté, la bobine envoie un courant de fuite dans le sens inverse.

Reste aussi à vérifier si cette courbe peut être décrite via une équation comme celle de l'inductance d'une bobine : U = L x di/dt, et si cette équation nous aiderait à comprendre le comportement du signal.

1.3.1. Courant d'appel

"Quand vous utilisez un relais pour allumer un moteur, celui-ci consomme brutalement beaucoup de courant avant de se mettre à tourner. Dans ce cas, vous devriez choisir un relais capable de supporter un courant au double de ce que le moteur consomme quand il fonctionne à son régime normal." (traduit du livre Make: Electronics, p.58)

Ce courant deux fois supérieur est appelé courant d'appel ou courant d'enclenchement ou surintensité. Cela nous donne une idée du calibrage des composants. Si le klaxon est mesuré à 12A, alors il faut prévoir 24A. Sur des forums, certains parlent même de crêtes pouvant atteindre 30A ou 50A ! La valeur de 30A semble la plus probable, car c'est la valeur des fusibles pour le klaxon dans une voiture.

Si nous devions nous arrêter là, notre consommation totale en crête serait de : 2 x 30A (klaxons) + 2 x 4,5A (phares) = 69 A ! Un surdimensionnement des composants semble nécessaire pour être capable de supporter des courants aussi forts.

1.3.2. Courant de fuite

Agrandir la photo

"Toute bobine est un inducteur. Les inducteurs se comportent en électricité comme la masse dans un système mécanique. Ils résistent aux changements de sens du courant comme la masse pour le mouvement physique. Faites obstacle à une voiture en mouvement et essayez de l'arrêter : sa masse continue de progresser. De la même façon, si vous arrêtez brutalement le courant traversant un inducteur, celui-ci résistera en générant du courant. Dans un système mécanique, la vitesse se transforme en pression. Dans un système électrique, le courant se transforme en pression électrique, une énorme tension se crée pour essayer de maintenir le courant." (traduit et adapté de http://www.4qdtec.com/catch.html)

Agrandir la photo

Ce phénomène est appelé courant de fuite ou courant induit ou encore Back-EMF (Electro-Motive Force) en anglais. Il peut sérieusement endommager les appareils électriques comme un microcontrôleur car il revient en sens inverse (d'après la loi de Lenz). Une autre façon de décrire ce phénomène est de dire :

"Quand l'inducteur est alimenté, il se charge et crée un champ électromagnétique. Une fois déconnecté de la source d'alimentation, il met un certain temps à se décharger. Quand un interrupteur déconnecte brusquement l'inducteur, le champ magnétique s'effondre et rejete en sens inverse le courant restant vers les terminaux d'alimentation. (traduit et adapté du livre Arduino Robotics, p.13)

Pour éviter ce retour et ne pas endommager le circuit, il faut placer aux bornes de la charge inductive une diode appelée dans ce cas, diode de redressement ou diode de roue libre ou flyback diode en anglais. Elle empêche le courant de passer dans le mauvais sens.

Agrandir la photo

Autres termes utilisés : Arc électrique, spark, voltage pulse, current leakage, noise spike, jolt, Transient-voltage-suppression diode (transorb) ou Diode transil, current transient, reverse transient

1.3.3. Pour aller plus loin

1.4. Commandes de puissances

Le contrôle des avertisseurs sonores et des phares peut se faire de deux façons :

  • soit comme un interrupteur avec deux états nets allumé/éteint (on/off) ;
  • soit en contrôlant la tension de façon progressive avec la technique de modulation de largeur d'impulsion ou PWM pour Pulse Width Modulation.

Le choix est artistique. Nous avons toujours opté, malgré les problèmes et contre certains avis prônant la facilité, pour le second choix, car c'est celui qui nous donne le plus de variations. Le contrôle en PWM nous rapproche du contrôle d'enveloppe utilisé dans la synthèse sonore (voir l'illustration). On contrôle l'amplitude d'un événement sonore dans le temps. Cela offre plus de finesse et de richesse à la composition musicale.

Agrandir la photo

La prestation de notre dernier concert à Dunkerque le 25 mars 2012, a démontré que ce choix était le bon (une vidéo sera en ligne dans quelques semaines). Un système on/off est quant à lui un système binaire, le seul paramètre de contrôle sur lequel on puisse jouer c'est la durée du contact. Ce système bien que plus simple à mettre en œuvre car tout existe déjà, il suffit d'assembler, n'est pas adapté aux sons que nous voulons déclencher. Les sons des klaxons sont agressifs. Répétés avec leurs intensités maximales, les nuances se perdent dans un univers saturé et un peu monotone. De plus, le contrôle en PWM nous a fait découvrir des sons de klaxons jamais entendus, d'où l'intérêt d'explorer cette voie.

1.4.1. Relais > ON/OFF

Pour faire du on/off, on hésite souvent entre deux composants : le relais ou le transistor. Le tableau ci-dessous, tiré du livre Make: Electronics (p.79), présente un comparatif :

Agrandir la photo

Ce que l'on peut retenir grosso modo :

"Les transistors ne peuvent pas commuter du courant alternatif ou de fort voltage et ils ne sont généralement pas un bon choix pour commuter du fort courant (> 5A). Dans ces cas, un relais est approprié mais sachez aussi qu'un transistor de faible puissance est toujours nécessaire pour commander la bobine du relais !" (traduit de http://www.kpsec.freeuk.com/trancirc.htm) "Parce que les composants électroniques à états solides (solid-state) n'ont pas de parties mouvantes, ils peuvent être commutés plus rapidement que ceux avec des parties mécaniques." (livre Arduino Robotics, p.56)

Dans notre cas, le relais est approprié. Si nous écartons les relais de faibles puissances incapables de supporter l'intensité demandée, nous avons :

  • Les relais statiques (SSR - solid state relay). Ce sont des transistors MOS (voir plus bas) avec un optocoupleur, sans partie mécanique. Ils peuvent être à commutation instantanée. Ils permettent d'éviter la pollution du système maître (microcontrôleur, ordinateur).
  • Les relais automobiles sont plus courants, moins chers et proches de notre objectif.

"Ils sont prévus pour limiter le problème d'arc électrique sur les contacts, mais globalement, ces relais sont prévus pour une utilisation "faible" (on klaxonne peu) donc les arcs auront toujours la peau du relais après une utilisation intensive" (Emmanuel Fléty)

Le schéma de connexion d'un relais avec une carte Arduino est le suivant : Agrandir la photo

Au final, si nous choisissons malgré tout les relais automobiles, nous arrivons à ce schéma (non testé) : Agrandir la photo

1.4.2. MOSFETs > PWM

Agrandir la photo

"La modulation de largeur d'impulsions [...] est une technique couramment utilisée pour synthétiser des signaux continus à l'aide de circuits à fonctionnement tout ou rien, ou plus généralement à états discrets. Le principe général est qu'en appliquant une succession d'états discrets pendant des durées bien choisies, on peut obtenir en moyenne sur une certaine durée n'importe quelle valeur intermédiaire. [...] Il doit y avoir une fonction filtrage pour extraire le signal utile (ce filtre peut exister naturellement dans le système : condensateur de l'alimentation à découpage, inductance du moteur pour le variateur de vitesse, etc.) [ C'est le cas ici des klaxons ]." (http://fr.wikipedia.org/wiki/Modulation_de_largeur_d'impulsion)

Plusieurs solutions :

"Ils sont utilisés quand il y a des problèmes de recouvrement en contrôle moteur (pont en H). C'est pour s'assurer que la partie dîte haute du pont n'est jamais active en même temps que la partie basse sinon court-circuit pendant un petit temps, crête de consommation et réduction de l'efficacité. Dans ton cas, il n'y a finalement qu'un demi-pont, donc ce n'est pas utile, surtout aux fréquences utilisées (des notes de musique)." (Emmanuel Fléty)

"Il se distingue des transistors bipolaires classiques car sa résistance ohmique à l'état passant (RdsOn) est très faible. Il résiste moins au courant donc cela permet de commuter des puissances importantes avec moins de pertes et d'échauffement." (http://www.sonelec-musique.com/electronique_theorie_transistor.html) "Le MOSFET est plus rapide que le transistor bipolaire. Son impédance en entrée (gate) est très haute, alors que celle en sortie est très basse." (traduit de cette vidéo très complète : http://www.sparkfun.com/news/819) "La construction interne d'un MOSFET est telle que la grille [gate] possède une trés grande résistance (ou impédance) par rapport à la source et au drain — c'est effectivement un condensateur. En pratique, cela signifie que le composant n'a besoin que d'une petite quantité de courant pour être pleinement activé. Quand il est complètement activé, les MOSFETs ont une résistance très basse, inférieure à un transistor bipolaire, faisant d'eux un excellent choix pour les applications à courant fort. La principale caractéristique d'un MOSFET est qu'il peut être commuté trés rapidement parce que sa capacité à être en mode linéaire est limitée, et que la tension de la grille est liée à celle fournie. (The main design considerations with a FET is that it be switched on (or off) very quickly because its ability to cope with being in the intermediate region is limited, and that adequate gate voltage is applied relative to the supply voltage)." (traduit du livre Practical Arduino, p.392) "Un MOSFET est un type de transistor contrôlé par la tension et non par l'intensité comme pour le transistor bipolaire. Ce type de commutateur est capable de modulations PWM extrémement rapides, ce qui est idéal pour l'utilisation des contrôleurs de moteurs. Les MOSFETs intègrent souvent une diode interne de protection pour isoler les tensions de sorties des signaux d'entrée et les protéger des courants de fuite (Back-EMF) produit par la charge. Il est généralement acceptable d'interfaçer directement l'Arduino au MOSFET." (traduit du livre "Arduino Robotics, p.59)

Vgs (gate-source) : tension maximale. Vth (threshold) : tension de seuil

La solution la plus simple sera d'utiliser un transistor MOSFET. C'est la solution qu'a choisi Interface-Z avec ses cartes haute puissance. Ces cartes sont tout à fait adaptées au contrôle des phares, mais sous-dimensionnées pour le contrôle des klaxons, j'en ai fait l'expérience !

Agrandir la photo

1.4.3. Pour aller plus loin

1.5. Conclusions

Dans une voiture, un klaxon est le deuxième plus gros consommateur de courant après le starter ! Des crêtes d'intensité autour de 30A sont probables pour un seul klaxon. Le courant d'appel et le courant de fuite en font l'élément le plus délicat à contrôler. Le contrôle des klaxons en PWM ajoute encore quelques difficultés. Nous l'avons vu, les phares posent moins de problèmes, c'est pourquoi ce qui marche pour les klaxons marche aussi pour les phares. Dorénavant, je me concentrerais essentiellement sur le contrôle des klaxons.

1.6. Source des images

2. Conception

Il faut dorénavant concevoir un circuit capable de gérer le courant de haute puissance et calibrer les composants en conséquence.

2.1. MOSFET
2.1.1. PWM - vitesse

La vitesse de la modulation (PWM) sur une Arduino est par défaut de 500Hz pour les sorties 9, 10 et 11, et de 1Khz pour les sorties 5 et 6. Avec une simple ligne de code, on peut modifier cette vitesse et aller jusqu'à 62KHz.

Il y a un rapport entre cette vitesse et la dissipation thermique.

"La fréquence porteuse doit être significativement supérieure à la fréquence de coupure du filtre, pour que l'ondulation résiduelle soit faible." (http://fr.wikipedia.org/wiki/Modulation_de_largeur_d'impulsion) "Plus la fréquence est haute, moins les effets de commutations sont visibles lors de l'opération de charge. Mais une fréquence trop haute génère un excès de chaleur des composants de commutation. En effet, quand la fréquence augmente, la période de commutation diminue, et si cette période est trop brève, le composant en sortie n'a pas le temps de commuter entièrement de HIGH à LOW avant de revenir à HIGH. Au lieu de cela, la commutation reste quelque part entre le on et le off, dans un état de conduction intermédiaire, aussi appelé "shoot-through", qui génère de la chaleur." (traduit du livre Arduino Robotics, p.33)

2.1.2. MOSFET - capacités

La seule limitation de la vitesse de commutation dépend des capacités internes du MOSFET, notamment la capacité d'entrée, c'est-à-dire la capacité de grille (Ciss). Un certain temps est nécessaire pour que la capacité se charge et se décharge complètement.

Agrandir la photo

"La commande du transistor a un effet capacitif (elle est équivalente à un condensateur) qui limite la vitesse de montée de la tension de commande. Donc le transistor ne fonctionne pas de manière optimale pendant la montée, et il chauffe. Hormis les circuits spécialisés (drivers de MOSFET), généralement capables de très fortes intensités pour compenser l'effet capacitif [...]." (http://cncloisirs.com/Technique/MOSFET) "Les MOS consomment plus en commutation à fréquence élevée parce qu'entre autre, il faut charger/décharger le condensateur de gate à chaque commutation, voir P=CV²f." (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294771796) "Les MOSFETs ont des petits condensateurs attachés à l'électrode de grille pour maintenir le voltage présent dans la grille. La charge de la capacité permet au MOSFET de rester activé, même après que l'alimentation soit retirée de la grille. [...] Comme la fréquence de modulation PWM augmente, le temps disponible de charge et de décharge de la capacité de la grille diminue. Celle-ci a besoin de plus de courant du "driver" pour que les charges et décharges soient complètes et ce dans un temps plus court. Si le courant disponible du "driver" n'est pas suffisant [ nous verrons les drivers plus loin ], la grille sera perdue dans un état de conduction partiel, qui peut générer un excès de chaleur. Dire qu'un MOSFET a besoin d'une grande quantité de courant disponible pour commuter rapidement peut sembler déroutant, parce que les MOSFETs ont besoin d'une certaine tension et typiquement d'un très faible courant. Les 40mA fournit par la sortie PWM de l'Arduino suffisent largement pour commuter entièrement un MOSFET on et off mais seulement lorsque la fréquence de modulations est lente. Ce n'est pas suffisant pour charger et décharger complètement la grille-condensateur du MOSFET à des fréquences élevées. À ce moment, le condensateur a besoin d'être entièrement chargé et déchargé de 10000 à 32000 fois par seconde ! Utiliser un driver de MOSFET (spécialisé signal-buffer) est le meilleur moyen de contrôler un commutateur MOSFET parce qu'il fournir bien plus de courant durant chaque cycle de commutation que l'Arduino et ce à des fréquences élevées." (librement traduit du livre Arduino Robotics, p.60, p.61) "Driver ton MOS en PWM équivaut à le piloter en tension, avec tension = valeur moyenne de la PWM (Vmax * ratio de la PWM). C'est valable à haute fréquence et c'est généralement mieux de découper au dessus du spectre audio. 500Hz ce n'est pas très bon sur le principe, mais c'est mieux que les 50Hz que l'on trouve dans les gradations de lampes hallogènes..." (Emmanuel Fléty)

Aller plus loin :

2.1.3. MOSFET - driver

Les drivers de MOSFETs sont donc obligatoires pour les fréquences PWM élevées et pour limiter les surchauffes.

Agrandir la photo

"Les drivers de MOSFETs permettent de redresser les fronts de sorte que même pour une PWM faible ou proche de 100%, les nuances sont conservées. Sinon il peut y avoir un blocage avec un minimum à 10% et un maximum à 90% en commande. Aussi, les MOSFETs ont besoin d'un courant de grille important lorsque tu commutes des charges fortes. C'est le rôle des drivers de MOSFETs de le fournir pour avoir des fronts bien droits." (Emmanuel Fléty) "Les drivers de MOSFETs sont des "signal-buffers" ultra-rapides [...]. Ils agissent comme un amplificateur pour piloter les MOSFETs N-channel "low-side" avec un signal PWM de 0 à 100% pour le contrôle totale de la vitesse. [...] J'utilise une puce drivers de MOSFETs qui amplifie le signal PWM de l'Arduino pour fournir environ 2 ampères à la grille du MOSFET — c'est à peu près 100 fois plus que ce que peut fournir une Arduino ! Grâce à cela, les MOSFETs N-channel peuvent être pilotés à des fréquences plus élevées sans causer aucuns problèmes." (traduit du livre Arduino Robotics, p.168, p.171)

Ce schéma a été testé et fonctionne bien. Il met en relation une Arduino avec une sortie PWM, un driver de MOSFETs, un MOSFET N-Channel et un phare de voiture :

Agrandir la photo

2.1.4. MOSFET - modes

Comme les transistors, le MOSFETs évolue dans le temps suivant deux modes : le mode linéaire et le mode saturé.

Agrandir la photo

En mode linéaire, c'est la phase d'amplification : un faible courant appliqué sur sa grille donne en sortie un courant beaucoup plus important. Dans un transistor, c'est un peu le même cas de figure pour un MOSFET, le courant du collecteur à l'émetteur varie proportionnellement à sa base. C'est le principe à la base de tous les circuits analogiques comme les amplificateurs ou d'autres encore. Durant cette phase, le MOSFET résiste au courant. Cela n'est pas anodin, dès qu'il y a résistance, il y a dissipation de chaleur, nous le verrons juste après.

En mode saturé, le MOSFET agit comme un interrupteur, il laisse passer presque totalement le courant. En effet, sa résistance active (Rdson) est quasiment nulle. Exemple ici avec le MOSFET utilisé dans le prototype, le FDP61N20, sa Rdson est de 0.041Ω, ce qui est vraiment infime.

Agrandir la photo

2.1.5. MOSFET - en parallèle

"Avoir plusieurs MOS en parallèle ne résoud pas la chaleur mais réparti la prise en charge de la puissance dans plusieurs composants et non au sein d'un seul boîtier. Il faut toujours évacuer la chaleur mais chaque composant souffre moins." (Emmanuel Fléty)

Agrandir la photo

"Une des caractéristiques les plus pratiques d'un MOSFET est la possibilité de disposer plusieurs commutateurs en parallèle pour augmenter la capacité du courant et limiter la résistance. [...] Si vous placez plusieurs MOSFETs identiques en parallèle, l'ensemble fonctionne toujours comme un seul commutateur parce que ils s'ouvrent et se ferment simultanément, et leurs électrodes communes sont connectées. Le courant total qui peut être transféré à travers l'ensemble des MOSFETs est égal à la quantité de courant qui peut passer dans un seul MOSFET, fois le nombre des MOSFETs en parrallèle. De plus, la résistance totale de cet ensemble est égal à la résistance Rds(On) divisée par le nombre de MOSFETs. Ce qui signifie par exemple qu'en utilisant deux MOSFETs en parallèle, vous réduisez la résistance par deux — et quand la résistance diminue, la dissipation thermique diminue aussi." (librement traduit du livre Arduino Robotics, p.63, p.64)

2.1.6. MOSFET - pull down

"It is a good idea to ensure that the gate is forced to its off state by using a “pull-down” resistor to drain the capacitor when not actively powered by the Arduino. Using a 10kOhm pull-down resistor from the gate pin to the source pin (gate to GND on n-channel, gate to VCC on p-channel) will be sufficient to keep the mosfet turned off when not in use. [...] You can also omit the pull-up or pull-down resistors from the gate pin when using a MOSFET driver to control a MOSFET—instead you should use a pull-down resistor at each input pin on the MOSFET driver IC, being driven from an Arduino PWM output pin. " (livre Arduino Robotics, p.60, p.61) "Les résistances pull down de 10KΩ se placent après la sortie de l'Arduino et avant les drivers. Cela sert à fixer un niveau bas pendant que l'Arduino démarre (ses pinoches sont alors des entrées, donc haute impédance, donc du point de vue du driver c'est "en l'air" donc ca peut potentiellement activer le driver => le mos => le klaxon)." (Emmanuel Fléty)

2.2. Dissipation thermique

Quand un composant résiste au courant, il y a dissipation d'énergie sous forme de chaleur. Ici, il s'agit de courant fort donc potentiellement de grosse montée de chaleur. Sur la datasheet d'un composant on trouve sa température d'usage (Operating and Storage Temperature Range) comprise entre une température minimale et maximale. Si le composant chauffe au-delà de cet intervalle, à cause du fonctionnement du circuit ou de la chaleur ambiante, le composant peut brûler et causer des dommages au reste du circuit voire devenir dangereux. De plus, un composant dure plus longtemps si sa température reste normale.

"Le transistor MOSFET est une sorte de résistance contrôlée en tension. Lorsque le MOS "résiste", il absorbe de la puissance, c'est comme quand tu freines ton vélo avec des chaussures, tu crâmes tes semelles." (Emmanuel Fléty)

Plusieurs techniques sont utilisées pour réduire la chaleur : les refroidisseurs ou dissipateur (heatsink), les ventilateurs, les modules Peltier, disposer les MOSFETs en parallèle, etc. Une très bonne vidéo en anglais explique comment prendre en compte la température dans la conception des circuits : http://www.eevblog.com/2010/08/15/eevblog-105-electronics-thermal-heatsink-design-tutorial/

Agrandir la photo

2.2.1. Calculs de la puissance à dissiper

La température de fonctionnement d'un circuit est très compliquée à calculer, beaucoup de paramètres concernant les matériaux, l'évacuation de la chaleur dans ces matériaux sont à analyser. Heureusement, nous avons un outil de calcul certainement approximatif mais néanmoins cohérent qui nous donne une bonne idée des températures en jeu : la loi d'Ohm thermique. Cette loi fait une analogie entre le calcul de la résistance au niveau électrique et thermique. En gros, il s'agit d'additionner la température ambiante aux résistances thermiques du système : entre l'air et le refroidisseur, entre le refroidisseur et le boîtier du MOSFET, et entre le boîtier et la jonction interne du MOSFET.

Agrandir la photo

"D'après mon expérience, si un MOSFET doit dissiper plus de 2 watts dans un boîtier T0220, cela entraîne une chaleur excessive pour le MOSFET." (traduit du livre Arduino Robotics, p.62)

Plusieurs formules sont en discussion :

  • P = Vds (drain-source) * Id
  • P = C * V² * f

"Power is dissipated in CMOS circuits by the charging and discharging of the various capacitances involved. These may be the gate, wire, drain or the source capacitances. The total power dissipated can be calculated by using the formula: P=CV²f, where C is the capacitance, V is the voltage change and f is the frequency. " (http://www.articleworld.org/index.php/CMOS)

  • P = Id² * Rdson En mode saturé, le MOSFET laisse passer tout le courant. Si un klaxon demande 20A, alors : P = 20A² * 0.041Ω = 16,4W. Il faut donc dissiper 16,4W. En mode linéaire presque totalement bloquant, si le MOSFET ne fait passer que 0.001V par exemple : P = U * I = (12V - 0.001V) * 20A = 240W. C'est énorme. D'après la datasheet (.pdf) du MOSFET, sa température d'usage (Tj, Tstg - Operating and Storage Temperature Range) est comprise entre -55 et +150 °C. Donc, il ne faudra jamais dépasser 150 °C. La résistance thermique entre la jonction du MOSFET et l'air ambiant (Rθ JA - Junction-to-Ambient Thermal Resistance) de ce MOSFET est de 62.5 °C/W. Elle correspond à un MOSFET sans refroidisseur, directement en contact avec l'air ambiant. Agrandir la photo Si j'ai besoin de dissiper 240W, cela nous donne : 62.5 °C/W * 240W = 15 000 °C ! Ce résultat paraît bien trop élevé pour être crédible, mais je ne vois pas comment faire autrement. Emmanuel Fléty m'indique que ce cas de figure ne se produit jamais, la chaleur maximale à évacuer se situerait dans les régimes intermédiaires, quand le cycle PWM est à 50%.

"Quand le MOSFET ne laisse passer que 0.001V, tu n'auras pas 20A qui circule, mais dans le régime intermédiaire (PWM 50%), il y a des chances que le MOSFET ait a absorber la moitié de la puissance du klaxon. En régime saturé (passant) effectivement, la faible résistance Rdson fait que c'est le klaxon qui consomme tout et le MOSFET ne chauffe pas. Le problème n'est pas le régime saturé, mais les régimes intermédiaires. Le MOSFET est en régime linéaire pendant les phases de montée et de descente du front de PWM, jamais parfaitement droit même avec les drivers. Du coup ca chauffe." (Emmanuel Fléty)

Si je poursuis le raisonnement en prenant comme la pire des situations 240W / 2 = 120W, j'aurais tout de même une température de fonctionnement du MOSFET autour de 7 500°C...

2.2.2. Calcul avec un refroidisseur

Agrandir la photo

Pour améliorer l'évacuation, nous pouvons ajouter un refroidisseur. Dans la vie courante, la plupart les amplificateurs audio en ont besoin, regardez bien. Cela nous donne une idée de leurs dimensions et de leurs utilités.

Quand on utilise un refroidisseur, la Rθ JA n'est plus applicable. À la place, nous devons prendre en compte la résistance thermique entre la jonction du MOSFET et le boîtier (Rθ JC - Junction-to-Case thermal resistance). Celle-ci est de 0.3 °C/W, donc beaucoup moins importante que Rθ JA. On obtient alors : 0.3 °C/W * 120W = 36°C. Ce qui montre l'avantage énorme de fixer un radiateur sur un transistor. La limite de température n'est pas atteinte et le composant durera plus longtemps.

Je pense que le calcul n'est pas correct si nous nous arrêtons là. Nous devons ajouter encore les résistances thermiques du refroidisseur Rθ HA (Heatsink-to-ambient) et du boîtier Rθ CH (Case-to-heatsink). La résistance thermique du refroidisseur est indiquée par les fabricants ou est visible sur la courbe thermique (Temp rise above ambient - Heat dissipated watts) de sa datasheet. Par exemple ici, la valeur maximale correspond à 80°C pour 5 watts.

Agrandir la photo

Ce qui nous fait 80 / 5 = 16 °C/W. D'autres refroidisseurs sont plus performants, certains descendent à 10 ou 2°C/W. Nous ajoutons à cette valeur un taux de 1/3 correspondant à une diffusion non optimale et plus réaliste de la température dans le refroidisseur. Car la courbe est donnée pour une source de chaleur sur toute la surface du refroidisseur, mais si on y fixe un boîtier TO220 il ne s'agit que d'une source de chaleur localisée en un point. Donc avec un réfroidisseur à 10°C/W : Rθ HA = 10 + (10/3) = 13.3 °C/W.

Si on ajoute à cela la résistance de la partie isolante entre le boîtier et le refroidisseur, composé de silicone ou de mica, la valeur admise est : Rθ CH = 1.1 °C/W

Total = Rθ JC + Rθ HA + Rθ CH = 0.3 + 13.3 + 1.1 =~ 14.7 °C/W

Température = 120W * 14.7 °C/W + 18° (température ambiante) = 1782 °C !

On n'est encore loin d'une valeure cohérente. On a tout de même diviser la précédente température par plus de quatre, passant de 7 500°C à 1782 °C. Même si le calcul ne semble pas tout à fait correct, nous pouvons remarquer une amélioration significative quand on ajoute un refroidisseur.

2.2.3. Calcul avec un ventilateur

On obtient encore une nette amélioration quand on ajoute un ventilateur. Le but est de diminuer la résistance Rθ HA encore trop importante grâce au souffle du ventilateur sur le refroidisseur.

Agrandir la photo

La vitesse de rotation du ventilateur KDE1206PHV2A est : 3.14(Pi) * 6cm (diamètre) * 0.033(conversion centimètre > feet) * 3800 RPM (tour/minute) = 2363 FPM (feet/minute)

Dans le graphique du refroidisseur vu plus haut, il y a deux courbes. Nous avons vu la première, regardons maintenant la seconde (Air velocity feet per minute / Surface to ambient). Après 800 FPM, la résistance thermique est bloquée à 2°C/W. Donc nous avons théoriquement, c'est à confirmer par les lecteurs-experts, fait descendre la résistance thermique du refroidisseur de 10 °C/W à 2°C/W. Ce qui nous donne Rθ HA = 2 + (2/3) = 2.7 °C/W.

Nouveau total : Rθ JC + Rθ HA + Rθ CH = 0.3 + 2.7 + 1.1 = 4.1 °C/W Température = 120W * 4.1 °C/W + 18° (température ambiante) = 510 °C ! Là encore, l'amélioration est édifiante. Même si le résultat est encore beaucoup trop élevé et surréaliste.

Aller plus loin :

2.2.4. Refroidisseur

"Un dissipateur thermique est un dispositif destiné à favoriser l'évacuation des pertes dissipées par les éléments semi-conducteurs de puissance. Il s'agit de dispositifs généralement munis d'ailettes, qui doivent de préférence être montées verticalement pour faciliter le refroidissement par convection." (http://fr.wikipedia.org/wiki/Refroidisseur)

L'unité utilisée est la résistance thermique Rth en °C/W. Plus celle-ci est petite, plus elle permet d'évacuer de chaleur.

"La résistance thermique maximale d'un refroidisseur se calcule au moyen de la formule : Rth = ((Tj max - Tamb)/Wj) - Rjb. Avec: Rth, la résistance thermique du refroidisseur en °C/W; Tj max, température de jonction max du composant en °C; Tamb, température ambiante en °C; Rjb, résistance thermique jonction-boîtier en °C/W; Wj, puissance dissipée dans la jonction en W." (http://www.gotronic.fr/cat-refroidisseurs-661.htm)

2.2.5. Refroidisseur - montage

Agrandir la photo

  1. Perçer et tarauder le radiateur
  2. Isolation électrique : jamais de connection électrique via le radiateur (bien que souvent anodisé), il ne doit être connecté à aucun potentiel. On utilise des kits d'isolement avec un isolant au mica de la taille du boîtier (ici TO220) et un canon isolant en silicone pour que la vis de fixation ne fasse pas contact entre le MOSFET et le refroidisseur.
  3. Conduction maximale de la chaleur : Pâte thermique ou scotch thermique (cool tape) qui isole en plus électriquement.

Voir aussi : http://www.giacomazzi.fr/electron/radiateur/radiateur.htm

2.2.6. Câblage
  • Section : Le dimensionnement des connexions où passent le courant fort est important. L'exemple ci-dessous illustre ce qui peut arriver quand on sous-dimensionne les connexions : Agrandir la photo Cela nous a donné une bonne leçon (un peu tardive...). La solution est de séparer les connexions par lesquelles passent le courant fort et celles du courant faible (circuit de commande). Le courant fort nécessite des connexions filaires de grosse section, le reste peut très bien être soudé sur une plaque de prototypage ou sur circuit imprimé.

"Un conducteur parcouru par un courant trop important va s’échauffer par effet joule. Il est donc important d’adapter la section des câbles en fonction de l’intensité qui doit circuler via ceux-ci." (http://www.ziggysono.com)

Agrandir la photo

Une section de 2,5 mm² (ou 14 AWG) semble être la norme pour les câbles des klaxons. En pratique, j'ai utilisé aussi du câble 1,5 mm² et ils ne semblaient pas chauffés.

"La chute de tension dans un conducteur résulte de pertes par effet Joule. Une partie de l'énergie véhiculée est absorbée par ces mêmes conducteurs et dissipée sous forme de chaleur. Les conducteurs se comportent donc comme des résistances placées en série de part et d'autre des récepteurs." (http://entraidelec.com/calcul-chute-de-tension.html)

  • Longueur : La longueur des câbles est aussi à prendre en compte. Dans notre cas, les câbles de puissance n'excèdent pas 2 mètres, donc c'est sans doute négligeable. Mais tout de même, en mesurant la résistance d'un câble mal dimensionné, un câble de haut-parleur classique de 4,5 mètres de long avec une section de 0,75mm², j'obtiens 0,4 Ω. Ainsi, le câble fait perdre V = I * R = 12 * 0,4 = 4,8 volts. Ce qui est énorme dans un système alimenté en 12 V, c'est un peu plus du tiers. Agrandir la photo
  • Multibrin : Nous pouvons aussi choisir entre fil de puissance monobrin (dur) ou multibrin (souple). Le multibrin semble être la solution la plus adaptée, car il va mieux gérer la dilation thermique et il est aussi plus facile à souder.

Voir aussi : Conversion AWG / mm²

2.3. Alimentation

Pour alimenter le système, il faut tout de même avoir une alimentation capable de supporter une surintensité de 40 à 60A pour un module contrôlant 2 phares et 2 klaxons, et avoir assez de charge pour tenir une performance de 20 minutes. Pour l'instant, deux solutions ont été expérimentées, l'une avec des alimentations régulées de puissance de 20A branchées sur secteur, l'autre avec des batteries de voitures.

Agrandir la photo

Ayant eu des problèmes avec les alimentations sur secteur, on peut sans doute conclure sans autres tests que c'est encore sous-dimensionné. Donc le choix se porte tout naturellement vers les batteries.

"On peut évaluer dans certains cas le niveau de charge d'une batterie en mesurant sa tension à vide (sans charge). Par exemple pour une batterie au plomb de tension nominale 12 V : Une batterie bien chargée a une tension supérieure à 12,6 V. Une batterie sous 12,4 V peut être mise en charge.Une batterie à 11,7 V est totalement déchargée ou en mauvais état." (http://fr.wikipedia.org/wiki/Batterie_d'accumulateurs#Indicateurs_de_charge)

Agrandir la photo

Voir aussi : http://www.secondchancegarage.com/public/133.cfm

2.4. Source des images

3. Réalisation

3.1. Schéma

Agrandir la photo

3.2. Liste du matériel

Agrandir la photo

Notez la taille du refroidisseur. C'est peut-être trop mais au moins ça marche.

Télécharger la liste de matériel en pdf : materiel-patatas-de-goma.pdf

PRODUITPRIXQTÉTOTALFOURNISSEUR
Klaxons 5 2 10 Casse automobile
Ampoule pour feux avant – H1,H4 ou H7 55W/12V 5 2 10 Magasin automobile
Fusible automobile 30A (dimensions voir porte-fusible) 0,5 2 1 "
Fusible automobile 10A (dimensions voir porte-fusible) 0,5 2 1 "
U carré en aluminium brut 19,5x1,5 – 1 mètre 5 1 1 Magasin bricolage
DIODE REDR. ULTRA-RAPIDE BYV32EB-200 1,7 2 3,4 Farnell (HT)
MOSFET driver MC34152PG 0,99 2 1,98 "
MOSFET N-CHANNEL FDP61N20 2,46 8 19,68 "
Diode 1N4007 – 30A Peak 0,08 2 0,16 Gotronic
Kit d'isolement pour TO220 0,9 8 7,2 "
Support lyre SUP06L pour CI DIL06 (6 broches) 0,1 2 0,2 "
5 résistances 1/2W 10 kΩ 0,3 2 0,6 "
Porte-fusible PF15 à fils pour auto 1,35 4 5,4 "
Plaque à essais en époxy pastilles 100x160mm 5,9 1 5,9 "
Refroidisseur profilé S44-75 173x28mm 10,8 1 10,8 "
Connecteur HE14 MH100 mâle sécable droit 1 x 36 pts 0,6 1 0,6 "
Connecteur FH136Z femelle 1 x 36 pts 2,5 1 2,5 "
Câble deux fils : 1,5 mètres x 1,25mm² multibrins, souple 1,7 4 6,8 "
Câble deux fils : 1,5 mètres x 2,5mm² multibrins, souple 3 2 6 "
Barrette de connexion 20A 1,95 1 1,95 "
Scotch isolant RIS-5V 0,65 1 0,65 "
10 vis acier 3mm (20mm) 0,35 1 0,35 "
10 écrous acier M3 0,2 1 0,2 "
Kit de 140 fils prédécoupés pour plaque à essais 5,17 1 5,17 Robotshop
Frais de port + taxes 16 3 48
TOTAL 142,54 € TTC

D'autres fournisseurs sur codelab.fr : http://codelab.fr/177.

3.3. Préparation
  • Faire des trous (3mm) dans le refroidisseur pour fixer les MOSFETs et tarauder les trous pour les pas de vis des boulons ne s'abîment pas. Seuls 7 trous sont possibles dans la largeur, donc le dernier MOSFETs possède son propre refroidisseur. A améliorer.
  • Monter les kits d'isolation sur les MOSFETs Agrandir la photo
  • Préparer les diodes pour pouvoir les placer dans les dominos. L'accrche est plus facile comme ça, mais c'est clairement à améliorer. Agrandir la photo

3.4. Assembler les éléments

Agrandir la photo

3.5. Placer les fils

Agrandir la photo

3.6. Soudures

Les MOSFETs ont trois pattes. Les deux de courants forts ne sont pas coupées et sont soudées à des fils de 2,5mm² en faisant bien attention à ce qu'elles ne se touchent pas. La patte de la grille (commande) est quant à elle, soudée à la plaque et coupée.

Agrandir la photo Agrandir la photo Agrandir la photo Agrandir la photo

3.7. Communication

Agrandir la photo

3.8. Monter le module

Le module est monté sur deux U en aluminium de façon à pouvoir le poser à plat et pour protéger les pattes des MOSFETs des courants forts. Agrandir la photo Agrandir la photo Agrandir la photo

3.9. Résultat final

Agrandir la photo

3.10. Source des images
  • photos personnelles
  • illustrations originales, dossier illustrations

Fichier

PDF - klaxons-en-pwm.pdf - 6.68 MB