Ce document est purement indicatif et nous n'engageons pas notre responsabilitée. Si vous avez un doute sur les manipulations, veuillez vous adresser à un professionnel. 

Au niveau de l'électronique, les imprimante 3D ont toutes besoin :

- d'une source d'alimentation.

- d'une partie "cerveau", qui va analyser les signaux des capteurs ainsi que les instructions (micro-controleur + quarts).

- d'une partie muscle, qui va amplifier les instructions pour déplacer les moteurs (circuit d'amplificatin + moteurs).

- d'instructions, c'est les G-Code.

- de capteurs. 

Dans cette partie nous allons nous intéresser à la partie "cerveau". Son rôle est de piloter la machine. Il existe plusieurs types de cartes qui fonctionnent toutes de la même façon. Elles sont constituées :

- un micro-controlleur qui est programmée à prendre des decisions en fonctions des informations dont il dispose. 

- un quartz qui va cadencer la vitesse de fonctionnement du micro-controleur (il suffit de lire le chiffre écrit dessus).  

- une partie communication usb, qui nous permet de discuter avec le micro-controleur.

- des entrées et sorties. 

Une des cartes le plus répandue est l'Arduino Mega 2560. Son grand avantage est d'être indépendante de la partie puissance. Cela nous permet de la brancher et débrancher à volonté de la partie puissance. Si on la grille on peut la changer sans toucher à la partie puissance. Il existe d'autre types qui intègrent la partie cerveau et muscle sur la même carte. Ils fonctionnent toujours de la même façon, avec d'autres avantages et d'autres inconvénients (liens). Les cartes de type Arduino Mega peuvent servir à pleins d'autres montages que les imprimantes 3D. Cela veut dire qu'elles sont vierges de toute informations quand vous les acheter. Donc pour qu'elle reflechisse, il va falloir y intégrer "Un firmware" (parfois appelé logiciel interne ou encore microprogramme). Pas de panique, c'est très simple car tout est déjà écrit. Vous avez plusieurs choix :

- Marlin dont il est disponible en téléchargement ici

- Repetier Firmware il est disponible en téléchargement ici

- Il en existe d'autres, mais nous ne voulons pas vous perdre. 

Nous allons parler de Marlin, non parce qu'il soit meilleur ou pire que d'autre, mais car il est open source, on peut le modifier à volonté et c'est l'un des firmware les plus rependu.

