Micro-tour : Différence entre versions

De fablabo
Aller à : navigation, rechercher
(Commande des contrôleurs moteurs avec LinuxCnc)
 
(49 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 5 : Ligne 5 :
 
|description=Micro-tour EMCO
 
|description=Micro-tour EMCO
 
|license=CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France
 
|license=CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France
|contributeurs=Cesbron yann, Letertre Didier, Vinet Alexandre,
+
|contributeurs=Cesbron yann, Letertre Didier, Vinet Alexandre, Glennln,
 
|inspiration=Pour faire suite à l’acquisition de micro-tours à Plateforme C, l'idée est de rendre possible l’utilisation tout en en cadrant l'usage pour apporter de la sécurité aux utilisateurs.
 
|inspiration=Pour faire suite à l’acquisition de micro-tours à Plateforme C, l'idée est de rendre possible l’utilisation tout en en cadrant l'usage pour apporter de la sécurité aux utilisateurs.
}}
+
}}
 
Ces petites machines peuvent être dangereuses si mal utilisées. Les points à traiter pourraient être les suivants dans un premier temps.
 
Ces petites machines peuvent être dangereuses si mal utilisées. Les points à traiter pourraient être les suivants dans un premier temps.
  
Ligne 59 : Ligne 59 :
 
La Compact 5 doit afficher dès lors "CHARGEMENT PROGRAMME".<br />
 
La Compact 5 doit afficher dès lors "CHARGEMENT PROGRAMME".<br />
 
Après le chargement le code CNC apparait sur l'écran si celui-ci est connecté.<br />
 
Après le chargement le code CNC apparait sur l'écran si celui-ci est connecté.<br />
 +
 +
= Rétrofit LinuxCnc =
 +
'''Mais qu'est ce qu'un retrofit ?'''<br />
 +
Faire le rétrofit d'une machine c'est remplacer partiellement ou complètement son électronique.<br />
 +
Cette démarche est généralement accompagné d'une rénovation comprenant nettoyage, peinture et autres améliorations pratiques.<br /><br />
 +
 +
'''Pourquoi faire un rétrofit ?'''<br />
 +
L'électronique de ce tour se fait vieillissante.<br />
 +
A l'époque, pour usiner une pièce, il fallait programmer manuellement chaque déplacement de la machine. Ça demande de l'expérience et c'est surtout très long.<br />
 +
Aujourd'hui, il existe des logicielles de fabrications assistés par ordinateurs qui automatisent cette tâche. Le soucis, c'est que le langage de programmation de l'époque n'est pas compatible avec ces logiciels.<br /><br />
 +
 +
Remplacer une partie de l'électronique permettra d'utiliser des logiciels modernes tel que Fusion 360, SolidWorks et peut-être un jour FreeCad.<br />
 +
 +
=== Cahier des charges ===
 +
* Sécuriser l'utilisation du tour (forcer la fermeture du cartère)
 +
* Facilité l'utilisation du tour (boutons de contrôles physiques, éclairage de la zone de travail...)
 +
* Fiabiliser le tour (capteurs vérifiant la position de la tourelle, capteur évitant une collision avec la poupée mobile...)
 +
* Nettoyer la rouille, réparer les presses étoupes, faire un nouveau panneau de contrôle...
 +
 +
A fin de minimiser le coût et la charge de travail, cette conversion doit conserver un maximum de pièces d'origine.
 +
 +
=== Schéma structurel du RetroFit ===
 +
En bleu les composants d'origines, en jaune les nouveaux composants:
 +
[[Fichier:StructureLinuxCncTourEmco.jpg|vignette|centré]]
 +
 +
== Contrôleurs moteurs ==
 +
Caractéristique des axes:
 +
* moteur pas à pas unipolaire 5° soit 72 pas par révolution
 +
* Couple 0.5Nm
 +
* Déplacement rapides 700mm/min; travail 10-500mm/min
 +
