Projet en cours ... Grandes dimensions : Elle bouge !

  • Auteur de la discussion Lezard
  • Date de début
L

Lezard

Ouvrier
Je reviens sur ce commentaire de @gaston48 :
...Avec Windows c'est la carte motion qui inclue un processeur temps réel, tu n'as pas à t'en occupé...
Avec Linuxcnc, le processeur temps réel, c'est le PC qui héberge Linux. Tu te préoccupes à la foi du paramétrage de l'interface mais également des fonctions temps réel que tu choisis et "câbles" véritablement toi même...

Je crois que je comprends la différence dans les architectures, mais je me pose la question suivante : avec LinuxCnc, pourquoi vouloir utiliser le PC en temps réel, avec tous les pbs de compatibilités de matériel que cela entraîne, quand il semble plus simple/efficace de déporter le temps réel sur une carte motion avec un processeur dédié qui fait cela très bien ? Il doit y avoir un avantage, mais où ?

Je suis désolé de poser sans arrêt des questions, mais j'ai le gros défaut de bien aimer (chercher à) comprendre ce que je fais et pourquoi. Merci pour vos éclairages et votre patience :)
 
G

gaston48

Compagnon
C'est au contraire une très bonne question. J'aurais voulu faire une CNC avec pas à pas : tour ou 3 axes, je serais partie sur Mach3.
Mais à l'époque, mon projet était différent, je voulais numériser une tailleuse d'engrenage par génération, donc
associer des axes esclaves à un axe maître, pas de gcode. Pour cela il fallait être capable de programmer à bas niveau
des microcontrôleurs 32 bits, être un professionnel comme CNCSERV. de but en blanc, écrire le code d'acquisition
d'un codeur en quadrature, d'une PID etc ... je ne sais pas faire.
C'est là que j'ai découvert Linuxcnc avec au début effectivement quelques déboires pour trouver le bon PC et se mettre
à Linux (heureusement j'ai connu dos) mais avec une bien meilleure accessibilité (comme le monde Arduino) la programmation se fait sous forme de composant tout fait qu'on branche simplement comme cette PID. Et ensuite, petit à petit rien nous empêche de rentrer
dans le plus bas niveau et finalement, j'ai très vite mise au point ma tailleuse d'engrenage. Ces fameux composants, sont en
open source donc de bon exemples... tu les tripotes, tu testes et tu apprends, tu te fais les tiens .
Il y a 2 clients de Linuxcnc celui qui cherche une solution économique écolo mais prêt à invertir un peu de son temps et celui qui
cherche quelque chose de puissant, d'ouvert en open-source, non propriétaire, mais sur la base d'une architecture pro, de type
Num, Heidenhain mais beaucoup plus économique, d'ou la possibilité de retrofit à minima de machine ancienne ou modernes pro.
mais prêt à invertir un peu beaucoup de son temps (la contre partie de l’économie)
 
Dernière édition:
L

Lezard

Ouvrier
Merci pour cette réponse, je comprends bien ta démarche.

Mon interrogation portait plutôt sur le choix d'architecture effectué par les développeurs de LinuxCnc eux-mêmes, je vois que ma question était mal posée. Est-ce qu'il s'agit d'un simple choix 'historique' par ex. justifié à l'époque par la (non)disponibilité ou le coût de processeurs dédiés, ou bien y-a-t-il un avantage technique toujours d'actualité ?

[Edit] Je crois que la réponse se trouve au moins en partie dans la doc Linuxcnc, en particulier ici. Si j'ai bien compris, une solution 'déportée' serait forcément liée à un matériel spécifique, et donc non portable/partageable, à l'opposé d'une démarche Open Source. Un choix politique en somme.
[/Edit]
 
Dernière édition:
G

gaston48

Compagnon
Tu as raison c'est un choix historique
https://en.wikipedia.org/wiki/LinuxCNC
le fait qu'il soit open source impose le système d'exploitation linux mais surtout un noyau temps réel
accessible aussi comme RTAI. Les autres système d'exploitation temps réel sont plus confidentiel et très chère.
Héberger ce noyau temps réel limite la portabilité aux "386" mais aux ARM aussi maintenant d'ou
la naissance de Machinekit qui est un linuxcnc qui aura vocation à être compiler sur d'autres plateformes.
Il tourne très bien sur Beagle bone black qui est équipé d'un ARM cortex A8 avec un gros avantage
concernant ses entrées/sorties, il peut se passer de Mesa car il est équipé en plus de 2 PRU 32 bits
Ma tailleuse tourne très bien sur BBB mais il faut développer une break out board ou "cape" particulière

http://beagleboard.org/black

http://www.machinekit.io/
 
G

gaston48

Compagnon
Le programme et le banc d'essais tournent. Roues droites, hélicoïdales et creuses par outil mouche .
je suis parti d'un travail de 2010 d' Andypugh , un très gros contributeur développeur de linuxcnc

 
V

vres

Compagnon
la (non)disponibilité ou le coût de processeurs dédiés,

Ma première carte je l'ai conçue en 1997, elle était à base de DSP TI TMS32C31, c'est un 32bits cadencé a 80Mhz avec FPU. Le prix du DSP était environ de 40€.
Je me suis servi de cette base jusqu'en 2015.

Si on veut travailler avec des servomoteurs en boucle fermée avec LinuxCNC il faut aussi une carte dédiée aussi ?
 
G

gaston48

Compagnon
il vaut mieux une carte dédié aussi en boucle ouverte, mais ces cartes ne gèrent que des entrées sorties rapides
pas les calculs de PID, interpolations ou autres.
 
L

Lezard

Ouvrier
Bonsoir,

Il me semble que le forum devrait permettre une option quant au choix de l'intitulé sur une citation : dans mon cas, plutôt que "Lezard a dit", il serait plus adapté de lire "Lezard (se) demande" ou qq chose comme ça :smt002
Je n'aurais pas la prétention d'avancer une quelconque affirmation à ce stade, surtout dans un échange avec des gens qui connaissent le sujet infiniment mieux que moi !
 
G

gaston48

Compagnon
L

Lezard

Ouvrier
Bonsoir à tous,

Après une longue absence du forum, je me suis dit qu'il était temps de poster une petite photo pour donner des nouvelles de mon projet :
20180913_194942.jpg


Comme vous pouvez le constater, je n'avance pas très vite, mais j'avance quand même. Je suis en train de monter les poutres Y et Z, à blanc pour l'instant, et ça semble fonctionner : les 3 axes bougent à la main sans points durs ni efforts excessifs, les premiers contrôles de géométrie sont OK (1/10è de flottement sur l'horizontal dans l'axe X, sur 3500 mm de course.) Je vais tout démonter demain pour peindre la poutre Y, les chariots, la poutre Z, puis remonter 'pour de bon'. Ensuite, suite du contrôle de la géométrie, et puis on passera enfin à la mise en place des moteurs et de la CN.

Bref, encore du pain sur la planche... mais on y arrivera :)

