======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}}