1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

et si j'essayais EMC2 ET UBUNTU

Discussion dans 'EMC2 / LinuxCNC' créé par MR VECTRA, 25 Septembre 2010.

  1. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
    et si j'essayais EMC2 ET UBUNTU
    bonjour à tous

    voila ,je voudrais avoir un comparatif entre le fait de travailler sous linus ubantu avec EMC2 , et les cnc classique , cartes interpolations tournant sous windows !
    une entreprise autralienne me propose des cartes MESA , (cnc ready ) ,mais ne sont pas explicitent du point de vue technique , ils me proposent entre autres une carte FGPA ,carte servo ,carte optocoupleur etc..
    donc voila , je voudrais avoir votre avis , surtout en ce qui concerne la partie retour codeur ,pour l'utilisation des servo-drives et moteurs brushless .
    , est ce le mode step/DIR impulsionnel est toujours valable dans le cas de EMC2 , sinon , pour une commande ANALOGIQUE 0/10V , avec retour codeur sur la carte servo est ce possible etc.... tant de questions :oops:

    merci
    A+
     
  2. horsot

    horsot Compagnon

    Messages:
    768
    Inscrit:
    28 Mai 2009
    Localité:
    Toulouse
    et si j'essayais EMC2 ET UBUNTU
    Bonjour Vectra,

    Je vais essayer de te décrire l'architecture d'EMC2 entre le Gcode et la commande physique du moteur. Ensuite, je vais essayer de te décrire la relation entre les cartes mesa et EMC2.

    De manière simplifié, EMC2 et un logiciel qui converti du Gcode en commande moteurs (axes et broche) et diverses entrées sorties. Pour se faire :
    1- Il décode le Gcode en mouvements de bases dans le "Trajectory Planner" ce que fait tout les logiciels de FAO (à ma connaissance).
    2- Ces mouvements sont ensuite transmis au "motion controleur" qui se charge de séquencer précisément les différents mouvements temporellement vers les axes (moteurs). C'est là où le temps réel est important, le décalage temporel d'une commande se répercute sur la précision de la trajectoire. EMC2 utilise un noyau temps réel pour être précis. Les autres "occultent" ce problème ou utilisent des cartes d'interpolations qui se basentsur des horloges spécifiques. Le souci des cartes d'interpolation (hormis le prix) c'est que l'intelligence est déporté sur la carte et en général les fonctions sont figées et réduites (interpolation 2 axes, pas d'optimisation de trajectoire (accélérations...), géométries triviales, pas de coordination avec la broche (filetage rigide,...), pas de 4ième axe,...).
    3- Les commandes venant du "motion controleur" attaquent les commandes des axes. Hormis pour le bloc PID (logiciel), ces dernières peuvent être de deux types soit logicielle c'est EMC2 qui génère les signaux via le port // soit matériel c'est une carte (ex mesa) qui se charge de la génération de ces signaux, le temps réel est aussi important. La solution matérielle coute plus chère mais est bien plus performante. Ensuite tout est une question de besoin.
    4- Attaque des drivers/amplificateurs de moteurs classiques.

    Les cartes mesa (ou pico) sont des cartes équipés de FPGA, qui sont des composants électroniques où on peut programmer l'architecture du circuit que l'on veut y mettre dedans (portes logiques, bascules...). De ce fait la carte peut être reprogrammer pour remplir plusieurs fonctions. Par exemple générateur de step/dir ou encodeurs à quadrature ou PWM pour les moteurs DC (ou servo DC) ou des entrées sorties standard. Comme expliqué plus haut, elles ne gèrent ni la trajectoire ni le PID qui sont à la charge du noyau linux temps réel (et d'EMC2) ce sont juste de bêtes interfaces.

    Pour les cartes mesa il y a un driver hostmost2 qui gère la communication avec la carte ainsi que sa reprogrammation. Ce driver te permet donc de choisir entre plusieurs configurations. Par exemple pour la carte 5i20 qui est la carte PCI (la plus "petite" et la moins chère) tu as le choix entre ces configurations :
    - 12 voies pour servomoteurs (PWM + encodeurs)
    - 8 voies pour servomoteurs + 4 voies step/dir (moteurs pas à pas)
    - 4 voies pour servomoteurs + 8 voies step/dir
    Il y a ausi une foule entrées/sorties standard disponible avec chacune de ces configurations.
    Le fait que la carte soit reprogrammable permet de pouvoir faire évoluer la configuration ou de gérer plusieurs machines avec la même carte.

    Pour ce qui est des cartes d'interpolation chez les "concurents", je trouve que l'on est très vite limité du fait que l'intelligence (calcul trajectoire,...) est déplacé dans la carte en question et cela à un coût matériel non négligeable. Souvent les cartes hobby ne savent pas gérer les encodeurs (servos...) et ne gère les mouvements coordonnées que sur un plan cad 2 axes simultanés alors je ne te parle pas de 5 axes ou de cinématiques non triviales (bras robotisés,...)! Ensuite les fonctions de taraudages rigides ou de filetages ne sont en général pas possible à moins d'y mettre le prix.

    En bref, ce que tu gagnes avec Linux/EMC2 c'est que l'intelligence reste dans le PC (ce qui est gratuit). De plus cela donne une souplesse immense aux fonctionnalités de ta machine.

    Pour ce qui est des autres cartes opto, etc,... Tout dépend de ton besoin (ta configuration) mais le minimum est la carte opto pour protéger la carte PCI dans ton PC.

    J'ai fais un schéma simplifié de l'architecture d'EMC2 avec les moteurs pas à pas (en haut) et avec les servomoteurs (en bas).

    Xavier

    emc2_simplifié.png
     
  3. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
    et si j'essayais EMC2 ET UBUNTU
    salut horsot ,

    je te remercie pour ces enseignements ,comme c'est mon anniversaire , je reçois beaucoup de monde ce soir ,j'ai 1/2 siècle , qq cheveux blancs , :-D
    donc on se recontacte le lundi , pour en discuter §

    BON WEEKEND
     
  4. Bth

    Bth Ouvrier

    Messages:
    487
    Inscrit:
    2 Février 2009
    Localité:
    Besançon25
    et si j'essayais EMC2 ET UBUNTU
    Emc2

    Bonsoir a tous,

    Merci Xavier, c'est un bel hommage pour Emc2 et ses acteurs qui réalisent ce travail.

    Thierry
     
  5. Bth

    Bth Ouvrier

    Messages:
    487
    Inscrit:
    2 Février 2009
    Localité:
    Besançon25
    et si j'essayais EMC2 ET UBUNTU
    Emc2

    Bonjour à tous et à toutes,

    Juste une petite photo d'un servo-moteur de marque Pittman.
    C'est un 24 V DC avec un codeur optique HP. Il doit faire 20W.
    Sous 12v je n'arrive pas à le bloquer à la main.

    img_5216 (Modifiée dans Éditeur d'image GIMP).jpg
     
  6. Foxtrot

    Foxtrot Compagnon

    Messages:
    1 044
    Inscrit:
    18 Février 2008
    Localité:
    Ath (BE)
    et si j'essayais EMC2 ET UBUNTU
    Bonjour à tous,

    Et bien dis-donc Xavier, tu m'en apprends..... :shock:

    Quel philanthrope numérique.. :eek: :eek: :-D

    Je ne m’intéressais pas trop à EMC2 jusques il y a peu. J'ai donc lu avec plus d'attention.
    Et la chose la plus importante que j'ai retenue et que j'ignorais totalement, c'est que si j'ai bien compris, moyennant le choix d'une carte, pas si chère que ça somme toute, on peu remplacer ces drivers servos achetés relativement chers et assez difficiles à configurer pour le néophyte.
    Je suppose que la configuration ne doit pas être une partie de plaisir non plus sous Linux, PID s'entend.

    Donc, PC, carte PCI et je crois une alimentation, c'est tout ce qu'il faut ou bien faut-il aussi une carte spéciale en plus de la PCI?

    J'ai ici 3 servos DC qui traînent depuis un an, 24V, 8A en pointe 8-)

    Y a t'il des forums ou des gens parlant notre langue en discutent?

    A bientôt :wink:

    Hors sujet: il suffirait sans doute d'une machine DVY qui va bien, commandée avec EMC2 et présentée sur ce forum, pour faire des émules par ici.
     
  7. coredump

    coredump Compagnon

    Messages:
    3 404
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    et si j'essayais EMC2 ET UBUNTU
    Il faut quand même une électronique ampli entre l'interface PWM et le moteur (et les encodeurs aussi, généralement en RS422/485).
     
  8. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
    et si j'essayais EMC2 ET UBUNTU
    SALUT horsot le toulousaaaain !

    j'ai imprimé , les docs , pour mieux déguster !
    c'est vraiment trés intérressant ,d'autant plus, que je n'ai aucun probleme à vouer deux ordis ou plus, juste avec LINUX dedans !

    :wink:
     
  9. horsot

    horsot Compagnon

    Messages:
    768
    Inscrit:
    28 Mai 2009
    Localité:
    Toulouse
    et si j'essayais EMC2 ET UBUNTU
    Bonsoir à tous,

    Merci pour les compliments :oops:

    @ MR Vectra : bon anniversaire! :smt113

    @ Foxtrot :
    Je n'ai jamais utilisé EMC2 avec des servo, ni avec les cartes mesa d'ailleurs. Ce que je raconte c'est avec mon expérience d'électronicien, un (gros) travail de documentation et mon "fouinage" dans le code source de la carte (VHDL) et d'EMC2.
    Pour le correcteur "PID" (qui est en fait un P,I,D,FF0,FF1,FF2,biais dans EMC2 :wink: ). Il faut être méthodique mais ça se fait bien grâce à "halscope" l'oscilloscope des signaux HAL d'EMC2 (ce que tu n'as pas dans un PID intégré :wink: ). Il ne faut pas chercher à faire des réglages pil-poil optimisés à vide mais plutôt conservateur (mais qui reste bon) pour garantir la stabilité de la boucle en charge et aux perturbations.
    Lorsque je parle de carte "mesa" je devrais préciser "anything I/O" qui ne sont que des cartes numériques de commande mais en aucun cas des cartes de puissances. Donc comme dit coredump, il faut un "amplificateur" de signaux PWM dimensionné pour vos moteurs.
    Pour ce qui est des encodeurs, le signal de retour d'information est très critique et le moindre bruit sur la ligne peut rendre très instable le système. De ce fait il est très conseillé de transporter l'information (A et B) sur une liaison la plus fiable possible. Il y a plusieurs moyens de procéder dans ce cas et ça dépend de beaucoup de paramètres (longueur de "câble", adaptation, environnement,...). Mais une solution simple et efficace est la solution de coredump qui est de transporter chacun des signaux sur une liaison différentielle dédiée (LVDS, RS422/485,...) .
    Par exemple mesa propose des cartes 7I34 (35$ chacune). Il en faut 2 (une de chaque coté) pour le transport des signaux "PC" <=> "encodeur". Pour faire vraiment propre, il serait peut être judicieux de transporter le signal PWM par une liaison de ce type.

    Bonne soirée

    Xavier
     
  10. coredump

    coredump Compagnon

    Messages:
    3 404
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    et si j'essayais EMC2 ET UBUNTU
    Il y a une carte MESA pour deux ou quatre servos DC avec entrée encodeur et puissance (100w max). Ca se branche directement sur une carte fpga Mesa (meme la moins chere).

    Il y a aussi une carte pour deux BLDC, mais elle n'est pas encore supportée officiellement par le driver mesa EMC2.

    Pour les encodeurs, certains sont nativement en rs422/485.
     
  11. phil916

    phil916 Administrateur

    Messages:
    5 489
    Inscrit:
    22 Août 2007
    Localité:
    Le pays du Comté
    et si j'essayais EMC2 ET UBUNTU
    Bonsoir,

    Je ne comprend pas tout mais le prix des cartes de commandes de servo se démocratise avec les cartes Gecko 320 et celles-ci
    ce n'est pas suffisant pour les piloter directement avec mach2 ou EMC2?

    Phil
     
  12. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
    et si j'essayais EMC2 ET UBUNTU
    salut !
    ya aussi une carte servo !je parle de la config de cnc ready
    , dans ta configuration ,je ne sais pas si elle est trés utile , je vais essayer de te montrer les fichiers !
    il m'a averti qu'il y avait une nappe de fils trés importante , je lui ai suggéré de me faire une config de tel façon ,de n'avoir que les connecteurs qui vont directement aux servodrivers ,donc une configuration sur pc !
    toutes les cartes montés dans un seul boitier , donc comment faire pour supprimer la nappe de fil .
    je vois beaucoup de gens postés pour des difficultés de réglages pid , faut il avoir un oscilloscope en main , !!!!!!!!!
    - autre question , donc le seul soft d'usinage qui tourne sous linux , c'est bien EMC2 , qu'en est il pour les autres softS !!!!!!
    - pourrais tu me faire une config au top de la qualité , je ne regarde pas sur les dépenses , pour ces cas précis !
    tant que mes brushless sont bien chouchoutés ,je suis partant à fond ! :wink:

    merci
     
  13. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
    et si j'essayais EMC2 ET UBUNTU
    salut phil !

    les servodrivers , que ce soit pour moteurs brushless AC /DC ou brushed ,sont pilotables via les signaux délivrés par MACH2/3 OU OU EMC2 , selon les configurations suivantes ,
    - sous windows , il te faut une carte d'interpolations d'axes , qui va directement commandée les servodrives via un signal pulse ou pwm ou analogique 0/10V , ou numérique ,via un bus canopen ,ces derniers ,beaucoup plus fiables , sont surtout reservés aux pros !

    - EMC2 , via une config ,telle que décrite par horsot , va etre capable de commander les même servodrives !

    :wink:
     
  14. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
  15. MR VECTRA

    MR VECTRA Compagnon

    Messages:
    1 191
    Inscrit:
    28 Décembre 2009
    Localité:
    Tunisie
Chargement...

Partager cette page