Voilà une découverte qui m'a rapidement conquis. EMC² est un logiciel open source permettant d'interpréter les programmes GCode et de commander une fraise numérique CNC. Ce logiciel tourne sous linux. Je ne suis vraiment pas un expert du domaine linux, mais là où la communautéa fait fort, c'est qu'elle a sorti une distribution de linux basée sur Ubuntu avec préinstallé dessus EMC². Je vous invite directement à télécharger cette distribution et l'installer sur votre poste de travail. L'installation est ultra simple, il suffit de mettre le CD dans votre ordinateur et de suivre les instructions. Il existe un mode Live permettant d'essayer la distribution sans l'installer. Afin de ne prendre aucun risque, j'ai directement installé la distribution sur un disque dur vierge.

Lien de linuxCNC où vous trouverez le cd d'installation à télécharger gratuitement

Les avantages

En plus de la gratuité du logiciel, j'ai constaté rapidement que ma machine avait moins de vibration en utilisant EMC². Je pense, sans être certain, que LinuxCNC est plus "lite" que Windows, ce qui permet au programme de mieux gérer la fréquence des impulsions qu'il envoieà la machine et ainsi être plus régulier dans les mouvements.

J'ai également trouvé le logiciel très intuitif et comme nous allons le voir, configurer le programme pour commander une CNC est très simple. Il est ainsi aisé de configurer le port parallèle, les fréquences de fonctionnement, les vitesses max et les accélérations que l'on souhaite dans nos mouvement.

L'écran principal possède une vue simulée de la pièce que l'on va usiner et montre l'état d'avancement lors du travail.

Le logiciel repose sur un OS récent ce qui permet l'utilisation de clé usb, du réseau, ... pour communiquer les fichiers.

Configurer une machine

Pour cet article, nous allons voir comment configurer une machine CNC dans EMC². Le prérequis est d'avoir installé LinuxCNC.

1. Dans le menu application -> CNC choisissez EMC2 Stepconf Wizard qui va vous permettre de configurer une nouvelle machine

ecran1

2. Choisissez de créer une nouvelle configuration

ecran2

3. Choisissez un nom pour votre machine, choisissez si votre machine est de type XYZ (3 axes) XYZA (4 axes) ou XY (tour numérique)

Sélectionnez également l'unité de mesure, dans notre cas le Millimètre

Plusieurs types de driver sont déjà préconfigurés, malheureusement l'A3979 n'est pas dedans. Choisissez dès lors autre type de driver

Le step time, space time indique le temps minimum durant lequel le signal doit être présent pour être pris en compte par le drive. Dans notre cas, nous pourrions descendre à 1µs, mais j'ai gardé la proposition par défaut de 5µs. De toute manière le moteur ne saurait pas tourner plus vite que 20000 pas par seconde.

Direction Hold donne le temps minimumpendant lequel le signal de sens doit rester présent sur la broche dir après l'exécution d'un pas. Le paramètre setup donne le temps minimum entre une demande de changement de direction et le premier pas dans cette direction.

Configurez l'adresse de votre port parallèle 0x378 par défaut.

Base Period Maximum Jitter permet de configurer les temps de latence de l'ordinateur et éviter d'avoir des ralentissements dus à une charge trop importante sur le pc. Pour le configurer correctement, il faut réaliser un Test Base Period Jitter et stresser le pc pendant ce temps-là (comme par exemple en déplaçant les fenêtres sur l'écran, ou en lançant une application graphique). Il faut ensuite recopier la valeur Max Jitter de la ligne Base Thread dans Base Period Maximum Jitter.

ecran3

 

4. C'est ici que nous configurons les Output/Input du port parallèle. Nous recopions les données du schéma de la commande de la machine. Il est possible d'inverser la logique des broches, comme notre commande inversait cette dernière. En l'inversant dans le programme, nous aurons sur notre drive le bon signal. Il est également possible d'inverser les broches de direction, cela acomme intérêt de pouvoir choisir le mouvement souhaité pour la machine.

ecran4

5. Pour chaque axe nous configurons les paramètres, dans mon cas, j'utilise des moteurs pas à pas de 400 pas par tour. Mon électronique est configurée pour avoir un microstepping de 16 fois. Je n'ai pas de réducteur sur mon moteur 1:1. Ma vis mèrea un pas de 1 mm par tour. Je souhaite une vitesse en pointe de 4mm/s (choix personnel) et une accélération de 5mm/s². La position Home de mon axe est à 0 mm et la course va de 0 mm à 130mm.

On peut directement tester les paramètres en cliquant sur test this axis

ecran5

ecran6

Pour l'axe Z, nous n'oublions pas qu'il va en négatif!

ecran7

6. Le menu suivant permet de configurer la vitesse du spindle, malheureusement je ne suis pas encore équipé de l'électronique nécessaire. J'ignore donc ce menu.

ecran8

7. L'installation est faite, il ne reste plus qu'à exécuter EMC2. On choisit avec quelle configuration on veut travailler. Après la première utilisation, il place directement un raccourci sur le bureau.

ecran9

 

8. Une fois le programme lancé, il faut décocher l'arrêt d'urgence (coché par défaut) et mettre la machine en mode Marche.

Quand les axes sont placés àl'origine, cliquez sur POM des axes qui met à 0 les compteurs du programme pour leur indiquer que l'axe est bien à sa position d'origine.

Il est possibleà tout moment de changer la vitesse à laquelle la machine va travailler via "vitesse maximale", "Vitesse de jog" permet quant à lui de régler la vitesse pour des déplacements manuels.

ecran10

Il suffit maintenant d'aller dans fichier et de charger le fichier Gcode de votre choix!

Bon amusement!

Liens