Cncontrol by Melino65

Sezione riservata ai sofware sviluppati in proprio
Rispondi
renato-54
Newbie
Newbie
Messaggi: 32
Iscritto il: martedì 10 aprile 2007, 11:48
Località: Milano(Rho)

Messaggio da renato-54 » mercoledì 25 aprile 2007, 8:46

Buon lavoro MELINO
ho scaricato il programma CNC Control 3...aspettando una interpolazione semplice degli assi..ho notato che hai l'incrementale in asse Z e il Jog di spostamento su X e Y e poi uno sulla Z..
Se fossi minimamante capace di fare un programma...porterei tre modifiche
MODO SEMIAUTOMATICO
1)gli incrementali programmabili su tutti e tre gli assi con possibilita' di spostarsi in G0 e G1
2)il JOG ..lo spostamento a mano per intenderci....che possa almeno avere de velocita' ..una magari veloce e una di un passo alla vota...per potersi avvicinare con precisione all quota
3)che raggiunto un punto in manuale con l'utensile sul pezzo si possa dare
il punto ZERO...lo origini per intenderci..(riconoscibili poi la CNC)e da li poter lavorare sia a CONTROLLO che in MANUALE

OLTRE
Il massimo poi sarebbe poter inserire il ciclo FOR NEXT - GOSUB/RETURN e GOTO nella programmazione

Comunque ancora complimenti per il lavoro io ero fermo ancora a un programmino che mi aveva fatto un amico in gwbasic e muoveva i motori dando solo il numero dei passi....
Siamo dei buoni a nulla ...ma sappiamo fare tutto

Avatar utente
franc
Senior
Senior
Messaggi: 1152
Iscritto il: lunedì 13 novembre 2006, 20:10
Località: Ponte S.Giovanni-PG

Messaggio da franc » mercoledì 25 aprile 2007, 15:03

ciao Renato,

che cosa intendi con 'poter inserire il ciclo FOR NEXT - GOSUB/RETURN e GOTO nella programmazione '

vuoi dire nel file di lavorazione , g-code per intendersi?

fammi sapere tnx
franc
cerco sempre di fare tutto con entusiasmo, ma a volte non è sufficiente.

renato-54
Newbie
Newbie
Messaggi: 32
Iscritto il: martedì 10 aprile 2007, 11:48
Località: Milano(Rho)

Messaggio da renato-54 » mercoledì 25 aprile 2007, 18:46

franc ha scritto:ciao Renato,

che cosa intendi con 'poter inserire il ciclo FOR NEXT - GOSUB/RETURN e GOTO nella programmazione '

vuoi dire nel file di lavorazione , g-code per intendersi?

fammi sapere tnx
si si certo far si che CNcontrol3 riconosca quelle tre istruzioni..e possa gestirle proprio come un vero CNC ...(secondo me sono le uniche importanti dopo il G2 G3)....tieni conto che ragiono quasi sempre su file editati e non importati..cioe'' su lavorazioni da fare...quindo cerco di vedere una cosa diretta semplice immediata
Franc pensavo una cosa a proposito del CNcontrol3 di Melino...riguardava i finecorsa ...(magari e' una cazz..pero' la dico)
Partiamo da una macchina semplice senza finecorsa ...se come nelle lavorazioni su centri di lavoro....tramite lo JOG raggingi lo zero pezzo..(e si imposta l'origine a zero).e se misuri a metro...in quel momento la distanza d'ingombro sui tre assi prima di giungere alla fine della corsa viti chiocciole,e mettiamo che il programma preveda questi input ...Esempio: mettiamo che la x posizionata a zero pezzo abbia ancora 150mm di corsa in + e 50 mm in - cosi per la Y e la Z
si imposteranno queste quote nel programma...nelle caselle che indicano i finecorsa dallo ZERO....a quel punto sia programma per errore preveda di andare oltr quelle quote oppure che cerchi di andare in MANUALE ...il CNcontrol3 non e lo permette...
Siamo dei buoni a nulla ...ma sappiamo fare tutto

renato-54
Newbie
Newbie
Messaggi: 32
Iscritto il: martedì 10 aprile 2007, 11:48
Località: Milano(Rho)

Messaggio da renato-54 » mercoledì 25 aprile 2007, 19:13

turbina ha scritto:Già  che ci siamo , perchè bisogna mettere G17-18-o 19 , non sarebbe sufficiente testare i parametri i-j-k per sapere su che piano si vuole l'arco?
In effetti Turbina mi stavo domandando a cosa puo' servire conoscere il piano di lavoro...se il programma lavorasse conoscendo come G2 o G3 le quote di arrivo...sul centro delle sue coordinate potrebbe impostare in punto a punto il centro compasso sui suoi assi....mi spiego
cerchio diametro 75mm su coordinate X0 Y0..in piano per intenderci
N10G0 X37.5Y0(POSIZIONAMENTO INIZIO CERCHIO)
N20G2 X37.5Y-0.01 X0Y0(un centesimo per far si che si sposti)
oppure semicerchio
N10G0 X37.5Y0(POSIZIONAMENTO INIZIO SEMICERCHIO)
N20G2 X-37.5Y0 X0Y0
cerchio diametr0 75mm su coordinate X0Z0 ...in verticale per intenderci
N10G0 X37.5Z0(POSIZIONAMENTO INIZIO CERCHIO)
N20G2 X37.5Z-0.01 X0Z0(un centesimo per far si che si sposti)
oppure semicerchio
N10G0 X37.5Z0(POSIZIONAMENTO INIZIO SEMICERCHIO)
N20G2 X-37.5Z0 X0Z0
cerchio diametr0 75mm su coordinate Y0Z0 ...in verticale per intenderci
N10G0 Y37.5Z0(POSIZIONAMENTO INIZIO CERCHIO)
N20G2 Y37.5Z-0.01 X0Z0(un centesimo per far si che si sposti)
oppure semicerchio
N10G0 Y37.5Z0(POSIZIONAMENTO INIZIO SEMICERCHIO)
N20G2 Y-37.5Z0 Y0Z0
e' comunque un linguaggio ISO e lo usano su molte CNC
Siamo dei buoni a nulla ...ma sappiamo fare tutto

Avatar utente
franc
Senior
Senior
Messaggi: 1152
Iscritto il: lunedì 13 novembre 2006, 20:10
Località: Ponte S.Giovanni-PG

Messaggio da franc » mercoledì 25 aprile 2007, 21:14

si certo far si che CNcontrol3 riconosca quelle tre istruzioni..e possa gestirle proprio come un vero CNC
A livello amatoriale non possiamo permetterci più di tanto. Lasciamo lavorare melino e poi si proporranno le varianti che riterremo opportune.
Io la questione l'ho risolta implementando un codice (tutto mio) che mi consente il jump ad una determinata linea di programma per un numero di volte stabilito. così posso eseguire pezzi dello stesso disegno quante volte voglio, prima di tornare a home. Con questo sistema ho risolto il problema del for-next.

Più precisamente il codice è questo:

n1000 g36 #nnnnJ dove:

g36 è un codice solitamente non utilizzato in iso
#stringa di riconoscimento
nnnn indica la linea da dove riprendere, inferiore di 1000
j = numero di ripetizioni.

ovviamente prima del blocco n1000 ci sarà  un blocco g0 per lo spostamento della testa per la ripartenza e un blocco di azzeramento delle coordinate e da dove ripartono le stesse coord.assulute dalla linea nnnn. I blocchi devono essere numerati
Qualcosa del genere potrebbe essere fatto per il gosub-return e per il goto

Il sistema l'ho solo fatto per mio uso e consumo e ovviamente non è trasferibile a chi usa software commerciale

Per quanto attiene l'altro problema, tieni presente che la mia macchina non ha i finecorsa, ma la cosa è risolvibile, basta che il programma prima che vengano azzerate le coordinate su l'home del pezzo, memorizzi la posizione e si serva di questi valori per controllare se i nuovi spostamenti eccedano i valori LTX-LTY e LTZ ( dimensione della zona di lavoro )

spero di non aver fatto confusione

ciao
Ultima modifica di franc il sabato 28 aprile 2007, 1:06, modificato 1 volta in totale.
franc
cerco sempre di fare tutto con entusiasmo, ma a volte non è sufficiente.

renato-54
Newbie
Newbie
Messaggi: 32
Iscritto il: martedì 10 aprile 2007, 11:48
Località: Milano(Rho)

Messaggio da renato-54 » giovedì 26 aprile 2007, 0:41

Deve essere una macchina interessante ...
Siamo dei buoni a nulla ...ma sappiamo fare tutto

renato-54
Newbie
Newbie
Messaggi: 32
Iscritto il: martedì 10 aprile 2007, 11:48
Località: Milano(Rho)

Messaggio da renato-54 » domenica 29 aprile 2007, 2:08

Non so se si fa cosi a mettere i file
franc controllamelo se puoi ho cercato di generare la tua curva in punto a punto...se ho capito bene quali coordinate prendevi
ti ho messo un codice che tranne i numeri d riga dovrebbe andarti bene

Ciao Renato
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
Siamo dei buoni a nulla ...ma sappiamo fare tutto

Avatar utente
franc
Senior
Senior
Messaggi: 1152
Iscritto il: lunedì 13 novembre 2006, 20:10
Località: Ponte S.Giovanni-PG

Messaggio da franc » domenica 29 aprile 2007, 14:54

La curva sostanzialmente è giusta, ho controllato solo alcune delle coordinate.
Vedi bene che il mio tracciato è fattibile con 3 blocchi e tu ne hai impiegati 265.
Ripeto il pc e la macchina fanno bene la cosa anche cosi, ma se vuoi controllare il codice o devi modificare qualcosa è un lavoraccio.
Te lo dico con la cognizione per aver fatto il logo della Ferrari, che postai sul vecchio forum, tutto manualmente, allora non c'era sw adatto per tradurre un disegno in g-code.


ciao
franc
cerco sempre di fare tutto con entusiasmo, ma a volte non è sufficiente.

turbina

Messaggio da turbina » domenica 29 aprile 2007, 15:43

se puoi ... salva i file iso con una estensione iso nc cnc etc.. ma non plt che è riservata per i file hpgl.

Avatar utente
franc
Senior
Senior
Messaggi: 1152
Iscritto il: lunedì 13 novembre 2006, 20:10
Località: Ponte S.Giovanni-PG

Messaggio da franc » domenica 29 aprile 2007, 21:34

ciao turbina,

per renato:
Ti avevo detto che la curva era sostanzialmente giusta, ma controllando meglio, fermo restando il suo andamento non contiene le coordinate del codice che ho sopra postato.
La prima curva inizia dal punto x100 y50 e finisce al punto x169.60 y47.83 da dove parte la seconda curva che finisce in x300 y70.
Tutte queste coordinate non le leggo nel file, perché ?

Per la prima curva dovrai calcolarti il centro di curvatura, con il metodo che ho esposto.

fammi sapere.

ciao
franc
cerco sempre di fare tutto con entusiasmo, ma a volte non è sufficiente.

Avatar utente
Steulm
Member
Member
Messaggi: 364
Iscritto il: venerdì 13 aprile 2007, 10:52
Località: Sabaudia (LT)
Contatta:

Messaggio da Steulm » venerdì 4 maggio 2007, 21:21

Ciao Melino, potresti darmi qualche info su come hai gestito le velocità  e accellerazioni con la dll?? Anche io stavo scrivendo qualche linea di codice per gestire la cnc, ho finito gran parte dell'aspetto visuale del gcode (stile kcam) e dell'import/export dei file di lavorazione. Ora dovrei gestire meglio la parte motori (attualmente ho provato la inpout.dll) ma volevo usare qualcosa di meglio.
Grazie, Stefano.
Ciao, Stefano.

Giudica i tuoi successi dagli sforzi che hai fatto per raggiungerli.

turbina

Messaggio da turbina » sabato 5 maggio 2007, 12:15

Come si chiamerà  questo nuovo programma di controllo steulm?

Avatar utente
Steulm
Member
Member
Messaggi: 364
Iscritto il: venerdì 13 aprile 2007, 10:52
Località: Sabaudia (LT)
Contatta:

Messaggio da Steulm » sabato 5 maggio 2007, 19:41

turbina ha scritto:Come si chiamerà  questo nuovo programma di controllo steulm?
In questo momento, ma penso che sarà  così, l'ho nominato STECAM. E' nato per avere tutto autocostruito (macchina, elettronica e software), attualmente è in uno stadio non presentabile, ma appena supera il 50% del rendimento, lo metterò a disposizione di tutti (come al solito!). Ciao, Stefano.
Ciao, Stefano.

Giudica i tuoi successi dagli sforzi che hai fatto per raggiungerli.

melino65
Junior
Junior
Messaggi: 61
Iscritto il: mercoledì 3 gennaio 2007, 1:52
Località: Ascoli Piceno
Contatta:

Messaggio da melino65 » domenica 6 maggio 2007, 0:53

Ciao raga' !!
E' da un po' che non leggo questo forum !!

(x renato-54)
Con CNCONTROl, volendo muovere l'asse Z di un solo passo, è possibile farlo programmando il JOG a controllo numerico, se ad esempio la tua fresa si sposta di 0,2 mm con un passo è sufficiente inserire tale valore nella casella relativa all'asse che si vuole muovere.
Riguardo al FOR/NEXT GOSUB e RETURN direi che sono funzioni che comporterebbero la scrittura di chilometri di codice inoltre dovrei implementare CNCONTROL con degli INPUT che sarebbero incomprensibili per moltissimi utenti, queste sono funzioni che vanno oltre il livello amatoriale e le lascio a soft tipo mach3.

CNCONTROL azzera gli assi ogni qualvolta inizia la lavorazione di un GCODE e non puo' sapere che mancano xx mm per arrivare al fine corsa .
Posso anche inserire l'input dei fine corsa, ma nel momento in cui vi e' un input di arresto la lavorazione viene irrimediabilmente persa.

melino65
Junior
Junior
Messaggi: 61
Iscritto il: mercoledì 3 gennaio 2007, 1:52
Località: Ascoli Piceno
Contatta:

Messaggio da melino65 » domenica 6 maggio 2007, 1:12

(per STEULM)
la Dll serve solo ed esclusivamente per mettere a 1 o 0 uno o piu' pin della parallela, è il tuo programma che deve poi stabilire per quanto tempo deve durare.
Puoi usare due metodi per controllare il tempo:

1) Il timer di sistema
che e' molto preciso ma con la limitazione di non poter oltrepassare i 1000 step/secondo poiche' il tempo minimo impostabile e' 1 millisecondo.

2) La velocita' del tuo processore (meno preciso)

Crea una routine del tipo:

for z = 1 to 1000000
next z

e misura il tempo che impiga per compiere 1000000 di cicli

questo sistema e' pero' un po piu' complicato da gestire perche' se ad esempio il tuo pc impiega 2 secondi per compiere 1000000 di cicli, potrebbe impiegare 3 secondi anzichè 4 per compierne 2000000

Quindi dovresti fare una serie di test per tracciare una curva relativa al tempo in rapporto ai cicli, di conseguenza quando vuoi variare la velocità  vai ad osservare la curva per scegliere il relativo numero di cicli da compiere.

Ti assicuro che c'è molto da lavorare.

Rispondi

Torna a “Home Made”