Laurent, pas rapide mais obstiné...
 
S

Samifred

Compagnon
Bonjour,

Génial, courageux et persévérant... un grand bravo... ! bonne continuation.

Cdt.
 
L

Lezard

Ouvrier
Bonjour,

Merci pour vos commentaires sympathiques et encourageants :).

Aujourd'hui, j'avais prévu d'aller ramasser des châtaignes, mais il pleut, alors je prends le temps de poster qq photos :

J'ai fini la peinture des grosses pièces, et remonté l'ensemble, définitivement je l'espère
general view.jpg


Un chariot X, avec le réducteur en place et le système de réglage de la distance pignon/rail. J'ai monté ici un petit bout d'axe usiné à la place du moteur pour faire un test avec ma perceuse/visseuse. Ca roule :)
X Traveler.jpg


L'axe X utilise des crémaillères à denture hélicoïdale. Les réducteurs sont montés avec des contreplaques usinées, plus rigides et plus faciles à mettre en place que de simples écrous.
X rack & pinion.jpg


Le chariot Y est une simple tole de 15mm avec 2 bords pliés pour la rigidité. Les blocs Y et Z sont fixés sur la plaque, avec des entretoises pour ceux du Z afin de laisser passer la VAB. L'idée est d'assurer simplement la perpendicularité des axes Y et Z via les épaulements d'appui des blocs, usinés sur la même pièce. On verra bientôt si c'est bon...
Y Traveler.jpg


Montage du réducteur de l'axe Y. Le réglage pignon/rail est ici assuré via un excentrique. Le réducteur sera monté comme ceux du X avec une contreplaque.
Y Gearbox.jpg


Le moteur du Z est à l'intérieur de la poutre. Une transmission à courroie 1:2 entraîne la VAB. La courroie est supposée sans jeu, mais les poulies ont elles un peu de jeu en rotation sur leur axe, à cause du montage à clavette. Question : quelle tension faut-il appliquer à la courroie ?
Z belt.jpg


