arrivo in quota ..... in base a che parametri???

Sezione dedicata a Linuxcnc
Rispondi
giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » lunedì 18 febbraio 2013, 15:50

mmmm .... non posso dire di essere un esperto .... ma qualche cosa non mi torna .... nella mia configurazione di prova a vuoto tutto sembrava andare a meraviglia .... ma appena messo in "carico" il motore per effettuare i test sulla meccanica reale (un solo asse) ho visto una cosa che non mi è chiara .... uso un nema34 bipolare in parallelo ..... provato prima a 800passi/giro e poi a 1600passi/giro .... tutto ok ma superati gli 8000 mm/min su interfaccia axis, che nella mia configurazione (16 passi/mm) sono 128000 passi/min (80rpm) l'asse non arriva più in quota ma si ferma prima .... il ciclo di lavoro di prova, che simula quello reale, è un continuo spostamento dalla quota x100 alla quota x-100 con f25000 .... axis a video mostra lo spostamento che sotto gli 8000mm/mm è di effettivi 200mm totali, appena li supero diventano meno fino a divenire la metà  .... il comportamento della meccanica è il medesimo ....

cambiando le accelerazioni non cambia nulla per quanto riguarda la quantità  di spostamento, come pure modificando le velocità  .....ovviamente modificando velocità  e accelerazioni le prestazioni sono diverse ma riperto per il comportamento sulla quantità  di spostamento non cambia dalla prima configurazione. ...... cosa è che non tengo presente?? qualche idea??

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » martedì 19 febbraio 2013, 18:33

Aggiungo una precisazione .... non rilevo perdita di passi, infatti se nel gcode, dopo il movimento pendolare da x100 a x-100, aggiungo altri posizionamenti ... tipo x20 e x130 con f8000 il sistema và  correttamente alle quote specificate e se aggiungo un ritorno a x0 anche quello non viene mai errato, questo nemmeno se nel gcode inserisco solo il movimento penolare.
Il pc a conti fatti deve generare 20KHz di segnale per viaggiare alla massima velocità  .... non credo quindi il problema venga da incapacità  di generazione segnale .... proverò ad aggiungere un'interfaccia tra LPT e azionamento per aumentare un pò la tensione e la potenza del segnale che sul mio drive partono da 3V to 28V e assorbono da 4 a 8mA ..... magari sono troppo al limite con la parallela ...... ma se fosse questo dovrei vedere dei blocchi credo o no?

Sono più convinto che da qualche parte su emc ci sia la possibilità  di parametrizzare le frenate e le accelerazioni in qualche modo divero da come è ora e che il problema venga da lì ..... può essere esatta questa deduzione?

Fabietto
Senior
Senior
Messaggi: 881
Iscritto il: mercoledì 21 novembre 2007, 17:43
Località: Prov. Ve

Re: arrivo in quota ..... in base a che parametri???

Messaggio da Fabietto » martedì 19 febbraio 2013, 20:43

Ciao premesso che non sono espertissimo ho una sensazione, cambi vero le impostazioni quando cambi il micropasso?
per impostare accelerazioni, riduzioni, passi per mm usa il stepconf e non dovresti aver problemi.
Posta la configurazione meccanica dell'asse e i file di configurazione che usi e vedrai che ti verranno date risposte.
Ciao
Fabio

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » mercoledì 20 febbraio 2013, 21:03

ovviamente uso stepconf .... anche se oramai ho imparato a fare senza ..... però lo uso ancora su una configurazione di "riscontro" che tengo e non midifico in modo dariscontrare errori confrontando quella che invece uso per i test..... e sì quando cambio conf. sull'azionamento la cambio pure sul file .ini ..... per postare la configurazione .... abbiate pazienza ne metto le parti essenziali:

Codice: Seleziona tutto

#......solito......1 SOLO ASSE

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 89000
SERVO_PERIOD = 1000000

[HAL] solito
[HALUI] solito

[TRAJ]
AXIS = 1
COORDINATES = X
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.10
DEFAULT_VELOCITY 0 70.0
MAX_LINEAR_VELOCITY = 700.0

[EMCIO] solito

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 700.0
MAX_ACCELERATION = 1000.0
STEPGEN_MAXACCEL = 2250.0
SCALE = 5.09954140127 (oppure 8 oppure 16 .... POCO INTERESSANTE)
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -10000.0
MAX_LIMIT = 10000.0
HOME_OFFSET 0 0.0
RAPPORTO 1:4 (motore:vite)
1600 passi giro
1 giro vite = 2512.0mm oppure 800.0mm a seconda della geometria scelta. PER COMODITà  USO UN SISTEMA LINEARE al posto di uno angolare ..... quindi quel giro equivale a D*3.14 .... quindi posso mettere anche valori di fantasia ... a me interessa in realtà  un angolo .... VEDI SCHIZZO
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » mercoledì 20 febbraio 2013, 21:17

