Tiens, si l'on parlait un peu de KHz ?

Aller en bas

Tiens, si l'on parlait un peu de KHz ?

Message par Bertrand le Jeu 08 Juil 2010, 10:59

Depuis quelque temps, peut-être 2 ou 3 ans, les revendeurs de cartes CNC ne parlent plus que de KHz pour vanter les performances de leur matériel. Curieuse mode qui me laisse assez perplexe, car s'il est évident qu'une carte qui ne monte pas assez haut en fréquence peut pénaliser l'utilisation courante à cause du plafond de vitesse qu'elle impose, a contrario une carte qui monte très haut ne sert strictement à rien dans la plupart des cas. La performance se niche ailleurs. Il est vrai que, lorsqu'on a vendu pendant des années un matériel qui plafonnait très bas, on a envie de crier enfin sur tous les toits que c'est du passé et que maintenant on a un truc qui va vite. Du moins s'il va vite, parce que ce n'est pas aussi clair qu'il n'y paraît.

Prenons une machine à peu près standard, dont les axes sont équipés de vis au pas de 4 mm, ce qui n'est pas énorme, et de moteurs pas-à-pas 1.8° pilotés au 1/4 de pas, soient 800 impulsions/tour. La résolution électrique des axes est donc de 4/800=0.005 mm (ou 5 µm si vous préférez). Aucune machine ne tient cette précision mécanique, sauf à être en fonte lourde avec des renforts dans tous les coins et les pieds coulés dans le béton de l'atelier. Mais on peut avoir choisi le 1/4 de pas ou le 1/8ème de pas pour le velouté du mouvement. Il y a une énorme différence entre le pas entier et le 1/2 pas ; une grosse différence entre le 1/2 pas et le 1/4 de pas ; une différence appréciable entre le 1/4 et le 1/8ème de pas ; une petite différence entre le 1/8ème et le 1/16ème de pas, et au-delà, personnellement je n'entends plus ni ne vois de différence. Ma machine fonctionne en général au 1/4 de pas, parfois au 1/8ème de pas, jamais au-delà sauf pour les axes rotatifs qui sont en prise directe sans démultiplication.

Donc, avec vis de 4 mm, au 1/4 de pas on a 0.005 mm par impulsion, et au 1/8ème de pas 0.0025 mm. Pour peu qu'on ait des pas de vis encore plus petits, genre 2 ou 3 mm, on descend encore plus bas, mais en général c'est qu'on a des vis trapézoïdales et dans ce cas, on pourra repasser pour le velouté des mouvements. Bref, tenons-nous en à des vis de 4 mm. Les bipèdes normalement constitués vont usiner à des vitesses de l'ordre de 10 à 30 mm/s (0.6 à 1.8 m/min) ; les gens pressés vont monter à 50 voire 80 mm/s. Les gens pressés étant le cas critique, à 80 mm/s (4.8 m/min), la carte qui pilote les axes doit produire une fréquence de 80/0.0025=32 KHz. Tiens, seulement ? Eh oui, seulement. Et encore, tout le monde n'usine pas à 80 mm/s et encore moins avec des vis au pas de 4 mm (ce serait dans ce cas plutôt 10 ou 20 voire 25 mm, ce qui réduit d'autant la fréquence).

Vous connaissez une carte qui ne tient même pas 32 KHz ? Non, allez, je parle d'une carte CNC digne de ce nom, pas une de ces horreurs qui n'émerveillent guère que ceux qui n'y entravent que pouic. Soyons sérieux !

On peut toutefois avoir envie de déplacements rapides lorsque l'outil est relevé, à des vitesses encore supérieures, genre 100 ou 150 mm/s. Pourquoi pas, ça impressionne toujours, mais alors il est vraiment nécessaire d'utiliser des vis à billes avec des pas de 10 mm minimum, sinon elles vont tourner trop vite (10 à 15 t/s, mais 25 à 40 t/s en pas de 4 mm) et vous allez changer les douilles voir les vis elles-mêmes toutes les 50 heures d'usinage actif. La performance, c'est bien, mais la longévité, c'est pas mal non plus, y compris la longévité de vos oreilles.

En pas de 10 mm et 1/4 de pas, 32 KHz vous mènent à 160 mm/s. Si vous n'avez pas de capot de sécurité, ne laissez pas traîner vos doigts au milieu. Bref, une carte CNC qui monte à plus de 100 KHz, pour des moteurs pas-à-pas, et sauf cas d'usinage nécessitant des vis très petites ou du micropas très fin, ça n'offre à mon avis aucun intérêt. En plus, les moteurs pas-à-pas perdent du couple avec le micropas, donc il faut bien réfléchir avant de choisir de monter dans les très hautes résolutions.

