CNC

Après quelques recherches cette machine se nommerai CNC 6040, quelques spécifications sont disponibles ici.

Caractéristiques

  • Zone de travail effectif 400x600x75
  • Broche à refroidissement liquide
  • Diamètre de queue d'outils 8mm, 6mm, 6.5mm, 5mm, 4mm, 3.175mm, 3mm
  • Pince de serrage de type ER11 A (Collet en anglais)
  • Écrou de serrage de type M14

Qu'est-ce qu'il y a dedans?

  • 1 alimentation 24V 10A S-250-24 de la marque SUWEI
  • 1 variateur de vitesse pour le moteur de broche G5M-2.2S2-1A de la marque ZECHUAN
  • 1 platine de commande des moteurs X Y Z dont la doc est plutôt inconnue… des ponts en H quoi…

linuxCNC

Depuis la mise à disposition de linuxcnc version debian wheezy, nous allons peut-être avoir quelque chose qui roule, un genre de workflow efficace avec heekscnc

Installation du nouveau système

Sudo

Mise en place de Sudo, ouvrir un terminal avec les doit administrateurs

adduser cnc sudo
visudo

ajouter la ligne

cnc     ALL=(ALL:ALL) ALL

ctrl o puis ctrl x

sudo test

si tout va bien, mot de passe et pas de message d'erreur

Recherche rapide dans synaptic

sudo apt-get install apt-xapian-index
sudo update-apt-xapian-index -vf

Installation de inkscape et dépendances

sudo apt-get install inkscape python-lxml

Ça marche !!!

Premiers test avec les configurations de notre ancien système sous ubuntu rtai 10.04, la machine répond bien!!!

bientôt les configurations…

fichiers temporaires cnc-6040.ini.zip

Quelques sources :

Voilà les caractéristique de notre joystick selon la commande : less /proc/bus/input/devices

I: Bus=0003 Vendor=06a3 Product=040b Version=0100  \\
N: Name="Saitek P990 Dual Analog Pad"  \\
P: Phys=usb-0000:00:1d.2-1/input0  \\
S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/input/input4  \\
U: Uniq=  \\
H: Handlers=event4 js0   \\
B: EV=1b  \\
B: KEY=3fff 0 0 0 0 0 0 0 0 0  \\
B: ABS=30027  \\
B: MSC=10 

Configuration

  • Ajouter les ligne suivante dans le fichier .hal de la machine
# for remote joypad
loadusr -W hal_input -KRAL Dual  
  • Ajouter la ligne suivante dans le fichier .ini dans la partie [HAL]
HALUI = halui  
  • Voilà le fichier de configuration de la manette de jeu, celui-ci se nomme custom_postgui.hal (il suffit de renommer le fichier sans le .zip)
# Inclure vos commandes HAL personnalisées ici  \\
# Les commandes contenues dans ce fichier seront lancées après que l'interface graphique AXIS (PyVCP inclus) aura démarré.  \\
#  \\
#Sources :    [[http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_Remote_Pendant|  http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_Remote_Pendant  ]]\\
#http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Using_A_Joypad_To_Move_Your_CNC_Machine  \\
#http://www.linuxcnc.org/docs/2.5/html/gui/halui.html#sec:Halui-pin-reference  \\
#https://www.youtube.com/watch?v=i0nB1kCrGEc  \\
#  \\
sets spindle-at-speed true  \\
#  \\
#Jog-Speed/Vitesse de déplacement  \\
loadrt or2 count=2  \\
loadrt mux8 count=1  \\
loadrt toggle count=2  \\
loadrt not count=4   \\
#  \\
#Fonctions utilisées  \\
addf or2.0 servo-thread  \\
addf or2.1 servo-thread  \\
addf mux8.0 servo-thread  \\
addf toggle.0 servo-thread  \\
addf toggle.1 servo-thread  \\
addf not.0 servo-thread   \\
addf not.1 servo-thread  \\
addf not.2 servo-thread  \\
#  \\
# set the jog speed for the joypad again use numbers that make sense for your machine  \\
# Différentes vitesse en fonction dese boutons disponnibles  \\
setp mux8.0.in0 0 # this one must be 0 to prevent motion unless a button is pressed  \\
setp mux8.0.in1 25  \\
setp mux8.0.in2 100  \\
setp mux8.0.in3 300  \\
setp mux8.0.in4 800  \\
setp mux8.0.in5 0  \\
setp mux8.0.in6 0  \\
setp mux8.0.in7 0  \\
#  \\
# the following does the magic of setting the jog speeds/Script magique de changement de vitesse  \\
net remote-speed-slow or2.0.in0 input.0.btn-joystick  \\
net remote-speed-medium or2.1.in0 input.0.btn-thumb  \\
net remote-speed-fast or2.0.in1 or2.1.in1 input.0.btn-thumb2  \\
#  \\
net joy-speed-1 mux8.0.sel0 <= or2.0.out #vitesse1  \\
net joy-speed-2 mux8.0.sel1 <= or2.1.out #vitesse2  \\
net joy-speed-3 mux8.0.sel2 <= input.0.btn-top #vitesse3  \\
#  \\
net joy-speed-final halui.jog-speed <= mux8.0.out #vitesse4  \\
############################  \\
#Axis/Déplacement selon les joystick implémentés  \\
net joy-x-jog halui.jog.0.analog <= input.0.abs-hat0x-position #axe X  \\
net joy-y-jog halui.jog.1.analog <= input.0.abs-hat0y-position #axe Y  \\
net joy-z-jog halui.jog.2.analog <= input.0.abs-y-position #axeZ  \\
#  \\
# Revert axis  \\
setp input.0.abs-hat0y-scale -1 #inversion de l'axe Y  \\
setp input.0.abs-y-scale -127.5 #inversion de l'axe Z  \\
#############  \\
#Control CNC#  \\
#############  \\
#run/stop  \\
net joy-run-auto input.0.key-300 => toggle.0.in halui.mode.auto  \\
net run-link toggle.0.out => halui.program.run  \\
net run-link toggle.0.out => not.1.in  \\
net stop-prog halui.program.stop => not.1.out halui.mode.manual  \\
##############################  \\
#machine on/off  \\
net joy-machine-off halui.machine.off <= input.0.btn-base4  \\
net joy-machine-on halui.machine.on <= input.0.btn-base3  \\
##############################  \\
#machine pause/resume  \\
net joy-run-pause input.0.key-301 => toggle.1.in   \\
net pause-link not.2.in <= toggle.1.out => halui.program.pause  \\
net pause-resume not.2.out => halui.program.resume  \\
################################  \\
#POM des axes  \\
net joy-home-x halui.joint.0.home <= input.0.btn-base # retour maison axe X  \\
net joy-home-y halui.joint.1.home <= input.0.btn-top2 # retour maison axe Y  \\
net joy-home-z halui.joint.2.home <= input.0.btn-base2 # retour maison axe Z  \\
#############################################################################  

Sources:

  • cnc.txt
  • Dernière modification: 2018/11/28 13:54
  • par serge