Le pilotage de la cnc a été confié à linuxcnc, solution open source disponible ici : linuxcnc. Un PC bas de gamme est largement suffisant, voici ma configuration :
- ASUS – Carte mère ASUS H110M C – Socket 1151 – Chipset H110
- INTEL – Pentium G4400 3.3 Ghz
- Radeon HD 5450 1G DDR3 PCI-E HDMI / DVI / VGA LITE
- 4 Go – DDR4 2400 MHz
- une seconde interface parallèle
La configuration a été effectuée à l’aide de l’outil StepConfWizard.
Configuration des ports parallèles
Donner un nom à votre machine, configurer les axes et l’unité de la machine. Ma configuration n’étant pas listée, j’ai réalisé une configuration ad’hoc :
- Step time : 6000 ns
- Valeur space d’un pas : 6000 ns
- Direction Hold : 70000 ns, si votre carte n’est pas listée, commencer à une valeur de l’ordre de 100000 ns puis diminuer petit à petit. Si la valeur est trop faible et que votre contrôleur ne « suit » pas, votre machine restera immobile.
- Réglage direction : 70000 ns
- Réglage port parallèle, adresse de base : 0x378
- Réglage port parallèle, adresse du second port parallèle : 0xd010
- Base period Maximum jitter : 30000, ce paramètre est fourni par le test de latence de la machine.
Comment trouver l'adresse des cartes parallèles,
lancer un shell sous linux et taper :
lspci -v
03:00.0 Parallel controller: NetMos Technology PCI 9865 Multi-I/O Controller (prog-if 03)
Subsystem: Device a000:2000
Flags: bus master, medium devsel, latency 32, IRQ 11
I/O ports at d010 [size=8]
I/O ports at d000 [size=8]
Memory at f7d01000 (32-bit, non-prefetchable) [size=4K]
Memory at f7d00000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Réglage port parallèle
A nouveau aucune difficulté particulière, cependant l’interface ne permet de configurer qu’une seule interface parallèle. J’ai câblé de façon séparé tous les fins de course, 6 entrées. Il est donc nécessaire d’avoir deux cartes parallèles pour gérer l’ensemble des fins de course.
La configuration du second port parallèle s’effectue dans le fichier : « custom.hal ».
Extrait du fichier de configuration :"custom.hal"
# Inclure vos commandes HAL personnalisées ici
# Ce fichier ne sera pas écrasé si vous relancez Stepconf
net min-z <= parport.1.pin-15-in # fin de course câblé sur la seconde carte
net max-z <= parport.1.pin-13-in # fin de course câblé sur la seconde carte
net min-z => axis.2.neg-lim-sw-in
net max-z => axis.2.pos-lim-sw-in
net spindle-pwm => parport.1.pin-01-out # Pilotage de la vitesse de broche
Configuration de l’axe des X
Pas difficulté majeure pour la configuration des axes. 200 pas pour les moteurs, pilotés en 16 micro-pas.
1 tours correspond au 16×200 pas = 3200 pas.
Mon rapport de réduction est : 10×18/34 (poulies : 10 dents, 18 dents et 34 dents).
Le pas de la courroie est de 5,08mm, cette valeur est placée dans le champs pas de la vis.
Dans mon cas, cf copie d’écran ci-dessus, la valeur du pas de la vis peut paraître bizarre, mais elle a été ajustée afin de corriger et d’intégrer la dispersion des composants de la machine.
La méthode de calibration que j’ai employée est simple, réaliser la découpe d’une pièce de 10mmx20mm, puis mesurer le avec un pied à coulisse! Pourquoi un rectangle ? ceci permet de distinguer l’axe des X et l’axe des Y.
Si le résultat n’est pas égale à 10mm ou 20mm en fonction de l’axe, il suffit d’ajuster le paramètre du pas de la vis de la façon suivante :
Nouvelle val. pas de vis= pas de vis de la config*valeur mesurée(X)/valeur de consigne(10mm) s'il s'agit de l'axe des X
Nouvelle val. pas de vis= pas de vis de la config*valeur mesuré(Y)/valeur de consigne (20mm) s'il s'agit de l'axe des Y
Prochain article , la préparation du fichier de découpe du GRUMMAN F4F WILDCAT avec Freecad