(Petite parenthese par rapport à Repetier Firmware, il marche exactement de la meme façon que Marlin, mais tout n'est pas dans le meme ordre).

Il n'a rien a voir avec votre système d'exploitation, donc il n'y a pas de version Windows, Mac, Linux. Il se présente sous forme de plusieurs fichiers, qui vont composer le firmware et qu'il faut dans un premier télécharger sur votre ordinateur.

Ensuite il vous faut un logiciel pour modifier et surtout envoyé les fichiers dans la mémoire de l'Arduino. Vous le trouverez ici : Arduino. Vous aurez le choix entre la version Windows, Mac ou Linux. 

                                                                   configuration marlin reprap france printeur imprimante 3D

Le code source du Firmware s'ouvre donc avec le logiciel Arduino dans le quel vous verrez plusieurs onglets. Chaque onglet correspond à des fonction du Firmware. Tout est modifiable pour y apporter des améliorations ou juste l'adapter à votre machine. Avant de rentrer dans les détails du code il y a plusieurs chose à comprendre.

1- Quand vous télécharger le firmware du site vers votre ordinateur, il est brut, donc il doit être modifier pour correspondre à votre imprimante. 

2- Quand vous télécharger le firmware de l'ordinateur vers l'arduino, il sera compilé et l'opération ne se fait que dans le sens Ordinateur -> Arduino. Donc il vous faut garder le fichier original pour apporter des modifications ultérieures, car on ne peut pas transférer de l'Arduino -> Ordinateur. Pensez à dater le fichier dans le nom de celui-ci. Cela vous évitera de mélanger les firmware par la suite. 

3- Lors du transfert, le Logiciel Arduino va vérifier que le code soit juste. Quand il y a des erreurs, le code ne se téléchargera pas sur la carte.

4- Il faut que le Logiciel Arduino (sur votre ordinateur) soit correctement paramétrer pour communiquer avec la Carte Arduino et transférer les infos vers la Carte Arduino. Pour cela, vous devez aller configurer :

 - Menu/Outil/Type de cart/Arduino Mega or Mega 2560.

 - Menu/Outil/Processeur/ATmega2560 (Mega 2560). C'est inscrit en GROS sur le processeur de l'Arduino Mega.

 - Menu/Outil/Port

5- Il existe des cartes "clones" des cartes Arduino. Elles fonctionnent exactement de la même façon, mais certaines composants peuvent changer. Fréquence de fonctionnement ou la puce de communication usb (ex puce : CH340G). Il vous faudra trouver une extension pour faire communiquer votre Ordinateur avec la Carte Clone. 

6- Par la suite vous pourrez bien sur avoir une interaction entre l'ordinateur et la Carte Arduino via des logiciels comme PronterfaceRepetier Host...

Ok maintenant que tout est dit, nous pouvons passer à la configuration du Firmware Marlin.

Les développeurs Erik Van Der Zalm et ceux qui l'ont améliorer, ont écrit le firmware Marlin. Ils ont placer pratiquement toutes les variables de configuration dans un seul fichier. Cela est plus simple pour les novices. Tout les informations se situent dans l'onglet "Configuration.h". Pour nous permettre de comprendre et choisir les informations, nous trouvons tout au long du code, des choses écrites en gris qui sont précédées par "//".La double barre délimite sur chaque ligne ce qui est du language machine et du commentaire. Les commentaires serviront pour nous aider à faire un choix qui se situe au dessous de la partie grise, ou à activer certaines options en enlevant les "//" au devant de l'instruction. C'est écrit sous forme de paragraphes qui correspondent aux variantes. 

Sélectionner la vitesse de communication :

La vitesse de communication entre la carte mère de l’imprimante 3d et l’ordinateur est définie en baud :

En fonction des versions, on peut trouver différentes façon d'écrire. 

1er style :

//#define BAUDRATE 250000

//#define BAUDRATE 115200

Dans ce cas, il faudra enlever un des deux "//" avant l'# pour définir celui que l'on veut utiliser. 

2eme style :

// This determines the communication speed of the printer
// :[2400,9600,19200,38400,57600,115200,250000]
#define BAUDRATE T

Dans ce cas, nous indiquons directement la vitesse en remplaçant "T" par la vitesse voulue.

#define BAUDRATE 115200

La vitesse doit être la même la carte Arduino et le logiciel utiliser sur votre ordinateur pour piloter la machine (PronterfaceRepetier Host...). Les deux vitesses sont plus couramment utilisées: 250000 et 115200 bauds. Si l’une ne fonctionne pas, essayez avec l’autre.

Sélectionner la carte mère :

Au dessus de la ligne #define MOTHERBOARD se trouve une liste des différentes cartes mères disponibles (si elle n'y est pas, vous pouvez trouver l'ensemble dans l'onglet "pin.h"). Trouver votre carte et sa configuration s’il y a lieu pour utiliser le bon numéro. Par exemple la carte RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed) sera configurée avec le numéro 33.

#define MOTHERBOARD 33

Nous pouvons aussi trouver une variante : 

#define MOTHERBOARD BOARD_RAMPS_13_EEB

*Utilisez celui-ci même si vous n’utilise pas de ventilateur (fan) ou de plaque chauffante (bed)

Pour la suite :

Définissez le nombre d'extrudeurs que vous utilisez.

Définissez l'alimentation. 

Définissez le type de thermistance que vous employez :

#define TEMP_SENSOR_0 1 
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 1

Exemple : vous utilisez un extrudeur (avec une thermistance 100k) + un lit chauffant (avec un thermistance 100k), vous relevez les informations et les reportez comme si dessus. On met 0 et 0 pour le sensor_1 et le sensor_2.

Et cela continue sur le meme principe, jusque au paramétrage des moteurs. 

Configuration des moteurs :

Il faut trouver les infos qui suivent // default settings :


#define DEFAULT_AXIS_STEPS_PER_UNIT {80,80,200.0*8/3,760*1} 

Cette ligne est essentielle, car elle définit le nombre d'impulsion nécessaire pour déplacer les moteurs. Le premier nombre (80), correspond au X, le deuxième nombre (80) correspond au Y, le troisième (200.0*8/3 correspond à 53,333 et oui le firmware sait faire des mathématiques), le quatrième (760*1)correspond à l'extrudeur. 

- les nombres doivent être séparé par des virgules et non par des points.

- le logiciel sait faire des opérations mathématiques.

Les nombres sont les ratio entre le nombre de pas moteur x le nombre de pas fournit par les stepper pololu x le nombre de dents des poulies et leurs dimensions. Il existe des calculateurs qui vous aident à determiner les valeurs : Calculateur Reprap.

Configuration des vitesses :

Les lignes suivant la configuration des moteurs définissent les vitesses d'acceleration ou de déplacement des axes. Tout depend de votre machine, de la robustesse de celle ci, les courroies... Si vous avez des pas qui sautent, c'est qu'il faut descendre les vitesses.