Partie 4 : L’extrusion

I – Principe:

L’objectif est d’extruder un filament de petit diamètre 0.1 à 0.5mm chaud qui se déposera sur la pièce. Pour cela le moteur pas a pas entraîne un couple d’engrenage ( small Gear and large Gear). La roue ( large Gear ) entraîne une vis moletée qui pousse le filament vers le bas. Un roulement à billes assure l’effort de contact entre le filament et la roue moletée.
Le filament au diamètre de 1.75 ou 3mm est poussé dans la hot End qui a pour fonction de ramollir le filament ( température de 200 à 240°) ce qui permet au filament de passer par le petit perçage calibré (0. à 0.5mm), c’est la fonction d’extrusion.

extrusion
La vitesse de rotation du moteur pas à pas règle le débit de filament déposé.

D’autre fonctionnement très semblable se passe du couple d’engrenage, le moteur entraîne directement la molette, on appelle ce type de montage un extrudeur direct.

II – Fonctionnement:

Pour les explications nous allons décrire les procédures de réglages pour un extrudeur le plus usité, le Wade.

montage-wadeMettre en chauffe la buse à une température de 205°, attendre que la buse arrive a cette température puis glisser le filament par le haut du Wade et faire tourner à la main la grande roue, jusqu’à voir apparaître du filament en sortie de la buse. Assurez vous que le filament passe bien par le chemin prévu ! Attention une sécurité dans le firmware interdit toute rotation du moteur si la température de la buse ne dépasse pas une certaine valeur 175° par défaut. Si le filament sort sans effort excessif vous avez gagné…. le droit d’aller plus loin dans la suite de l’article !

III – Calibration:

Nous allons maintenant calibrer l’extrudeur. Cela revient à renseigner dans le fichier configuration.h du firmware le dernier paramètre de la ligne suivante:

 #define DEFAULT_AXIS_STEPS_PER_UNIT {80.0,80.0,4000.0,760}

La valeur de 760 représente le nombre d’impulsion qu’il faut envoyer au moteur pas à pas pour que cela engendre une rentrée de 1mm de filament dans l’extrudeur.
Pour régler cette valeur, le mieux est d’engendrer, à l’aide de Repetier Host et des commandes manuelles ( voir figure ci contre), une rentrée de 100mm de filament et de mesurer le résultat.

Repetier extrusion

Il est préférable de ne pas utiliser la commande extrusion rapide ( le double chevron sur la figure), car vous risquez d’avoir du glissement. Une simple règle de trois permet alors de modifier le paramètre. Faire cette opération plusieurs fois pour affiner le réglage.
Exemple vous commandez 100 mm de rentrée de filament dans l’extrudeur, vous avez pris soin de faire une marque sur le filament avec un stylo-feutre, puis à l’aide d’un pied à coulisse vous mesurez précisément combien est rentré dans l’extrudeur. Exemple vous mesurez 90mm, la valeur à rentrer dans le firmware pour cette étape est 760*100/90. Et voila votre imprimante est maintenant presque opérationnelle.

Publié dans Apprendre, EXTRUDEUR, Uncategorized, Workshop | Commentaires fermés sur Partie 4 : L’extrusion

Partie 3 : Le chauffage

I – Utilisation de Host Repetier :

Jusqu’à présent nous avons utilisé le Serial Consol pour dialoguer avec la carte. Pour faciliter ce dialogue nous allons maintenant utiliser Repetier Host qui est un logiciel graphique qui permet le dialogue avec la carte de commande. Après le Serial Console de l’IDE Arduino, je sens que vous allez aimer ! Pour faire les premiers essais vous avez juste besoin de choisir le port de connections COM7 par exemple et la vitesse de transmission 115200 bauds ( flèche 1 ci dessous) et cliquez sur connecter ( flèche 2).

Repetier

II – chauffage de la buse ( Nozzle) :

La buse est chauffée par une cartouche thermique en céramique ou souvent par une résistance céramique de 6.8Ω alimentée sous 12V par une transistor MOSFET de la carte de commande. Un pilotage PWM permet de moduler la puissance de chauffe, en modifiant la tension moyenne d’alimentation de la cartouche thermique ( variation du rapport cyclique du signal) . La thermistance qui fait office de capteur de température, montée sur la buse voit sa résistance modifiée quand la température varie. Cette valeur de résistance est convertie en température par le firmware ( fichier thermistortables.h). Pour une thermistance 100K de la marque Epcos, la valeur de résistance est de 100KΩ à 20° et 105Ω à 220°.

Lors du premier essai de chauffe il est très important de vérifier que vous n’avez pas interverti les 2 capteurs de température Lit chauffant et buse chauffant.

Repetier Chauffage

Lancer la chauffe de la buse en suivant les 2 opérations précisées sur la copie d’écran ci contre. Vérifiez de suite sur la zone grisée que c’est bien la buse qui chauffe. Laissez chauffer la buse pour vérifier le bon fonctionnement de la régulation de température. Ici la valeur de consigne est de 200°, donc la buse va monter à 200° et se stabiliser. Si vous voyez la température qui continue de monter, arrêtez de suite la chauffe de la buse chauffante en cliquant sur l’icone pointez par la flèche 2, et vérifiez vos cablages.

III – chauffage du lit chauffant ( BED) :

Répétez les mêmes opérations, c’est l’icone pointée par la flèche 3 qui permet de mettre en chauffe le lit chauffant.

IV – Réglage du PID :

Pour améliorer la régulation de température, un correcteur PID est programmé dans le firmware. Je ne vais pas faire un cours la dessus, mais sachez que ce correcteur permet d’améliorer grandement la précision, la vitesse, et la stabilité de la régulation. Un script dans le firmware permet de régler ce PID ( 3 variables ). Ce script est lancé via la commande :

