Piloter Grbl par le port série

Hey, j’ai une bonne nouvelle : ma Shapeoko arrive à fonctionner, et surtout ne plus planter, et ce avec ma carte maison! Wouhouuu c’teu fête!

J’ai bagarré pour en arriver là. J’attends la carte « nouvelle mouture » du fabricant, mais impatient que je suis, je n’ai pas pu résister à la tentation de la faire fonctionner moi-même…:)

Le point sensible, d’après les forums et mes constats, c’est la liaison USB entre le PC et l’Arduino sur laquelle tourne Grbl.
Alors je me suis dit que je pourrais utiliser une autre Arduino entre les deux, qui communique par liaison série.

J’aurai donc:

PC<– liaison USB –> Arduino 1 (relais) <– Liaison série (Rx/Tx) –> Arduino 2 (Grbl)

L’Arduino 1 est une Arduino Mega 2560, largement surdimensionnée mais j’en avais une en stock alors ça m’allait bien 🙂

Entre les deux Arduini (pluriel d’Arduino?), on a juste besoin de 3 fils: Rx Arduino 1 vers Tx Arduino2, Tx Arduino 1 vers Rx Arduino 2, et relier les masses entre elles (Gnd).

En fin de compte, sur l’Arduino « relais », j’avais besoin d’un port usb en entrée et un port série en sortie (la Mega 2560 en a 3, en plus du port zéro qui correspond à l’entrée USB). Quoique, ça devrait aussi fonctionner avec la librairie SoftwareSerial pour émuler un port série.

Bref, le programme est très simple et assure une communication bidirectionnelle: il lit ce qui entre sur le port 0 (le port USB) et l’écrit sur le port 1 (connecté à l’Arduino 2), et il lit ce qui arrive du port 1 pour l’écrire sur le port 0 (connecté au PC).

Le câble USB utilisé mesure 20cm (beaucoup plus court que le câble d’origine, et donc moins sensible aux interférences électromagnétiques). J’ai dû virer l’isolateur galvanique qui posait des problèmes de communication.

Et ça ne plante plus, mon pote. Ca ne plante plus! Enfin jusqu’à preuve du contraire hein, parce que je commence à avoir l’habitude des phases maniaco-dépressives avec cette machine…

L’intérêt de conserver une liaison USB est de pouvoir utiliser bCNC et les autres outils de contrôle pour Grbl. Si j’utilisais une carte SD, je serais limité dans les interactions avec la machine, et je ne pourrais pas bénéficier (entre autres) de l’autoleveling de bCNC.

Shapeoko 3, déconnexions USB et carte de contrôle

Je me bats avec ma Shapeoko 3 depuis à peu près le début, car il y a des déconnexions USB très fréquentes quand on attaque assez fort dans la matière. Par contre ce n’est pas le cas si on n’attaque pas trop fort dans la matière.

Un tour dans les forums et des discussion avec Jorge Sanchez (de chez Carbide 3D) m’ont laissé entendre que ces déconnexions étaient très probablement causées par des interférences électromagnétiques entre les moteurs (pas à pas, ou peut-être la broche) et le câble USB.

J’ai suivi les instructions de Jorge: raccordement de masses, utilisation d’un isolateur galvanique USB, mise à la terre. J’ai cru que c’était réglé, et puis c’est revenu… Ça m’a vraiment saoulé, et j’ai décidé de fabriquer ma propre carte de contrôle pour la machine.

Je suis parti sur des drivers pas à pas Pololu DRV8825, commandés par une Arduino Uno sous Grbl. Rien de très compliqué a priori, puisque j’ai déjà fait quelque chose de comparable avec mon CoreXY, sur 2 axes seulement.

Alors je me suis lancé, et j’ai fabriqué un circuit imprimé avec la Shapeoko elle-même (comme je disais, quand on grave et que ça ne force pas, ça marche!).

Côté design, j’ai utilisé Fritzing et Visolate.

Pour l’envoi sur la machine, j’ai découvert bCNC et croyez-moi c’est VRAIMENT le top. Je ferai certainement un article dessus pour la prise en main. Pour la faire courte, c’est un logiciel qui envoie le G-Code à la machine, mais qui permet de compenser l’axe Z selon les mesures faites au préalable avec un palpeur. C’est trop bien, particulièrement quand on grave un circuit imprimé et qu’on veut avoir une profondeur identique partout!

Bref, voici la fabrication de la carte en images.

