Micro-tour : Différence entre versions
(→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
Contributeur·ice·s
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
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:
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)
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
Brochage de la carte contrôleur moteur:
Câblage arduino:
Commande des contrôleurs moteurs avec LinuxCnc
LinuxCnc sait générer ces signaux, il suffit de configurer Step Type to 8 or 2:
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
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:
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:
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
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.
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.
Changement de deux positions
Tension et temporalité mesuré à l'oscilloscope:
- -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