======CNC======
{{media_01:install-cnc.jpg?400|}}
===== CNC 6040 =====
Après quelques recherches cette machine se nommerai CNC 6040, quelques spécifications sont disponibles [[http://mambohead.com/wp-content/uploads/2010/12/CNC-6040-Router-Engraver-System-Installation-Manual.pdf|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...
{{media_01:commandecnc.jpg?300}} {{media_01:cartecnc.jpg?300}} {{media_01:variateurcnc.jpg?300}}
===== Fonctionnement sous linux =====
==== 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 {{media_05:cnc-6040.ini.zip}}
Quelques sources :
* http://linuxcnc.org/
* http://blog.f1oat.org/linuxcnc/
* http://www.roboticus.org/cnc-robotique/60-emcs-une-solution-open-source-pour-la-cnc
===== Contrôle avec un Joystick =====
{{media_01:cnc-gamepad.png?400}}
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 {{media_08:custom_postgui.hal.zip|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:**
* 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
{{tag>fraiseuse}}