Mais certains d'entre vous ont peut-être opté pour des servodrives, avec par exemple des encodeurs 4000 points (un classique). Dans ce cas, en vis de 4 mm, on a 0.001 mm/point, et chaque mm/s demande 1 KHz. Une carte qui plafonne à 32 KHz donnera une machine qui plafonne à 32 mm/s. Sauf que...

Sauf que, vu le couple à peu près constant des servomoteurs, il n'est pas utile, une fois encore, de garder des pas de vis faibles. Mieux vaut taper dans les 10 mm ou plus. Je n'imagine même pas un servodrive monté sur une vis trapézoïdale au pas de 2 ou 3 mm, techniquement ce serait une aberration. Ensuite, la plupart des servodrives proposent un diviseur de fréquence qui, tout en conservant la finesse d'asservissement (fenêtre de position et erreur de poursuite), permettent de les attaquer en amont avec une résolution virtuelle moitié moindre ou quart moindre, ce qui nous ramène à des fréquences comparables aux moteurs pas-à-pas 800 ou 1600 impulsions/tour. Personnellement, je ne vois pas l'intérêt de piloter un servodrive avec une impulsion par point d'encodeur, puisque ça n'augmente pas davantage la précision de positionnement que sur un moteur pas-à-pas.

On l'a compris, les cartes qui annoncent des KHz fracassants, ça me fait doucement rigoler. Dans la plupart des cas, ça ne sert qu'à vendre du vent à des gogos. Autant équiper une Twingo d'un moteur Ferrari - ou plutôt du tableau de bord de la Ferrari, parce qu'en plus, il y a une certaine incertitude - c'est un euphémisme - dans les chiffres annoncés.

Prenons par exemple le cas d'une carte CNC tournant sur la base d'un microcontrôleur ARM-7, lequel offre une puissance de calcul pas négligeable. Je connais une carte qui utilisait cette base : la TechLF CNC4AU. Je peux en parler d'autant plus librement et sans me faire taxer de préjugé favorable que Galaad ne pilote pas cette carte et que je ne suis pas vraiment dans les petits papiers de son concepteur. Avec cette solide puissance de feu, la notice technique de la CNC4AU annonce - accrochez-vous - 40 KHz. Bah, 40 KHz seulement ?! Ben oui, 40 KHz seulement, mais il est précisé "en interpolation 4 axes". Ah tiens, et à combien une carte CNC sur base ARM-7 pourrait-elle monter en fréquence dans l'absolu, disons sur un seul axe ? Vous allez rire : sur un seul axe, la carte doit dépasser les 150 KHz les doigts dans le nez.

Ca calme, non ? Lorsqu'on annonce la fréquence maximale de sortie d'une carte CNC, c'est donc pour un mouvement sur 1 axe ? Eh bien oui et non, ça dépend du vendeur. TechLF aurait très bien pu annoncer en caractères gras une fréquence de 150 KHz puisqu'il suffit d'utiliser une boucle spéciale lorsqu'un seul axe est en mouvement, au lieu de passer par le coeur Bresenheim qui gère l'interpolation. Mais Laurent Fouga a préféré être honnête et donner le minimum du minimum, c'est à dire la fréquence dans le pire des cas : lorsque tous les axes sont en mouvement, et bien que les usinages 4 axes ne font jamais tourner 4 axes simultanément. Bien qu'on soit juste un peu fâchés, je lui tire mon chapeau pour cette honnêteté. Tous les revendeurs de matériel CNC n'ont pas ce genre de scrupule.