si lo sò .... il disegno è ....... ..... ma rende l'idea.
Il BASE_PERIOD è elevato poichè il pc è un c...so, così evito crash ed errori.
Avevo un dubbio sulla massima accelerazione e la frequenza di step .... a ma conti fatti nella peggiore delle ipotesi (a 16step/giro e giro da 2512mm) genero 40Khz .... l'azionamento ne riceve fino a 300KHz ..... quindi non è un limite relativo all'azionamento .... ma il mio problema si genera a frequenze molto più basse, nell'ordine di 1KHz .... non credo quindi sia un problema hardware .....
RIPETO: se realizzo movimenti dell'asse "pendolari" con G1 e f sotto gli 8000 l'asse si porta correttamente alle quote impostate prima di invertire, con f sopra gli 8000 (prendete gli 8000 come un riferimento "inesatto" non ho modo di misurare da che punto in poi delle max velocity ho il problema) l'asse comincia radualmente a diminure la quantità  di moto prima di invertire .... se imposto 100 con f25000 non arriva oltre il 70% del percoso ed inverte marcia ..... in gradi: a basse velocità  raggiuge l'angolo impostato ... ad alte velocità  arriva appena oltre la metà  dell'arco impostato.

Provo ad inserire un uln2003 per aumentare la "potenza" del segnale .... ma come scritto l'azionamento dovrebbe andare anche con la sola potenza in uscita dalla parallela (assorbe max 8mA, ma in funzionamento normale si accontenta di 4mA) .....

Non mi vengono idee su dove andare a mettere le mani .... qualche suggerimento?

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

Re: arrivo in quota ..... in base a che parametri???

Messaggio da billielliot » giovedì 21 febbraio 2013, 10:08

Ciao giorgiofoga,

come fai a generare 40KHz?

Mauro :-)
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » venerdì 22 febbraio 2013, 0:10

..... mmmm .... e' vero ho detto una minchiata .... vuoi dire che con quel base period posso generare al massimo 5KHz?? .... è anche vero che ho max_acceleration a 1000 ..... dico giusto quindi se dico che in realtà  al massimo ho 16000segnali=sec?? ..... però anche abbassando la ratio a 5 (5000 Hz .... quindi nei limiti) il problema ce l'ho ugualmente ....

comincio ad avere le idee confuse ..... quale parametro "decide" il limite massimo della frequenza di step?

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

Re: arrivo in quota ..... in base a che parametri???

Messaggio da billielliot » venerdì 22 febbraio 2013, 9:34

Ciao giorgiofoga,

in un'automobile da gara chi decide le massime prestazioni?

Basta il desiderio del pilota di vincere o serve un buon insieme composto da motore, telaio, sospensioni etc...?

Tu hai il motore di uno scooter e pretendi di spingere un camion a pieno carico a 80Km/h, lamentandoti che ha poca ripresa.

Il latency test lo hanno fatto proprio per indagare questi problemi.

Ciao :-)

Mauro

P.S. ovviamente anche il desiderio del pilota di vincere e' importante. Ma il desiderio stai dimostrando di averlo.

P.P.S. quale misura fornisce un risultato di "16000segnali=sec??" ?
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » venerdì 22 febbraio 2013, 11:24

nessuna misura .... abbasso il base period e anche i passi mm ...

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

Re: arrivo in quota ..... in base a che parametri???

Messaggio da billielliot » venerdì 22 febbraio 2013, 11:57

Quindi stai regolando solo i paramteri software senza tenere conto dei limiti dell'hardware?

Domanda: se non puoi generare piu' di 5Khz, come pensi di poter andare oltre questa frequenza semplicemente cambiando i parametri software?

I parametri software non sono indipendenti dalla velocita' del computer. I limiti massimi li ottieni in base alla "bonta' del computer" (testato con il Latency Test). Entro quei limiti puoi giocare con i parametri software (quindi non cercare di andare oltre i 5Khz con la tua configurazione attuale).

Quale e' il risultato del latency test per il tuo computer?

Quale e' il passo meccanico delle viti che usi sugli assi?

Sei in grado di inviare foto dei componenti elettronici? Sarebbe interessante poter vedere le targhette che riportano le caratteristiche di questi componenti.

Ciao :-)

Mauro
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » sabato 23 febbraio 2013, 10:34