Gravure PCB
Gravure des traces. Si si, ça tourne! C’est l’appareil photo qui est trop rapide 🙂

 

perçage pcb
Le perçage avec une mèche de 1mm.

 

bCNC
bCNC en pleine action! On peut voir le quadrillage effectué par le palpeur, avec les différences de hauteur.

 

Le circuit terminé
Le circuit terminé. C’est autre chose que ce que j’avais fait dans le passé!

 

Test pcb
Test avec 3 moteurs Nema17, concluant 🙂

 

J’ai branché les moteurs de la Shapeoko (Nema23) sur la carte, et.. Rien. Enfin si: des réactions, mais des réactions étranges.

En fait j’ai réalisé que les fils n’étaient pas agencés pareil au niveau des connecteurs!

Cablage moteurs pas à pas 4 fils
Codes couleurs des moteurs bipolaires à 4 fils. (honteusement piqué sur http://www.linengineering.com)

 

Avec les fils dans le bon ordre, le fonctionnement est bien meilleur, n’est-ce pas 🙂

Tout content, je lance un job avec des passes de 2.5mm dans du pin. J’y crois, j’y crois, j’y crois. Jusqu’à ce que ça se plante. La même. Exactement la même qu’avec le contrôleur d’origine de la Shapeoko. Autant dire que ma tête a pris successivement toutes les couleurs de l’image ci-dessus.

J’ai tout fait, j’ai essayé sur un PC de bureau (relié à la terre) plutôt qu’un portable, j’ai essayé à tout hasard un autre firmware, rien à faire. C’est relou hein…

Alors hier soir j’ai retenté le contrôleur d’origine, en diminuant la profondeur des passes (1.25mm) et ça va. Pour le moment en tout cas…

Mais c’est frustrant, quand on a une grosse machine, puissante, de devoir se coltiner des passes aussi fines, franchement…

[Edit du soir même] Hééééé ben non. Finalement ce soir elle ne voulait plus. Je commence à en avoir plein mon ass, mais alors vraiment…

[Edit du lendemain] Carbide 3D va m’envoyer une nouvelle carte (une nouvelle mouture, pas juste un remplacement de celle-ci). Même si je râle, j’apprécie énormément leur support, ils ne laissent pas leurs clients dans le mouise. C’est très important.

Si vous avez le même problème que moi, faites-moi signe, que vous l’ayez résolu ou non, ça m’intéresse!

V carving, premier essai

Voici un premier test de carving avec une fraise en V de 60°.

Pour générer les parcours d’outils, j’ai utilisé F-Engrave, un programme open source de ScorchWorks. On lui donne un tracé DXF, ou simplement une image bitmap, on indique les paramètres de notre outil (angle, diamètre, profondeur maximale…), et ce magnifique programme nous sort un fichier gcode 🙂

La fraiseuse va faire varier le Z en fonction de la largeur du tracé à graver, et le résultat est plutôt cool pour une première tentative!

Tant que j’y pense, j’ai découvert un autre logiciel open source, CAMotics (anciennement OpenSCAM), qui permet de simuler un programme G-Code. C’est assez simple à utiliser: on charge un fichier G-Code, on choisit l’outil (fraise droite, conique, ronde…) et CAMotics nous présente le résultat de l’usinage.

Camotics
Simulation dans Camotics : mon programme a l’air correct.

 

En pleine action...
En pleine action…

 

Précision : ce n'est pas mon écriture...
Précision : ce n’est pas mon écriture naturelle…

 

Universal G-Code Sender et son preview en temps réel
Universal G-Code Sender et son preview en temps réel. Oui, j’éclaire mon sous-sol à la bougie…

 

Et une autre gravure avec des caractères gothiques.
Et une autre gravure avec des caractères gothiques.

 

Il y a un truc qui m’embête par contre. Deux en fait.

Le premier, mineur, c’est que ma fraise en V a un diamètre de queue de 6mm, ma pince fait 1/4 » (6.35mm) et je ne peux pas la serrer. J’ai utilisé une technique très avancée (du scotch du papier aluminium, qui s’écrase beaucoup moins que le scotch) pour élargir un peu la queue. Mais c’est pas génial.

Le deuxième, vachement moins mineur, c’est que la machine se déconnecte du PC (la liaison USB se plante) dès que ça force un peu. C’est visiblement un problème connu, qui semble lié à des interférences électriques, une boucle de masse ou je ne sais trop quoi. J’ai acheté un isolateur galvanique à intercaler entre le PC et le câble USB de la machine, et ça va mieux mais il arrive encore que ça saute. Et donc que ça ruine le job en cours. Pour l’instant je m’en fous, je grave des chutes, mais quand je me lancerai à graver mon nom sur chacun des 1500 lingots d’or de ma collection, vaudra mieux pas que ça plante!!

Cambam, têtes fraisées et auto-fraisage de la Shapeoko

Ce week end j’ai mis en place mes inserts dans la base en MDF de la Shapeoko. Ils ont une tête fraisée, alors ça m’a permis d’apprendre à créer un chanfrein sur Cambam.

Pour faire le trou, je dois découper un cylindre de 9.3mm (choix empirique après quelques tests), et le haut de ce cylindre doit être chanfreiné à 45° pour accueillir la tête d’un diamètre de 12.5mm.

Alors voici comment ça se passe dans Cambam.

On va d’abord dessiner nos deux cercles:

Cambam1
Le cercle intérieur sera utilisé pour la poche, et l’autre pour le chanfrein.

 

Après avoir défini notre brut (voir l’article précédent sur Cambam), nous pouvons créer une poche sur toute la profondeur à partir du cercle intérieur:

Poche

Arrive maintenant la création du chanfrein. J’ai tâtonné un petit moment mis voici la solution:

  1. Créer une opération de contour à partir du cercle extérieur.
  2. Basculer les propriétés de cette opération en affichage avancé
  3. Indiquer que l’opération doit se faire du côté intérieur du cercle
  4. Incrément de passe de 0.1mm (pour que le chanfrein soit lisse)
  5. Profondeur de -5mm (à la louche)
  6. Dans l’option profilage des bords, sélectionner Chanfrein de 45°

Capture4On lance la génération des parcours d’outils, et hop:

Capture3

Il ne reste plus qu’à quadriller le plateau de la machine avec ces trous! Rhaaahahahaaaa! (rire diabolique)

Bon, je n’arrive pas à centrer cette vidéo sur la page. Vous ne m’en voudrez pas? C’est gentil 🙂

Voilà en tout cas le résultat:

Perçage insert
Trou de 9.3mm avec le chanfrein qui va bien
Positionnement insert
Comme papa dans maman!

Insert en place

J’ai donc quadrillé la base de la machine avec 24 inserts:

Plateau complet

Et voilà le travail!

PS: Je n’utilise plus repetier-host pour envoyer les programmes g-code, mais Universal G-Code Sender sous Lubuntu. Il discute très bien avec GRBL.

Shapeoko 3 assemblée!

Haha, ça y est, la bête est montée et elle pèse lourd, la vache!

Juste un petit pépin : un des écrous excentrés n’était pas fileté. C’est bête… Je vais emprunter un taraud de 5mm à mon voisin pour régler ça. En attendant j’ai mis un écrou normal mais il y a un peu de jeu sur une roulette, du coup. Pas grave, ça ne va pas m’empêcher de la calibrer 🙂

Voici quelques illustrations pour fêter ça!

Shapeoko base
La base de la machine (il y a des traverses en acier en dessous)

 

Shapeoko guidage
Les profils de guidage Y

 

Le portique
Le portique

 

Le chat qui m'encourage en se léchant l'anus...
Le chat qui m’encourage en se léchant l’anus…

 

Le bloc Z
Le bloc Z

 

Détail d'un écrou excentré, qui permet de bien prendre en sandwich le rail
Détail d’un écrou excentré, qui permet de bien prendre en sandwich le rail

 

La Shapeoko assemblée, avec la défonceuse montée!
La Shapeoko assemblée, avec la défonceuse montée!

Une fois tout monté et connecté, il a fallu tester les mouvements, sous Lubuntu avec Universal G-Code sender. A part l’axe X inversé, rien à déclarer. Ça se corrige très facilement dans GRBL.

Je dois maintenant vérifier le nombre de pas par mm (je ne sais pas encore si c’est réglé d’usine).

J’attends aussi des inserts filetés pour quadriller la base et pouvoir fixer mes bruts. Ils viennent tout droit de Hong Kong, alors faut pas être pressé…

Vivement les premiers essais de coupe! J’en ai une demi molle 😀

 

 

 

Shapeoko

Je suis l’évolution de cette machine depuis ses débuts, et j’ai fini par me laisser séduire par sa dernière version : la Shapeoko 3.

shapeoko3
http://www.shapeoko.com

Cette machine est bien entendu bien plus précise que tout ce que j’ai pu fabriquer avec ma scie sauteuse 😀

La transmission est assurée par des moteurs pas à pas et des courroies crantées, le tout piloté par le firmware GRBL sur une carte Arduino. Voilà qui sent bon la noisette, n’est-ce pas!

Elle vient sans broche. Ils conseillent d’utiliser une défonceuse de marque DeWalt, le modèle DWP611. Sauf que ça, c’est le modèle américain, 110V donc ya pas moyen. La version européenne est la D26200, une bête de  2kg et d’une puissance de 900W. Par défaut, le mandrin accepte des outils ayant un diamètre de queue de 8mm (5/16 »).

C’est un diamètre assez gros et il est difficile de trouver des outils relativement fins avec une queue de ce diamètre (rien de sexuel dans tout ça…)

Heureusement, des fabricants de matériel se sont penchés sur la question et il existe des mandrins alternatifs de diamètres variés.

Heu, juste une précision : je cite des marques mais je ne touche aucun pognon et je n’ai eu aucun avantage de la part des marques mentionnées… Comme d’hab malheureusement 😉 Oh, corruptibilité quand tu nous tiens!

J’ai donc opté pour la marque PreciseBits, et j’ai pris un kit avec une pince de 1/4 » (~6mm) et 1/8 » (~3mm). Alors par contre les frais de port depuis USA sont totalement abusifs (71$, pour un kit à 80$!!!)

J’en ai discuté avec Ron (de PreciseBits) qui m’a suggéré de passer par un de revendeurs, en l’occurrence Soigeneris. Frais de port moins inacceptables (24$).

Ils sont arrivés, et ça passe nickel sur la 26200, avec mes fraises de 6 et 3mm 🙂

En tout cas, cette machine va remplacer très avantageusement les deux que j’ai construites précédemment ( la CNC avec la Dremel, et la graveuse laser CoreXY). Je n’aurai qu’à imprimer un adaptateur pour monter le module laser sur ma Shapeoko et je serai heureux!

Cette machine peut attaquer du bois, mais aussi de l’aluminium, ce qui ouvre des portes extrêmement intéressantes… 🙂

 

Produire un circuit imprimé avec des zones de Voronoï

Je voulais faire un circuit imprimé pour le CoreXY, pour pouvoir ranger mon petit bazar dans un boitier propre et libérer ma plaque d’essais.

Le truc, c’est que ma fraiseuse CNC souffre d’imprécision… Et comme je dois tracer des pistes et pastilles pour les Pololu (connecteurs espacés de 2.54mm), j’ai un peu peur du résultat…

Et je n’ai toujours pas envie d’utiliser des produits chimiques.

Alors j’ai investigué et j’ai trouvé une technique redoutable de production de PCB, qui devrait être capable de compenser l’imprécision de la machine : les diagrammes de Voronoï.

L’idée est, plutôt que de tracer les contours précis de chaque piste et pastille, d’aller « au plus large », et isoler uniquement les zones nécessaires. Un dessin vaut mieux qu’une longue histoire:

voronoi pcb
Le circuit à graver

Les lignes fines qu’on voit entre les pistes sont celles qui vont être fraisées. Après tout, on n’a pas besoin de faire le tour de toutes les pistes avec précision pour les isoler les unes des autres.

1. Conception du circuit

J’ai tout d’abord conçu mon petit montage avec Fritzing.fritzingJ’y ai mis mes deux pololu, des connecteurs pour les moteurs, les alimentations et le signal.

On bascule en mode « circuit imprimé », simple couche. Avec l’autoroutage (ou pas… mon circuit était autorouté d’une façon très bizarre), on met en place les pistes de cuivre.

fritzing-pcb
Je n’ai pas pu éviter un jumper…

2. Export au format Gerber

Depuis le menu fichier>exporter pour la production>gerber étendu, nous pouvons exporter le circuit imprimé au format Gerber. On obtient un répertoire avec une tapée de fichiers, dont deux nous intéressent particulièrement : pcb_corexy_copperBottom.gbl et pcb_corexy_drill.txt.

Le premier contient les traces du circuit imprimé, et le second les coordonnées des trous à percer (en pouces… sympa les gars).

3. Traitement du fichier Gerber avec Visolate

Traumflug, un membre très actif de la communauté Reprap et coauteur de Teacup, a écrit un programme en java qui permet de générer des zones de Voronoi à partir d’un fichier Gerber.

Après avoir téléchargé Visolate, ouvrons notre fichier gbl.

visolate-1

Les pistes et les pastilles apparaissent, avec des couleurs j’te dis même pas. Bariolées. Chaque couleur correspondra à une zone de Voronoi. La première étape est donc de réunir ce qui doit être réuni, avec le bouton « fix topology ». Avant de cliquer, il faut zoomer un peu avec le slider « dpi ». Le programme va scanner le circuit et réunir les zones de notre circuit imprimé.

visolate-2Cool! Maintenant, cliquons sur « make toolpaths »: Visolate génère les parcours d’outil pour fraiser les zones de Voronoi. Il n’y a plus qu’à enregistrer le fichier avec « save G-Code » et on est paré. Enfin presque.

visolate-3

4. Génération du G-Code de perçage

Comme je le disais au-dessus, Fritzing génère les coordonnées des perçages en pouces. Il faut faire la conversion en mm. Ou basculer la machine en mode pouces. J’ai opté pour la conversion en mm.

Le fichier des perçages a cette allure:

[code]

; NON-PLATED HOLES START AT T1
; THROUGH (PLATED) HOLES START AT T100
M48
INCH
T100C0.038000
T101C0.041667
T102C0.035000
%
T100
X015681Y004991
X017681Y012991
X015681Y014991
X017681Y009991
X015681Y005991
X017681Y013991
X015681Y015991

etc.

[/code]

J’ai fait un programme qui convertit cette suite de coordonnées en G-Code, et en millimètres s’il vous plait : GerberDrill.

Désolé pour l’interface utilisateur toute pourrie… Le principe est simple: parcourir pour aller chercher le fichier drill.txt, définir le code à générer pour chaque trou et cliquer sur « Process drill file ». Le programme génère du G-Code pour se rendre à l’emplacement du trou, et percer à la profondeur indiquée.

5. Concaténation des deux fichiers G-Code et miroir

Je voulais tout faire d’une traite, c’est à dire fraiser les zones de Voronoi et marquer les points de perçage (puis percer à la main avec une mèche de 1mm avec la Dremel).

Donc dans un fichier texte, j’ai mis à la suite le G-Code généré par Visolate et celui généré par mon programme GerberDrill.

Etape importante : il faut mettre un effet miroir sur le G-Code, car la gravure va se faire sur la face inférieur du circuit. Pour cela, dans le fichier G-Code, remplacer tous les « X » par « X-« .

On enregistre le fichier et zou! balance la purée papa!

Le jeu de ma machine se remarque particulièrement au niveau des points de perçage, lorsqu’ils sont près d’une trace. J’ai dû les arranger à la cochon en en élargissant quelques uns… Hélas je n’ai pas pris de photo de la plaque juste après la gravure, mais voici la vue de dessous une fois les éléments soudés:

Désolé pour les soudures dégueulasses...
Désolé pour les soudures dégueulasses…

La prochaine fois je pense que je marquerai les perçages avant de faire les isolations. En tout cas j’ai bien contrôlé au multimètre et ça a l’air bon.

PCB CoreXY
Les connecteurs soudés
PCB CoreXY avec drivers
Les pololu montés

On peut voir à gauche les connecteurs pour les signaux step et direction. A droite les deux connecteurs de moteurs, et les deux connecteurs d’alimentation (5V en haut pour la logique, et 12V en bas pour les moteurs).

Il n’y a plus qu’à connecter la carte, mettre le jus et en avant!

Gravure d’une image au laser

Bon, j’ai corrigé l’inversion de l’axe Y 🙂

Après une longue, très longue réflexion, j’ai réussi me décider sur une photo à graver pour tester les niveaux de gris:

Charlotte Gainsbourg
La belle Charlotte

 

Après une heure de bzzzzzz bzzzzz bzzzz,  voici le résultat:

Charlotte
Pas très constrasté… 80mm de large. Et de vilaines lignes horizontales… Impulsions de 80ms

Le résultat, malgré une résolution de 4 points par mm, n’est pas sublime.

J’ai modifié mon programme pour tracer des lignes à 45°. Après tout, c’est le mouvement « natif » de la machine: pour avancer à 45°, on n’a qu’un moteur à tourner. Le 2ème effectue seulement les décalages.

Charlotte
L’image fait 50mm de large. Résolution de 4 points par mm. Cliquer sur la molette pour l’image en haute résolution. Impulsions de 120ms.

C’est vachement plus joli et contrasté! Je réessaierai à 100ms pour voir si on distingue mieux les nuances.

Et quelques plans de la bête en activité:

_IMG_0456_1024x682

Les vis d’entrainement avaient tendance à se barrer, alors j’ai ajouté cette pièce, qui permet de les maintenir sur l’axe des moteurs:

capot entrainement

 

Support laser
Un support un peu moins artisanal pour le module laser

 

Faisceau laser
Envie d’y mettre un doigt?

 

L’instant sécurité de tonton Nico

class4Le laser utilisé est une diode laser de longueur d’onde 445nm et de 1.5W. C’est un laser de classe 4, et selon Wikipedia:

Classe 4 : lasers qui sont aussi capables de produire des réflexions diffuses dangereuses. Ils peuvent causer des dommages sur la peau et peuvent également constituer un danger d’incendie. Leur utilisation requiert des précautions extrêmes.

Alors lunettes de protection et surveillance sont de mise!

Paramétrage de Teacup pour la gravure au laser

Pour envoyer mes impulsions PWM au module laser, j’utilise la commande M106 Px Sy de Teacup.

J’ai défini ma broche de commande du laser en tant que ventilateur dans Teacup, et cette broche envoie un signal PWM.

La section « heaters » dans ma configuration se présente comme ceci :

[code]

//DEFINE_HEATER(extruder, PD3,   0)
//DEFINE_HEATER(bed,      PB4,   0)
DEFINE_HEATER(fan,        PB3, 1)
// DEFINE_HEATER(chamber,  PIND7, 1)
// DEFINE_HEATER(motor,    PIND6, 1)

[/code]

J’ai désactivé l’extrudeur et le lit chauffant, inutiles pour ce que je fais. La broche PB3 correspond à la broche 11 de l’arduino uno.

Revenons à notre commande M106 Px Sy, qui prend deux paramètres:

  • P : l’index de la sortie dans la section « heaters », pour moi c’est 0 (je n’ai qu’une sortie heater)
  • S : la puissance du signal PWM, de 0 à 255

Lors des premiers tests avec une simple LED, j’ai réalisé que les commandes M106 n’étaient pas synchronisées avec les mouvements. En fait elles ne sont pas mises dans le buffer de commandes, mais directement exécutées. Alors Pour remédier à ça, il faut ajouter dans notre fichier de config :

[code]

#define ENFORCE_ORDER

[/code]

Autre souci que j’ai eu: la commande M106 faisait planter Repetier-host (il arrêtait spontanément d’envoyer les commandes).

Je suis passé sur Pronterface, et là, plus de problème! Des fois, faut pas chercher…

Première gravure au laser avec le CoreXY

D’abord, les faits :

Jack Daniels gravé au laser
100x67mm

 

Alors je vous vois venir : « Ouiiii m’enfin dis donc, ton étiquette de Jack, elle serait pas à l’envers des fois? »

La réponse est oui…

J’ai écrit un programme qui transforme une image bitmap en instructions G-Code de mouvement et de shoot au laser. Et comme les coordonnées Y sont inversées entre une image numérique (du haut vers le bas) et la machine, ben ça a retourné l’image.

Mais à vrai dire, ce n’est pas le sujet 🙂

Ce que je vois, c’est que la machine a shooté plus de 10’000 points en une trentaine de minutes, et ça, ça fait plaisir!

Voici l’image en haute résolution (cliquez avec la molette de la souris pour l’ouvrir, sinon elle s’ouvre en mode galerie… Je ne sais pas comment le désactiver :). C’est intéressant de voir que les points du laser son en fait des traits, et on y voit aussi la variation de puissance sur les bords des lettres.

La résolution est de 2 points par mm, soit 50 dpi.

On voit quelques lignes qui ont un léger décalage, mais je suis plutôt content du résultat.

jack
L’image d’origine : 135×200 pixels

 

Si vous êtes curieux, voici le G-Code généré par le programme à partir de l’image ci-dessus.

A part ça, j’ai arrangé un peu mes points d’attache de ficelle sur le chariot. C’est maintenant parallèle aux barres, ça va mieux!

Chariot CoreXY Chariot CoreXY