NDLA : Il doit surement rester tout plein de typo ;)

Très régulièrement, je vois des gens qui demandent quel est l’intéret de flasher le firmware de leur imprimante 3D, bien que cela n’apporte pas de nouvelles fonctionalités visibles.

Ce genre de questions revient vraiement souvent.

Ici, je vais surtout parler du modèle que je possède, une Creality Ender 3, connue pour avoir quelques lacunes sur le sujet, comme l’Anet A8 (qui, à mon sens, en a plus) et bien d’autres modèles.

Nous utilisons des imprimantes franchement low-cost. Je vais pas rentrer dans les considérations “hey, c’est une chinoiserie”, mais plutôt m’attacher à ce qui fait la sécurité de ce genre d’équipement.

Les imprimantes 3D manipulent une quantité de courant non négligeable. Bien que ce soit de la basse tension (24V sur l’Ender 3), ça peut faire quelques degats. Rajoutons à cela le fait que la plupart des plastiques que nous utilisons sont plus ou moins inflammables, spécialement quand ils sont chauffés.

Ma carrière de participant à la Coupe de France de Robotique durant mes années étudiantes m’a permis d’expérimenter pas mal de conneries, notament, avec des batteries 12V, des moteurs et des MOSFETs qui deviennent mous, aboutissant à des resultats assez … fumeux, voire franchement fumigènes.

Il y a pas mal de sources possibles de surchauffe, nous allons surtout regarder celle qui est couverte par une feature dans le version moderne de Marlin, absente des firmwares stock de Creality.

Dans ce cas, la sonde de température va renvoyer une température érronée. Cela peut etre dû à un défaut de la sonde elle-même, un fil cassé (notament si le serrage dans le corps chauffant est trop fort ou trop manipulé), à un mauvais serrage qui a abouti à la sortie du capteur de son logement.

La carte mère va recevoir une information disant que la température est trop basse, et va donc compenser en envoyant plus de jus dans le circuit alimentant la cartouche de chauffe. Le but etant de revenir à la température prévue. Le capteur étant défecteux, l’asservissement en température continura à alimenter le circuit jusqu’à la défaillance d’un composant.

Cela peut être n’importe quel composant entre la prise murale ou est branchée l’alim et la cartouche i: un cable, l’alim elle meme, un mosfet, un connecteur, la cartouche, le corps de chauffe …

Voici 3 exemples de la vraie vie :

Un hotend en aluminium qui fond (littéralement)
Une Anet A8 dont le Mosfet n’a pas tenu le choc

Yeah

Un connecteur d’alimentation sur le point de partir en fumée

Je parle de ce cas dans un autre article

Yeah2

On fait quoi alors ?

On applique quelques règles simples :

  • On ne branche pas n’importe quoi, n’importe comment.
  • Si on touche aux connectiques internes, on fait attention en le revissant (pensez à étamer les fils, notamment)
  • On surveille toujours une impression 3D.
  • On met à jour son firmware si necessaire (voir ci dessous)
  • On hésite pas à mettre un detecteur de fumée
  • Une prise controllée à distance n’est pas suffisante. Si ca crame, il y a de forte chance que ça ne fonctionne plus et de toute facon, meme si ca coupe, ca n’eteindra pas le depart de feu.

ATTENTION Les contremesures des firmwares ne couvrent que la cause du capteur de température défaillant. Cela ne peut en aucun cas agir sur une defaillance dont la cause est en amont.

Je n’ai pas décortiqué le fonctionnement de Klipper, mais cela semble être un sujet assez compliqué chez eux. En revanche, cela a l’air d’être pris en charge correctement chez Smoothieware.

Bref. Revenons à Marlin.

Pour ceux qui utilisent Marlin, il embarque une feature particulière pour ce cas, développée après les premiers incidents, activable dans le Configuration.h, et configurable dans le Configuration_adv.h

//===========================================================================
//======================== Thermal Runaway Protection =======================
//===========================================================================

/**
 * Thermal Protection provides additional protection to your printer from damage
 * and fire. Marlin always includes safe min and max temperature ranges which
 * protect against a broken or disconnected thermistor wire.
 *
 * The issue: If a thermistor falls out, it will report the much lower
 * temperature of the air in the room, and the the firmware will keep
 * the heater on.
 *
 * If you get "Thermal Runaway" or "Heating failed" errors the
 * details can be tuned in Configuration_adv.h
 */

#define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders
#define THERMAL_PROTECTION_BED     // Enable thermal protection for the heated bed

Cette fonctionnalité n’existe pas dans le firmware stock car elle est apparue dans Marlin après que Creality ait forké le projet.

EDIT 20190422

Creality founit un nouveau firmware depuis peu, basé sur le 1.1.6 de marlin. A priori, il n’y a toujours pas les protections THERMAL_RUNAWAY comme le montre ces tests sur le site d’Octoprint. Cependant, il n’est pas possible de verifier directement, les sources n’etant pas présente dans leur dépôt Github Creality E3.

EDIT 20190427 Creality fournit, assez étrangement depuis le 08/12/2018, le code source sur leur site chinois, alors que depuis leur site worldwide, c’est encore la version 1.0.0 qui est présentée. Dans cette version, le code semble etre basé sur Marlin 1.1.6 et comprend bien les #define pour le thermal runaway. En revanche, cela n’explique pas pourquoi les tests fait en février par la communauté d’Octoprint n’ont pas déclenché ces sécurités.

Si vous utilisez Octoprint, il essayera de determiner si votre imprimante manque de certaines fonctions de sécurité via le plugin Safety Check et vous affichera ce superbe message tant que cela ne sera pas corrigé

osc

Moralité :

Ne deconnez pas avec la sécurité, spécialement si vous n’avez pas de compétence minimale en electronique, électricité, etc …

N’ecoutez pas aveuglèment les gens sur facebook ou autres forums (genre, j’ai vu passer une thread où on explique dans la joie que mettre en 110V sur le reseau européen qui est 230V, ca permet de faire des économies d’énergie … )

Je vous mets quelques liens qui traitent du sujet :