Vu de l'autre côté, avec l'écrou de la VAB
Z VAB Top.jpg


Dans les prochains jours :
- Usinage du support de broche, qui permettra de monter la broche dans le tube Z

- 1ere version de la CN, avec LinuxCNC sur un vieux PC, liaison port parallèle sur une BOB simple et les drivers/servos Delta

- Régler la géométrie de la machine. Je dispose d'une grande règle (2300 mm) rectifiée et d'un niveau cadre de mécanicien 5/100 au mètre par graduation. J'imagine procéder dans cet ordre :

- 1 : Equerrage dans le plan horizontal de la poutre Y et de l'axe X > cela permettra de figer l'entraxe des guidages X, qui sont "réputés parallèles", la poutre Y voyageant sur toute sa course facilement et sans points durs. Je ne sais pas encore bien comment faire ce contrôle. J'ai vu il y a longtemps sur le forum MechMate une procédure consistant à usiner deux plaques de CP l'une sur l'autre, puis à retourner celle du dessus pour voir l'erreur d'équerrage. Cela suppose quand même que la machine soit déjà prêt à usiner. Qqu'un a-t-il une meilleure idée ?

- 2 : Mise à l'horizontal de chacun des poutres X, en utilisant un comparateur sur une régle rectifiée posée et calée au sol. A ce stade, on peut bloquer les poutres X en serrant les tubes sur le châssis. J'ai prévu de faire un joint d'époxy chargé pour rattraper les écarts de niveau sur les sommets des triangles du châssis

- 3 : Mise à l'horizontale de l'axe Y, en jouant sur la liaison entre les chariots X et la poutre. Même méthode qu'en 2

- 4 : Perpendicularité de l'axe Z avec l'axe X, là aussi via la liaison entre les chariots X et la poutre Y. On peut alors serrer ces liaisons, là aussi sur un lit d'époxy. Pour la méthode, je ne sais pas trop. Peut-être faire un montage qui me permette de mettre ma grande règle "bien verticale", et palpage au comparateur en faisant monter/descendre l'axe Z ?

- 5 : Contrôle de la perpendicularité de l'axe Y et Z. Normalement (...) cela devrait être bon vu la conception du chariot Y, mais dans le cas contraire, il va falloir jouer du feuillard sur les blocs Y et/ou Z. Même problème qu'en 4 et donc même méthode.

Vos conseils avisés sur cet ensemble d'opérations sont les bienvenus :)
 
I

ingenieu59

Compagnon
Bonjour,

je ne suis pas expert de la géomètrie . Mais , je procéderai comme suit :

1_ réglage du X ( les deux côtés ) , cela sous-entend, niveau sur toute la longueur ( mètre par mètre , voire moins = 200 mm en 200 mm) et entre les 2 supports . Sans oublier le parallélisme .

2_réglage du Y , équerrage parfait selon le théorème de Pythagore et comparateur ou niveau de précision pour l' horizontalité.

