Firmware

J'ai finalement réussi à compiler Teacup et à l'installer sur mon contrôleur. Teacup est un firmware, c'est à dire le programme installé sur la carte électronique. Ce firmware va recevoir les commandes de l'ordinateur, ce que l'on appel communément le gcode (le language le plus courant dans le monde de la commande numérique) et va l'interpréter et piloter l'électronique - par exemple le code "M105 S100" signifie la température de la tête doit être à 100C°, le contrôleur va lire la sonde de température et allumer ou éteindre le corps de chauffe suivant qu'il soit trop chaud ou au contraire trop froid.

Le firmware est une partie importante de l'impression. En envoyant une pièce à imprimer, on s'attend à ce qu'elle ait par exemple 50mm de long. L'ordinateur va donner l'ordre de faire une pièce de 50mm mais c'est le firmware qui va "savoir" comment avancer de 50mm.

Dans le processus qui va mener à la réalisation d'une pièce, il y a 3 grandes étapes; Le dessin d'un modèle numérique (une description formelle de la pièce), la transformation en G-code et l'impression. La transformation en G-code, c'est le calcule du chemin de passage de la tête d'impression - pour imprimer un carré de 20mm il ne faut pas avancer de 20mm, le fil ayant une épaisseur qu'il faut retrancher, mais par exemple de 19mm si le fil à une largeur de 1mm. C'est pendant le calcule du G-code que cette adaptation est faite. Ce calcule est fait suivant des algorithmes utilisant des paramètres personnalisés (épaisseur des couches, largeur du fil extrudé, vitesse, densité du remplissage, températures,...). Si une pièce mesure 10mm de haut et que chaque couche mesure 0.5mm, il faudra envoyer 20 sections successive de G-code. Un fois ce G-code (cette liste de commandes) généré, il peut être envoyé à l'imprimante. Faut-il encore que l'imprimante l'interprète correctement. C'est le rôle de ce fameux firmware.

Ce programme (firmware) est écrit dans un langage de programmation commun à plusieurs cartes électroniques (contrôleur) et "ce programme" n'est pas unique. Il y a toute une série de projet de firmware pour contrôler numériquement des machines outils (CNC, Reprap, Lasercut, cutter numériques,...). J'en ai essayé deux (les plus courant sur RepRap); Sprinter et Teacup.

Sprinter

C'est le premier que j'ai fait fonctionner. Il est facile à configurer ( Configuration.h) J'ai eu des problème avec les accélérations puisque le débit du plastique n'accélère pas de la même manière que l'avance  et j'avais des interruptions de flux que je n'ai pas réussi à maîtriser.

Teacup

J'ai eu beaucoup plus de peine mais avec plusieurs patch, ça a fini par aller (config.h). J'ai eu pas mal de problème avec les endstop. Le problème c'est que quand on calibre les axes (home - G161), l'axe arrive en fin de course et repart  en avant jusqu'à  se décoller du switch. Quand le switch est mal connecté, avec un ordre "home" le chariot part en avant plutôt qu'en arrière. Il croit en fait qu'il touche le switch et avance pour s'en éloigner...j'ai mis en moment pour comprendre!

Il y avait aussi un problème avec la température qui bloquait sur 866.25C°. Un bug apparemment. Les pins des thermocouples sont décalées (!?) il faut ajouter 8 pour que ça fonctionne...[DEFINE_TEMP_SENSOR( extruder, TT_THERMISTOR, AIO13_PIN + 8, THERMISTOR_EXTRUDER)] Facile!!!

Conclusion : Teacup a un contrôle plus souple des axes, de meilleures accélérations et sur beaucoup d'autres points,me donne un bien meilleur sentiment que Sprinter...à voire


Written by sinux in mechanics on Sun 25 September 2011. Tags: 3d printer, microcontroller,