Outils pour utilisateurs

Outils du site


wiki:divers:reverse_jinsokule1620

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:divers:reverse_jinsokule1620 [2022/04/28 17:34]
[Du Gcode au PWM]
wiki:divers:reverse_jinsokule1620 [2022/04/29 08:53] (Version actuelle)
Ligne 2: Ligne 2:
 Avril 2022 Avril 2022
  
-====== Reverse-ingeering de la graveuse laser Jinsoku LE1620 ======+====== Reverse-ingeneering de la graveuse laser Jinsoku LE1620 ======
  
 ==== Présentation de la machine ==== ==== Présentation de la machine ====
Ligne 25: Ligne 25:
  
 C'est initialement dans le cadre du projet [[https://wiki.fablab.sorbonne-universite.fr/wiki/doku.php?id=wiki:projets:pillink|Pillink]] que j'y ai pensé. C'est initialement dans le cadre du projet [[https://wiki.fablab.sorbonne-universite.fr/wiki/doku.php?id=wiki:projets:pillink|Pillink]] que j'y ai pensé.
-Mais on pourrait également transformer cette découpeuse laser en découpeuse à plasmaou autre !+Mais on pourrait également transformer cette découpeuse laser en découpeuse à plasma (ou autre !) avec un effort minimal.
  
-L'étape indispensable est de pouvoir modifier la tête pour contrôler //autre chose// que le faisceau laser de gravure... sans changer le reste !+L'étape indispensable est de pouvoir modifier la tête pour contrôler //autre chose// que le faisceau laser de gravuresans changer le reste.
  
 ==== Démarche ==== ==== Démarche ====
Ligne 237: Ligne 237:
 Pour comprendre ce code, on se reporte à la documentation de [[https://github.com/gnea/grbl/blob/master/doc/markdown/laser_mode.md|grbl, page "Laser Mode"]]. Pour comprendre ce code, on se reporte à la documentation de [[https://github.com/gnea/grbl/blob/master/doc/markdown/laser_mode.md|grbl, page "Laser Mode"]].
  
-En examinant le Gcode, on repère des lignes G1 qui sont suivies de SXXX et FXXX. On +En examinant le Gcode, on repère des lignes G1 qui sont suivies de SXXX et FXXX. 
 On a en particulier choisi le mode d'opération M3 "puissance constante" (et non M4 modulé en fonction de la vitesse de déplacement). Le code du réglage de la puissance est SXXXX (de 0 à 1000), et F est le "feed-rate". On a en particulier choisi le mode d'opération M3 "puissance constante" (et non M4 modulé en fonction de la vitesse de déplacement). Le code du réglage de la puissance est SXXXX (de 0 à 1000), et F est le "feed-rate".
  
-Avec Lightburn, on envoie une séquence M3 G1S100F100. +Avec Lightburn, on envoie divers séquences, et on observe alors à l'oscilloscope :
-Voici ce qu'on observe alors à l'oscilloscope :+
  
 |séquence envoyée|  M3 G1S100F100  |  M3 G1S400F100  |  M3 G1S800F100  | |séquence envoyée|  M3 G1S100F100  |  M3 G1S400F100  |  M3 G1S800F100  |
 |PWM constaté |  10%  |  40%  |  80%  | |PWM constaté |  10%  |  40%  |  80%  |
-|observation|{{ :wiki:divers:pwm_100.png?300 |}}|{{ :wiki:divers:pwm_400.png?300 |}}|{{:wiki:divers:pwm_800.png?300}} |+|observation|{{ :wiki:divers:pwm_100.png?300 }}|{{ :wiki:divers:pwm_400.png?300 }}|{{:wiki:divers:pwm_800.png?300}} |
  
 +Accessoirement, on peut mesurer la fréquence du PWM, qui est 1kHz, conformément d'ailleurs à ce qui est annoncé dans la documentation de grbl.
 +
 +
 +==== Décodage par l'Arduino et remontage global ====
 +
 +Un point important est d'assurer la continuité des masses sur l'ensemble du montage. Même ainsi les moteurs pas-à-pas génèrent un bruit important sur le PWM que l'on cherche à exploiter.
 +
 +Je dessine alors un carré avec 4 côtés de couleurs différentes dans Lightburn, j'exporte le Gcode, que j'ouvre avec UGS :
 +<code>; LightBurn 1.1.03
 +; GRBL device profile, absolute coords
 +; Bounds: X20 Y30 to X50 Y60
 +G00 G17 G40 G21 G54
 +G90
 +M4
 +; Cut @ 100 mm/sec, 20% power
 +M9
 +G0 X20Y30
 +M3
 +; Layer C00
 +G1 X50S200F6000
 +; Cut @ 100 mm/sec, 40% power
 +M9
 +G0 X50Y30
 +; Layer C01
 +G1 Y60S400
 +; Cut @ 100 mm/sec, 60% power
 +M9
 +G0 X50Y60
 +; Layer C03
 +G1 X20S600
 +; Cut @ 100 mm/sec, 100% power
 +M9
 +G0 X20Y60
 +; Layer C02
 +G1 Y30S1000
 +M9
 +G1 S0
 +M5
 +G90
 +; return to user-defined finish pos
 +G0 X0 Y0
 +M2
 +</code>
 +
 +Voici le résultat :
 +
 +{{ :wiki:divers:jinsoku_le1620.mp4 |}}
wiki/divers/reverse_jinsokule1620.1651167258.txt.gz · Dernière modification: 2022/04/28 17:34 de