3 réglage du Z , équerrage dans les deux sens ( voire aux quatre faces de ta poutre ) , par rapport à X et Y ( pour cela , le mieux étant d' avoir la table ) .

Voilà!!

J' aurais quelques questions à te poser :

Quel est le module de tes crémaillères , leur caractéristiques ( précision, traitement ... ) et où les as tu acheté ? Ou, si tu as un lien , je serai ravi .
 
L

Lezard

Ouvrier
Bonsoir @ingenieu59

Je vois qu'on est en gros d'accord sur la séquence de réglage, X, puis Y puis Z. Est-ce que tu peux détailler pour le Y "équerrage parfait selon le théorème de Pythagore et comparateur" ? Pour le contrôle du Z, je ne pense pas prendre les faces de la poutre comme référence, car il s'agit d'un tube brut, mais plutôt de positionner un comparateur sur la face inférieure, qui servira de référence à la broche, et palper la règle rectifiée, à priori plus droite que le tube.

Sinon, pour les crémaillères c'est du module 2, classe de precision DIN 7, commandé en Chine. J'avais regardé initialement chez Neugart, mais l'écart de prix était vraiment élevé, le délai assez long, j'ai pris le risque de commander en direct en Chine chez un fabricant. Je peux te donner les coordonnées en MP si tu le veux. Je ne suis pas encore certains d'avoir fait le bon choix, pas de moyen de contrôle de la précision en particulier... On en saura plus dans qq temps !
 
I

ingenieu59

Compagnon
Bonsoir,

Je ne te cache pas que c' est la partie la plus difficile à faire , celui du Y .

C' est là où on se dit " merde, si j' avais su , j' aurais fait autrement " .

Sinon, je pense à un moyen très simple, que je vais faire pour ma future machine .
Si tu as tout mis de niveau, c' est d' utiliser un fil à plomb ( DIY ) pour cela, il faut un morceau de broche de diamètre 25 , sur une longueur de 50 sur laquelle, on fait une très belle pointe , et de l' autre côté, un trou taraudé , bien au centre pour y loger un anneau de levage ( tout petit ) et une ficelle nouée bien au centre.

Vu que tu n' as pas de table, tu peux prendre une planche de contreplaqué ou autre ( tole alu ... ), sur laquelle tu feras des petits traits au crayon de bois , histoire d' avoir un triangle rectangle . N' oublies pas de faire des plus comme traits ou des croix , parce que des points, on finit par ne plus les voir , sauf si c' est fait au marqueur .

AB étant la longueur sur X
BC étant la longueur sur Y

Comme on connait le théorème de Pythagore qui dit que AC = racine carrée de ( AB² + BC² )

Suivant les dimensions que tu vas choisir , il te faudra soit un réglet ou un pied à coulisse de la bonne longueur , pour prendre la distance entre tes points = hypoténuse

Avec du bol, tu auras réussi du premier coup , ça peut arriver, c' est la chance du débutant , comme on dit .
Sinon, si ce n' est pas le cas, il faudra revoir l' attachement des patins du X pour réorienter correctement le Y

Ma table plasma avait une petite erreur de 1 mm sur 1300 , que j' ai su corriger très facilement .
La suivante , j' ai prévu de quoi faire ce réglage . Et, peut-être qu' une fois que j' aurais obtenu le résultat parfait, je ferai des points de soudure pour éviter un déréglage .

Pour le Z, il faudra attendre de poser la table . Mais, je n' ai pas vu si tu avais prévu le réglage dans les deux sens .

PS: pour le lien , oui tu peux me l' envoyer en MP
 
L

Lezard

Ouvrier
Bonsoir,

Merci pour ta réponse, la méthode du "fil à plomb" est à considérer. Je pense utiliser le maximum des courses en X et Y pour faire ce contrôle d'équerrage, en partant du principe que l'erreur de mesure, dûe à la méthode, serait la même que sur une distance plus faible. Rapportée à une plus grande distance, on aurait donc une précision meilleure. Il me semble d'ailleurs que @CNCSERV expliquait ce point de vue dans un fil ancien.

Sinon, si ce n' est pas le cas, il faudra revoir l' attachement des patins du X pour réorienter correctement le Y
En fait, cela va être plus simple pour moi : j'ai une liaison boulonnée sur un plan entre les chariots X et la poutre Y, qui admet un peu de jeu en rotation. Je peux donc régler l'équerrage simplement, puis bloquer cette liaison. J'ai aussi prévu de passer des goupilles coniques pour être sûr que cela ne bouge plus par la suite.

Bonne soirée :)
 
J

Jmr06

Compagnon
Bonsoir.
Très impressionné par ce projet qui semble bien aller au bout.
Je ne suis pas spécialiste en réglage de machine, aussi je ne comprend pas pourquoi régler l'équerrage X/Y avant la mise à l'horizontal de l'axe X ? Intuitivement, j'aurais fait le contraire.

Si j'ai bien compris, il te faut une grande équerre et tu as une grande règle. Avec une règle, il est facile de faire une équerre, ou plus exactement 2 équerres identiques.
Il faut 8 petits pavés usinés et 2 plaques grosièrement découpés en équerre. Il faut fixer les pavés au extrémités des côtés des équerres, avec la possibilité de les régler (des trous bien plus gros que les vis).
On met les 2 équerres l'une sur l'autre et contre la règle : les pavés coté règle doivent toucher la règle et on ajuste les autres pavés pour qu'ils soient au même niveau. On retourne alors une des équerres, toujour les mêmes pavés en contact avec la règle. En raprochant les 2 équerres à se toucher, on constate le défaut d'équerrage : 2 pavés se touchent alors que les 2 autres sont écartés. On ajuste alors les pavés qui ne se touchent pas, ceci en déplaçant le plus possible les pavés de manière égale pour les 2 équerres. Puis on recommence : les équerres superposés, les pavés doivent étre au même niveau ; une équerre retournée, les pavés doivent se toucher. En finissant les réglages au maillet pour les derniers centièmes, on arrive à une précision qui dépend de l'état de surface des pavés et de la qualité de la règle.
En général, on veut que les pavés soient bien orientés : pour cela, il faut tourner l'équerre pour placer les pavés qui le l'étaient par contre la règle et les régler en rotation. On reprend ensuite les réglages comme indiqué au dessus.
C'est long à expliquer sans dessin, j'espère que j'ai été compréhensible. Mais c'est facile à faire.
Avec cette méthode, on peut faire 2 équerres dont le petit côté fait la moitié de la longueur de la règle et le grand côté égale à la règle.
 
