Bonjour,
L'inscription sur ce forum et les premiers messages sont modérés par un Administrateur.
Ce n'est pas très convivial mais malheureusement nécessaire suite au spam intensif de nos amis russes.
Cordialement,
Dominique

GCode Proxy pour Air Assist

Le Pico est animé par le microcontrôleur RP2040, un Cortex-M0+ double coeurs à 133 Mhz avec 2 Mio de Flash (QSPI) et une RAM dépassant les 256 Kio (~265Kio). La carte propose 26 GPIOs avec 6 bus (2x I2C, 2x SPI, 2x UART, 16x PWM, 3x ADC 12 bits).
Sous MicroPython, le RP2040 dispose d'un système de fichiers de ~128 Kio.
Forum rules
Vous aimez MicroPython? Nous aussi! Ces forums sont destinés aux amoureux de Python sur MicroContrôleur.
Le support se fait sur base volontaire et uniquement pour des produits officiels (pas de copie SVP).
Le forum de MicroPython.org sera une excellente référence documentaire (en anglais).

Merci de suivre les recommandations suivantes.
Pensez à:
  • Titre claire: permettant d'identifier le produit et le problème
  • Contenu complet: schema, message d'erreur, etc (tout ce qui permet d'aider à distance).
  • Fichier joint: Max 300 Ko
  • Courtoisie et précision
Post Reply
User avatar
Coyotte
Posts: 44
Joined: Mon 12 Apr 2021 16:42
Location: Liège (Belgium)

GCode Proxy pour Air Assist

Post by Coyotte »

Bonjour à toutes et tous,

Je dispose d'une graveuse/découpeuse Laser Ortur.
Celle-ci dispose d'un compresseur d'air pour assister la découpe. Mais ce compresseur doit être désactivé pour la gravure sans quoi le résultat est "baveux".
Je voudrais donc pouvoir activer et désactiver l'assistance en fonction de la tâche en cours.
Il appert que Lightburn est capable d'envoyer un code M8/M9 pour activer/désactiver cette assistance.

L'idée est donc de créer un proxy placé entre le PC et la graveuse. Ce proxy analyse le flux de commandes et lorsqu'il détecte une commande M8 activer une sortie qui pilote (via un MOSFET ?) une électrovanne pour le flux d'air. Lorsqu'un M9 est détecté, il désactive la vanne.
Avec une ou deux fonctions complémentaires probablement et un petit écran I2C, ce serait un petit projet assez simple à programmer en micropython.

J'ai besoin d'une conversion serial <-> USB pour le côté PC et le côté graveuse.
Je pense, par exemple, à deux FT-232 mais il y a peut-être une solution plus élégante ?

[Edit]
Il appert que les choses seront moins simples que prévu: les FT232 (ou équivalents) nécessitent un driver. Si cela ne pose pas de problème côté PC, cela ne sera pas possible côté graveuse.

De plus, mon système devrait être vu comme un "device" depuis le PC et comme un "host" depuis la graveuse ce qui risque de compliquer les choses.
Un autre approche serait peut-être de créer une "dérivation" qui recevrait aussi le GCode et qui détecterait les codes intéressant le pilotage du flux d'air :

Code: Select all

PC     <----------------------------->  Graveuse
                          |
                          ----------->  Proxy
A suivre...



Coyotte
User avatar
Dominique
Administrateur du site
Posts: 347
Joined: Sun 17 May 2020 22:43

Re: GCode Proxy pour Air Assist

Post by Dominique »

Bonsoir @Coyotte ,
Je sais que la réponse arrive fort tard mais cela pourra toujours être fort utile.

1) Modifier le firmware

La plupart des appareils type imprimante 3D utilisent le firmware marlin (qui n'est que du code Arduino).
Essaye de voir si tu as accès au code du firmware... ce qui permettrait de traiter directement les code M8 & M9 au bon endroit pour activer/désactiver un GPIO de la plateforme.

2) Le proxy sur le port série se place entre la PC et le graveur

PC <===> USB<-[Pico]->UART <=serial=link==> Graveur (via UART)

Un Pico peu exposer un port série (UART) via son interface USB et un autre UART sur ses GPIOs.
Peut-être que ton graveur dispose d'une entrée UART... tu écris du code qui lit les données séries sur USB et les renvoi vers l'UART. Au passage, tu essaye de capter les Messages M8 et M9 qui passent sur la ligne série

3) Proxy: PC <===> USB<-[Pico #1]->UART <=serial=link==> UART<-[Pico #2]->USB <====> Graveur

Tu peux aussi utiliser deux Pico... un de chaque côté en faisant communiquer les pico ensembles via leurs UARTs respectif.

Bien à toi,
Dominique
Dominique, MC Hobby.
User avatar
Coyotte
Posts: 44
Joined: Mon 12 Apr 2021 16:42
Location: Liège (Belgium)

Re: GCode Proxy pour Air Assist

Post by Coyotte »

Merci Dominique pour ta réponse.

Je ne me sens pas d'aller modifier le firmware de ma graveuse.

Après réflexion, je suis aussi arrivé par ta solution N°3.
Reste à voir s'il n'existe pas un device quelconque déjà capable de faire le job.

Je vais faire quelques recherches...


Coyotte
Post Reply