Système de pilotage d’une CNC

par | Mar 12, 2017 | Electronique de commande

I ) Architecture générale

A gauche entre l’ordinateur et la machine il y a juste une carte d’interface, permettant de convertir les signaux venant de la prise parallèle. C’est donc l’ordinateur qui envoie directement les signaux vers les drivers de commande de moteur pas à pas.
Les logiciels souvent utilisé dans cette configuration sont les logiciels Linux CNC (anciennement EMC2 ) ou le  logiciel Mach3
Le prix de la carte d’interface est dérisoire, c’est la solution la moins cher, il y a par contre une limite dans les performances.
– La fréquence d’envoie des impulsions pour les moteurs est limitée ( maxi environ 35khz ).
– Il y a des problèmes de latence entre le processeur de l’ordinateur et le port //
– Si le CPU est occupé à autre chose cela perturbe le pilotage ou pire si l’ordinateur plante l’usinage s’arrête.
Les ordinateurs avec port parallèle sont de plus en plus rares.

La fréquence de sortie des signaux (exprimé en kHz) est un paramètre important car c’est un facteur qui peut être limitant pour la vitesse de la machine. Si la commande de moteurs pas à pas se fait en fraction de pas (micropas), ceci augmente le débit des signaux. Pour les moteurs pas à pas, on va jusqu’à 32 micro-pas, ce qui nécessite 16 fois plus de signaux que pour une commande en 1/2 pas. Les servos peuvent tourner très vite et demandent donc un débit important.

Le logiciel Linux CNC est gratuit et Opensource, il s’installer que sur les ordinateurs Linux avec prise //
Le logiciel Mach3 est propriétaire il s’installe que sur Windows avec des ordinateurs ayant une prise //
certaines cartes USB sont maintenant compatibles Mach3

Les cartes d’interpolation avec port série ou USB : les performances sont nettement meilleures qu’avec les ports parallèle mais
– ces cartes électroniques coûtent assez cher.
– elles utilisent des logiciels spécifiques, on est obligé d’utiliser le logiciel de pilotage de CNC adapté à la carte
Ce sont par exemple les cartes Soprolec, Iprocam, PlanetCNC
plus d’information sur http://cncloisirs.com/Electronique/CarteDeCommande

A droite :

Cette fois l’ordinateur est seulement utilisé pour envoyer le fichier G-Code dans la mémoire de l’électronique de commande ( sd-card ).
C’est l’électronique de commande qui envoie les impulsions nécessaires au pilotage des moteurs pas à pas.

On retrouve le principe des directeurs de commande des CNC industrielles, qui gèrent de manière autonome la machine.

Les performances sont plus importantes puisque les microcontrôleurs sont dédiés exclusivement au calcul des trajectoires  et ne s’occupent de rien d’autre.

Plus d’information :
 http://cncloisirs.com/Electronique/CartesInt%e9gr%e9es

A propos du pilotage de CNC avec prise //

Si votre budget est limité pour la partie commande de la machine et que vous envisager de commander une simple carte d’interface entre la prise // et la machine. ( Carte BOB qui signifie Break Out Board ) il est préférable dans ce cas de privilégier Linux CNC par rapport à Mach3 car Windows n’est pas un OS disposant d’un noyaux Real Time.

En savoir plus sur les noyaux temps réel

Sur un ordinateur, même si vous avez l’impression que plusieurs chose fonctionnement en même temps (le navigateur sur youtube, le son qui sort des enceintes, l’affichage, les frappes clavier, la commande de la CNC, …) sachez qu’en fait un ordonnanceur se charge d’effectuer les tâches les unes après les autres quitte à en mettre parfois en pause un temps, certes court, mais pouvant poser problème aux machines numériques. Si l’ordinateur est occupé à traiter l’arrivée d’un nouveau mail et ne voit pas le signal de fin de course de votre machine, que pensez vous qu’il va arriver ? Pensez vous que le système d’un 747 puisse mettre en attente une commande du pilote pour actualiser le plan de vol ? Ou que les freins de votre voiture soient en pause le temps de mettre à jour les stations de radio ? Même une micro seconde ? C’est à ça que sert le noyau en temps réel, ne pas mettre d’opération en pause et les traiter quand elle arrivent. C’est pour ça aussi que la machine qui sert à la commande ne devrait pas faire autre chose pendant le fonctionnement, voire même servir à autre chose. Windows n’intègre pas de noyau en temps réel, il faut donc un paramétrage très fin pour éviter les problèmes (désactiver les tâches planifiées, les mises à jour, les programmes en arrière plan, les services inutiles, …). Et même avec ça, le système lui même peut décider d’autres priorités que la commande de la CNC. Si vous installez LinuxCNC sur un Linux qui ne tourne pas sur un noyau en temps réel, le logiciel ne fonctionnera qu’en mode démo, pour éviter qu’on vienne dire que ça ne fonctionne pas et qu’un accident ne se produise.

Plus d’information ici http://www.metabricoleur.com/t9418-tutorielpresentation-et-installation-de-linuxcnc

Il est préférable d’utiliser un PC Fixe avec prise // plutôt qu’un portable avec prise // certains portables peuvent poser problème notamment leurs cartes graphiques.

Dans tous les cas au niveau performance, il est préférable d’utiliser une carte interpolateur (MCB Motion Control Board) plutôt qu’une carte interface (BOB  Break Out Board)

 

II ) Electronique de contrôle basé sur la carte
Smoothieboard

Le microcontroleur LPC1769 (ARM32) fonctionne grâce au firmware ( microprogramme ) présent sur la carte micro-SD.
Il exécute les instruction G-code venant des des fichiers G-code présent également sur la carte micro-sd.

Un firmware permet à un matériel informatique d’évoluer (via des mises à jour), d’intégrer de nouvelles fonctionnalités, sans avoir besoin de revoir complètement le design du hardware.

Un nouveau firmware avec des nouvelles fonctionnalités peut être mis facilement sur la carte micro-sd
http://smoothieware.org/flashing-smoothie-firmware

Le firmware est paramétrable grâce au fichier config, celui ci va activer, désactiver paramétrer les fonctionnalités afin de les adapter en fonction de votre machine.

La partie soft de l’électronique de commande ( firmware et fichier config ) forme un OS Linux minimaliste spécialisé dans l’exécution du G-Code et la communication avec la carte électronique.
La partie communication pour transférer le G-Code vers la carte peut se faire via un câble USB ou par le réseau.
La carte smoothieboard à un mini serveur http et un petit serveur telnet.
On peut communiquer via le réseau avec le navigateur en http ou en telnet avec un logiciel.

0 commentaires