L

Lezard

Ouvrier
Bonjour,

Merci pour ton message et pour tes conseils :)

Je ne suis pas spécialiste en réglage de machine, aussi je ne comprend pas pourquoi régler l'équerrage X/Y avant la mise à l'horizontal de l'axe X ? Intuitivement, j'aurais fait le contraire.
Pour l'instant, les tubes support des guidages X sont encore flottant sur les châssis, i.e ils peuvent bouger pour s'aligner et/ou s'écarter/resserrer un peu. Pour une longueur de poutre Y donnée, le réglage de l'équerrage influe sur l'écart entre les guidages du X. Je préfère donc commencer par le réglage de l'équerrage pour bénéficier de cette flexibilité. Pour régler l'horizontal, je serai amené à bloquer les tubes X sur les châssis -> plus de possibilités de variation d'écartement des guidages X.

En fait, je viens de comprendre cette nuit (insomnie) comment j'aurais pu faire pour simplifier la mise en place et le réglage de cette machine, en modifiant un peu la liaison entre les chariots X et la poutre Y. Ce sera peut-être pour la prochaine :wink:...

Pour l'équerre, je crois que j'ai compris ta proposition, cela semble en effet une bonne méthode pour faire une équerre assez grande/précise. A méditer...

Sinon, je réfléchissais à la possibilité de faire une grande croix avec 2 plats reliés par un axe en leur milieu. La croix représenterait les diagonales d'un rectangle. Je la fixe à plat sur la base de mon châssis, et je fais faire à la machine 4 perçages dans ces plats représentant les pointes d'un grand rectangle. Je détache ensuite la croix, je fais pivoter les branches pour les aligner : l'erreur d'équerrage est représentée par le décalage entre les trous. Je peux recommencer l'opération plusieurs fois en faisant à chaque fois un rectangle un peu plus grand. Je pourrais utiliser les courses maxi de la machine, il suffit d'avoir des plats assez longs.
C'est sans doute moins précis dans l'absolu que de venir palper au comparateur les côtés d'une bonne équerre, à condition qu'elle soit assez grande, d'où l'intérêt de ta suggestion.

Merci à tous pour vos encouragements !
 
J

Jmr06

Compagnon
Bonjour.
Désolé pour ton insomnie, j'espère que j'y suis pour rien.
La croix me semble une bonne idée. Mais pourquoi un axe au milieu ? Il me semble qu'il faut mieux faire les 4 trous, puis aligner les barres et mettre une goupille pour aligner 2 trous : le défaut d'équerrage se mesure par la distance entre les 2 autres trous. On mesure ainsi une fois une valeur double de celles avec un axe au milieu, cela me semble plus précis.

Merci pour les explications sur l'ordre des réglages, je comprend maintenant ta préoccupation.

Bonne journée.
 
L

Lezard

Ouvrier
Bonjour,

Désolé pour ton insomnie, j'espère que j'y suis pour rien
Pas de soucis, je n'ai trouvé ton message que ce matin. En fait, je vais commencer à me pencher sur la partie commande demain, et je suis un peu fébrile !

La croix me semble une bonne idée. Mais pourquoi un axe au milieu ? ... On mesure ainsi une fois une valeur double de celles avec un axe au milieu, cela me semble plus précis.
Tu as raison bien sûr, je vais faire comme cela, j'ai l'impression que cela sera la méthode la plus simple, au moins pour commencer, et à moins que qq'un ne vienne avec une meilleure idée.

Bonne journée :)
 
L

Lezard

Ouvrier
Bonsoir,

J'ai changé un peu l'ordre des travaux en cours : je travaille en ce moment sur l'armoire de la machine, pour pouvoir faire bouger les axes avec la motorisation en place (en limitant les vitesses...) pour faire le réglage de la géométrie.

