Que se passe t-il quand une puce crame ?

Bonjour à tous, La question est tout juste dans le titre.

En fait, j'ai un petit soucis ( auquel je n'avais pas pensé ). Je vais faire vite fais pour vous mettre dans le contexte.

J'ai construit une rampe led qui peut se faire dimmer par l'arduino ( terme pas français, je suis d'accord :p). Je fais donc un PWM sur des drivers ( en courant ) d'au maximum la demi permis par analoWrite. ( Donc pas 255, mais environ 125). Du coup, la température de la rampe led ne dépasse pas 50° et c'est parfait ! Après calcul ( théorique ), si j'alimente les drivers sur 5V ( donc analogWrite(255)), ma rampe peut monter jusque 130°. Ce qui - claque les leds - fond le plastique les entourant.

Je ne veux absolument pas ça !

Mon programme fonctionne et tout est nickel après 24h de fonctionnement. Le problème ne viendrait pas de là. Mais si par malheur, la puce crame ( du style après 10 000 heures de fonctionnement), je ne sais absolument pas si les sorties des pins seront sur HIGH ou LOW. Or, c'est super important. En effet, dans le deuxième cas, il n'y a aucun problème tandis que dans le premier cela revient à imposer du 5V ( analogWrite(255) ) et tout faire cramer.

Après avoir regarder la datasheet ( http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet_complete.pdf) mega longue et sans tables des matières, ma question plus précise serait :

Peut-on prévoir un comportement de la puce quand celle-ci crame ?

Atmel a-il prévu quelque chose ? Du genre un blocage automatique de certains courants ? Certaines pin resteraient-elles sur HIGH alors que d'autre seraient sur LOW ?

Je ne trouve absolument pas de réponses à ces questions pourtant importante je pense. ( D'ailleurs, j'ai essayé de rechercher en anglais mais on me parle toujours de "burner" le bootloader )

Merci à tous !

Je ne trouve absolument pas de réponses à ces questions pourtant importante je pense

Tu ne trouves pas de réponse, car il n'y en a pas. Le circuit peut aussi bien cramer avec la sortie à 1 ou à 0. Et même si le circuit ne crame pas tu peux très bien être victime d'un bug de ton logiciel qui peut causer le même problème. En conséquence de quoi, on peut affirmer que ton montage n'est pas sur. Il y a différentes solutions pour règler ce problème:

  • limiter le courant dans tes drivers de courant? Ce qui permettrait de travailler sur toute la gamme du PWM sans risque.
  • Mettre un radiateur sur les LEDs
  1. Ajouter un fusible thermique sur l'alimentation des led (détection thermique évidemment collé aux leds)

fdufnews: En conséquence de quoi, on peut affirmer que ton montage n'est pas sur.

Oui, c'est bien ça qui me faisait peur. Bon, ayant bien flippé, j'ai démarré ma rampe avec les leds ( en fait tout au max en surveillant) et j’atteins 75° dans une pièce à 20° Donc, par chance les calculs théorique ont surestimé le bazar. Des radiateurs sont déjà présent sur les leds :), et le courant est déjà limiter par un driver. Mais il est vrai que j'aurai pu le prendre plus bas ... C'était ma première rampe faite maison, j'ai appris de mes erreurs ( et des erreurs, il y en a eu malheureusement :/ )

Un petit calcul par éléments finis me donne rapidement une température de 102° près de la led ( ce qui est proche de la température de claquage de 125°). Pas top, pas top.

Je vais adjoindre donc un fusible pour ne pas dépasser un certain ampérage et donc réduire la température. Au prix ou les fusibles coûte et les leds ( et ma maison ... ), le calcul est vite fait :).

Je suis triste qu'Atmel n'ait pas pensé un tout petit circuit de sécurité dans sa puce pour vérifier l'état de celle-ci ( et ainsi nous prévenir via une pin ou quelque chose d'autre). Ca ne doit quand même pas être super compliqué ;).

Merci en tout cas à vous :)

Bonjour,

Je ne connais pas mais je suppose que le driver doit être dimensionné pour fonctionner à 100% sans cramer les LEDs et les radiateurs dimensionnés en conséquence.

C'est à toi de calculer comme dans ce montage, il y a une résistance limite à calculer. Il faut aussi penser à la résistance à mettre dans la sortie de l'arduino pour le protéger (220 ohm mini)

Avec un capteur de température, tu peux aussi déclencher un ventilateur, dans le cas ou la température ambiante est anormalement élevée. Un fusible en amont de l'alimentation protègera de l'incendie, mais si il crame, un circuit électronique aura cramé avant.

