Remise à neuf de la K40 à Chemillé

Depuis Juin 2018, une collaboration épisodique s’est mis en place entre l’Infini Fab et le Boc@l de Chemillé. Ce dernier possède une découpeuse laser de type K40 non utilisée et avec des travaux d’améliorations non-terminés.

L’objectif de l’Infini Fab est de terminer ces travaux d’amméliorations, vous trouverez ci-dessous toutes les étapes effectuées jusqu’à présent ainsi que celles prévues.

La K40 est une découpeuse laser populaire chez les bidouilleurs car elle n’est pas chère et peut s’améliorer sans trop de frais.

La situation avant le début des travaux:

Le boc@l a déjà changé la carte de commande de base de la K40 pour la remplacer par une smoothieboard Au départ le laser de la K40 fonctionne mais la smoothieboard ne semble pas commander les moteurs Le boc@l a entrepris ses travaux d’amélioration en même temps qu’un autre fablabs Pronterface est le logiciel utilisé pour communiquer avec la smoothieboard.

Travaux effectués

Pour la rennovation

Pour la callibration

La situation Actuelle

Aujourd’hui la K40 est situé dans le local de l’association Science&Bidouille à Angers, et est à disposition d’un nombre limité d’utilisateur pour l’instant. La K40 Permet aujourd’hui de faire uniquement de la gravure, il faut regler les mirroirs et les nettoyer pour gagner en puissance.

Le fichier de configuration actuel

Ce qui a été effectué au Boc@l

Les problemes Cause possible Action Corrective
Moteurs OFF branchement de l’alimentation moteur inversée sur la smoothieboard mise au bon endroit du + et -
Commandement des moteurs X&Y ne correspond pas sur Pronterface mauvais branchement de la commande de moteurs sur la smoothieboard Moteur X branché sur M1 Moteur Y branché sur M2
Direction du moteur Y inversée moteur inversée sur la smoothieboard Changement du parametre de configuration de la smoothie board
Mauvais “homing” sur l’axe X l’interupteur fonctionne (testé avec la commande M119 sur Pronterface) message d’erreur lors du homing en “X” : ERROR: Homing cycle failed - check the max_travel settings changement des parametres moteurs : alpha_steps_per_mm 80 beta_steps_per_mm 80 par 200 pour les 2 valeurs
Masse du boitier non connecté à la masse du réseau electrique Machine suivant les normes chinoises raccord de la masse au boitier de la K40
Non commande du laser par la smoothieboard La smoothie envoi un signal logique entre 0 et 3.3V pour commander le laser, l’alimentation de la laser attends des ordres entre 0 et 5V. production & intégration d’un level-shifter permettant de commander l’entrée en 0-5V avec une sortie 0-3.3V

Les ameliorations

Pour la rénovation

Mise en place d’un serveur Octoprint

cercle_vert Octoprint est un serveur dédié installé sur un Raspberry Pi qui permete de commander un machine numérique qui fonctionne en G-Code(imprimante 3D, découpeuse laser). Ce type de serveur permet la préparation d’un job d’un manière classique(jusqqu’à obtention du gcode) sur un PC, puis d’envoyer le gcode sur Octoprint. Cela permet de garder un suivi des job qui sont exécuter sur la machine.

Methode utilisée pour configurer l’Octoprint pour le Smoothieboard

Le capteur de temperature

cercle_vert Le tube laser est sensible au hausse de température, pour éviter une surchauffe nous allons intaller une capteur de température au niveau du liquide de refroidissement.

Materiel: * Sonde temperature DS18B20

../_images/ds18b20.jpg
  • Arduino nano
  • Afficheur 7 segments
  • 7 Resistance 220 Ohm
  • 1 Resistance 10 kOhm

Mesurer la température

page où le code pour afficher la température à été récuperer

le code final

Note

Dans le code, on appelle la fonction température 1 fois toute les 1000 itérations de la loop pour avoir un affichage qui ne clignote pas

Le nouveau lit

cercle_vert La surface de travail de base de la K40 est assez réduite, alors qu’elle peut etre facilement doublée. Il faudrait changer le type de lit, une surface métalique pleine telle que celle de base induit une réflexion du laser et donc sur le dessous du materiel à couper. L’idéal serait un lit en nid d’abeille

../_images/honeycombe.jpg

Mais un grillage, une plaque trouée devrait suffire. On a pu récuperer des grillages qui étant le devant de chauffage électrique. On a suffisamment de surface pour doubler la couche de grillage pour le lit, cela pourrait augmenter la rigidité de celui-ci.

On a finalement utilisé qu’une seule couche de grillage, on a fabriqué une structure qui est ajustable en hauteur en suivant le lien suivant :

Lien thingiverse explicant tout

Configuration du nouveau lit dans les parametres de la Smoothie

  • On a inversé le sens de l’axe des Y, c’est peut etre pas une bonne idée vu que les gravures apparaisse en mirroir, ce qui est genant pour les écritures, à revoir cercle_jaune
  • La nouvelle taille du lit est maintenant de 326mm suivant l’axe des x et de 207mm suivant l’axe Y