M303 E0 S200 C8

Tapez cette ligne dans le champ texte pointez par 4, Une série de montée en température (ici 8: 3eme paramètre, jusqu’a 200°: 2eme paramètre) va permettre de calculer les 3 variables du PID optimales. Ces 3 valeurs seront retournées dans la zone d’échange située dans la partie basse de l’écran. Il suffira de réinjecter ces 3 valeurs dans le fichiers configuration.h
N’hésitez pas a refaire ce réglage si vous constatez par la suite une dérive des performances de la régulation.

Exemple de retour :
Kp: 19.56
Ki: 0.71
Kd: 134.26

Modifiez les variables suivantes dans le fichier configuration.h

 #define DEFAULT_Kp 19.56
 #define DEFAULT_Ki 0.71
 #define DEFAULT_Kd 134.26
Publié dans Apprendre, EXTRUDEUR, L'électronique, Uncategorized, Workshop | Commentaires fermés sur Partie 3 : Le chauffage

Partie 2 : Premier mouvements de l’imprimante

Cette article reprend les étapes nécessaires après le montage de l’imprimante pour pouvoir calibrer les axes X,Y et Z de l’imprimante

I – Mettre sous tension :
Branchez la Prise 220V de votre alimentation (à la norme CE !) sur le secteur, pas de fumée, vous pouvez continuer. Mettre l’interrupteur sur la position ON, la carte est maintenant alimentée. Pas de fumée, vous pouvez continuer ! Si vous constatez des vibrations importantes sur un moteur, à l’aide du tournevis céramique diminuez le courant qui parcourt ce moteur en tournant le petit potentiomètre du driver, celui que nous venons de régler, dans le sens inverse des aiguilles d’une montre, pour baisser le courant, jusqu’à ce que les vibrations cessent.

II – Premier mouvement X,Y et Z :
Nous allons utiliser encore ici le Serial Monitor de l’IDE arduino. Cela permet de mémoriser les principaux Gcode utilisés par l’imprimante. Vous retrouverez sur le site Reprap l’ensemble de ces gcodes avec leur description http://reprap.org/wiki/G-code
Assurez vous que les 3 axes X,Y et Z soient situés au milieu de leur débattement, pour éviter d’arrivée en butée lors des mouvements à venir. Nous allons vérifier le bon sens de déplacement des 3 axes.
Tapez la commande suivante dans le Serial Monitor :

 G1 X50.0 F200

l’axe X doit se déplacer de 50mm dans le sens positif avec une vitesse de 200mm/min, donc en s’éloignant de son capteur fin de course Xmin.
Si l’axe X s’éloigne du capteur fin de course, vous avez gagné ! Sinon notez qu’il faudra inverser le mouvement dans le firmware pour X
Faites de même pour Y et Z

 G1 Y50.0 F200
 G1 Z20.0 F60 // on a baissé la vitesse pour l'axe Z

Vous avez un ou plusieurs axes inversés, nous allons donc voir dans le firmware comment régler ce problème. Notez que vous pourriez aussi inversez les fils sur une bobine d’alimentation du moteur, mais après avoir soigné les câblages qui aurait envie de tout défaire !
Voilà les 3 variables dans le firmware à régler , fichier configuration.h :

 #define INVERT_X_DIR true
 #define INVERT_Y_DIR true
 #define INVERT_Z_DIR true

Changer l’état boolen de la variable incriminée false or true.
Sauvegardez, compilez et téléchargez. Re-testez les mouvements. Il est temps maintenant de tester les capteurs fins de course en lançant des commandes de « homing » :

 G28 X //Le chariot X se déplace jusqu'au fin de course et défini cette position X=0
 G28 Y
 G28 Z // Faites attention à ce que la buse ne touche pas le plateau pendant ce mouvement.

Coupez l’alimentation pour arrêter le mouvement si besoin et réglez le capteur.
III – Calibration des axes X,Y et Z
Cette étape indispensable permet de s’assurer qu’un commande de déplacement de 100mm entraîne bien un déplacement de 100mm de la buse. Pour cela il faut régler la ligne suivante du fichier configuration.h du firmware :

 #define DEFAULT_AXIS_STEPS_PER_UNIT {80.0,80.0,4000,760}

Chaque paramètre correspond au nombre d’impulsion qu’il faut envoyer au driver pour que l’axe se déplace de 1mm. Le premier paramètre 80.0 c’est le nb d’impulsion à envoyer au driver X pour que l’axe X se déplace de 1mm. Le deuxième pour l’axe Y , le troisième Z et le quatrième l’extrudeur que nous réglerons dans un prochain article.

Un peu de math ! Les moteurs utilisés sont généralement des moteurs 200 pas par tour ( 1.8° d’angle) que nous faisons fonctionner en 1/16 pas. Donc pour faire effectuer un tour complet au moteur il faut envoyer 200*16=3200 impulsions au driver. Si vous utilisez une poulie GT2 de 20 dents (pas 2mm) pour l’axe X et Y , 1 tour complet de la poulie entraîne une translation de la courroie donc de l’axe de 20dents*2mm= 40mm. Donc pour faire une translation de 1mm il faut envoyer 3200/40 = 80 impulsions, c’est le paramètre à spécifier dans le firmware. Pour l’axe Z, une rotation d’un tour du moteur entraîne une translation correspondant au pas de la tige filetée ici M5, 0.8mm. Donc pour faire 1mm il faut 3200/0.8 =4000 impulsions

 #define DEFAULT_AXIS_STEPS_PER_UNIT {80.0,80.0,4000.0,760}

