emc2 jogwheel

Sezione dedicata a Linuxcnc
Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » domenica 31 agosto 2008, 21:49

piano piano ci arriviamo :-)
ora ho un segnale che ho chiamato mpg-feed quando seleziono off sul volantino (sarebbe feed override) ho controllato con configurazione hal e quando premo enable il led da rosso diventa giallo...
non ho le idee chiare sul mux ma poi troverò qualcosa
ciao e grazie
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » domenica 31 agosto 2008, 22:06

mux2 è facilissimo, secondo me sei vicino alla soluzione, questo segnale mpg-feed cambia stato quando passi da off a on? Se si hai finito.

Qui c'è una scheda sul mux2:

http://www.linuxcnc.org/docview/html//m ... ux2.9.html

è semplicissimo, hai due pin (mux2.N.in1 e mux2.N.in0) dove registri due valori, nel tuo caso dovranno essere 0 e il valore di scala che ti serve per il feed-override (per esempio metti 1 credo che sia di quanto aumenta la percentuale ad ogni scatto dell'encoder).
Poi hai un pin di ingresso mux2.N.sel dove dovrai mandare il segnale mpg-feed e un pin di uscita mux2.N.out che in pratica esce uno dei due valori registrati prima a seconda dello stato del pin sel. Questo pin out lo dovrai collegare al pin halui.feed-override.scale.

A questo punto dovresti aver finito.

Ciao

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » domenica 31 agosto 2008, 22:31

si mpg-feed cambia stato ma non riesco a farlo andare :-(
mi dice mux2.0.sel0 non esiste
vedrò con calma magari interferisce con il mux4
ciao
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » domenica 31 agosto 2008, 22:47

no, non interferisce...è che sel0 non esiste...in mux2 esiste sel e basta (essendo solo uno)... :D

dunque il pin è: mux2.0.sel

ciao

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » domenica 31 agosto 2008, 23:03

è proprio vero me ne sono accorto 10 minuti fa :D :D :D
solo un sel!!!
forse potevo mandare anche il segnale della parallela diretto senza mpg-feed
come l'altro mux
ma è uguale lavora benissimo. farei anche l'override del mandrino ma non ho piu commutatori :-(
tutto a posto grazie mille
ciao
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » domenica 31 agosto 2008, 23:30

ora è cosi:
# Jog Pendant
loadrt encoder num_chan=1
loadrt mux4 count=1
loadrt mux2 count=2

addf encoder.capture-position servo-thread
addf encoder.update-counters base-thread
addf mux4.0 servo-thread
addf mux2.0 servo-thread

setp encoder.0.x4-mode 0
setp mux4.0.in0 0.1
setp mux4.0.in1 0.01
setp mux4.0.in2 0.001

net scale1 mux4.0.sel0 <= parport.0.pin-08-in-not
net scale2 mux4.0.sel1 <= parport.0.pin-09-in-not
net mpg-feed <= parport.0.pin-15-in-not

setp mux2.0.in0 0
setp mux2.0.in1 0.01
linkps mux2.0.sel <= mpg-feed

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 pend-scale axis.3.jog-scale

net mpg-a encoder.0.phase-A <= parport.0.pin-02-in-not
net mpg-b encoder.0.phase-B <= parport.0.pin-03-in-not

net mpg-x axis.0.jog-enable <= parport.0.pin-04-in-not
net mpg-y axis.1.jog-enable <= parport.0.pin-05-in-not
net mpg-z axis.2.jog-enable <= parport.0.pin-06-in-not
net mpg-t axis.3.jog-enable <= parport.0.pin-07-in-not

net pend-counts axis.0.jog-counts <= encoder.0.counts
net pend-counts axis.1.jog-counts
net pend-counts axis.2.jog-counts
net pend-counts axis.3.jog-counts

net Xhome parport.0.pin-10-in-not => axis.0.home-sw-in
net Yhome parport.0.pin-11-in-not => axis.1.home-sw-in
net Zhome parport.0.pin-12-in-not => axis.2.home-sw-in
linksp pend-counts => halui.feed-override.counts
linkpp mux2.0.out => halui.feed-override.scale
ciaooo
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » martedì 2 settembre 2008, 21:42

scusa xemet solo una curiosità 
ma halui spindle override non funziona al solito modo?
ho provato a sostituire feed scale e counts
con spindle scale e counts ma la barra non si muove

linksp pend-counts => halui.feed-override.counts
linkpp mux2.0.out => halui.feed-override.scale

linksp pend-counts => halui.spindle-override.counts
linkpp mux2.0.out => halui.spindle-override.scale


forse bisogna mandare il segnale in value?
ciaoo
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » martedì 2 settembre 2008, 21:50

dovrebbe funzionare allo stesso identico modo.
Domanda stupida di base, nella tua configurazione è previsto lo spindle override? Ovvero, comandi il mandrino con un segnale PWM o latro dal software? Hai due barre separate in Axis una per il feed-override e l'altra per lo spindle-override?

Ciao

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » martedì 2 settembre 2008, 22:02

si ho 2 barre una per l'avanzamento e una per il mandrino, muovendola con il mouse funge.
il mandrino è pwm gira avanti e indietro, questa è la configurazione:

newsig spindle-on bit
linkps motion.spindle-on => spindle-on
loadrt pwmgen output_type=1
addf pwmgen.update servo-thread
addf pwmgen.make-pulses base-thread
net spindle-speed-cmd motion.spindle-speed-out => pwmgen.0.value
net spindle-on motion.spindle-on => pwmgen.0.enable
net spindle-pwm pwmgen.0.pwm => parport.1.pin-16-out
setp pwmgen.0.scale 18000 # Change to your spindle’s top speed in RPM
net spindle-ccw <= motion.spindle-reverse
net spindle-ccw => parport.1.pin-14-out
ciao
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » martedì 2 settembre 2008, 22:14

questa va bene, ma quella sopra no (credo)

questa riga:

linkpp mux2.0.out => halui.feed-override.scale

credo che non la puoi ripetere due volte.

Crea un segnale con newsig. Collegalo con linksp a mux2.0.out e poi di nuovo con linksp lo colleghi ai pin che ti interessano.

Ciao

P.S. hai provato comunque a commentare le righe riguardanti il feed-override e vedere se solo lo spindle-override funziona?

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » martedì 2 settembre 2008, 22:21

certo xemet, ho commentato le righe del feedrate e ho provato il mandrino
da solo, ho cambiato le due righe superiori con quelle inferiori.
non sono ripetute 2 volte
se guardo i segnali ci sono ( scale e counts)
ma value è fisso a 1 credo sia li il problema
credo.....
ciao
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » martedì 2 settembre 2008, 22:33

il value deve aumentare in base al segnale counts...esattamente come in feed-override.

E invece il valore di scale è corretto? Potrebbe essere lì il problema.

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » martedì 2 settembre 2008, 22:39

si il valore di scala è 0.01 come ho scritto nel mux2
dicevo se il segnale pend-counts sia il caso di mandarlo a spindle-override value e non a spindle override counts...
no... ho provato ma da errore di tipo
feed override value varia muovendo la barra con il mouse... 0.3 = 30 %
0.7 70 eccc

ciao
mauro
Ultima modifica di billykid il martedì 2 settembre 2008, 23:03, modificato 1 volta in totale.
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

xemet
Senior
Senior
Messaggi: 2435
Iscritto il: martedì 14 novembre 2006, 9:13
Località: Palermo
Contatta:

Messaggio da xemet » martedì 2 settembre 2008, 23:01

no, il segnale value deve aumentare in conseguenza dell'aumento di counts.

Invece, forse il problema è che la scala è troppo piccola, prova a mettere 1 e vedi che succede. Magari il range è diverso tra feed-override e spindle-override.

Ciao

"la risata è qualcosa di molto potente e solo le persone civili, le persone libere ed emancipate, sanno ridere di se stesse" Doris Lessing

my websites:
http://www.xemet.altervista.org
http://www.emc2cnc.altervista.org

Avatar utente
billykid
Member
Member
Messaggi: 451
Iscritto il: lunedì 13 novembre 2006, 13:42
Località: la spezia

Messaggio da billykid » martedì 2 settembre 2008, 23:12

ho provato a mettere 1 100 e 1000!!!
nulla.... spindle override value cambia solo con la barra a mano..
ciao
mauro
Coltivate Linux che windows si pianta da solo...
Linux registered user #447354
http://counter.li.org/

Rispondi

Torna a “Linuxcnc”