La tête du laser

cercle_jaune Le focus du laser est très important pour exploiter au maximum la puissance du laser. Ce focus se reggle en modifiant la hauteur entre le materiaux et la tête du laser. Plutôt que d’opter pour une solution où c’est le lit du laser qui doit changer de hauteur nous allons chosir de changer la tête de base de la k40 pour une tête qui peut bouger en hauteur.

Comme celle-ci :

../_images/tetelaser.webp

On a bien reçu a pièce, mais je me suis trompé dans le reference, la lentille actuelle de la k40 fait 18mm de diamètre, la pièce commandée est faite pour une lentille de 12mm. De plus sur la pièce commandée je ne vois pas comment la fixer sur le rail des X. Vu le temps pour recevoir la pièce (2mois) on va partir sur une solution imprimée 3D, avec la pièce suivante :

Fichiers utilisés pour la nouvelle tête Merci à Pascal qui a imprimer gracieusement les pièces, mais c’est solution n’était pas assez fiable pour une utilisation sereine.

Finalement, faute de temps et de budget on va ajuster le focus via le lit que l’on peut ajuster en hauteur. Le nouveau lit

Capteur de fin de course en Y

cercle_vert Le type de capteur utilisé sur la k40 de base

../_images/fin_de_course-origin.jpeg

à priori il fonctionne mais le cablâge n’est plus bon, il faut verifier que le capteur est correctment allimenté(trouver le 5V). Après plusieurs essais, on abandone l’utilisation du capteur d’origine. La solution est alors d’utiliser un capteur méchanique simple.

http://forain-francois-verdier.ecollege.haute-garonne.fr/lectureFichiergw.do?ID_FICHIER=1450339321811

On a installer le capteur en bas du guide de l’axe Y à gauche.

../_images/end_stop.jpg

Interrupteur end_stop sur la laser k40

Dans les fichiers de config de la smoothie, la valeur de Y augmente du haut vers le bas. Dans le fichier de config de la smoothie on a donc un home to max sur l’axe beta.

page explicant les parametre de smoothie sur les endstop

Soufflage au niveau du foyer

cercle_vert

Le laser vaporise le materiel qu’il grave ou découpe, c’est par la suite que celui ci prend feu. Pour éviter des flammes au niveau du foyer et avoir un travail plus propre on a installé un système de soufflerie qui ammène un flux jusqu’au foyer.

Au niveau de la tête du laser, on a monté l’embout suivant imprimé en 3D

Pour pouvoir souffler les particules vaporisées par le laser afin d’éviter qu’elle prennent feu, on dispose d’un souffleur. il a fallu réaliser un un embout imprimmé en 3D.

Securité du capôt

cercle_vert Pour éviter que le laser ne tire avec le capôt ouvert, on a installé un capteur de fin de course, on a suivi l’exemple de la video suivante.

la video d’installation du capteur de fin de course

Modification du capot de commande

cercle_rouge

Il faudrait faire un trou pour y fixer l’afficheur de température

Aménagement de la partie commande

cercle_rouge

Il faut :

  • Fixer la smoothie, celle-ci possède déjà un boitier imprimmé en 3D qui devrait faire l’affaire
  • Fixer le level shifter, il faut d’abord imprimer en 3D un support qui devrait être fixer dans la k40
  • Fixer le boitier d’alimentation des moteurs

Aménagement de la partie usinage

cercle_rouge

  • Mettre un guide pour l’arrivée d’air
  • Installer un laser visible au niveau de la tête du laser pour montrer où celui-ci tire
  • Rendre un peu plus propre la vitre du capôt

Ecran de commande la laser

cercle_rouge On pourrait utilier un écran PiTFT pour pouvoir lancer des jobs en étant devant la laser.

un possible moyen de le faire

Declenchement du compresseur commandé par le laser

cercle_rouge On peut utiliser la sortie de la smoothieboard “laser_module_ttl_pin” à récuperer sur l’Arduino Nano utilisé pour le capteur de température qui commanderais alors le comprésseur

Alimentation thermomètre

cercle_rouge L’arduino qui commande le laser est alimenté via la prise USB qui est actuellement branchée sur le raspberry pi avec Octoprint. Le probleme actuellement est que Octoprint doit detecter automatiquement la smoothie board au démarage, hors si l’Arduino nano est branché sur le raspberry au démarage d’Octoprint, celui-ci est perdu et ne detecte plus la smoothie board.

2 solutions possibles (peut-etre d’autre): * trouver un moyen pour octoprint de ne pas confondre la smoothieboard et l’arduino nano (la plus propre) * Récuperer une tension d’alimentation pour l’Arduino nano, via la smoothie ou directement via une prise 220V

Prévention du laser

cercle_rouge Si l’on alume la K40, que l’on enclenche le laser sans avoir brancher la smoothieboard sur une prise USB, le laser tire. Cela peut etre prevenu en s’assurant que la smoothie soit alimentée via USB avant d’enclencherle laser, Néanmoins c’est perturbant de ne pas avoir la smoothie qui démarre quand on allume la K40.