Vérifiez avec un pied à coulisse la calibration, en générant un déplacement de 100mm sur chaque axe et en mesurant précisément ce déplacement.

 G1 X100 F200

IV – Réglage fin du courant dans les moteurs :
C’est une étape importante, car elle conditionne beaucoup le bon fonctionnement de l’imprimante. Beaucoup de problèmes rencontrés viennent souvent de ce réglage.reglage-pololu
Le potentiomètre situé sur le driver permet de régler le courant circulant dans le moteur.
Si ce courant est trop élevé, le moteur chauffe , ses performances chutent, mais le driver se met aussi à chauffer et au dessus d’une certaine température le driver se met en sécurité, l’axe ne bouge plus pendant cette période de mise en sécurité qui peut durer qqs millisecondes, temps nécessaire au refroidissement du driver. C’est pourquoi il est conseillé de mettre un radiateur sur la puce du driver, et d’utiliser un ventilateur pour forcer le refroidissement.
Si ce courant est trop faible, le moteur exerce un couple faible, qui peut entraîner un saut de pas. Malgré l’impulsion le moteur n’arrive pas à tourner. On peut rencontrer ce genre de problème si on utilise une forte accélération qui nécessite un couple important, ou si les frottement des guidages sont trop importants. ( Ne pas hésiter à lubrifier les guidages à l’huile de Vaseline)
On voit que dans les 2 cas le moteur a sauté des pas, on perd donc la position absolu de l’axe, ce qui entraîne des décalages d’impression sur les pièces.
Pour régler de manière précise ce courant il suffit de régler la tension Vref , tension entre la partie mobile du potentiomètre et la masse. Pour calculer cette tension se référer à la page Reprap
Pour roder les axes X et Y vous pouvez copiez n fois ce petit bout de programme

 F1000
 G1 X20 Y20
 G1 X170 Y170

Et vérifiez qu’il n’y a pas de perte de pas. N’hésitez pas à augmenter la vitesse avec la commande F

Publié dans Apprendre, Uncategorized, Workshop | Commentaires fermés sur Partie 2 : Premier mouvements de l’imprimante

Partie 1 : Les premiers pas

Vous avez fini le montage de votre imprimante, vous êtes impatient maintenant d’imprimer, mais il reste encore quelques étapes avant de voir la pièce  se former sous la buse. Cette suite d’articles vous aide dans ces différentes étapes :

I – Préparez votre informatique (PC windows, linux, Mac) :
Installez les logiciels suivant :
– IDE Arduino version 1.0.6 – téléchargez
– Repetier Host dernière version – téléchargez
Se referez à la documentation de la carte pour installer le driver de la carte de commande, lors de l’installation du driver, notez bien la valeur du port COM utilisée.

Par exemple pour la carte Ramps utilisant un arduino Mega dans un environnement Windows : connectez la carte à l’aide du câble USB à votre ordinateur, le système Windows va rechercher le meilleur driver, « normalement » il ne va pas le trouver, il vous faudra indiquer le chemin. Pour cette carte, le driver est disponible dans le répertoire driver de l’installation du logiclel IDE Arduino que vous avez installé précédemment.

II – Préparation du Firmware
Pour cette étape ne pas alimenter la carte de commande, La partie logique de la carte sera uniquement alimenté par le port USB
Téléchargez la dernière version du firmware Marlin ( d’autres firmware sont disponibles, Repetier, Sprinter, Teacup, Smoothie, les manipulations sont très proches)  Téléchargez  utilisez le bouton Download Zip.
Ouvrez le logiciel IDE Arduino et sélectionnez à l’aide du menu File le fichier marlin.ino du répertoire où se trouve le firmware précédemment téléchargé.
Sélectionnez à l’aide des onglets le fichier configuration.h. Quelques variables sont à modifier ou à retenir dans ce fichier avant de télécharger le firmware sur la carte.

#define BAUDRATE 115200

c’est la vitesse du port série qu’il faudra spécifier par la suite. A retenir. Le mieux pour le moment est de choisir 115200.

#define MOTHERBOARD BOARD_ULTIMAKER

Précisez à l’aide de cette ligne la carte de commande que vous utilisez. Pour avoir la désignation exacte de la carte, ouvrez le fichier board.h qui contient la définition de toutes les cartes prises en charge par ce firmware. Par exemple pour une carte Ramps pilotant un extrudeur et un bed modifiez la ligne de la manière suivante :

 #define MOTHERBOARD BOARD_RAMPS_13_EFB

Il faut maintenant renseigner le type de thermistance que vous utilisez. Chaque thermistance à des caractéristiques différentes, cette  étape est essentielle si vous voulez avoir une température de buse et du lit chauffant cohérente.

 

#define TEMP_SENSOR_0 1 si vous utilisez une thermistance 100K de marque EPCOS pour l'extrudeur 
#define TEMP_SENSOR_1 0 si vous n'utilisez pas un biextrudeur
#define TEMP_SENSOR_2 0 not used
#define TEMP_SENSOR_BED 11 si vous utilisez une thermistance 100K 3950 pour le lit chauffant