Du coup, cela fait une semaine que je travaille sur la partie électrique/électronique, avec l'aide et les conseils d'un ami, qui est un pro de l'automatisme : j'ai beaucoup de chance ! A ce stade, une bonne partie du câblage de l'armoire est faite. J'en suis au point où je peux simuler un usinage à partir de LinuxCNC et les moteurs ont l'air de faire des mouvements cohérents (en l'air !).

Le matériel utilisé :
- un vieux PC de récup Dell Optiplex 760, avec LinuxCNC, sortie sur carte parallèle, pilotage en step/dir sans retour des servo drives
- une BOB parallèle de base
- 4 servo drives Delta ASD-A2-M et 4 moteurs Delta ECMA 750w, dont un avec frein pour l'axe Z
- une VFD de type courant et une broche 3kw refroidie par eau (rien de branché encore de ce côté là)

La solution port parallèle/mini BOB est provisoire (CN en v.1), je ferai ensuite un upgrade probablement vers une solution LinuxCNC/Mesa et un mini PC installé dans l'armoire. Je me pose un certain nombre de questions sur les différentes fonctions "périphériques" et comment les implémenter au mieux :

- ARRET D'URGENCE :
J'ai prévu de mettre 4 arrêts d'urgence, un à chaque coin de la machine, pour ne pas avoir à courir en cas... d'urgence.
Il seront câblés en série, contact normalement fermé, en 24v. Les alims des variateurs d'axe et de la broche passent par 2 contacteurs magnétiques (1 pour les 4 servos, 1 pour le VFD). Pour l'instant, un ARU fait sauter ces contacteurs, et un signal est remonté à LinuxCNC via une entrée de la BOB.
Les servos passent en alarme pour défaut de tension (AL003 Under Voltage)

Question : Est-il superflu/utile/nécessaire de signaler l'ARU aux servo drives via leur entrée ?
(note : pour l'instant, j'ai inhibé les entrées EMGS, NL et PL sur les servos, via le paramétrage)

- RESET / ALARME :
Comment gérer la récupération d'un 'problème' au mieux, c'est à dire notamment en sécurité ?

- FINS de COURSE :
Pour l'instant (simulation), je signale simplement le FdC à LinuxCNC via la BOB. LinuxCNC arrête donc l'usinage, les moteurs d'axe s'arrêtent.
Comme la BOB n'a que 3 entrées pour les fins de course, X/Y/Z, on ne fait pas la différence entre une butée en + ou en - sur un axe donné.
Les servos ont eux deux entrées (NL et PL) pour les FdC.

