Foro MetalAficion
CNC => CNC - Software y Controladores => Mensaje iniciado por: elpit en 27 Mayo 2015, 20:05
-
he comprado una tarjeta para preparar un panel de mandos para la cnc...martzis usb hid interface...
tiene un monton de entradas digitales,,,entradas para 4 encoders y otras tantas analogicas..
de momento ya se que voy a ir poniendo....dos joysticks para mover la maquina en movimientos rapidos....un encoder para movimientos finos....un selector para los pasos del encoder. selector de eje para el encoder...boton start, pause , run from here, stop..refrigerante ,encender spindle , autozero de herramienta...centro de agujero....hacer home de maquina, 4 botones para tocar con sonda la pieza en los 4 lados...ir a posicion 0 , dos potis para velocidad de trabajo y spindle ...seta de parada de emergencia,
y aqui viene mi duda....que mas podria poner? o pensais que asi ya esta completito..........
-
Suele ser de buena educacion poner un enlace para si alguien mas se lo quiere hacer o simplemente para saber del producto en cuestion ;)
http://www.ebay.es/itm/New-Martzis-HID-Interface-USB-Card-USB-Board-PC-Via-BUS-For-Linux-EMC-Mach-3-/161170762161?pt=LH_DefaultDomain_0&hash=item258686a9b1
-
Si....no lo he puesto porque en el curro tengo el ebay capau.....mia disculpass
-
OK..es que si no con la cantidad de cacharros que ay ni se sabe de que se trata..por otro lado tu estas seguro de que esa tarjeta funciona en linux cnc..lo digo por que debe ser tela configurar toda esa cantidad de cosas que tu quieres poner y encima la tarjeta es usb..la verdad es que en esto estoy pez..asi que si la tarjeta funciona y quieres explicar el cableado y la configuracion..pues cojonudo y si no..pues te ponemos en la lista negra..ja ja .brinda
-
pues el enlace que has puesto es la misma que he comprado.....
pero en este otro enlace
http://www.ebay.es/itm/Martzis-USB-HID-Interface-MUHI-Card-Board-For-Linux-EMC-and-Mach-3-PC-Via-BUS-/150941627764
viene para descargar el manual .....
http://www.cnc-tekniikka.com/CNC-forum1/index.php?topic=391.0
y este foro en polaco es del creador de la tarjeta....
en principio debe estar diseñada para emc2.....aunque tb existe un plugin para mach3
la info que aparece es la siguiente
Inputs:
- 64 digital inputs (LS TTL)
- 4 analog inputs (0-5V)
- 4 encoder inputs (1x or 2x)
All 64 digital 5V logic inputs are pulled up via LS TTL internal resistors. A simple switch can be connected directly between input and groud.
4 analog inputs can measure a voltage between 0-5V. A potentiometer can be connected directly to these inputs. The center wire is connected to the input pin and two
other wires to ground and 5V connectors.
- 4 encoder inputs can be configured to work in 1X or 2X mode.
Encoder inputs can also be used as pulse counters. In 1X mode A channel counts either rising or falling edges if B channel is connected permanetly to 5V or ground. In 2X
mode card counts both rising and falling edges if the signal is connected to both A and B channel
Jumpers:
Card has 5 jumper connectors which configures card functionalities during card startup:
JP1 = Disables analog channels. Minimizes USB traffic if analog inputs are not needed.
JP2 = 1X mode for encoder channels 1 and 2.
JP3 = 1X mode for encoder channel 3.
JP4 = 1X mode for encoder channel 4.
JP5 = Invert digital inputs.
Linux EMC
Features:
- 64 digital inputs (input.[0-1].btn_[1-32]
- analog inputs are shows as absolute value between 1-254 (input.0.abs_[1-4])
- enkooder inputs increase or decrease input value (input.1.rel[1-4])
Configuration in Ubuntu 10.04 & Python 2.6
Create /etc/udev/rules.d/40-permissions.rules file and add this line to it:
SUBSYSTEM==”input”, ATTRS{idVendor}==”04d8″, SYSFS{idProduct}==”0666″, MODE:=”0660″, GROUP=”plugdev”
(do not copy paste this line, ” characters shown in this page are not compatible with rules file)
You can also download file here: http://martsola.com/python2.6/40-permissions.rules (http://martsola.com/python2.6/40-permissions.rules)
For correct naming of the inputs linux_event.py (linux_event.py (http://git.linuxcnc.org/gitweb?p=emc2.git;a=blob_plain;f=lib/python/linux_event.py;hb=e6fe7859446c6c8cc72769f5806255ed5fd309e9)) requires minor changes. Modified version is copied to folder/usr/lib/python2.6/dist-packages/. You can
obtain modified version from here: http://martsola.com/python2.6/linux_event.py (http://martsola.com/python2.6/linux_event.py)
This HAL command enables the card:
loadusr -W hal_input Martzis:0 Martzis:1
Configuration in Ubuntu 8.04 & Python 2.5
/etc/udev/rules.d/40-permissions.rules needs the following line:
SUBSYSTEM==”input”, GROUP=”plugdev”, MODE=”0660″ (do not copy paste this line, ” characters shown in this page are not compatible with rules file)
For correct naming of the inputs linux_event.py (http://git.linuxcnc.org/gitweb?p=emc2.git;a=blob_plain;f=lib/python/linux_event.py;hb=HEAD (http://git.linuxcnc.org/gitweb?p=emc2.git;a=blob_plain;f=lib/python/linux_event.py;hb=HEAD)) requires minor
changes.
Modified version is copied to folder /usr/lib/python2.5/site-packages/. You can obtain modified version from here:http://martsola.com/python2.5/linux_event.py (http://martsola.com/python2.5/linux_event.py)
This HAL command enables the card:
loadusr -W hal_input Martzis:0 Martzis:1
Adjustments
Absolute axes have a dead in the middle zone by default. It shall be disabled with following commands:
setp input.0.abs-1-flat
setp input.0.abs-2-flat
setp input.0.abs-3-flat
setp input.0.abs-4-flat
It is possible to add bigger hysteresis for the analog axes. Normally this is not needed
setp input.0.abs-1-fuzz 5
setp input.0.abs-2-fuzz 5
setp input.0.abs-3-fuzz 5
setp input.0.abs-4-fuzz 5
MPG configuration example
Link to Finnish CNC site: http://www.cnc-tekniikka.com/CNC-forum1/index.php?topic=391.msg3794#msg3794
-
elpit .ereselmejor .ereselmejor la tarjeta pinta tremenda..en mi caso lo malo es andar toqueteando dentro de linux..pero bueno lo importante a priori es saber que existe y que es para linux cnc..luego algun alma caritativa ya le encontrara la manera de que podamos usarla..ja ja .brinda
-
elpit yo utilizo esta para el mach y se puede utilizar también para el Linux, es un simulador de teclado, gestiona tres ejes , encoders, entradas y salidas analógicas y digitales, sensores, sensores térmicos etc.. una maravilla.
La utilizan mucho la gente para hacer los simuladores de vuelo, aparte tiene un programa PoBloks que es como un plc, muy completo.
La tienes por USB y Ethernet
USB http://www.poscope.com/PoKeys56U
Ethernet http://www.poscope.com/PoKeys57E
Aparte tiene otras variaciones y puede llevar hasta 8 ejes http://www.poscope.com/PoKeys57CNC pero la base es la pequeña tarjeta.
Saludos
-
Ya sabia yo que me sonaba esa tarjeta...maestro .palmas lo que yo no sabia era que sirviese para linux..soys unos cracks .brinda
-
Funciona hasta con la Rapsberry PI, se lo traga todo, pero en Linux es mas complicado la programación, por lo menos para mi que no tengo ni pajotera idea de Linux.
Saludos
-
Ya me imagino que voy a sudar para ponerla en marcha......jejeje.....pero ahi esta el gustillo...jejej
-
Yo utilizo teclados matriz 4x4 y 4x3, ahorraras en cables.
Pues dale ya y haber si aprendemos que yo estoy muy pez
Saludos
-
aqui he encontrado el texto de un fichero hal configurado con la tarjetija en cuestion
# Mpg box
# Load Muhi
# Talli:
loadusr -W hal_input usb-0000:00:1d.1-1/input0 usb-0000:00:1d.1-1/input1
# Lappari, Usb oik.alhaalla:
# loadusr -W hal_input usb-0000:00:1d.0-2/input0 usb-0000:00:1d.0-2/input1
# Remove muhi default analog deadzone
setp input.0.abs-1-flat 0
setp input.0.abs-2-flat 0
setp input.0.abs-3-flat 0
setp input.0.abs-4-flat 0
# load mux 8.0 mpg wheel scale selector and set scale values
# Load mux 8.1 feedrate selector and set feedrate values
loadrt mux8 count=2
setp mux8.0.in0 0.000
setp mux8.0.in1 0.0001
setp mux8.0.in2 0.001
setp mux8.0.in4 0.01
addf mux8.0 servo-thread
setp mux8.1.in0 0
setp mux8.1.in1 50
setp mux8.1.in2 100
setp mux8.1.in3 200
setp mux8.1.in4 300
setp mux8.1.in5 400
setp mux8.1.in6 500
setp mux8.1.in7 3000
addf mux8.1 servo-thread
# Load Ilowpass filter for smooth mpg wheel action and set default values
loadrt ilowpass
setp ilowpass.0.scale 10
setp ilowpass.0.gain 0.01
addf ilowpass.0 servo-thread
# Set each axis to stop moving when mpg wheel stops turning
setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1
# Link feed buttons
net feedxplus input.0.btn-01 => halui.jog.0.plus
net feedxminus input.0.btn-02 => halui.jog.0.minus
net feedyplus input.0.btn-03 => halui.jog.1.plus
net feedyminus input.0.btn-04 => halui.jog.1.minus
net feedzplus input.0.btn-05 => halui.jog.2.plus
net feedzminus input.0.btn-06 => halui.jog.2.minus
# Link mpg wheel axis selector
net selmpgx input.0.btn-07 => axis.0.jog-enable
net selmpgy input.0.btn-08 => axis.1.jog-enable
net selmpgz input.0.btn-09 => axis.2.jog-enable
net selmpg4 input.0.btn-10 => axis.3.jog-enable
# Link mpg scale selector knob to mux8.0
# Same knob to feedrate
net selmpgscale1 input.0.btn-11 => mux8.0.sel0
net selmpgscale2 input.0.btn-12 => mux8.0.sel1
net selmpgscale3 input.0.btn-13 => mux8.0.sel2
# Link mux8.0 output to set mpg (jogging) scales
net mpgscale mux8.0.out => axis.0.jog-scale
net mpgscale mux8.0.out => axis.1.jog-scale
net mpgscale mux8.0.out => axis.2.jog-scale
net mpgscale mux8.0.out => axis.3.jog-scale
# Link feedrate knob (circuit board) to mux8.1
# Same knob to mpgscale
net selfeedrate1 input.0.btn-14 => mux8.1.sel0
net selfeedrate2 input.0.btn-15 => mux8.1.sel1
net selfeedrate3 input.0.btn-16 => mux8.1.sel2
# Link feedrate to halui.jog-speed
net feedrate mux8.1.out halui.jog-speed
# Link mpg wheel
# Ilowpass filter for smooth action
net mpgrawcounts input.1.rel-1-counts => ilowpass.0.in
net mpgcounts ilowpass.0.out => axis.0.jog-counts
net mpgcounts ilowpass.0.out => axis.1.jog-counts
net mpgcounts ilowpass.0.out => axis.2.jog-counts
# Set feedrate potentiometer scale feed and connect to halui
setp halui.feed-override.scale 0.006
net feedoverride input.0.abs-1-counts => halui.feed-override.counts
-
bueno.....tras un par de dias de peleas....y eso que me he tenido que instalar el linuxcnc en una maquina virtual y asi poder estudiar el tema en las horas muertas en el curro.....
tengo resultados satisfactorios.....es decir....que funciona la tarjetita.....
(http://imagizer.imageshack.us/v2/1280x1024q90/908/Ozyrzy.jpg) (http://imageshack.com/f/p8Ozyrzyj)
empezamos con esto,,,,un encoder,,,dos potis....y 3 pulsadores....
adjunto un rar con los archivos necesarios....por si alguien se anima.....
empezamos por el archivo " 40-permissions.rules "
este hay que copiarlo en la carpeta /etc/udev/rules.d/
dentro de este archivo va el siguiente texto
SUBSYSTEM==”input”, ATTRS{idVendor}==”04d8″, SYSFS{idProduct}==”0666″, MODE:=”0660″, GROUP=”plugdev”
(http://imagizer.imageshack.us/v2/640x480q90/912/XavynD.jpg) (http://imageshack.com/f/pcXavynDj)
una vez copiado hay de darle los permisos correspondientes
abrimos terminal root y escribimos
chmod 660 /etc/udev/rules.d/40-permissions.rules
con esto ya deberia reconocer la tarjeta.....pero no es asi......luego lo vamos viendo....
tenemos al archivo linux_event.py que esta incluido en el rar tb.....
este lo tenemos que copiar a la carpeta /usr/lib/pymodules/python2.7/
(http://imagizer.imageshack.us/v2/640x480q90/537/JsW716.jpg) (http://imageshack.com/f/exJsW716j)
y tenemos que preparar el custom.hal
loadusr -W hal_input Martzis:0 Martzis:1
# Set feedrate potentiometer scale feed and connect to halui
setp halui.feed-override.scale 0.013
net feedoverride input.0.abs-3-counts => halui.feed-override.counts
setp halui.max-velocity.scale 0.05
net maxvelocity input.0.abs-4-counts => halui.max-velocity.counts
loadrt mux4 count=1
addf mux4.0 servo-thread
setp mux4.0.in0 1
setp mux4.0.in1 0.1
setp mux4.0.in2 0.01
net scale1 mux4.0.sel0 <= input.0.btn-01
net scale2 mux4.0.sel1 <= input.0.btn-02
net pend-scale axis.0.jog-scale <= mux4.0.out
net pend-scale axis.1.jog-scale
net pend-scale axis.2.jog-scale
net mpg-x axis.0.jog-enable <= input.0.btn-07
net mpg-y axis.1.jog-enable <= input.0.btn-08
net mpg-z axis.2.jog-enable <= input.0.btn-09
net pend-counts axis.0.jog-counts <= input.1.rel-1-counts
net pend-counts axis.1.jog-counts
net pend-counts axis.2.jog-counts
y supuestamente deberia funcionar.....pues no
y aqui viene el problema que al final he encontrado....guiandome por la poca documentacion que he encontrado sobre esta tarjeta.....la unica refencia esta aqui...
http://www.cnc-tekniikka.com/CNC-forum1/index.php?topic=391.0 (http://www.cnc-tekniikka.com/CNC-forum1/index.php?topic=391.0)
en la ultima pagina...que es lo mas o menos actualsi hablan del problema de que de fallo con las versiones nuevas de linuxcnc...hay que tener en cuenta que el diseño de esta tarjeta es de 2011...
cuando se conecta la trajeta o se enciende el pc con el linuxcnc se crean unos permisos para los drivers en la carpeta /dev/input
(http://imagizer.imageshack.us/v2/640x480q90/538/ncR3q5.jpg) (http://imageshack.com/f/eyncR3q5j)
si os fijais los archivos event6 y event7 son accesibles....tienen de permisos 666....los demas tienen 000....
el problema es que de inicio uno de los dos archivos se queda con permisos 000....
no siempre son el 6 y 7 ...tras veces son el 4 y 5 , pero siempre uno se queda sin permisos...
(http://imagizer.imageshack.us/v2/640x480q90/537/L1eQ1G.jpg) (http://imageshack.com/f/exL1eQ1Gj)
viendo aqui las propiedades de los archivos se puede comprovar hacia que event estan direccionados....
siendo el caso de que sea el even7 el que se queda sin permisos le aplicamos un :
chmod 666 /dev/input/event7
entonces si que nos arranca correctamente el linux....
un poti controla el feedrate.....otro la velocidad maxima......
cada pulsador correspònde a cada eje ...pulsandolo y girando el encoder se va moviendo el eje al ritmo del encoder....
y a partir de aqui ya es cuestion de las necesidades de botones que tenga cada uno.....
entonces con todo esto explicado,,,,si el señor MICHEL 100% ya se queda satisfecho con la exposicion.....vuelvo a formular mi pregunta
os parecen suficiontes botones los que tengo pensado poner o creeis que algun otro puede venir bien....pueden ser funciones directas o llamadas a subrutinas.....
-
Estoy 100% satisfecho ojala otros tomesen ejemplo claro esta que los que saben y no colaboran no pasa nada..cuando luego preguntan algo pues se les ignora y asunto solucionado ;)..muchas gracias .brinda y respecto a tu pregunta te voy a comentar una cosa que quizas te parezca poco interesante pero que traen la malloria de controles cnc que yo e visto y es un indicador digital o analogico de la potencia que esta usando el cabezal por un lado y otro que algunos traen que es del esfuerzo del eje que seleccionemos..eso lo traen para que asi vayas viendo la caña que le estas metiendo y si estas llegando al limite..en los cnc de verdad tienes un margen..si te excedes durante x tienpo el cnc te da un error y se para..no se si eso lo podras o no implementar pero nunca esta de mas tener informacion de lo que esta pasando en nuestra maquina
-
Eso ya lo tenia pensado.......pero esa salida la puedes sacar del variador....
es configurar una de las salidas analogicas que suelen tener los variadores para que te de el consumo de corriete en %
la salida suele de 4 a 20mA....se conecta a un dial y listo.
De hecho en la pantalla del variador tengo por defecto el consumo del motor.....
y para los ejes conmotores de pasos no veo como hacerlo de manera efectiva.....si es un servo posiblemente tenga la misma opcion de salida analogica como un variador.....
ahora solo falta que alguien que sepa de verdad de linux no explique como solucionar el problema de los permisos de los archivos event.....porque lo que no es plan es tener que andar dando permisos cada vez que enciendes el pc...
-
todo esto esta cojonudo, .ereselmejor .bien , y se agradece el que lo compartas, solo tengo una enorme duda, en los enlaces Michel puso uno en el que la tarjeta cuesta 29€ y en el que pusiste tu cuesta 469€ , estoy bastante flipado con la diferencia de precio .confuso2 .confuso2 , puede alguien aclararmelo porfavor, porque parecen la misma tarjeta.
-
Pues es muy facil.....si alguien pica... Pos mejor
-
ok,¿ sera falsa?, pero la pregunta es,¿ y por lo que piden no seria cojonudo probar una?? veo que la tienen en varios sitios mas, todos en chinolandia, y ciertamente no parece una tarjeta para valer esos 400€, mucha electronica no parece llevar, no entiendo ese precio tan elevado.
aqui en otro sitio http://www.ebay.com/itm/New-Martzis-HID-Interface-USB-Card-USB-Board-PC-Via-BUS-For-Linux-EMC-Mach-3-/161170762161?pt=LH_DefaultDomain_0&hash=item258686a9b1
a ver si me dais una explicacion algo mas sustanciosa del porque deberia de gastar 400€ en vez de 30€, ¿hay una original? y el resto son copias, si es asi quien fabrica la original porque yo las veo todas igual de chinas, por mas que he buscado no he encontrado otra que valga esos 400€, que burro debo de ser oye.
la misma en amazon http://www.amazon.com/Martzis-Mach3-Interface-Board-Lunix/dp/B00MMYT8IW
-
Aparentemente el enlace con el precio de $469.00 (428 Euros) es para un lote de 10 tarjetas...
-
aaa es cierto, no lo vi, huysssss ;D , entonces entiendo que el resto que venden a 29 dolares son igual de validas, queda aclarado, gracias kreutz .palmas .bien
-
El hilo del enlace donde he encontrado la info...es del tio que diseño la tarjeta....en su dia debio vender placas de estas....creo que hasta saco varias versiones....luego la fusilaron los chinos.....por lo menos la siguieron llamando con su nombre...