lam OS1078 ..... suo motore 7.1Arms 9Nm ....

il latency è in una forchetta tra i 40000 e gli 80000 .... il pc in effetti fà  schifo .... oggi provo a disabilitare la scheda video dal bios e inserirne una interna .... dovrebbe migliorare un po'.

Comunque ho già  ordinato una nuova main e una nuova cpu ... quella di ora è una vecchia sempron e ho letto in giro che è pessima per questo lavoro.... ma tant'è ... per me è solo un test ho usato quello che avevo libero sottomano, la cos importante è verificare che la cosa può essere adatta ai miei scopi.
Quindi stai regolando solo i paramteri software senza tenere conto dei limiti dell'hardware?
no in realtà  avendo presente i limiti, stò cercando di impostare una configurazione che mi permetta di verificare una certa velocità  sulla configurazione meccanica che ho già  postato, quindi non potendo andare oltre i 5KHz (assodato) oggi proverò ad abassare gli step giro motore al minimo (200) sacrificando tutta la precisione, per veriicare che il movimento pendolare venga effettuato con accuratezza (relativamente alla precisione che posso avere con 200passi/giro).

Adesso stò andando a 1600step/giro, dovrei quindi passare dai 40KHz teorici richiesti dalla mia applicazione attuale ai 5KHz disponibili effettivi ....

@mauro .... il ragionamento fila? te lo chiedo per conferma. ciao e grazie molte delle risposte.
A proposito conoscevo un mauro dalle tue parti che era vicino al mondo laser .... sei mica tu per caso?

Fatto questo posso proseguire con il mio progetto e investirci altri soldini .....

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

Re: arrivo in quota ..... in base a che parametri???

Messaggio da billielliot » sabato 23 febbraio 2013, 13:31

Ciao giorgiofoga,

ho tanti interessi ma non i laser. Quindi non penso di essere io il Mauro che conosci :-)

Tornando al tuo progetto: complimenti per i driver e i motori. OK per il ragionamento. Usa il parametro 5KHz come massima frequenza utile che il tuo PC puo' generare.

Impostando il (micro)passo a 1/4, avrai bisogno di 200*4=800 impulsi per far compiere un giro alle viti (che azionano gli assi).

Avendo a disposizione 5000 impulsi al secondo potrai far fare un massimo di un massimo di 5000Hz/800step=6.25 giri al secondo alla tua vite.

Se la vite avesse un passo di 10mm, avresti una velocita' massima di 6.25giri/sec*10mm=62.5mm al secondo.
In un minuto percorri 62.5mm*60sec=3750mm. Non sara' una scheggia ma nemmeno una tartaruga.

Usando una vite passo 10 puoi aspettarti una posizionamento nell'ordine dei 10/800=0.0125mm (poco piu' di un centesimo).
In genere i costruttori di motori passo-passo assicurano una buona ripetibilita' di posizionamento fino al 1/2 passo. Per la precisione e' tutto da verificare e dipende dalla meccanica che userai e da come la userai (non basta teorizzare sulla vite e sui microstep).

Non andrei oltre 1/8 di passo. Poi avresti problemi perche' alzando il micropasso i motri perdono in coppia quando ruotano veloci.

Manca il dato del passo delle viti che stai usando (o che userai) e che io ho ipotizzato essere di 10mm.
Ho dato per buono che i tuoi motori siano da 200 passi/giro.
Spero di non aver fatto errori nei vari conteggi/passaggi.

Ciao :-)

Mauro
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

[quasi ris]Re: arrivo in quota ..... in base a che parametri

Messaggio da giorgiofoga » sabato 23 febbraio 2013, 20:12

Grazie mille per gli esempi ..... trovo che siano il modo migliore per "cementare" le proprie nozioni.

.... comunque .... spero di non averti coinvolto in una cosa che si dimosra una sciocchezza .... allora, il mio problema alla fine risultava essere il non arrivo in quota su un movimento pendolare ad alta velocità  ..... deduzione per deduzione sono arrivato al problema impulsi del segnale del pc ..... non che sia una cosa non vera ... anzi .... il pc non tiene base_period inferiore a 89000 .... anzi non tiene nemmeno quello per tempi lunghi (superiori alle 2 ore) ... ovvero tiene il il valore (volendo anche 25000) ma per periodi limitati e poi i segnali si impallano .... il motore va in "fuga" oppure in stallo per errero sul segnale "step" ... insomma tutte cose che è più che normale che succedano con una problematica simile .... però succedono "cose" ... mentre per il mancato arrio in quota non si registrava nessuna anomalia tranne il fatto che non si vedeva l'asse arrivare alla posizione voluta prima di invertire la marcia.