Donc, une carte qui annonce une fréquence disons de 150 KHz, c'est bidon et c'est pour un seul axe ? Là encore, oui et non, ça dépend de ce que la carte contient comme puissance de calcul. Autre exemple, les cartes Kosy-3 équipant les machines MaxComputer utilisent un ARM-9 (si ma mémoire est bonne, et je n'ai vu que le proto) pour CHACUN des axes, plus un superviseur qui s'occupe de tout le reste, ce qui leur permet de taquiner des fréquences de l'ordre de 300 KHz (là encore si ma méoire est bonne). Je crois que c'est le record du genre pour de la petite machine d'usinage ; après on trouve des systèmes qui dépassent allègrement le MHz mais avec des technologies de processing qui n'ont plus rien à voir et qui ne visent pas le même marché.

Plus pernicieux encore, lorsque plusieurs axes tournent en même temps, ce qui est tout de même le cas général sur nos machines, la qualité de l'interpolation dépend de la granulosité du calcul, en d'autres termes le nombre de fois où la CPU passe dans la boucle Bresenheim pour chaque impulsion émise vers l'axe majeur (celui qui va le plus vite). Le minimum est évidemment 1 impulsion produite par passage dans la boucle. Ca marche, sauf que le résultat est alors mauvais pour les axes mineurs qui tournent moins vite pendant ce temps. En fait, plus le nombre de passages dans la boucle est élevé, plus l'interplation sera régulière parce que proche d'une réalité continue. Mais évidement, ça réduit de façon drastique la fréquence maximale. Ce qui m'incite à penser que, à puissance CPU identique, la carte qui monte le plus haut en fréquence brute produit la plus mauvaise interpolation, avec des axes qui ne sont pas synchrones comme ils devraient l'être.

Bref, lorsqu'on vous annonce une carte CNC 4 axes ou plus qui "monte" à 150 KHz ou plus, méfiez-vous et demandez sur combien d'axes simultanés et avec quelle qualité d'interpolation, toutes choses qu'on ne voit pas toujours sur les sites web. De toute façon, comme décrit plus haut, une carte à 300 KHz, ça ne sert pas à grand-chose.

Bon, c'est bien beau tout ça, mais alors comment mesure-t-on VRAIMENT les performances d'une carte CNC ?

Sacrée bonne question. Je n'ai pas une réponse toute faite à sortir du chapeau, mais une chose est sûre : je ne répondrai jamais "une carte qui monte haut en fréquence". A mon avis, la meilleure carte CNC est celle qui se fait oublier très vite. Vous l'oubliez parce que le prix ne vous est pas resté en travers de la gorge ; vous l'oubliez parce que vous n'avez pas galéré pour la monter et la paramétrer ; vous l'oubliez parce qu'elle ne va pas tomber en panne avant des années ; vous l'oubliez surtout parce qu'elle ne va pas vous planter à tout bout de champ au beau milieu d'un usinage. Si la performance est synonyme de rapidité, ce qui est tout à fait défendable, alors une carte performante est une carte qui permet d'aller vite non pas parce qu'elle monte haut en fréquence, mais parce qu'elle est capable d'enfiler en cinq secs un parcours 3D en courbes fines sans rendre son tablier. Et là, ce qui compte le plus, c'est une communication ultra-rapide entre le l'ordinateur et la carte, avec un protocole et un langage économes de la bande passante, si possible un buffer de mémoire assez large pour amortir le fulx, et le tout intelligemment géré. Voilà qui a une autre importance que toutes ces paillettes ridicules autour des KHz sur le thème "c'est moi qu'ai la plus grosse". Là, ça relève plutôt de la psychanalyse.

Au cours des 10 dernières années, j'ai passé pas mal d'heures à bosser sur ces questions avec des développeurs de matériel CNC : Eric Darret (Soprolec), Laurent Fouga (TechLF), Dethleff Oldenburg (MaxComputer), Patrick Pollet (AxeMotion), Oliver Schlenker (SM-Motion) et Vesko Vitchev (Logosol), plus quelques ingénieurs chez Isel. Je ne les cite pas pour montrer que j'ai des relations, mais parce que leurs noms ne sont pas souvent au générique, bien que toutes ces personnes soient d'une redoutable compétence et expertes dans ce domaine. Tous ont compris depuis longtemps que la force brute de calcul et a fortiori la fréquence de sortie n'étaient pas vitales à partir du moment où l'on dépasse un plancher de l'ordre de 30 KHz, et que les vitesses de transmission et d'exécution des vecteurs étaient autrement plus importantes. Il ne sert à rien d'avoir une carte qui annonce 150 KHz (même quand c'est vrai) si le langage de commande et le protocole d'échange sont un goulet d'étranglement. Je pense que c'est de ce côté et pas ailleurs qu'il faut chercher la performance. Essayez d'usiner une grosse enfilade de micro-vecteurs à grande vitesse, et vous verrez très vite si c'est aux KHz que vous allez vous heurter...
avatar
Bertrand

Messages : 30
Date d'inscription : 29/07/2009
Age : 56
Localisation : Nice, France

http://www.galaad.net

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum