Riga ottica e LinuxCNC

Sezione dedicata a Linuxcnc
Rispondi
devilmind
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 28 novembre 2017, 12:13

Riga ottica e LinuxCNC

Messaggio da devilmind » giovedì 30 novembre 2017, 17:54

Ciao,
ho comprato una riga ottica di 1m da 5 micron e l'ho installata sulla mia CNC connessa via parallela al LinuxCNC.
Su asse x ho un driver che gestisce il motore e sulla riga gestisco il feedback con un PID.
Ho configurato il PID e l'ho tarato come si deve, o almeno credo :D, visto che compensa l'errore.
Il problema è che lo fa male, mi shifta di 0,004 centesimi a botta (e ad ogni correzione aumenta) e quindi non riesco a farlo essere preciso.
Ho l'impressione come se la porta parallela si perdesse qualche impulso dalla riga.
Qualcuno ha avuto esperienza in questo?
C'è un modo per testare se tutti gli impulsi sono letti correttamente (o che altro test posso fare per controllare che non si perda nulla?)

Grazie in anticipo.
Sono nuovo del mondo Linuxcnc e CNC in generale, spero che il mio problema si chiaro.

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Riga ottica e LinuxCNC

Messaggio da ross » giovedì 30 novembre 2017, 19:17

Ciao,
Non ho mai usato le righe ottiche ma posso consigliarti di far muovere l'asse lentamente e vedere se il problema cambia oppure no, i segnali li puoi vedere con halscope.

Ross

devilmind
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 28 novembre 2017, 12:13

Re: Riga ottica e LinuxCNC

Messaggio da devilmind » giovedì 30 novembre 2017, 21:08

grazie per il suggerimento ma anche lentamente il problema persiste.
In pratica io ho un backslash sulla macchina di 0.004 e vorrei correggerlo con la riga.
Se lavoro senza riga, correggendolo con BACKSLASH = 0.004 nel file ini, tutto ok.
Ma se tento di fare la correzione tramite la riga di quei quattro centesimi, non va, parte con quattro e poi aumenta sempre + ad ogni inversione di moto, sia che vado lento che se vado veloce.
Riguardo i segnali della riga, certo che li vedo, ma ovviamente lì mi mostra solo quelli che legge e rispetto alle coordinate x la proporzione è sempre ok ma non corrisponde al reale dove ha perso passi.

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Riga ottica e LinuxCNC

Messaggio da ross » giovedì 30 novembre 2017, 21:44

C'è qualcosa che non mi torna, una riga metrica con approssimazione di 5u significa 0.005mm ed è più grande dell'errore che hai, in altre parole io credo che per azzerare o ridurre al minimo l'errore dovresti avere una riga con risoluzione più spinta tipo 1u (se esiste in commercio).
Non ho esperienza con le righe ottiche ma per avere un errore più piccolo possibile occorre uno strumento di misura (riga ottica, encoder ...) con la risoluzione più alta possibile (o approssimazione più piccola possibile).

Per il fatto che si accumuli non ti so aiutare, dovrei fare delle prove in laboratorio e verificare il sistema.
Che motori usi? Brushless?

billielliot
Senior
Senior
Messaggi: 1747
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: Riga ottica e LinuxCNC

Messaggio da billielliot » giovedì 30 novembre 2017, 22:18

Ciao,

e' sera e spero di non spararla grossa ma in effetti devilmind dice di avere un errore di 0.004 centesimi che per me corrispondono a 40 micron.

Che dire: complimenti per la macchina!

Visto che non dice molto ne' della riga, ne' del sistema (ma tutti quelli che impiegano LinuxCNC lavorano alla NASA?), ho fatto un paio di conti completamente campati per aria partendo da questo link della prima riga ottica che restituisce S. Google:

http://www.cns-srl.com/prodotti/righe-o ... 270&usato=

Ipotizzando una riga ottica da 50 linee a millimetro, letta in quadratura abbiamo 200 impulsi a mm

Ipotizzando un valore di Base_thread di 20000 ns abbiamo 1secondo/0.00002 = 50000 Hz, quindi abbiamo a disposizione un massimo di 25000 letture/s o impulsi/s dalla parallela.

Circuito per leggere un encoder dovrebbe essere almeno 2/4 volte piu' veloce del massimo numero di impulsi generati dall'encoder:

25000 / 2 = 12500 letture al secondo massime (caso ottimistico)
25000 / 4 = 6250 letture al secondo massime (caso realistico)

Ponte che si muove a 3 metri minuto abbiamo 3000mm/60secondi = 50mm/s
50mm/s * 200 impulsi al millimetro = 10000 impulsi al secondo generati dalla riga ottica quando il ponte si sposta a 3 metri/s.

Nel caso "ottimistico" dovrebbe riuscire a leggerla.

Le ipotesi che ho fatto sono molte. A partire dal base thread, per finire con la velocita' del ponte e passando per gli impulsi al millimetro della riga ottica.

Speriamo che devilmind ci dia qualche certezza.

Ciao :-)

Mauro
Amat victoria curam

Avatar utente
Fiveaxis
God
God
Messaggi: 5706
Iscritto il: sabato 15 gennaio 2011, 12:08
Località: Monza e Brianza

Re: Riga ottica e LinuxCNC

Messaggio da Fiveaxis » giovedì 30 novembre 2017, 23:05

In realtà 0,004 centesimi di millimetro corrispondono a 0,04 micrometri ovvero 40 nanometri...

Ora credo che devilmind abbia sbagliato ad esprimersi...Penso intendesse 4 centesimi (ovvero 0,04 mm)
Viceversa, sarei curioso di capire come li abbia misurati i 40 nanometri!..Intendo strumento/condizioni.
Che io sappia, la Fresatrice a CNC più precisa del mercato (allo stato dell'arte) è la Kern Pyramid Nano che è in grado -in determinate condizioni- di mantenere errori di posizionamento massimi di +/-0,3 micron (15 volte superiore a quello paventato da devilmind sulla sua CNC :shock: )...I costi della Kern Pyramid Nano non li conosco ma ho l'impressione che l'unità di misura sia il 100K€...Svariati 100K€ (non meno di 5 sicuro!). :mrgreen:
La macchina conta...ma la differenza la fa il "manico"!

billielliot
Senior
Senior
Messaggi: 1747
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: Riga ottica e LinuxCNC

Messaggio da billielliot » venerdì 1 dicembre 2017, 10:41

L'ho scritto che la sparavo e l'ho sparata.

Confermo I 40 nanometri.

Ciao e grazie :-)

Mauro
Amat victoria curam

Avatar utente
shineworld
Senior
Senior
Messaggi: 673
Iscritto il: venerdì 18 marzo 2016, 9:44
Località: Vicenza
Contatta:

Re: Riga ottica e LinuxCNC

Messaggio da shineworld » venerdì 1 dicembre 2017, 10:45

Forse mi sbaglio perché non conosco molto il motore di LinuxCNC ma se tu retroazioni un posizionamento con il PID di fatto non puoi compensare alcun backslash (recupero giochi) in quanto il P (proporzionale) e l'I (integrale) continua di fatto a tentare di portare la posizione al setpoint e quindi di conseguenza il motore andrà un po' in avanti e po in indietro vanificando il recupero giochi che vorrebbe un posizionamento finisse sempre in una specifica direzione per tenere in TIRO l'asse.

Avatar utente
Fiveaxis
God
God
Messaggi: 5706
Iscritto il: sabato 15 gennaio 2011, 12:08
Località: Monza e Brianza

Re: Riga ottica e LinuxCNC

Messaggio da Fiveaxis » venerdì 1 dicembre 2017, 15:00

OT
billielliot ha scritto:L'ho scritto che la sparavo e l'ho sparata.

Confermo I 40 nanometri.

Ciao e grazie :-)

Mauro
Ma sai, passavo di qui per curiosità (mi affascina tantissimo CNC Linux)...Qui siamo in "territorio elettronico", percui è un'errore veniale (meccanici ne girano pochi qui!); nella sezione di meccanica, però, ti avrebbero mangiato vivo! :lol:

FINE OT
La macchina conta...ma la differenza la fa il "manico"!

Dino
Senior
Senior
Messaggi: 815
Iscritto il: lunedì 13 novembre 2006, 23:08
Località: Dolomiti (BL)
Contatta:

Re: Riga ottica e LinuxCNC

Messaggio da Dino » venerdì 1 dicembre 2017, 22:27