renaudyes: Je vais adjoindre donc un fusible pour ne pas dépasser un certain ampérage et donc réduire la température. Au prix ou les fusibles coûte et les leds ( et ma maison ... ), le calcul est vite fait :).

Un fusible classique ne sera pas la solution : ton dimmer étant très probablement à PWM, il faut que ton fusible tienne les états hauts. Hors si ton circuit se bloque il sera à l'état haut aussi ...

Je le redis : fusible thermique

Effectivement ... Je me sens bête du coup :(.

Je pense acheter celui là : http://www.conrad.fr/ce/fr/product/418998/Fusible-thermique-ESKA-SW-153T-93-C-10-A-250-V-1-pcs

Du coup, pour le montage, je le soude près d'une led ? Par soudure, j'entend de la colle qui transmet la chaleur (celle avec laquelle j'ai soudé les leds au support).

Je suppose que le fusible doit "détecter" la chaleur pour pouvoir arrêter la rampe :).

Je suis triste qu'Atmel n'ait pas pensé un tout petit circuit de sécurité dans sa puce pour vérifier l'état de celle-ci ( et ainsi nous prévenir via une pin ou quelque chose d'autre). Ca ne doit quand même pas être super compliqué ;).

En matériel gamme industrielle c'est simplement [u]impensable[/u]. Par contre si tu es prét a mettre quelques milliers d'euros pour un seul micro-controleur il est peut-être possible de trouver chez quelques fondeurs des moutons à 5 pattes avec les yeux bleus et les dents en or car c'est cela que tu demandes.

Du coup, pour le montage, je le soude près d'une led ? Par soudure, j'entend de la colle qui transmet la chaleur (celle avec laquelle j'ai soudé les leds au support).

Détailles un peu parce que cela sent le chaud :grin: . Attention un "composant" thermique est un composant à temps de réponse lent. Si tu utilise un fusible thermique Il faudrait qu'il réponde avant que les Leds n' atteignent leur température de fusion.

Je reviens sur une remarque (judicieuse) de fudufnews : pourquoi ne pas agir sur le "driver" ? Ce qu'il est bon d'appeler un "driver" ne doit pas être différent d'une source de courant constant commandable en PWM. Qu'elle en est la référence ? Est-il possible de limiter/régler le courant max ?

La température de claquage de la led est à 125°. 93° me paraissait convenable. Je peux prendre plus bas aussi :).

Voici les références du driver : http://www.meanwell.com/mw_search/LDD-L/LDD-L-spec.pdf

J'agis sur le driver. La question était, si justement, mon logiciel plante ( et que je perds donc le contrôle), et que le driver se mets sur On, il délivre son courant max.

Toute l'astuce est d’arrêter la rampe avec que celle-ci rentre en "fusion".

Il est impossible de régler le courant max. La seule possibilité de régler le courant est par PWM. Celui-ci est délivré au circuit en un courant continu ( et donc, le courant n'est pas en PWM , mais bien le signal qui agit sur lui).

La possibilité d'un fusible normal slow blow reste donc possible, mais le fusible thermique est encore mieux je trouve.

A condition d'avoir un bon transfert thermique. Le mieux est encore de tester, à 20c le fusible ...

Mais comme le dit la charte du forum tu es seul responsable ;)

Oui oui, je me rends bien compte que je suis le seul responsable. Quoique, si je pouvais mettre un procès sur arduino sur ma maison crame, ce serait pas mal haha :p

Tu veux dire quoi par tester à 20c le fusible ?

Bin tu fais le montage et analogWrite(255) ... Et tu vérifies que ça coupe bien avant que tout flambe

J'ai regardé la datasheet. L'entrée de modulation (dimmage) est aussi cataloguée comme une entrée ON/Off.

Rien n'empêche de la forcer à 0V en cas d'échauffement( court-circuit avec relais, transistor, etc). Cela demande juste de développer un circuit de protection [u]qui tourne indépendamment du reste de l'installation[/u]. Ce qu'il ne faut pas perdre de vue pour le circuit de protection c'est que si son alim n'est pas présente il présentera un 0V --> il faut donc que la situation "Alarme" corresponde à un 0 V sinon tu ne protègera pas.

J’avais pensé faire quelque chose dans ce sens, mais c’est plus compliqué que prévu malheureusement.

Je pense me tourner vers les fusibles thermique.

Ok batto, je n’avais pas compris le “à 20c” qui faisait référence au prix du fusible :stuck_out_tongue: