Gcode e Percorsi arrotondati

Sezione dedicata a Linuxcnc
Rispondi
Jocman
Junior
Junior
Messaggi: 111
Iscritto il: lunedì 7 marzo 2011, 16:14
Località: Italia-Parma

Gcode e Percorsi arrotondati

Messaggio da Jocman » mercoledì 6 marzo 2019, 16:41

Ciao a tutti.
Nonostante i problemi di azzeramento, continuo (quando riesco) a fare esperimenti di lavorazioni (sperando a breve di fare un lavoro.....serio invece di test a volontà....)
In particolare in questo periodo stavo smanettando con l'incisione di PCB. E' un bel casino nel gestire i fronte retro, nonché la precisione di incisione (uso una v-bit da 0.1 a 10°).
Anche se i risultati non sono eccezionali (per ora) anche se soddisfacenti, sto notando che la macchina tende ad.....arrotondare i percorsi (soprattutto gli angoli) e quindi vengono sballati tutti gli spazi relativi a piste e componenti.
Su lavori grandi magari non ci avrei fatto caso (ad esempi in altri test con il plexyglass e dimensioni dell'ordine del centimetro i risultati ottenuti li ritengo quasi - quasi - ottimi).
Ma su lavori in piccolo quali un PCB (dove si ragiona in decimi di millimetro (se non centesimi per quanto riguarda le piste piccole) l'arrotondamento diventa un problema non da poco.
Venendo al punto, da bravo ignorante mi sto documentando in rete sul problema, e credo possa essere risolto utilizzando 2 approcci Gcode: G61 e G64.

- G61: se ho capito la guida, fa si che il programma venga eseguito "alla lettera", cioè la punta arriva fino alla fine del segmento (dove rallenta o se necessario si ferma) e solo dopo cambia direzione. Quindi dovrei ottenere i miei angoli ben definiti. il G61.1 invece la obbliga a fermarsi sempre e comunque una volta raggiunta la fine del segmento.

- G64: se ho capito, dice a LinuxCNC di mantenere la maggior velocità possibile per ottenere il risultato migliore. Aggiungendo il parametro "P" dovrei dargli una tolleranza, ma di che? di arrotondamento? ad esempio se inserisco G64 P0.1 che significa? che nel caso di un angolo si discosterà dal percorso al max 0.1 mm, e quindi l'arrotondamento sarà di quella entità? e impostando P0 la tolleranza sarà 0 e quindi non arrotonda ma segue il percorso alla lettera (tipo G61)?

E' giusta come l'ho capita? Se si, la soluzione al mio problema allora è di usare uno di questi 2 codici all'inizio di ogni listato (basta inserirlo una sola volta all'inizio, giusto)? Sempre se si, quale dei 2 sarebbe meglio? un G61 o un G64 con P0?

Se ho capito tutto male ( :oops: ) invecE come posso evitare l'arrotondamento?

Grazie a tutti

Andrea

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

Re: Gcode e Percorsi arrotondati

Messaggio da shineworld » mercoledì 6 marzo 2019, 17:33

In LinuxCNC il G64 è il Path Blending.
Non conosco esattamente come faccia il Blend ma in ogni caso i vari valori di arrotondamento sono comunque programmabili.

E' un comando modale e rimane attivo finchè non si chiama un altro comando modale dello stesso gruppo ovvero: G61 (Exact Path Mode), G61.1 (Exact Stop Mode) e G64 (Blend Without Tolerance Mode).

G64 senza parametri te lo sconsiglio perchè a lui interessa solo tenere la velocità continua a prezzo della precisione.

Mi sembra di aver capito dalla documentazione che mettono un arco come blend.
P è la tolleranza quindi va espresso in mm di massima deviazione dal percorso originale.
Q fa un controllo sulla traiettoria e i segmenti collineari vengono uniti, quindi esprime il massimo valore di deviazione entro cui collegare tratti consecutivi che possono essere risolti con un unico tratto.
LinuxCNC manual ha scritto: G64 P- Q- - is a way to fine tune your system for best compromise between speed and accuracy. The P- tolerance means that the actual path will be no more than P- away from the programmed endpoint. The velocity will be reduced if needed to maintain the path. In addition, when you activate G64 P- Q- it turns on the naive cam detector; when there are a series of linear XYZ feed moves at the same feed rate that are less than Q- away from being collinear, they are collapsed into a single linear move. On G2/G3 moves in the G17 (XY) plane when the maximum deviation of an arc from a straight line is less than the G64 P- tolerance the arc is broken into two lines (from start of arc to midpoint, and from midpoint to end). those lines are then subject to the naive cam algorithm for lines. Thus, line-arc, arc-arc, and arc-line cases as well as line-line benefit from the naive cam detector. This improves contouring performance by simplifying the path. It is OK to program for the mode that is already active. See also the Trajectory Control Section for more information on these modes. If Q is not specified then it will have the same behavior as before and use the value of P-.
Ho letto velocemente e se ho fatto qualche errore chiedo venia.

Per PCB secondo me dovresti usare sempre G61 poichè non è importante il tempo ma che la lavorazione sia perfetta.

Jocman
Junior
Junior
Messaggi: 111
Iscritto il: lunedì 7 marzo 2011, 16:14
Località: Italia-Parma

Re: Gcode e Percorsi arrotondati

Messaggio da Jocman » mercoledì 6 marzo 2019, 22:35

Grazie del parere.
In effetti anche io leggendo la guida propendevo per g61,anche perchè nn è tanto chiaro neanche a me cosa significhi il blending (e soprattutto per cosa potrei usarlo io)
Domani modifico i listati di test del PCB (cioe aggiungo il g61 a inizio listato) e proverò a sacrificare l'ennesimo pezzo di vetronite

Andrea

Jocman
Junior
Junior
Messaggi: 111
Iscritto il: lunedì 7 marzo 2011, 16:14
Località: Italia-Parma

Re: Gcode e Percorsi arrotondati

Messaggio da Jocman » sabato 9 marzo 2019, 11:07

Usando il g61 i percorsi vengono perfetti. E per giunta anche il doppia faccia mi corrisponde perfettamente
Peccato che devo risolvere il problema che il bottom è venuto perfetto mentre il top (fresato dopo il bottom) è venuto imperfetto,come se la punta non scendesse nella basetta (alcune piste presentano residui di rame).
La cosa che mi viene da pensare è che la punta si consuma e quindi non scava piu,e se è cosi allora è un grosso problema.
So che sto andando OT adesso,al limite continuo la discussione nella sezione adatta? (È un aspetto che devo comunque risolvere....)
Grazie
Andrea

Rispondi

Torna a “Linuxcnc”