Si la smoothie est branchée en permanence sur le Rasperry, lors pas de soucis. Sinon trouver un moyen de démarrer la smoothie quand on allume la K40

Le refroidissement du tube laser

cercle_rouge Le tube laser chauffe, et ça c’est très mauvais, nous avons malheureusement déjà expérimenté avec un job de 30 minutes et la température est restée à 34°C. Le tube à priori a déjà subit cette surchauffe, il fonctionne encore mais il faudrait le changer à un moment. Dans tout les cas, pour pouvoir effectuer des jobs de longues durée, il faut mettre en place un système de refroidissement du liquide qui circule dans le tube laser. On va s’orienter vers une solution à base de module à effet Peltier. Une super video de GreatScott dont on peut s’inspirer

L’idée pour l’instant c’est de récupérer le circuit de refroidissement d’un frigo ou d’un radiateur de voiture. Il faudra ensuite faire l’interface entre le module Peltier et le circuit de refroidissement (probablement une plaque d’aluminium)

Pour finaliser il faudra un circuit fermé, dans lequel on ferra circuler le liquide de refroidissement, aujourd’hui on fait circuler de l’eau déminéralisé mais il y a beaucoup mieux à faire

L’alimentation du tube

cercle_rouge Dans la machine il y a une alimentation générale qui alimente le tube. On a pu constater ses limites en cassant à priori le flyback du transformatteur. Il faudra changer cette pièce pour vérifier si c’est bien ça qui a casser Le flyback qui a été commandé

Il est probable qu’on change l’ensemble de l’alimentation d’origine.

L’amélioration des miroirs/optique

cercle_rouge L’optique de base peut faire l’affaire un temps mais il est possible que celle-ci se brise ou s’abîme sous une utilisation intensive. Pour améliorer les performances on cherchera alors à changer le système d’optique (3 mirroir+ 1 lentille)

Le changement du tube

cercle_rouge Changement ultime sur la K40, le tube d’origine peut être remplacer par un tube ayant les même dimensions mais avec de bien meilleures caractéristiques. Le choix du constructeur sera alors essentiel.

Pour la calibration

Calibration des Moteurs

cercle_vert simplement suivre ce tuto

Pour regler les parametres correctement, on commande un déplacement de 100mm, on mesure le déplacement obtenu puis on fait un produit en croix pour obtenir le nouveau parametre de “step per mm” pour l’axe voulu

\(nouveau..step..per..mm=\frac{ancien..step..per..mm * deplacement..désiré}{deplacement..mesuré}\)

Modulation de la puissance du laser

cercle_jaune La smoothie permet de contrôler la puissance du laser en puissance en modifiant la proportion du temps où le laser est allumé

On active le paramètre “laser_module_pwm_period ” et on le met à 200

../_images/ex_gravure.jpg

grille de callibrage utilisée pour tester le modulage de la puissance du laser

On constate qu’on a bien une modulation du laser, mais peut-etre il est possible d’affiner cette modulation afin d’avoir une modulation mieux répartie entre “pas de laser du tout” c.à.d. S=0 et “laser au max” c.à.d. S=1

La méthode utilisée

../_images/lasermodul.png

Le code python utilisé pour générer le Gcode utilisé

le Gcode généré

Calibration des mirroirs

cercle_rouge un très bon guide pour aligner les mirroirs

Pour la calibration, mettre du scotch au niveau des mirroir est fonctionnel mais pas très pratique, la colle du scotch brule et se colle au mirroir. On peut utiliser des support pour mettre des cibles devant les mirroir qui ne les salirons pas en brulant.

Possible outil à imprimmer pour l’alignement

Tester la vitesse maximum de déplacement

On peut commander les moteurs de la k40 avec une vitesse de 10000mm/min ce qui est beaucoup trop pour les moteurs de la laser. En envoyant des consignes de vitesses trop élevée on obtient aucun déplacement. En théorie, la vitesse maximum d’une k40 avec les moteurs de base est de 2000mm/min. Il convient néanmoins d’effectuer des tests afin de vérifier la constance des déplacements des moteurs en fonction de la consigne de vitesse.

Il a fallut mettre en point la méthode suivante

../_images/laserspeedtest.png

Le code python utilisé pour générer le Gcode utilisé

le Gcode généré

Tester l’épaisseur du laser

Lors d’un parametrage d’une gravure ou d’une découpe sur Visicut, on a le paramêtre de l’épaisseur du laser. Pour avoir une découpe précise, on a mis au point la méthode suivante pour déterminer l’epaisseur du laser.

../_images/laserwidth.png

Le code python utilisé pour générer le Gcode utilisé

le Gcode généré

Manuel utilisateur

cercle_jaune Manuel d’utilisation de la k40

La méthode à utiliser pour usiner un job sera surrement via le logiciel Visicut, qui permet de génerer du G-code pour du raster ou de la coupe à partir d’un fichier d’image vectorielle ou d’une image pixelisée