Table XYZ reboot 2019 : Différence entre versions

De Wiki LOGre
Aller à : navigation, rechercher
m (Mercredi 10 juillet 2019)
m (Mercredi 10 juillet 2019)
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 117 : Ligne 117 :
 
* installé une nouvelle alime 24V
 
* installé une nouvelle alime 24V
 
* corrigé le câblage des moteurs, qui est peut-être à l'origine du cramage de l'alime précédente :o/
 
* corrigé le câblage des moteurs, qui est peut-être à l'origine du cramage de l'alime précédente :o/
 +
* changé de sortie pour le signal ''enable'' (câble à vérifier)
 
* changé la config de [http://www.linuxcnc.org/ LinuxCNC] pour faire marcher le homing
 
* changé la config de [http://www.linuxcnc.org/ LinuxCNC] pour faire marcher le homing
 
* démarrage : success !
 
* démarrage : success !

Version du 11 juillet 2019 à 10:06

Nouveau reboot de la Table XYZ (par Fred)

Autres pages :

Présentation

Mon but est principalement de faire de cette machine une fraiseuse CNC, afin de découper des tôles d'alu, pour faire des assemblages type LOGresse.

Marc, Gregmuch et d'autres ont passé un certain nombre d'heures sur cette machine, et ont fait un énorme travail de reverse-engineering : les docs qu'ils ont écrites vont permettre d'avancer assez vite.

Par contre, ils ont à mon sens voulu ré-utiliser trop de choses existantes, et se sont heurté à pas mal de problèmes (câblage...), leur faisant perdre beaucoup de temps et de motivation. Pour ce reboot, l'idée est est de virer tout ce qui relève du bricolage, et de fiabiliser le plus possible la machine afin de pouvoir s'en servir de manière fiable.

Axes de travail

Câblage

L'équipe initiale a eu de gros soucis avec les fins de course pour la prise d'origine. Une erreur sur la carte Arduino concernant le sens des butées (NC et non pas NO) a conduit à une modification sous forme de shield de shield ;o) De plus, le câblage d'origine et le fonctionnement de ces fins de course (optiques) a posé de gros problèmes.

La première chose à faire est donc de re-câbler entièrement ces fins de course, et peut-être de les remplacer par des modèles mécaniques, histoire de partir sur des bases saines.

Drivers moteurs

Les moteurs X et Y sont de gros modèles (Nema 34, 6A/ph), et disposent de leurs drivers de puissance. Ces drivers sont de bonne qualité, et seront donc conservés.

Par contre, le driver de l'axe Z est basé sur le couple L297/L298, un peu dépassé. De plus, Gregmuch a eu des soucis sur le pilotage de cet axe : lors de la découpe des ailes d'avion pour le groupe de lycéennes, la broche plongeait de plus en plus, comme s'il y avait un glissement. Peut-être était-ce dû à un problème sur ce driver ?

Quoi qu'il en soit, vu que le moteur Z est relativement petit (Nema 23, 1A/ph), ce driver sera remplacé par un module courant, genre Stepstick TMC 2130.

Tmc2130.jpg

Alimentations

Pour les axes X et Y, il faut pas mal de courant, mais aussi une tension suffisante pour pouvoir atteindre des vitesses intéressantes (surtout utile pour l'utilisation de la table en imprimante 3D).

L'alimentation d'origine délivre 80V, mais les premiers tests montrent que 24V suffisent.

Électronique

GRBL

La solution GRBL sur Arduino est un bon choix, et sera dans un premier temps conservée. Par contre, plutôt que d'utiliser un shield spécial, je compte utiliser le fameux Arduino CNC Shield.

Arduino CNC Sheild V310 Populated.jpg Arduino-CNC-Shield-V3-Layout.jpg

Un seul module stepstick sera monté sur le shield, les autres drivers seront connectés sur les pins prévues (step/dir).

Cette électronique sera intégrée dans un boîtier avec des connecteurs distincts pour les différents composants :

  • signaux logiques vers les drivers X et Y
  • puissance vers le moteur Z
  • signaux logiques vers les butées de fin de course
  • signaux logiques de contrôle du spindle (dépendra du spindle lui-même)
  • signaux logiques de l'interface (AU, marche/arrêt...)

LinuxCNC

Finalement, c'est LinuxCNC qui sera utilisé. Ce soft (ex-EMC²) intègre à la fois le firmware et le front-end. Ce projet assez ancien dispose d'une grande expertise, d'une très bonne communauté, et d'une documentation de qualité. Il dispose entre outre de plusieurs interfaces, et permet de développer des add-ons à celles existantes ou d'en développer une complète. Ce sera utile pour la suite.

Le PC donné par Baptiste dispose d'un port parallèle, qui permet de générer tous les signaux utiles. Les copains qui avaient travaillé sur le projet avaient justement acheté une carte d'interface pour découpler les I/O et sortir les signaux sur des bornier à vis.

Configuration

GRBL

Step pulse             (µs)        $0=??
Step idle delay        (ms)        $1=10
Step port invert       (mask)      $2=0
Direction port invert  (mask)      $3=0
Step enable invert     (bool)      $4=0
Limit pins invert      (bool)      $5=1
Probe pin invert       (bool)      $6=0
Status report          (mask)      $10=1
Junction deviation     (mm)        $11=0.01
Arc tolerance          (mm)        $12=0.002
Report inches          (bool)      $13=0
Soft limits            (bool)      $20=1
Hard limits            (bool)      $21=0
Homing cycle           (bool)      $22=0
Homing dir invert      (mask)      $23=0
Homing feed            (mm/min)    $24=25.0
Homing seek            (mm/min)    $25=600.0
Homing debounce        (ms)        $26=250
Homing pull-off        (mm)        $27=5.0
Max spindle speed      (rpm)       $30=1000
Min spindle speed      (rpm)       $31=0
Laser mode             (bool)      $32=0
X                      (steps/mm)  $100=80.0
Y                      (steps/mm)  $101=80.0
Z                      (steps/mm)  $102=400.0
X Max rate             (mm/min)    $110=1800.0
Y Max rate             (mm/min)    $111=1800.0
Z Max rate             (mm/min)    $112=300.0
X Acceleration         (mm/sec²)   $120=100.0
Y Acceleration         (mm/sec²)   $121=100.0
Z Acceleration         (mm/sec²)   $122=25.0
X Max travel           (mm)        $130=495.0
Y Max travel           (mm)        $131=395.0
Z Max travel           (mm)        $132=45.0

LinuxCNC

La première chose à faire est de lancer l'utilitaire Stepconf, qui permet de configurer LinuxCNC de manière graphique lorsqu'on utilise le port parallèle.

Log Book

(par ordre chronologique inverse, la dernière entrée est en haut).

Mercredi 10 juillet 2019

  • changé l'opto defecteux sur l'axe Y
  • installé une nouvelle alime 24V
  • corrigé le câblage des moteurs, qui est peut-être à l'origine du cramage de l'alime précédente :o/
  • changé de sortie pour le signal enable (câble à vérifier)
  • changé la config de LinuxCNC pour faire marcher le homing
  • démarrage : success !
  • cherché à optimiser les drivers moteurs pour que ça ne vibre pas : pas concluant, il faudra sans doute en trouver d'autres

Dimanche 7 juillet 2019

  • branchement des moteurs sur le nouveau coffret
  • test -> l'alime 24V Phenix a dégagé !
  • du coup, perdu du temps à connecter la grosse alime de labo pour continuer les tests -> le coffret marche bien
  • testé les butées (opto) re-cablées : Y et Z fonctionnent bien, mais pas X :o( -> faudra démonter/changer l'opto qui déconne
  • au final, pas beaucoup avancé

Mercredi 15 mai 2019

  • testé la carte d'interfaçage pour LinuxCNC : il manquait le câble USB qui permet de l'alimenter par le PC (découplage)
  • monté les attache-câbles imprimées

Mercredi 8 mai 2019

  • remonté le support Z + support du spindle

Mercredi 1er mai 2019

  • fini de re-câbler les optos
  • démonté le support Z pour voir comment fixer le support du spindle

Mercredi 24 avril 2019

  • testé la connexion directe des optos (en série) sur les entrées de butées de GRBL : ça marche impec !

Mercredi 17 avril 2019

  • essayé de filtrer les butées : sans succès (y'a de toute façon aucun signal visible à l'oscillo)
  • activé le DEBOUNCE sur les butées dans le firmware : ça marche ! Pas compris pourquoi...
  • remplacé l'opto sur Y+

Mercredi 3 avril 2019

  • viré la sub-D de l'axe Z : cette saleté était pleine de faux contacts !
  • testé la nouvelle alime 24V/5A : nickel
  • fait des essais avec les butées Z : dès que les moteurs tournent, ça déclenche. Forcément, des signaux TTL qui passent dans le même câble que la puissance moteurs, ça ne peut pas marcher :o/

Dimanche 31 mars 2019

  • nouveau test de pilotage des moteurs : cette fois, tout marche bien (le souci sur Z venait d'un connecteur mal enfiché côté Arduino)
  • constaté que l'alimentation 24V/2,5A est trop juste : comme le signal enable est commun, tous les moteurs pompent en même temps, et l'alime s'écroule, resetant les drivers X et Y. Chose curieuse, ça ne le fait que pendant quelques déplacements, puis tout tombe en marche. Go figure...
  • sur les conseils de Claude, un petit coup de tournevis pour monter la tension (qui peut aller jusqu'à 29V) a permis d'améliorer un peu les choses, mais ça reste insuffisant
  • test d'utilisation des butées dans GRBL : pas tout compris, puisque les moteurs tournent quel que soit l'état des butées (le bit est pourtant activé dans la config)
  • toilettage des boutons en face avant, en vue d'une connexion prochaine
  • réflexion sur la place prise par l'engin + l'établi à côté : on pourrait merger les deux... À discuter avec les adhérents.

Mercredi 27 mars 2019

  • poursuite du nettoyage
  • re-fixage des capots (faudra les enlever de nouveau pour bien nettoyer les glissières)
  • re-serrage des supports de chaînes porte-câbles
  • suppression de tous les câbles inutiles (faudra remplacer les boutons en face avant, qui marchent mal, cause plein de crasse)
  • connexion au nouveau boîtier de contrôle et premiers tests :
    • X et Y fonctionnent bien
    • Z fait des bruits bizarres et part dans n'importe quel sens ! Voir fait un aller-retour lorsqu'on lui demande un déplacement dans une direction ! -> souci avec le driver chinois ou avec le moteur lui-même ? À creuser.

Mercredi 20 mars 2019

  • nettoyage
  • virage des tuyaux pneumatiques
  • désossage vieille électronique :
    • récupéré les 2 gros drivers
    • démonté le châssis en vue d'en refaire un plus petit juste pour les 2 drivers
    • récupéré des torons de fils

Liens

Électronique

Logiciels

Mécanique

Usinage

(choix outils, vitesse, profondeur de passe, aspiration, lubrification...)

Photos