LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timing

Sezione dedicata a Linuxcnc
Rispondi
criz
Junior
Junior
Messaggi: 68
Iscritto il: domenica 20 marzo 2011, 23:28
Località: Provincia di Cagliari

LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timing

Messaggio da criz » domenica 19 gennaio 2014, 23:52

Ciao ragazzi.
Sto smanettando con emc2 nella sua ultima versione (2.5.3) per ottenere l'impostazione ottimale per la mia BF20.
La macchina è in configurazione originale, quindi con le sue viti trapezie (2mm a giro X e Y, 4mm a giro Z).
Rapporto motore:vite 2:1 con pulegge (20:40) e motori nema34 7,7N/m 5.6A .
Elettronica, driver e motori Wantai.

Il pc, un Athlon XP 2600+, con 512mb di ram, ha un max jitter sotto i 15000.

In configurazione mezzo passo, 400 step al giro per X e Y e 200 per Z, riesco ad ottenere movimenti ad una velocità di 900mm/minuto.
Se tento movimenti a 1000mm/m il motore inizia a "fischiare", l'asse tenta di girare ma non si muove minimamente.
Nella mia ignoranza non ho ancora capito perchè succede questo... il motore non riesce a muoversi a causa dell'elevata frequenza di impulsi che riceve, oppure il problema sta nelle impostazioni o nel pc?

Se abbasso ancora il micropasso, 800 step al giro per X e Y e 400 per Z, la velocità massima ottenibile prima che il motore inizi a "fischiare" si abbassa alla velocità di 700mm/m.

Inoltre non mi sono ancora chiari alcune impostazioni:
setp stepgen.0.dirhold 20000
setp stepgen.0.dirsetup 20000
Da quanto ho capito il valore di questi due campi è dato dal valore max di jitter (15000) + il valore rispettivo del motore/elettronica (io sto usando 5000).... è corretta questa mia deduzione?

Mentre non ho ancora ben capito che valori impostare qua:
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000
Dovrei mettere un valore su SERVO_PERIOD doppio in confronto a quello di BASE_PERIOD e BASE_PERIOD dovrebbe dipendere dal max jitter (15000)... ma già mettendo valori sotto i 60000 (su BASE_PERIOD e relativo doppio su SERVO_PERIOD) ottengo l'errore realtime... come mai?

Scusate la lunghezza del post, ma questi sono tutti i miei dubbi.
Allego anche il mio HAL e INI.
Grazie a tutti.
:D
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

Avatar utente
balestrino
Newbie
Newbie
Messaggi: 43
Iscritto il: sabato 23 aprile 2011, 22:10
Località: Livorno
Contatta:

Re: LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timi

Messaggio da balestrino » giovedì 23 gennaio 2014, 10:28

c'è una guida sul tweaking sul wiki di linuxcnc

http://wiki.linuxcnc.org/cgi-bin/wiki.p ... Generation
Tormach PCNC1100 - 3D Printer HackerBot - Wabeco D4000E - Wabeco F1210 LinuxCNC - Nebes TM178 - TIG NX300 PowerMix

criz
Junior
Junior
Messaggi: 68
Iscritto il: domenica 20 marzo 2011, 23:28
Località: Provincia di Cagliari

Re: LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timi

Messaggio da criz » giovedì 23 gennaio 2014, 19:57

Son riuscito ad abbassare il valore di BASE_PERIOD con una nuova formattazione e disabilitando tutto il possibile dal bios, controller audio includo che mi era sfuggito.
Anche la configurazione guidata imposta un valore di BASE_PERIOD più basso del precedente limite ( 46000 ) e axis non da errori. :D
Mi manca da disabilitare l'avviso al boot di ubuntu riguardo la modalità grafica limitata con i driver vesa e posso passare alla configurazione ad hoc del timing dei motori.

criz
Junior
Junior
Messaggi: 68
Iscritto il: domenica 20 marzo 2011, 23:28
Località: Provincia di Cagliari

Re: LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timi

Messaggio da criz » giovedì 23 gennaio 2014, 20:32

il valore del test realtime non ha mai passato i 15mila... :D :D
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

Avatar utente
balestrino
Newbie
Newbie
Messaggi: 43
Iscritto il: sabato 23 aprile 2011, 22:10
Località: Livorno
Contatta:

Re: LinuxCNC 2.5.3 - Dubbi impostazioni comunicazione e timi

Messaggio da balestrino » venerdì 24 gennaio 2014, 13:49

attualmente sto facendo delle prove con la parallela e non ho approfondito il discorso dei timing.

cerco di seguire la guida al tweaking e il ragionamento è questo:

il BASE_PERIOD deve essere la somma della latency (max jitter) più alta e dal timing richiesto dal driver

Prenderei come riferimento un A4989 della Allegro (o Gecko G203V) che ha 200ns (0.2uS) di hold duration e di setup duration
e prendiamo come max jitter 15.000

quindi 15uS + 0.2uS = 15.2uS

che a quanto pare si avvicina è il limite minimo prima di locckare il PC.

quindi prendiamo 16uS di BASE_PERIOD - 15uS di latency = 1uS di timing
che è troppo poco per un A4989 in quanto STEP Low duration = 1uS, STEP High duration = 1uS
Totale minimo richiesto è 2uS.

quindi prendiamo un BASE_PERIOD = 17uS

il Max step rate è 2*BASE_PERIOD = 17uS*2= 34uS = 0.0294117647 * 10^6 = 29.4kHz

seguendo la guida si arriva ai calcoli degli steplen, etc. etc. ed in fondo c'è il foglio excel dove si possono effettuare i calcoli.

Ho messo in allegato i calcoli relativi al ragionamento fatto fin ora
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
Tormach PCNC1100 - 3D Printer HackerBot - Wabeco D4000E - Wabeco F1210 LinuxCNC - Nebes TM178 - TIG NX300 PowerMix

Rispondi

Torna a “Linuxcnc”