Plotter Roland DXY-1200
Caractéristiques
- surface d'impression : A3 (297 x 42 mm)
- langage de contrôle : DXY-GL, une variante Roland du HPGL
- plateau à plaquage électrostatique
- connexions : port parallèle ou port série DB-25 par câble Null-modem + câble USB-série
En français, «plotter» se traduit par «table traçante». Le principe d'impression est de déplacer un feutre selon un mouvement en XY, de l'abaisser pour tracer ou le lever pour le déplacer. Ce modèle permet d'utiliser 8 feutres différents qui sont stockés sur le côté, le plotter vient lui-même chercher le feutre à utiliser. Ces machines étaient couramment utilisées avant que des imprimantes graphiques soient disponibles, jusqu'à la fin des années 1980, en particulier dans la construction pour tracer des plans.
Comment tracer ?
1. Relier l'ordinateur au plotter en utilisant un cable série et un adaptateur USB-Série.
2. Placer le papier
- vérifier que le voyant paper hold est éteint
- positionner le papier en commençant par le coin en bas à gauche
- appuyer sur paper hold pour activer le plaquage électrostatique
3. Envoyer le dessin à tracer, voir ci-dessous les diférentes méthodes pour créer le dessin
Dimensions de la zone d'impression
Le plotter peut fonctionner selon 2 unités différents : 0.1mm ou 0.025mm, le réglage s'effectue par un dipswitch à l'arrière. Selon l'unité les valeurs maximum de coordonnées sont modifiées. L'origine du repère est en bas à gauche.
Comment créer le tracé ?
Avec Inkscape
Plusieurs tentatives infructueuses avec les fonctions traceur de inkscape 0.92 et inkcut 1.0 sur debian 9.0 : impossible d'ouvrir le port série
- https://alpha.inkscape.org/vectors/www.inkscapeforum.com/viewtopic7cc6.html?t=4987 version 1.0 pour inkscape 0.92
A réessayer avec des versions plus récentes d'inkscape ou inkcut.
Avec Processing
Premier test
/* Test plotter Roland DXY-1200 / tracé d'une diagonale La Baleine, résidence «Extension graphique», 6 sept. 2022 pierre@lesporteslogiques.net / processing 4.0b2 @ kirin / debian 9 stretch dimensions d'une feuille A3 sur plotter : 16800 x 11880 (avec unité de 0,025mm) */ import processing.serial.*; Serial myPort; void setup() { println(Serial.list()); myPort = new Serial(this, Serial.list()[1], 9600); // ouverture du port } void draw() { String GL; GL = "IN;SP1;PU;"; GL += "PU80,80;"; GL += "PD16720,11800;"; GL += "PU;"; myPort.write("IN;"); myPort.write("OS;"); myPort.write(GL); noLoop(); }
Avec Processing, il ne faut pas envoyer les instructions trop vite, le buffer de mémoire étant limité à 1024 octets. Saturer le buffer produit la perte de commandes et le traceur signale une erreur en faisant clignoter la led en bas à gauche. (voir ci-dessous pour vider la mémoire)
Des exemples plus complets sont accessibles ici : https://github.com/emoc/processing_roland_dxy-1200
Notes
Ca doit être possible de récupérer des infos sur l'état du plotter en communication série pour débusquer les erreurs!
Avec Python et Chiplotle
Documentation
- Mode d'emploi du DXY-1350 (fr, pdf) : Plotter DXY
- Référence pour le langage de commande : Command Reference Manual DXY-1200 (en, pdf)
Connexion
Cable série DB-9 / DB-25
Schéma diffusé dans la communauté Chiplotle d'après le câble Assmann AK150-3-R
Les paramètes de la communication série sont définis par les dipswitchs à l'arrière de la machine :
- 9600 bps
- parity : None
- databits : 8
- stopbits : 1
Langage de commande
Le plotter (comme tous ceux de la série 1000) comprend les instructions en langage DXY-GL ou RD-GL 1 (RolanD Graphic Language ), le choix du langage est fixé par un dipswitch à l'arrière du plotter. Les commands DXY-GL sont composées d'une seule lettre, en RD-GL les commandes sont composées de 2 lettres.
Quelques exemples :
IN - Initialize PD - Pen Down PU - Pen Up SP - Select Pen CI - Circle
Quelques séquences d'instructions en détail :
IN;SP4;FT4,41;PU5900,6200;RR200,200;
- IN; initialise le tracé
- SP4; sélectionne la plume n°4 du chargeur
- FT4,41; définit le mode de remplissage par hacurage avec un espacement de 41 unités
- PU5900,6200; place la plume aux coordonnées 5900, 6200
- RR200,200; remplit un rectangle de dimension 200, 200 dont l'origine est à la position de la plume
IN;SP5;PU3000,3000;PD5000,5000;CI500,60;
- IN; initialise le tracé
- SP5; sélectionne la plume n°5 du chargeur
- PU3000,3000; déplace la plume levée jusq'au point 3000, 3000
- PD5000,5000; trace une ligne de la position actuelle vers le point 5000, 5000
- CI500,60; trace un cercle autour de la position actuelle de rayon 500 et de segment 60° (= un hexagone)
Pointes
Entretien
Pour conserver l'effet électrostatique : ne jamais nettoyer la surface d'impression avec de l'eau! (ni tissus siliconé, détergent, solvant ou tissus traité chimiquement)
Problèmes
Auto-test
Pour tester si le plotter fonctionne, il est possible de démarrer la machine en auto-test :
- mettre sous tension en appuyant sur enter (le tracé se met en pause)
- placer le papier et appuyer sur paper hold pour déclencher la fixation électrostatique
- appuyer sur pause pour relâcher la pause
Arrêter un tracé / Vider la mémoire
- appuyer sur [PAUSE]
- appuyer sur [VIEW]
- maintenir [ENTER] et appuyer sur [→]
Ressources
- procédure inkscape et autres infos : https://hackaday.io/project/12276-roland-dg-dxy-990/details
- lib HPGL pour Processing (à tester!) https://github.com/ciaron/HPGLGraphics
- refaire une alim : https://www.jarredglickstein.com/pen-plotters.html