Dé-commentez la ligne suivante (enlevez les // en début de ligne), si vous n’utilisez pas les capteurs fins de course MAX

#define DISABLE_MAX_ENDSTOPS

Reglez la variable suivante avec ces 4 valeurs, nous expliquerons plus loin la signification et affinerons ce réglage.

 #define DEFAULT_AXIS_STEPS_PER_UNIT {80.0,80.0,4000.0,760}

Précisez maintenant à l ‘IDE Arduino le type de carte que vous utilisez en ouvrant le menu ->Tools-> Board . Pour la carte Ramps, par exemple, sélectionnez : Arduino Mega 2560. Se référer à la documentation de la carte si le nom de celle ci n’apparaît pas dans la liste. Choisir ensuite à l’aide du menu Tools→Serial Ports le numéro du port COM qui est défini pour la liaison avec la carte via USB ( la carte doit être connectée sur le port USB pour que ce port apparaisse. COMxx ).
Compilez et téléchargez le firmware dans la carte en utilisant le menu ->File->Upload

III – Premier dialogue avec la carte :
Une fois toutes les opérations précédentes effectuées avec succès ! Basculez sur le Serial Monitor de l’EDI Arduino -→Tools-→Serial Monitor
Réglez la vitesse du port en bas a droite ( 115200 bauds). Et sélectionnez carriage return sur l’onglet a gauche. Normalement la carte doit parlez un peu ! Nous allons lui envoyer quelques gcodes à l’aide du champ texte situé en haut du Serial Monitor et du bouton Send (n’envoyez que M115 le reste de la ligne est juste une description de la commande) :

 M115 Get Firmware Version and Capabilities
 M119 Get Endstop Status

Si le firmware renvoi sur la Serial Consol:

 Reporting endstop status
 x_min: open
 y_min: open
 z_min: open

Et qu’aucun fin de course est activé, le réglage booléen des fins de course est opérationnel. Si vous obtenez l’inverse, Triggered au lieu de Open il faut inverser les variables suivantes dans le fichier configuration.h du firmware :

 const bool X_MIN_ENDSTOP_INVERTING = true;
 const bool Y_MIN_ENDSTOP_INVERTING = true;
 const bool Z_MIN_ENDSTOP_INVERTING = true;

false à la place de true, ou l’inverse

Recompilez et téléchargez le firmware. Vérifiez de nouveau le statut des fins de course avec la commande M119.
Vérifiez alors leur fonctionnement. Maintenez un fin de course activé et relancez la commande M119. Vous devez avoir si c’est le fin de course en X d’activé :

 x_min: TRIGGERED
 y_min: open
 z_min: open

Testez chaque fin de course.

Vérifiez le fonctionnement des capteurs de températures, envoyez la commande Gcode :

 M104 Get Extruder Temperature
 ok T:23.8 /0.0 B:23.0 /0.0 T0:23.8 /0.0 @:0 B@:0

T correspond à la température renvoyée par le capteur de l’extrudeur, B c’est le lit chauffant (Bed). Ici l’extrudeur est à température ambiante 23°8, même chose pour le Bed à 23°
Cette première étape effectuée nous allons pouvoir tester la carte alimentée sous 12V.

reglage-pololuMais avant cela positionnez chaque potentiomètre situé sur les drivers de commande des moteurs pas à pas à 1/4 de leur position Max.

Tournez délicatement avec un tournevis isolé électriquement ( en céramique) chaque potentiomètre à fond dans le sens inverse des aiguilles d’une montre, ne pas forcez sur la butée et ensuite tournez d’un quart de tour dans le sens horaire.

 

Publié dans Apprendre, L'électronique, Uncategorized, Workshop | Commentaires fermés sur Partie 1 : Les premiers pas

Réglage des axes sur RepRap Prism

Bonsoir à tous les lecteurs,

Paoparts m’a proposé une petite place sur son blog afin que je vous présente cette méthodologie pour calibrer les orientations respectives des axes X, Y, Z sur la Prism. J’ai fait la manip sur une Prism Paoparts.

D’abord, le matériel utilisé : 

  • un comparateur à cadran, le mien a un diamètre de tube de 8 mm, et un diamètre de boitier d’environ 52 mm (voir photos plus bas).
  • une grosse équerre métallique (équerre de mécanicien, dite aussi « équerre à chapeau ») que l’on pourra poser soit à plat, soit debout.
  • un support de comparateur créé spécifiquement pour la Prism.
  • mais aussi quelques cales d’épaisseurs pour faciliter le réglage,
  • et des pinces pour maintenir l’équerre sur la table pendant certaines opérations.

 

Ci-dessus à droite, un jeu de cales d’épaisseurs, et à gauche les lames que j’ai utilisées en ce post (j’avais perdu mon jeu de cales :-( ). Elles ont été récupérées d’un vieux transformateur électrique, et ont chacune une épaisseur de 0,4mm. Bien entendu d’autres matériaux conviendront aussi pour ces cales dont nous verrons l’utilisation plus loin.

Pinces pour maintenir l'équerre
Pinces pour maintenir l’équerre
 Équerre à chapeau
Allure de l’équerre à chapeau (cliquer pour agrandir) (source img http://www.quincaillerie.pro)

Vous pouvez télécharger le STL du support de comparateur ici :support_comparateur_prism_3pos

Pour mettre en place le support de comparateur, vous devez ôter le support de l’extrudeur  (ce qui est très facile grâce au système de montage rapide de l’extrudeur sur la Prism PaoParts). Le support de comparateur se place alors en dessous du chariot d’axe X, clippé entre les quatre douilles à billes de la glissière X.

Les photos suivantes montrent le support et le comparateur monté dans les 3 orientations X, Y, et Z.

Support et comparateur placé dans la direction X
Support et comparateur placé dans la direction X
Support et comparateur placé dans la direction Y
Support et comparateur placé dans la direction Y
Support clippé dans le chariot, et comparateur placé dans la direction Z
Support clippé dans le chariot, et comparateur placé dans la direction Z

Remarquez sur la première photo, j’ai surligné en rouge la forme particulière du support sur 2 des pattes. Cette forme constitue une butée qui s’appuie sur l’extrémité de 2 des douilles à billes. Veillez donc à bien placer cette forme contre les douilles de ce côté, les 2 autres pattes se coincent simplement entre les 2 autres douilles sans positionnement axial.

Passons maintenant à la manipulation…

Je suppose que vous avez monté « correctement » votre imprimante, que les profilés alu sont à peu près perpendiculaires ou parallèles les uns aux autres, et que l’imprimante est bien posée sur une table plane (je vous dis cela car mon bureau est un peu affaissé en son milieu et j’ai dû caler d’environ 5mm une des pattes pour que la structure de la RepRap ne soit pas déformée !).

Vous pouvez alors en premier lieu vérifier au comparateur le « niveau » de votre table de RepRap, en fait, vérifier qu’elle est pour l’instant parallèle au plan X,Y de la machine. Pour ceci, montez le comparateur vertical, faites déplacer le chariot sur l’ensemble du plateau, et réglez la hauteur des fixations du plateau (soit par les vis, soit par les molettes si vous en avez, voir photo) jusqu’à ce que l’indication du comparateur ne change « presque plus » d’un bout à l’autre de la table. On découvre parfois à cette occasion que notre plateau alu est légèrement bombé… on cherche alors le réglage qui minimise ou répartit les défauts :-( et on se dit qu’on passera bientôt à un plateau en verre bien épais et bien plan 😉

réglage_niveau_plateau
Mise à niveau du plateau

L’étape suivante sera de placer une branche de l’équerre parallèle à la glissière Y.

Je place le comparateur en position //X dans le support. Je pose l’équerre à plat sur la table, en la calant puisqu’elle n’est pas d’épaisseur constante (ceci permet aussi qu’elle soit à une distance suffisante de la table pour permettre au comparateur de bien glisser le long de l’équerre sans toucher la table), et je la maintiens avec les pinces.

Le comparateur est amené au contact de la tranche de l’équerre (par déplacement du chariot selon X), on déplace la table dans la direction Y et on corrige la position de l’équerre pour que l’indication du comparateur soit stable dans ce mouvement.

Orientation initiale de l'équerre
Orientation initiale de l’équerre selon Y

 Nous allons ensuite mesurer le défaut de perpendicularité de la glissière d’axeX par rapport à Y (ou Y par rapport à X). Pour cela, en prenant garde de ne plus bouger l’équerre, nous orientons le comparateur dans la direction Y, et nous l’amenons en contact avec la deuxième branche de l’équerre. Un déplacement du chariot selon X d’une distance suffisante (par exemple 100 mm si l’équerre est assez longue) permet de mesurer le défaut d’orientation de cet axe. J’obtiens par exemple 0,45 mm sur un déplacement de 100 mm.

Mesure et correction perpendicularité X/Y
Mesure et correction de la perpendicularité X/Y

Correction de l’orientation de l’axe Y :

La correction qu’il va falloir effectuer correspond alors à ce que nous venons de mesurer, 0,45 mm pour 100 mm. Nous allons modifier l’orientation de l’axe Y, qui supporte le plateau. Donc l’équerre va se réorienter en même temps, et sa deuxième branche devra être au final parallèle à l’axe X selon lequel se déplace notre comparateur. Quelle est la distance entre les points de fixation de la glissière Y ? Je mesure sur ma Prism une distance entre appuis : 400 mm. Je dois donc, à l’une des extrémités de l’axe Y, déplacer les rails (et la poulie de renvoi de la courroie) de 400 x 0,45/100 = 1,8 mm. Pour d’autres valeurs, je peux calculer le déplacement à effectuer par :

correction = distanceEntreAppuis x défautMesuré / déplacementLorsDeLaMesure

Afin d’effectuer ce réglage précisément et rapidement, je vais placer une autre pince (si besoin un peu plus grosse) à proximité de la pièce de fixation de la glissière Y sur l’avant de ma RepRap (la pièce jaune sur la photo ci-dessous) mais en y intercalant des cales de l’épaisseur qui vient d’être calculée, soit 1,8 mm dans mon exemple. Ayant égaré mon jeu de cales, j’utilise 4 de mes lames de transfo qui font 1,6 mm, et j’y ajoute 2 épaisseurs de papier « 80g » (0,1 mm par feuille) pour faire bonne mesure 😉 . Ceci me permet de bien positionner la pince à 1,8mm de la pièce jaune. Attention : le défaut que j’avais mesuré se corrigeait en déplaçant la pièce jaune vers la droite, il se peut que dans votre cas ce soit vers la gauche ! réfléchissez… et si vous vous trompez vous n’aurez qu’à recommencer dans l’autre sens 😮

cales pour réglage Y
cales pour réglage de la glissière Y

Une fois la pince bien en place, j’ôte les cales, je desserre les vis de fixation de la pièce jaune support d’axe Y (ainsi que le support de poulie), je déplace ces pièces pour venir en contact avec la pince, et je resserre les vis. Il ne reste plus qu’à vérifier la perpendicularité X/Y en redéplaçant le chariot selon X, et si besoin refaire encore une petite correction sur le même principe pour minimiser l’erreur.

Perpendicularité Z/X :

Poursuivons donc avec l’axe Z, et son orientation par rapport à la glissière X. Posons l’équerre « debout », la base parallèle à X, et commandons le déplacement vertical du chariot, sur environ 100 mm si possible.

Mesure perpendicularité de Z / X
Mesure perpendicularité de Z / X

Comme précédemment, le mouvement du comparateur nous donne le défaut à corriger (dans mon cas 0,62mm), fonction du déplacement (pour moi 100 mm) que l’on a effectué. Notez que le mouvement Z est donné par 2 chariots commandés chacun par un moteur pas-à-pas, et que ces 2 chariots supportent chacun une extrémité de la glissière d’axe X. Nous allons donc corriger cette perpendicularité en déplaçant l’un de ces 2 chariots verticalement.

Nous mesurons la distance entre les vis de pilotage des glissières verticales (environ 440 mm, peut-être un peu plus ou moins selon la manière dont votre RepRap est montée). La correction à effectuer se calcul comme précédemment par une « règle de 3 » :

correction = distanceEntreVis x défautMesuré / déplacementLorsDeLaMesure

Dans mon exemple 440 x 0,62/100 = 2.73 mm. Attention ici encore au sens du mouvement à effectuer. Regardez bien dans quel sens est le défaut, et dans quelle direction vous devez incliner les rails d’axe X, pour en déduire si vous devez monter ou descendre le chariot vertical choisi. Attention aussi à ne pas trop descendre un chariot qui risquerait d’arriver en butée lors de la prochaine opération de « Home ».

Mais comment déplacer un chariot verticalement ? En tournant sa vis de commande qui est dans l’axe de son moteur (photo suivante). De combien de tours faut-il tourner cette vis ? C’est directement lié au pas de cette vis. Sur ma RepRap, il s’agit d’une vis « M8 », qui a donc un pas (donc un déplacement pour chaque tour effectué) de 1,25 mm. Si je dois déplacer le chariot de 2,73 mm, je dois tourner la vis de 2,73/1,25 = 2,18 tours. Je peux alors faire un peu plus de 2 tour, « à l’œil », ou pour plus de précision, je peux aussi compter le nombre de pas (crans sensibles lors de la rotation) du moteur. J’ai un moteur de 200 pas par tour, je dois donc tourner la vis de 436 pas !!

Correction X/Z par rotation d'un des axes verticaux
Correction X/Z par rotation d’un des axes verticaux

Correction de niveau de la table

Ayant modifié l’orientation de la glissière X, le premier réglage que j’avais effectué n’est plus tout à fait valable. Je peux le corriger en remettant temporairement le comparateur en position verticale, et en jouant à nouveau sur les vis de hauteur du plateau, en prenant soin de ne modifier l’inclinaison que dans la direction X.

 

Correction du niveau du plateau selon X
Correction du niveau du plateau selon X

 

Perpendicularité Z/Y :

Il nous reste à régler la dernière perpendicularité, entre Z et Y. Plaçons l’équerre debout dans la direction Y, et mesurons le défaut entre Z et Y par un déplacement vertical du chariot.
Mesure perpendicularité de Z / Y
Mesure perpendicularité de Z / Y
La procédure de mesure est similaire à la précédente, mais cette fois la correction du défaut va se faire en déplaçant la base des glissières verticales.
Compte tenu de la distance entre ces glissières (environ 400 mm),  on calcule le déplacement nécessaire des 2 embases de l’axe Z, et on utilise le même principe que pour notre premier réglage (orientation de l’axe Y) avec une pince et des cales.
  • placer les cales et la pince sur le profilé alu,
  • ne plus bouger la pince, ôter les cales,
  • desserrer les vis de fixation de l’embase avec une clé alène,
  • déplacer l’embase jusqu’au contact de la pince,
  • resserrer les vis,
  • effectuer la même opération pour l’autre embase.
  • re-vérifier la perpendicularité par un mouvement vertical du comparateur le long de l’équerre, et ajuster le réglage si besoin.
Correction perpendicularité de Z / Y
Correction perpendicularité de Z / Y
 Et voili !
 Espérant que ce « tuto » sera utile à certains… après l’assemblage initial de leur RepRap.
Notez que selon la précision  et la rectitude de vos glissières (les stubs de guidage ne sont pas toujours parfaitement rectilignes) ou selon la planéité de votre plateau (plateau alu parfois bombé de quelques dixièmes de mm) vous ne pourrez pas obtenir un réglage parfait, mais vous devriez bien améliorer le réglage issu de l’assemblage initial pendant lequel il est difficile de vérifier ces diverses orientations relatives. Et ceci vous permettra de fabriquer des pièces plus faciles à assembler les unes avec les autres, ou à assembler avec d’autres pièces.
Philippe
Publié dans Uncategorized | Commentaires fermés sur Réglage des axes sur RepRap Prism

La Prism du Workshop

Après un Week end de construction,

comme promis

Un album de quelques étapes du montage:

Publié dans Workshop | 5 591 commentaires

Commande de l’imprimante via le WEB :Repetier-Server

Un Post pour la mise en place de repetier-Server sur un RaspberryPi

Quelques spécifications :

  • Accès depuis un navigateur web à une ou plusieurs imprimantes 3D
  • Fonctionnement autonome
  • gestion à distance de l’imprimante
  • pas de visualisation de la trajectoire ( pour alléger l’application)
  • libère le PC
  • pas de génération de gcode (slicer pas intégré)
  • Le script envoi le gcode à l’imprimante
d’abord quelques copies d’écran du navigateur:

Etape 1 : installation.

L’installation se fera sur un raspberry.

  1. récuperez le fichier tgz sur le site web de repetier Repetier-Server 0.24 for Raspberry Pi.
  2. Dézipper le fichier dans le home de la session pi par exemple.
  3. ensuite toutes les instructions se trouve dans le fichier install.txt.
je reprend les grandes lignes :
The distribution works with the Debian-Wheezy linux version for the pi!

Copy executable to /usr/bin
> sudo cp RepetierServer /usr/bin

Copy a sample config file to /etc
> sudo cp repetier-server.conf /etc

Create a environment where the server can store it's data and printer configs.
> sudo mkdir /var/lib/Repetier-Server /var/lib/Repetier-Server/configs /var/lib/Repetier-Server/www /var/lib/Repetier-Server/storage /var/lib/Repetier-Server/languages

Create configurations for your printer in /var/lib/Repetier-Server/configs. You find 2
examples in the configs subdirectory.

examples : mendel.cfg

version= »1.0″;
active=false;
printer:{
name= »Original Mendel »;
slugName= »orig_mendel »; // Unique name with ascii chars without space,tab. Is used for path names.
connection:{
device= »/dev/ttyUSB0″;
baudrate=115200;
pingPong=true; // Allow sending more then one command if it fits into printer cache
readCacheSize=127; // Size of the printer cache. May be 63 for some printer.
/* Communication protocol used to communicate with this printer:
0 = ascii protocol – works with all reprap firmwares
1 = Repetier-Protocol V1 – requires Repetier-Firmware
2 = Repetier-Protocol V2 – requires Repetier-Firmware 0.80 or higher */
protocol=0;
okAfterResend=true; // Does your firmware send a ok after sending a resend for that line?
};
dimension:{
xmin=0.0;
ymin=0.0;
zmin=0.0;
xmax=195.0;
ymax=195.0;
zmax=195.0;
};
homing:{
xhome=0.0; // Coordinates after homing x axis
yhome=0.0; // Coordinates after homing x axis
zhome=0.0; // Coordinates after homing x axis
};
speed:{
xaxis=50.0; // Move speed in mm/s for manual moves
yaxis=50.0; // Move speed in mm/s for manual moves
zaxis=2.0; // Move speed in mm/s for manual moves
eaxisExtrude=2.0; // Move speed in mm/s for manual moves
eaxisRetract=20.0; // Move speed in mm/s for manual moves
};
extruder:{
count=1; // Number of extruder on that device
tempUpdateEvery=1; // Update temperature every x seconds
};
};
The device name /dev/ttyUSBxx may change depending on the order the printer is enabled.
Copy the content of www and languages to the created directories
> sudo cp -r ../www/* /var/lib/Repetier-Server/www
> sudo cp ../languages/* /var/lib/Repetier-Server/languages

Create a start init script to run the server as daemon upon boot time.
> sudo cp ../linux/Repetier-Server.init /etc/init.d/Repetier-Server
> sudo chmod 755 /etc/init.d/Repetier-Server

Activate start script:
> sudo update-rc.d Repetier-Server defaults

Now your start script is active on next reboot. To start/stop manually use
> sudo /etc/init.d/Repetier-Server start
> sudo /etc/init.d/Repetier-Server stop

Restart server:
> sudo /etc/init.d/Repetier-Server restart

Etape 2 : utilisation

a suivre

Publié dans Uncategorized | 4 787 commentaires

Montage d’un Carte AZTEEG X1

Principale étape du montage d’une carte AZTEEG X1

Liste des composants :

  • 1 carte AzteegX1
  • 5 borniers – 4 contacts à vis pas 2.54
  • 3 borniers – 3 contacts à vis pas 2.54
  • 2 borniers – 2 contacts à vis pas 2.54
  • 12 jumpers
  • 4 cartes pololu A4988 ou équivalents
  • 4 radiateurs 8x10mm
  • 1 radiateur pour Mosfet
  • 1 connecteur molex 2 broches pour le ventilo

Première étape : montage des connecteurs, Je préfère monter des borniers à vis. C’est le gage d’un bon contact lors du fonctionnement de l’imprimante.

 



S
ouder les connecteurs sur la carte avec un bon fer à souder.

 

 

Deuxième étape : Mettre les jumpers qui permettent de spécifier le mode de commande des moteurs pas à pas.

Si vous mettez les 3 vous fonctionnerez en 1/16° de pas. C’est une bonne idée pour les 4 commande, X,Y,Z et Extrudeur

 

 

Troisième étape : Montage des drivers de commande pour les moteurs pas à pas type pololu A4988

pour faciliter la soudure des broches sur les pololus, je vous suggère :

  1. de couper en 2 la rampe de broche,
  2. d’insérer ces broches sur la carte azteeg,
  3. de poser dessus les pololus, dans le bon sens, potar coté bouton Reset, et sur le dessus ( voir photo).
  4. de souder les 4 cotés de chaque pololu et de terminer par toutes les autres broches
  5. coller ensuite un radiateur sur chaque puce du pololu. Attention que celui ci ne fasse pas de court circuit. j’utilise une colle au silicon. mais vous pouvez aussi mettre du scotch double face 3M

Sans être forcement nécessaire les radiateurs permettent un refroidissement plus efficace du driver. Sans cela il peut arriver que la puce chauffe trop, elle se met alors en sécurité, et l’axe s’arrête, le temps de refroidir ( qqs secondes) .  Ce temps d’arrêt compromet alors l’impression car toutes les commandes envoyées par le processeur sont perdues. et vous observez sur la pièce un décalage d’une couche. Nous verrons plus loin comment régler de manière efficace le potentiomètre sur le pololu qui permet de régler le courant maximal qui passe dans le moteur.

 

 

 

 

 

 

Quatrième étape : montage du radiateur sur le Mosfet de commande du lit chauffant (Bed)

Monter le radiateur sur le Mosfet le plus près du bord de la carte ( c’est le Mosfet de commande du lit chauffant), utilisez une vis M3-8 avec écrou et rondelle pour la fixation, avec une petite goutte de graisse thermique entre le mosfet et le radiateur.

Le montage du radiateur sur l’autre Mosfet ( chauffage du nozzle) n’est pas nécessaire, la puissance commutée est faible ( environ 20W), alors que celui du bed peut monter jusqu’a 130W.

 

 

 

 Cinquième étape : téléchargement du Firmware.

Vous aurez besoin :

  • firmware MarlinV1 par exemple ( fonctionne aussi avec teacup, sprinter, repetier,..)
  • IDE arduino version 023 ( windows, Mac OS X Linux 32bits 64 bits )
  • Patch pour l’IDE à de-zipper et copier dans le répertoire hardware de l’IDE arduino 023
  • et le driver FTDI pour le port USB suivant votre système d’exploitation

La carte Azteeg X1 est compatible avec les cartes sanguino et sanguinololu. Par la suite on utilisera ces spécifications pour le réglage de l’environnement.

Brancher un cable USB/miniUSB entre le PC et la carte. bien vérifier la position du strap sur la carte ( voir flèche rouge sur la photo ci dessous) celui ci doit être positionner « USB », ce qui permet au port USB d’alimenter la carte. Par la suite il sera possible de positionner ce strap sur l’autre position afin d’utiliser l’alimentation extérieur. (si besoin)

Une petite led au centre de la carte doit s’allumé pour préciser la bonne alimentation de la carte. Si le driver associé au port USB ne s’installe pas , télécharger et installer le driver FTDI VCP depuis le site de FTDI.
Vous pouvez alors lancer l’IDE ARDUINO 023.

Et éditer le firmware Marlin en sélectionnant le fichier marlin.pde

slectionner tools/board/sanguino W/AT 1284P 16Mhz,et tools/serial port/ COMxx

Quelques variables sont à régler dans les fichiers configuration.h et pins.h pour adapter le firmware à la carte et à votre imprimante.

 

 

 

 

 

modification en gras dans le texte ci dessous.

Fichier configuration.h

// 62 = Sanguinololu 1.2 and above
// 63 = Melzi
// 7  = Ultimaker
// 71 = Ultimaker (Older electronics. Pre 1.5.4. This is rare)
// 8  = Teensylu
// 9  = Gen3+
// 70 = Megatronics
// 90 = Alpha OMCA board
// 91 = Final OMCA board
// Rambo = 301

#ifndef MOTHERBOARD
#define MOTHERBOARD 62
#endif

Fichier pins.h

#if MOTHERBOARD == 63
#define MELZI
#endif
#if MOTHERBOARD == 62 || MOTHERBOARD == 63
#undef MOTHERBOARD
#define MOTHERBOARD 6
#define SANGUINOLOLU_V_1_2
#endif
#if MOTHERBOARD == 6
#define KNOWN_BOARD 1
#ifndef __AVR_ATmega644P__
#ifndef __AVR_ATmega1284P__
#error Oops!  Make sure you have 'Sanguino' selected from the 'Tools -> Boards' menu.
#endif
#endif

#define X_STEP_PIN         15
#define X_DIR_PIN          21
#if X_HOME_DIR < 0
# define X_MIN_PIN          18
# define X_MAX_PIN          -1
#else
# define X_MIN_PIN          -1
# define X_MAX_PIN          18
#endif

#define Y_STEP_PIN         22
#define Y_DIR_PIN          23
#if Y_HOME_DIR < 0
# define Y_MIN_PIN          19
# define Y_MAX_PIN          -1
#else
# define Y_MIN_PIN          -1
# define Y_MAX_PIN          19
#endif

#define Z_STEP_PIN         3
#define Z_DIR_PIN          2
#if Z_HOME_DIR < 0
# define Z_MIN_PIN          20
# define Z_MAX_PIN          -1
#else
# define Z_MIN_PIN          -1
# define Z_MAX_PIN          20
#endif

#define E0_STEP_PIN         1
#define E0_DIR_PIN          0

#define LED_PIN            -1

#define FAN_PIN 4

Les autres paramètres  dépendent du type de matériel que vous utilisez sur votre imprimante.

quelques exemples de paramètre pour la Prism Paoparts:

Fichier configuration.h

// This determines the communication speed of the printer
//#define BAUDRATE 250000
#define BAUDRATE 115200
#define TEMP_SENSOR_0 6
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 6
#define DEFAULT_AXIS_STEPS_PER_UNIT   {78.7402,78.7402,3200/1.25,760*1.1}  // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE          {500, 500, 2, 45}    // (mm/sec)
#define DEFAULT_MAX_ACCELERATION      {9000,9000,50,10000}    // X, Y, Z, E maximum

Compiler et uploader le firmware sur la carte. 2 led installées près de la connectique USB sur la carte doivent clignoter pendant le transfert.
Pour vérifier le bon fonctionnement du firmware sur la carte , une fois téléchargé, ouvrir la console série de l’IDE arduino023( Tools/Serial Monitor) , régler sa vitesse à 115200 bauds. Le firmware doit alors vous répondre ( vous pouvez appuyer sur le bouton reset de la carte).
sur la photo ci dessous le firmware retourne une erreur normale, car les thermistances de régulation de la température du nozzle et du bed  ne sont pas encore branchées, le firmware l’identifie et « arrête » par sécurité le fonctionnement de l’extrudeur ( extruder switched off)

 Sixième étape : Cablage moteur, extrudeur, lit chauffant.

 

(a suivre)

Publié dans L'électronique | 4 387 commentaires

Prochain Workshop de construction d’imprimantes 3D à Grenoble les 25 & 26 Mai 2013

toutes les informations sont sur le site d’echosciences


Publié dans Uncategorized | 5 401 commentaires

Workshop les 16 et 17 Février à Grenoble

Et voila la 2° édition du Workshop dans les locaux du Fablab de Grenoble – La casemate.

C’est 4 imprimantes Prism, un peu ‘PaoPartisées’  😉 qui sont sorties de la casemate le dimanche soir, après 2 journée de travail intense.

vivement la 3° édition.

 

 

 

 

Le fablab de Grenoble:  dans une ancienne casemate. un environnement exceptionnel.

 

Et très international : So Scottish !!!

Publié dans Uncategorized | 5 363 commentaires