* Course X50mm Y300mm
 +
* Affichage de la position au 1/100mm soit 0.01mm
 +
* Effort d'avance 1000N
 +
* Incrément minimal 0.0138mm (soit 1/72, j'imagine alors que la vis à bille a un pas de 1mm ? Bizarre car les forums disent 2.5mm, bon après il y a une réduction de 5:2 entre le moteur et la vis...)
 +
* Config LinuxCnc d'internet: 1828,8 pas/pouce soit 72 pas/mm (20 000ns steplenght)
 +
[[Fichier:Incréments d'avance des axes.png|vignette]]
 +
 +
=== Commande des contrôleurs moteurs avec une arduino ===
 +
A gauche, un analyseur logique fût utilisé pour enregistrer les signaux échangés entre le maitre de commande et la carte contrôleur moteurs.
 +
<br />
 +
A droite, un code arduino reproduit ces signaux.
 +
[[:File:ArduinoEmcoFullStepGen.ino]]
 +
[[Fichier:Signaux générés par le maître de commande pour la carte contrôleur moteurs.jpg|vignette|centré]]
 +
 +
Brochage de la carte contrôleur moteur:
 +
[[Fichier:Brochage Carte Contrôleur Moteur.png|vignette|centré]]
 +
 +
Câblage arduino:
 +
[[Fichier:Câblage arduino --- Contrôleur moteur.jpg|vignette|centré]]
 +
[[Fichier:Câblage arduino - Contrôleur Moteur 02.jpg|vignette|centré]]
 +
 +
=== Commande des contrôleurs moteurs avec LinuxCnc ===
 +
LinuxCnc sait générer ces signaux, il suffit de configurer Step Type to 8 or 2:
 +
[[Fichier:LinuxCncStepType8.jpg|vignette|centré]]
 +
[[Fichier:LinuxCncStepType2.jpg|vignette|centré]]
 +
[[Fichier:CablageX35.jpg|vignette|centré]]
 +
<br />
 +
[[:File:Configuration Retrofit LinuxCnc Tour Emco Compact 5 25-11-21.zip]]<br />
 +
Cette configuration permet à LinuxCnc de piloter la carte contrôleur moteur d'origine.
 +
Son fonctionnement est validé, les axes X et Z fonctionnent.<br />
 +
[https://youtu.be/v5zNzp2b9nA Vidéo d'explication]<br />
 +
[https://youtu.be/WiTnNDD-yGQ Démonstration d'un usinage manuel]<br />
 +
Lignes à ajouter dans le fichier HAL
 +
[[Fichier:HAL LCNC 251121.png|vignette|centré]]<br />
 +
'''A savoir:'''<br />
 +
Il faut alimenter la carte contrôleur moteur en 5v via les deux premières broches du connecteurs X35 '''ou''' X34. Il n'est pas nécessaire d'alimenter la carte via les connecteurs X35 '''et''' X34.<br />
 +
La documentation LinuxCnc indique ce brochage:<br />
 +
[[Fichier:BrochageDB25LCNC.png|vignette|centré]]
 +
En tenant compte des paramètres spécifiés dans le fichier HAL et de la couleurs des fils du câble DB25 cela donne:<br />
 +
[[Fichier:CâbleDB25Coloré.jpg|vignette|centré]]
 +
Fil de COULEUR x avec une petite bande de couleur y<br />
 +
* Parport1_ROUGE-noir_xAxisPhaseA
 +
* Parport2_ORANGE-noir_xAxisPhaseB
 +
* Parport3_VERT-noir_xAxisPhaseC
 +
* Parport4_ROSE-noir_xAxisPhaseD
 +
* Parport5_BLEU-noir_zAxisPhaseA
 +
* Parport6_MARRON-blanc_zAxisPhaseB
 +
* Parport7_ROUGE-blanc_zAxisPhaseC
 +
* Parport8_ORANGE-blanc_zAxisPhaseD
 +
 +
== Tourelle ==
 +
[[Fichier:CliquetTourelle2.jpg|vignette|centré]]
 +
La tourelle permet de changer d'outil automatiquement. Elle dispose de 6 positions et ne peux tourner que dans un sens.
 +
<br />
 +
Il y a donc une certaine logique à mettre en place pour savoir de combien de crans la tourelle doit avancer pour arriver au numéro d'outil demandé.
 +
=== Caractéristiques de la tourelle ===
 +
Le moteur DC semble être alimenté en permanence à -3,25v, il consomme 100mA à vide et 280mA quand il a atteinte la buté du cliquet.
 +
<br />
 +
Lors d’un changement d’outil, le moteur est alimenté en +13,5v juste le temps d’avancer d’une position puis il se remet à -3,25v.
 +
<br />
 +
Cette opération est répété le nombre de fois nécessaire pour atteindre le bon numéro d’outil.
 +
[[Fichier:Voltage Tourelle.png|vignette|centré]]
 +
===== Brochage de la tourelle =====
 +
Seul les fils marrons et verts du connecteurs sont utilisés pour piloter le moteur DC.
 +
<br />
 +
Il n'y a aucun retour d'information.
 +
[[Fichier:Câblage Tourelle.jpg|vignette|centré]]
 +
 +
===== Changement de deux positions =====
 +
Tension et temporalité mesuré à l'oscilloscope:
 +
[[Fichier:TimingOscilloTourelle.png|vignette|centré]]
 +
[[Fichier:TimingOscilloTourelle2.png|vignette|centré]]
 +
*-4v permanence
 +
*13v 2sec
 +
*-4v 3 sec
 +
*13v 2sec
 +
*-4v permanence
 +
 +
=== Logique de la tourelle ===
 +
==== Algorithme général ====
 +
===== Variables =====
 +
Tn = Nouvel outil demandé
 +
<br />
 +
Ta = Outil actuel
 +
<br />
 +
N = Nombre de position à avancer pour atteindre l’outil demandé
 +
<br />
 +
===== Programme =====
 +
N = Tn-Ta
 +
<br />
 +
Si N < 1 ; Ça revient à dire si Tn<Ta
 +
<br />
 +
*N= 6+N ;  Il faut faire un tour moins la différence entre Tn et Ta
 +
*Avancer la tourelle de N crans
 +
Sinon ; Faut juste avancer la tourelle du nombre de crans manquant
 +
<br />
 +
*Avancer la tourelle de N crans
 +
 +
 +
==== Exemple simple ====
 +
===== Variables =====
 +
Tn = 5
 +
<br />
 +
Ta = 2
 +
<br />
 +
N = C’est notre inconnu
 +
<br />
 +
===== Programme =====
 +
N = 5-2 = 3
 +
<br />
 +
Si N < 1 ; Pas besoins de rentrer dans cette boucle comme 3 est positif
 +
*N= 6+N 
 +
*Avancer la tourelle de N crans
 +
Sinon ; Faut juste avancer la tourelle du nombre de crans manquant
 +
*Avancer la tourelle de 3 crans
 +
 +
 +
==== Exemple complexe ====
 +
===== Variables =====
 +
Tn = 3
 +
<br />
 +
Ta = 5
 +
<br />
 +
N = C’est notre inconnu
 +
<br />
 +
===== Programme =====
 +
N = 3-5 = -2
 +
<br />
 +
Si N < 1 ; N vaut -2, c’est négatif, je rentre dans cette boucle
 +
*N= 6+(-2) =4
 +
*Avancer la tourelle de 4 crans
 +
Sinon ; J’ai appliqué le Si donc j’applique pas le sinon
 +
*Avancer la tourelle de N crans
 +
<br />
 +
 +
=== Routine LinuxCnc ===
 +
 +
== Interrupteur fin de course ==
 +
== Codeur rotatif ==
  
 
=== Documentation ===
 
=== Documentation ===

Version actuelle en date du 27 novembre 2021 à 17:10


Micro-tour EMCO

Face avant.jpg

Statut du projet

Fonctionnel

Statut de la publication

Brouillon

License

CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France

Inspiration

Pour faire suite à l’acquisition de micro-tours à Plateforme C, l'idée est de rendre possible l’utilisation tout en en cadrant l'usage pour apporter de la sécurité aux utilisateurs.

Fichiers source

Machines

Matériaux

Lien




Ces petites machines peuvent être dangereuses si mal utilisées. Les points à traiter pourraient être les suivants dans un premier temps.

1- sur le plan technique:

- valider les différents modes de fonctionnement, manuel et piloté (cnc)
- ajout de sécurité
- documenter et compléter l'existant technique

3 - sur le plan logiciel:

- il y a 2 logiciels à essayer. Il sont à disposition et en usage libre 
  MFI développé par EMCO 
  Un autre pour définir les paramétrés d'usinage en fonction du matériau

3 - sur le plan organisationnel:

- définir les usages possibles
- définir les compétences nécessaires minimales
- définir les modes d’accès (libre ou accompagné)
- documenter l'utilisation de base 
- mettre au point une formation/monitorat

-- Mise en garde --

L’utilisation des cette machine peut être dangereuse si on n'a pas les connaissances de base de tournage et de son fonctionnement. Pour assurer la sécurité, demander à la personne responsable de l’atelier avant tout usage.


C'est quoi un tour?

Le tour est une machine-outil permettant de réaliser les opérations de tournage Elle permet l'usinage de pièces plastiques ou métalliques par enlèvement de matière à l'aide d'un outil coupant. La matière de base est généralement cylindrique, elle est maintenue dans un mandrin mis en rotation. le déplacement de l'outil sur les axes X et Z permettra la réalisation de la pièce finale. Plus d'infos ici

Le micro-tour EMCO

Ce tour est une machine à commande numérique destiné à l’apprentissage pour l'usinage de petites pieces. il peut être piloté ou utilisé en mode manuel. Ses caractéristiques imposent la taille maxi des pièces à usiner. En fonction du matériau, les paramètres d'usinage avance,vitesse, etc devront être maitrisées pour réaliser un travail en securité.

Documentation sur le forum dedié

L’électronique de commande

File:Emco compact 5 CNC electronique bis.pdf

Connexion PC et logiciel de commande MFI

connecteur DB9 assurant la liaison série

Il faut un ordinateur avec une connexion liaison sérielle(RS232) ou un adaptateur USB vers RS232. Il faut la carte vidéo dans la Compact 5 et le câble de liaison sérielle entre ordi et Compact 5 avec le connecteur rond spécifique à EMCO qui sera à replacer par un DB9

- pour se connecter:
Dans MFI sous "Settings - COM": uniquement cocher "Enable Communication"
Mettre le bon port COM.
Sur la Compact 5 aller en mode CNC (avec la touche H/C), puis taper: "INP - 66 - INP - INP" et la machine est en mode réception.
Elle affiche "RS 232 OPERATION".
Ensuite charger le programme avec MFI sous "Transfert - Transfert to EMCO".
La Compact 5 doit afficher dès lors "CHARGEMENT PROGRAMME".
Après le chargement le code CNC apparait sur l'écran si celui-ci est connecté.

Rétrofit LinuxCnc

Mais qu'est ce qu'un retrofit ?
Faire le rétrofit d'une machine c'est remplacer partiellement ou complètement son électronique.
Cette démarche est généralement accompagné d'une rénovation comprenant nettoyage, peinture et autres améliorations pratiques.

Pourquoi faire un rétrofit ?
L'électronique de ce tour se fait vieillissante.
A l'époque, pour usiner une pièce, il fallait programmer manuellement chaque déplacement de la machine. Ça demande de l'expérience et c'est surtout très long.
Aujourd'hui, il existe des logicielles de fabrications assistés par ordinateurs qui automatisent cette tâche. Le soucis, c'est que le langage de programmation de l'époque n'est pas compatible avec ces logiciels.

Remplacer une partie de l'électronique permettra d'utiliser des logiciels modernes tel que Fusion 360, SolidWorks et peut-être un jour FreeCad.

Cahier des charges

  • Sécuriser l'utilisation du tour (forcer la fermeture du cartère)
  • Facilité l'utilisation du tour (boutons de contrôles physiques, éclairage de la zone de travail...)
  • Fiabiliser le tour (capteurs vérifiant la position de la tourelle, capteur évitant une collision avec la poupée mobile...)
  • Nettoyer la rouille, réparer les presses étoupes, faire un nouveau panneau de contrôle...

A fin de minimiser le coût et la charge de travail, cette conversion doit conserver un maximum de pièces d'origine.

Schéma structurel du RetroFit

En bleu les composants d'origines, en jaune les nouveaux composants:

StructureLinuxCncTourEmco.jpg

Contrôleurs moteurs

Caractéristique des axes:

  • moteur pas à pas unipolaire 5° soit 72 pas par révolution
  • Couple 0.5Nm
  • Déplacement rapides 700mm/min; travail 10-500mm/min
  • Course X50mm Y300mm
  • Affichage de la position au 1/100mm soit 0.01mm
  • Effort d'avance 1000N
  • Incrément minimal 0.0138mm (soit 1/72, j'imagine alors que la vis à bille a un pas de 1mm ? Bizarre car les forums disent 2.5mm, bon après il y a une réduction de 5:2 entre le moteur et la vis...)
  • Config LinuxCnc d'internet: 1828,8 pas/pouce soit 72 pas/mm (20 000ns steplenght)
Incréments d'avance des axes.png

Commande des contrôleurs moteurs avec une arduino

A gauche, un analyseur logique fût utilisé pour enregistrer les signaux échangés entre le maitre de commande et la carte contrôleur moteurs.
A droite, un code arduino reproduit ces signaux. File:ArduinoEmcoFullStepGen.ino

Signaux générés par le maître de commande pour la carte contrôleur moteurs.jpg

Brochage de la carte contrôleur moteur:

Brochage Carte Contrôleur Moteur.png

Câblage arduino:

Câblage arduino --- Contrôleur moteur.jpg
Câblage arduino - Contrôleur Moteur 02.jpg

Commande des contrôleurs moteurs avec LinuxCnc

LinuxCnc sait générer ces signaux, il suffit de configurer Step Type to 8 or 2:

LinuxCncStepType8.jpg
LinuxCncStepType2.jpg
CablageX35.jpg


File:Configuration Retrofit LinuxCnc Tour Emco Compact 5 25-11-21.zip
Cette configuration permet à LinuxCnc de piloter la carte contrôleur moteur d'origine. Son fonctionnement est validé, les axes X et Z fonctionnent.
Vidéo d'explication
Démonstration d'un usinage manuel
Lignes à ajouter dans le fichier HAL

HAL LCNC 251121.png

A savoir:
Il faut alimenter la carte contrôleur moteur en 5v via les deux premières broches du connecteurs X35 ou X34. Il n'est pas nécessaire d'alimenter la carte via les connecteurs X35 et X34.
La documentation LinuxCnc indique ce brochage:

BrochageDB25LCNC.png

En tenant compte des paramètres spécifiés dans le fichier HAL et de la couleurs des fils du câble DB25 cela donne:

CâbleDB25Coloré.jpg

Fil de COULEUR x avec une petite bande de couleur y

  • Parport1_ROUGE-noir_xAxisPhaseA
  • Parport2_ORANGE-noir_xAxisPhaseB
  • Parport3_VERT-noir_xAxisPhaseC
  • Parport4_ROSE-noir_xAxisPhaseD
  • Parport5_BLEU-noir_zAxisPhaseA
  • Parport6_MARRON-blanc_zAxisPhaseB
  • Parport7_ROUGE-blanc_zAxisPhaseC
  • Parport8_ORANGE-blanc_zAxisPhaseD

Tourelle

CliquetTourelle2.jpg

La tourelle permet de changer d'outil automatiquement. Elle dispose de 6 positions et ne peux tourner que dans un sens.
Il y a donc une certaine logique à mettre en place pour savoir de combien de crans la tourelle doit avancer pour arriver au numéro d'outil demandé.

Caractéristiques de la tourelle

Le moteur DC semble être alimenté en permanence à -3,25v, il consomme 100mA à vide et 280mA quand il a atteinte la buté du cliquet.
Lors d’un changement d’outil, le moteur est alimenté en +13,5v juste le temps d’avancer d’une position puis il se remet à -3,25v.
Cette opération est répété le nombre de fois nécessaire pour atteindre le bon numéro d’outil.

Voltage Tourelle.png
Brochage de la tourelle

Seul les fils marrons et verts du connecteurs sont utilisés pour piloter le moteur DC.
Il n'y a aucun retour d'information.

Câblage Tourelle.jpg
Changement de deux positions

Tension et temporalité mesuré à l'oscilloscope:

TimingOscilloTourelle.png
TimingOscilloTourelle2.png
  • -4v permanence
  • 13v 2sec
  • -4v 3 sec
  • 13v 2sec
  • -4v permanence

Logique de la tourelle

Algorithme général

Variables

Tn = Nouvel outil demandé
Ta = Outil actuel
N = Nombre de position à avancer pour atteindre l’outil demandé

Programme

N = Tn-Ta
Si N < 1 ; Ça revient à dire si Tn<Ta

  • N= 6+N ; Il faut faire un tour moins la différence entre Tn et Ta
  • Avancer la tourelle de N crans

Sinon ; Faut juste avancer la tourelle du nombre de crans manquant

  • Avancer la tourelle de N crans


Exemple simple

Variables

Tn = 5
Ta = 2
N = C’est notre inconnu

Programme 

N = 5-2 = 3
Si N < 1 ; Pas besoins de rentrer dans cette boucle comme 3 est positif

  • N= 6+N 
  • Avancer la tourelle de N crans

Sinon ; Faut juste avancer la tourelle du nombre de crans manquant

  • Avancer la tourelle de 3 crans


Exemple complexe 

Variables 

Tn = 3
Ta = 5
N = C’est notre inconnu

Programme 

N = 3-5 = -2
Si N < 1 ; N vaut -2, c’est négatif, je rentre dans cette boucle

  • N= 6+(-2) =4
  • Avancer la tourelle de 4 crans

Sinon ; J’ai appliqué le Si donc j’applique pas le sinon

  • Avancer la tourelle de N crans


Routine LinuxCnc

Interrupteur fin de course

Codeur rotatif

Documentation

File:Introduction1.pdf
File:Emco Compact 5 CNC 1 - Introduction.pdf
File:Emco Compact 5 CNC 2 - Fonctionnement en manuel.pdf
File:Emco Compact 5 CNC 3 - Fonctionnement en CNC.pdf
File:Emco Compact 5 CNC 4 - Etablissement du Programme.pdf
File:Emco Compact 5 CNC 6 - Signaux d_alarme.pdf
File:Emco Compact 5 CNC 7 - Exploitation en Cassettes.pdf
File:Emco Compact 5 CNC 8 - Les Outils.pdf
File:Emco Compact 5 CNC 9 - Regards sur les tours de production.pdf
File:Emco Compact 5 CNC 10 - Nouvel ensemble de logiciel - Extension.pdf
File:Emco compact 5 CNC electronique bis.pdf
File:Emco compact 5 CNC electronique.pdf
File:33541911-EMCO-Compact-5-CNC-Maintenance-Manual.pdf
File:ch0.pdf
File:ch4.pdf