Questions :
- J'imagine qu'il doit être possible de paramétrer LinuxCNC pour traiter distinctement une butée en + et en -, par ex. pour autoriser un JOG ou une commande MDI permettant de dégager l'axe en butée seulement dans le bon sens . Qq'un peut-il confirmer ? Retour d'expérience ?
- Serait-il plus sûr et/ou plus pratique de câbler les FdC sur les entrées des servos ? En plus du signal envoyé à LinuxCNC, ou en remplacement (dans ce cas, c'est la sortie Alarme du servo qui avertirait LinuxCNC) ?

Finalement, le passage par la v.1 de la CN avec cette petite BOB me permet d'aborder cet aspect du projet pas à pas (sans jeux de mot) : j'ai bien besoin d'y aller doucement, car je pars de loin :lol:

J'essaierai de poster une photo de l'armoire demain. Merci pour vos conseils avisés !
 
G

gaston48

Compagnon
Bonjour,
Concernant les butées d'initialisation et fins de course, j'aime bien ce principe là :

un contact à galet (car souvent sollicité) positionné ou l'on veut dans l'amplitude pour faire la POM de l'axe.
Il va initialiser en absolu la course logiciel absolue de l'axe, ses limites et donc des butées logicielles parfaitement identifiées,
dont on sort au jog sans tralala ...
un contact de fins de course actionné par 2 butées, positionnées un peu en avant des limites mécaniques
qui entraînera une alarme majeure en cas de franchissement, avec obligation d'intervenir dans l'armoire
si libération par jog, ou libération obligatoire manuellement alimentation coupée.
Tous les contacts de chaque axe en série donc origine de l'alarme à identifier visuellement.
les contacts de POM de chaque axe peuvent être en série aussi je crois, si on paramètre les prises de POMs
successivement si je me souviens bien .

Pour une grande précision de POM, qui permet une reprise d'usinage après coupure de l'alimentation par exemple,
On choisit la routine de linuxcnc en 2 temps qui exploite le contact à galet pour autoriser la réinitialisation après acquisition
d'un top index de règle optique ou de codeur de servo-moteur, donc une impulsion beaucoup plus précise
car en amont de la chaîne de réduction moteur vis, mais qui a elle seule ne suffit pas, le contact à galet discrimine
en absolu un tour moteur, puis l'index: un angle de ce tour maintenant identifié.


butee.jpg
 
Dernière édition:
L

Lezard

Ouvrier
Bonjour @gaston48 ,

et merci pour ta réponse.

un contact à galet (car souvent sollicité) positionné ou l'on veut dans l'amplitude pour faire la POM de l'axe.
Il va initialiser en absolu la course logiciel absolue de l'axe, ses limites et donc des butées logicielles parfaitement identifiées, dont on sort au jog sans tralala ...
OK, j'étais sur la même idée
un contact de fins de course actionné par 2 butées, positionnées un peu en avant des limites mécaniques
qui entraînera une alarme majeure en cas de franchissement, avec obligation d'intervenir dans l'armoire
si libération par jog, ou libération obligatoire manuellement alimentation coupée.
Je pense que la libération se fera obligatoirement par JOG et/ou MDI, vu le poids et l'inertie des moteurs/réducteurs, j'aimerais donc trouver une solution qui empêche toute tentative de continuer à avancer 'dans le mauvais sens' (par ex. sous le coup de la panique !).
Tous les contacts de chaque axe en série donc origine de l'alarme à identifier visuellement.
Est-ce que tu préfères cela pour simplifier le câblage, ou bien pour une autre raison pratique ? J'avais imaginé plutôt identifier chaque FdC séparément.
les contacts de POM de chaque axe peuvent être en série aussi je crois, si on paramètre les prises de POMs successivement si je me souviens bien
Pas sûr de bien comprendre, il faut que j'étudie la doc Homing de LinuxCNC, cela à l'air assez détaillé.
Pour une grande précision de POM, qui permet une reprise d'usinage après coupure de l'alimentation par exemple,
On choisit la routine de linuxcnc en 2 temps qui exploite le contact à galet pour autoriser la réinitialisation après acquisition
d'un top index de règle optique ou de codeur de servo-moteur, donc une impulsion beaucoup plus précise
car en amont de la chaîne de réduction moteur vis, mais qui a elle seule ne suffit pas, le contact à galet discrimine
en absolu un tour moteur, puis l'index: un angle de ce tour maintenant identifié.
Je crois que j'ai compris le principe, mais je ne pourrai pas l'appliquer pour l'instant, étant en boucle ouverte entre LinuxCNC et les servos (bob simple sur port parallèle). Ce sera pour la suite.

Sinon, une opinion quant au choix de traitement d'un Fin de Course ?
- solution A : on signale à LinuxCNC qui arrête tous les mouvements (et la broche ?)
- solution B : on utilise les entrées correspondantes sur chaque servo, qui passe en alarme, alarme remontée à LinuxCNC, qui arrête les autres axes ?
(il faut que je pense au fait que j'ai deux moteurs sur l'axe X, chacun avec son var : un FdC en X devrait donc être signalé simultanément aux deux vars)

Merci pour ton intérêt pour le projet et pour tes conseils :)
 
G

gaston48

Compagnon
Je pense que la libération se fera obligatoirement par JOG et/ou MDI, vu le poids et l'inertie des moteurs/réducteurs, j'aimerais donc trouver une solution qui empêche toute tentative de continuer à avancer 'dans le mauvais sens' (par ex. sous le coup de la panique !).
Le franchissement d'un butée switch doit être considérer comme une panne majeure et rare, comme l’arrêt d'urgence, donc solution A
vue par Linuxcnc à mon avis.
Sur une Mikron, par exemple, il faut être 2: un qui manœuvre un commutateur fugitif dans l'armoire et l'autre qui va actionner le jog.
C'est laborieux, mais ça oblige à se poser et réfléchir calmement. Séparer les contacts (NF) a un juste un intérêt, c'est d'identifier
un des contacts qui serait résistif ou mieux localiser un câblage défectueux. Il faut d' ailleurs de temps en temps manœuvrer
ces contacts à la main avant mise en route de la machine, pour faire un auto nettoyage, le problème est de programmer ce temps
en temps ...
Je n'ai pas bien identifié tes moteurs dans ton sujet, si ce sont des AC avec leurs codeurs, peux t on sortir une info "index" du drive ?
Au sujet de l'alarme de perte de synchronisme d'un des moteur X, une limite d'erreur de poursuite franchi par l'un devrait permettre
de déclencher un arrêt total, je pense que là aussi, pas de demi-mesure d’arrêt sélectif
 