Ciao,
innanzitutto per utilizzare la retroazione è molto più semplice pilotare gli assi in velocità o in coppia che in posizione, detto questo vorrei chiederti che motori hai? DC, Brushless, stepper? piloti tutto dalla parallela?
Credo che l'errore che riscontri sia 0.04mm (quattro centesimi di millimetro) altrimenti credo non avresti nemmeno pensato di compensarli.
Quando dici «mi shifta di 0,004 centesimi a botta (e ad ogni correzione aumenta)» intendi che se muovi l'asse di 1mm hai un errore di 0.004 e se lo muovi di un altro mm (nello stesso verso) hai un errore ancora di 0.004 o questa volta di 0.008? (al di la del valore reale che potrebbe invece essere 0.04mm) e se muovi di 2mm o 10? l'errore cambia o rimane costante?
NON più moderatore della sezione EMC ( http://www.linuxcnc.org/ )
Felice utilizzatore di GNU/Linux http://www.gnu.org/ http://www.kernel.org/
Linux Registered User #192043 http://counter.li.org/
Sito internet http://dino.delfavero.it/

devilmind
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 28 novembre 2017, 12:13

Re: Riga ottica e LinuxCNC

Messaggio da devilmind » lunedì 4 dicembre 2017, 18:21

ciao ragazzi, scusate se nn ho risposto prima ma non avevo attivato l'email alla ricezione delle risposte.
Ovviamente avevo sbagliato ad esprimermi e l'errore è di 0,04 mm (quattro centesimi di millimetro) ed uso la seguente riga:

https://it.aliexpress.com/item/High-acc ... 0.0.b4PES0

Quando dico mi shifta, intendo che se muovo avanti ed indietro la macchina di 1 mm alla volta. Durante l'inversione di direzione (non sempre al primo colpo, ma è randomico) mi perde i 4 centesimi e man mano che continuo il test diventano 6,9,e via via crescendo, non riesco a trovare una certa proporzione durante l'aumento.
Piloto tutto usando porte parallele ed uso motori stepper.

Dino
Senior
Senior
Messaggi: 815
Iscritto il: lunedì 13 novembre 2006, 23:08
Località: Dolomiti (BL)
Contatta:

Re: Riga ottica e LinuxCNC

Messaggio da Dino » martedì 5 dicembre 2017, 23:50

Se l'errore cresce muovendo l'asse sempre nella stessa direzione probabilmente hai impostato male i parametri, controlla bene il numero di passi necessari a muovere di un millimetro l'asse, oppure hai dei motori sotto-dimensionati e non riescono a muovere l'asse (magari in certi punti l'asse si impunta un pochino e perdi dei passi) controlla anche questo.
Mi sembra molto strano che l'errore aumenti, se ci fosse semplicemente del gioco tra la vite e la chiocciola o tra chiocciola ed i cuscinetti l'errore sarebbe costante più o meno su tutta la corsa. La cosa più probabile è che il motore perda passi dato che l'errore è randomico e non costante, controlla anche l'accelerazione che hai impostato, magari è troppo alta.
Per quanto riguarda impostare il sistema con la retroazione ti spiego come fare appena ho un po' di tempo libero, ora non riesco.

Ciao
Dino
NON più moderatore della sezione EMC ( http://www.linuxcnc.org/ )
Felice utilizzatore di GNU/Linux http://www.gnu.org/ http://www.kernel.org/
Linux Registered User #192043 http://counter.li.org/
Sito internet http://dino.delfavero.it/

devilmind
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 28 novembre 2017, 12:13

Re: Riga ottica e LinuxCNC

Messaggio da devilmind » sabato 9 dicembre 2017, 18:52

il mio motore è un ibrido trifase stepper closed loop quindi non credo possa perdere passi altrimenti andrebbe in allarme.
Quindi credo che il mio problema sia solamente riconducibile ad un perdita di input (parallela?) in fase di lettura dalla riga.

Dino
Senior
Senior
Messaggi: 815
Iscritto il: lunedì 13 novembre 2006, 23:08
Località: Dolomiti (BL)
Contatta:

Re: Riga ottica e LinuxCNC

Messaggio da Dino » domenica 10 dicembre 2017, 16:37

Potrebbe essere dovuto a quello allora, ogni quanto viene controllato lo stato della parallela? (Base periodo)
NON più moderatore della sezione EMC ( http://www.linuxcnc.org/ )
Felice utilizzatore di GNU/Linux http://www.gnu.org/ http://www.kernel.org/
Linux Registered User #192043 http://counter.li.org/
Sito internet http://dino.delfavero.it/

devilmind
Newbie
Newbie
Messaggi: 17
Iscritto il: martedì 28 novembre 2017, 12:13

Re: Riga ottica e LinuxCNC

Messaggio da devilmind » domenica 10 dicembre 2017, 18:16

Ce l' ho settato a 25000.
Dovrei abbassarlo ancora sec te?

Rispondi

Torna a “Linuxcnc”