... oggi pomeriggio per prima cosa ho impostato tutto per lavorare con frequenze massime di segnale di step a valori inferiori a 900Hz ..... il problema si presentava comunque ..... ma a 900Hz non poteva essere un problema di cpu e matherboard!!!!!

il g-code non lo conosco per nulla bene (una volta, inizio carriera, lavoravo su heidenhain), però in ditta abbiamo 4 cnc fanuc, cnc per automazioni custom ne ho installati e programmati un pò anni fa .... tutte queste esperienze mi dicono che se io programmo:

Codice: Seleziona tutto

g1  x100  f30000
x-100
x100
l'asse in questione deve andare prima a 100mm poi invertire e tornare a -100mm e quindi invertire di nuovo .... (per sicurezza ho rotto le scatole anche a chi usa i fanuc) .... di conseguenza, vedendo che le cose non mi andavo per questo verso ho ritenuto di avere dei problemi di vario genere ..... oggi però ad un tratto mi sono ricordato dell'opinione del tutto mia personale e opinabile che chi programma in c o altri linguaggi base spesso è un po' troppo orientato al mondo virtuale e meno a quello reale .... ho quindi letto il manuale del g-code per linuxcnc per cercare un comando che mi desse l'opportunità  di "rompere" il calcolo delle traiettorie fatto dalla libreria RT ... ho pensato che g4 p 0 potesse fare al caso mio .... ho quindi riscritto il mio gcode di prova così:

Codice: Seleziona tutto

g1  x100  f30000
g4 p 0
x-100
g4 p 0
x100
g4 p 0
MAGIA .... il movimento pendolare viene perfetto anche con f60000, step_gen di 7500, 1600passi/giro e tutte le altre impostazioni "tirate" al limite delle possibilità  del mio azionamento e del mio motore anche sotto pieno carico!!!! :lol:

ORA: tutto questo per mè è solo un test per motori/riduttori-azionamenti-resistenza pc-linuxcnc .....il mio progetto finaleperò prevede altri assi che lavorano su una cinematica che dovrò scrivere (e già  testata con un simulatore grafico adoc scritto in openGL) .... non mi sarà  però possibile "spezzare" i calcoli cinematici fatti dalla libreria matematica rtai ...

:roll: quindi Mauro o altri che vorranno precisare, il fatto che debba scrivere il codice in questo modo, dipende dai miei base_period "reali", oppure da qualche altra cosa? (uso la ver. 2.5.x l'ultima).... eventualmente c'è possibilità  di ritoccare il codice per "correggere questa cosa" (ammeso che non dipenda dal mio c....o-pc)??

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

Re: arrivo in quota ..... in base a che parametri???

Messaggio da ross » domenica 24 febbraio 2013, 11:40

Ciao,
il comando G4 P0 indica di fare una pausa di 0 secondi, non ho mai provato a vedere cosa succede programmando quella pausa lì perché è insignificante al livello di esecuzione, l'ho sempre programmata con le pause "corrette" e nel tuo caso mi sembra di capire che è un'esecuzione anomala.

Forse ti può esser sfuggito qualche settaggio del bios, prova a leggere qui https://www.cncitalia.net/forum/viewtopi ... 17&t=33411 se ti può essere d'aiuto, era un mio vecchio post dove segnalavo ed ho risolto alcuni problemi.

Prova a cercare info anche nel forum di Linuxcnc http://www.linuxcnc.org/index.php/engli ... 8-computer.

Ciao
Ross

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: arrivo in quota ..... in base a che parametri???

Messaggio da giorgiofoga » domenica 24 febbraio 2013, 12:24

non è per nulla una esecusione anomala ...... semplicemente costringo "l'esecutore" a terminare il comando x100 prima di passare a x-100 .... perchè??? perchè in mezzo ci ho piazzato una pausa corrispondente a nulla ma che lo costringe a compiere un ciclo per verificare la pausa=0 e non a calcolare "al volo" l'accelerazione di ritorno "saltando" a piè pari l'arrivo fisico in quota ..... infatti ogni comando deve venire eseguito se non è un errore .... per eseguire un comando bisogna terminare il precedente, a meno che il programmatore non "parallelizzi" il codice (non credo si possa fare in gcode però) ..... tutta la programmazione funziona così ....

che salti a piè pari l'arrivo in quota .... quella è un'esecuzione non prevista ....

Grazie mille per i link adesso ci dò un'occhiata ....

Rispondi

Torna a “Linuxcnc”