V

vres

Compagnon
les avantages de raccorder les hors courses directement sur le variateur sont que l'asservissement n'est pas coupé et le moteur ne se retrouve pas en roue libre. On a donc un freinage. L'autre raison c'est que le déplacement n'est bloqué que dans un sens donc il n'y a pas de manip particulaire pour débloquer le hors course.
 
L

Lezard

Ouvrier
Bonjour,

Merci pour vos réponses.

@gaston48 :
les moteurs sont des AC, il y a un retour encodeur des moteurs vers les variateurs, et la possibilité de remonter le signal des variateurs à la CN. C'est ce que je compte faire dans un 2ème temps, pour l'instant je suis en boucle ouverte entre les variateurs et LinuxCNC.

Je suis bien d'accord qu'une mise hors course est un événement anormal, et qu'il faut donc résoudre ça proprement. Je cherche la meilleure façon de la traîter, dans la mesure du possible et selon mes moyens. Par ex., une remise en route nécessitant 2 personnes n'est pas jouable pour moi : je suis pour l'instant seul à bosser 99,9% du temps.

Je prends bonne note de ton conseil de vérifier régulièrement le fonctionnement des sécurités, cela paraît évident quand on le dit, mais mes (mauvaises) habitudes ont la vie dure.

@CNCSERV :
OK, bien compris. Cela m'amène une autre question, regardant cette fois l'arrêt d'urgence : pour l'instant un ARU fait sauter les contacteurs magnétiques qui contrôlent l'alimentation en puissance des variateurs. L'idée étant de couper au plus court, sans passer par la CN. On se retrouverait donc avec les axes 'en roue libre'. Vaut-il mieux là aussi envoyer un EMGS à tous les variateurs (et à la broche) pour bénéficier du freinage, en même temps que l'on informe la CN ?

C'est la 1ere fois que je construis une machine, et je n'ai pas une énorme expérience d'utilisateur non plus. Je suis donc très content de pouvoir profiter de votre expérience et de vos conseils, un grand merci !
 
J

joumpy

Compagnon
Comme CNCserv: les fins de course directement reliés aux drivers de servomoteurs. De cette façon, le driver autorise le mouvement dans le sens qui t'éloigne de la butée et pas dans l'autre. Ca oblige à "programmer" deux entrées de chaque driver, mais ça évite de devoir mettre les mains dans la machine en cas de déclenchement. Et cerise sur le gateau: moins d'entrées à gérer dans le PC. Et la coupure se fait au plus près (donc au plus rapide) du servomoteur. Prévoir quand même quelques millimètres selon la vitesse maxi de la machine avant les butées mécaniques. Et monter un amortisseur sur les butées mécaniques. J'utilise des butées de portes. Mais ça ne sert jamais... Normalement! :)

Et bien sûr des inter NF. comme ça en cas de dysfonctionnement de l'inter ou coupure du fil, la machine croit être sur sa fin de course et bloque le mouvement. Le diag est rapide en regardant le tableau des contacts: 1 seul est éteint. Puis sur le variateur, il y a un message sur l'écran. Perso, je n'ai pas remonté le signal de fin de course vers la CN... Il me semble que ça complique pour pas grand chose.

Ah oui aussi, il y a les fins de course logicielles qui seront réglées encore quelques millimètres avant... Ca fait ceinture + bretelle + élastique à la culotte! Je n'ai tapé dans les butées que lors de la mise en route de la machine, vous savez quand on est impatient de voir bouger les moteurs et que les sécurités ne sont pas encore branchées...

Pour l'ARU, je coupe la fonction enable des drivers de servomoteur. De cette façon, les servomoteurs sont alimentés, freinés(par le driver + mise en route du frein) et ne perdent pas l'info de position + référencement. Là aussi, on est au plus près des servomoteurs.
 

Sujets similaires

M
Réponses
4
Affichages
483
MakerJoGa
M
Robin-B
Réponses
3
Affichages
14 612
Robin-B
Robin-B
P
Réponses
6
Affichages
1 784
P.Taramesh
P
Haut