Lathe XY

Sezione dedicata a discussioni generiche sui vari software di controllo.
Per gli approfondimenti si rimanda ai subforum specifici.
Subforum:
Mach3
Mach4
Ninos
Kcam
Linuxcnc
DeskCnc
CeNeCe & Co.
Pc-Nc e win Pc-Nc
G-code
Home Made
UcCnc
Rispondi
Avatar utente
Alby190885
Newbie
Newbie
Messaggi: 20
Iscritto il: martedì 10 marzo 2020, 10:14

Lathe XY

Messaggio da Alby190885 » giovedì 12 marzo 2020, 23:27

Ciao a tutti,

sto lavorando ad un programma rudimentale per MS-DOS che si chiama LATHE XY
per controllare via LPT1 due stepper motor (l'idea di fondo era di impiegarlo per un tornio)

L'ho testato varie volte e permette di muovere due stepper, per l'assemblaggio meccanico posto qui di sotto uno screen

per il collegmento del NEMA17 al suo controller e il controller alla LPT1. Mentre nel pin11 della LPT si collega un interrutore on/off collegato dal pin11 (input) ad un qualsiasi GND (io ho scelto il pin 20). Questo permettera' di far sapere al programma se abbiamo deciso di bloccare tutto.
Lo schermo restituira' numero di stati fatti e il totale. In questa fase permettiamo pure ai motorini/controller di raffreddarsi e premendo il pulsante nuovamente su on il lavoro riprende da dove era giunto.

Il comando move permette di specificare quale motorino X o Y, in che senso far girare il motorino orario / anti orario e in fine si dira' al programma di quanti stati avanzare ( un giro completo penso siano circa 2004 stati ). Lavoro a 4 stati per adesso, anche se sarebbe possibile aumentare la precisione fino a 16 stati. (Ma dovrei modificare il sorgente) Il programma e' free ed e' tutt' ora molto limitato.

Fatemi sapere cosa ne pensate :) , non lo intendo come un programma professionale, alla fine esistono gia' molti prodotti migliori , ci mancherebbe.
L'ho fatto solo per hobby e per hobbysti e retro appassionati (Dato che gli stessi risultati li potreste ottenere con Arduino)

download file https://www.mediafire.com/file/ov01dq3q ... E.EXE/file
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

torn24
God
God
Messaggi: 5044
Iscritto il: venerdì 1 febbraio 2008, 11:28
Località: Modena

Re: Lathe XY

Messaggio da torn24 » venerdì 13 marzo 2020, 7:42

Il problema che nessuno ha installato MSdos e pochi freedos, per quanto riguarda la porta parallela non è più disponibile in molti computer :D Per cui solo per provare il programma bisognerebbe avere un vecchio computer con porta parallela in cui sia istallato MSdos, magari nessuno degli utenti del forum lo dispone...

Muovere i motori non è un grosso problema, è l'interpolazione dei due assi per avere una linea inclinata o un arco che potrebbe essere complicato, io ad esempio non sono in grado di fare da codice interpolazioni, senza delle quali le possibilità di un cnc anche tornio sono molto limitate.
CIAO A TUTTI !

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Lathe XY

Messaggio da hellfire39 » venerdì 13 marzo 2020, 8:48

MS-DOS?
Porta parallela?


Completamente inutile e obsoleto!
un giro completo penso siano circa 2004 stati
:shock: e che significa?
(Dato che gli stessi risultati li potreste ottenere con Arduino)
Appunto!

------------------
Devo ammettere che il DOS mi risveglia ricordi d'infanzia. Ma è morto e sepolto. Le alternative presenti oggi non ne fanno rimpiangere la morte.

Avatar utente
Alby190885
Newbie
Newbie
Messaggi: 20
Iscritto il: martedì 10 marzo 2020, 10:14

Re: Lathe XY

Messaggio da Alby190885 » venerdì 13 marzo 2020, 9:17

torn24 ha scritto:
venerdì 13 marzo 2020, 7:42
Il problema che nessuno ha installato MSdos e pochi freedosforum lo dispone...
Funziona anche con freedos e dovrei testarlo ma credo anche con il cmd di windows 98 / 2000 / xp.

Le interpolazioni le posso aggiungere successivamente.

MS-DOS?
Porta parallela?

Completamente inutile e obsoleto!
Inutile penso anche io, ci sono molto sw free come cncfree o cncpro
un giro completo penso siano circa 2004 stati
:shock: e che significa?
Se smonti un motorino passopasso all'interno ci trovi un magnete e delle spire di rame. A seconda di come vengono attraversate
dalla corrente permetti al motorino di girare di piccolissime porzioni di un giro completo. Questi valori passati alla parallela vanno ripetuti ciclicamente molte molte volte per un giro completo.
(Dato che gli stessi risultati li potreste ottenere con Arduino)
Appunto!
concordo

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Lathe XY

Messaggio da hellfire39 » venerdì 13 marzo 2020, 10:09

...Se smonti un motorino passopasso all'interno ci trovi un magnete e delle spire di rame....
Qui però c'è un po' di confusione.
1) un motorino passo passo non andrebbe smontato perché si potrebbe smagnetizzare!
2) il tipico stepper nema17 o nema23 ha 200 passi / giro come hai tirato fuori il valore 2004?

Che significa "lavoro a 4 stati?" E che significa 16 stati? :o

Avatar utente
Alby190885
Newbie
Newbie
Messaggi: 20
Iscritto il: martedì 10 marzo 2020, 10:14

Re: Lathe XY

Messaggio da Alby190885 » venerdì 13 marzo 2020, 11:44

Ho scelto di adottare 4 stati
unsigned int nema17_1[4] = {0x0A,0x06, 0x05, 0x09};
poi il pattern ripetuto N volte 0x0A,0x06, 0x05, 0x09, 0x0A,0x06, 0x05, 0x09, 0x0A,0x06, 0x05, 0x09, 0x0A,0x06, 0x05, 0x09, ... ti permette di effetturare un giro. Ma puoi avanzare anche parzialmente invece che di tutto il pattern. Gli elementi che compongono un pattern li chiamo stati.
Io ho scelto pattern da 4, ma puoi fare pattern da 1,2,4,8,16. Aumentando la dimensione del pattern aumenta la precisione.
Per costruire i pattern ho consultato le istruzioni non ho inventato niente.
Questo ti permette di avanzare di microstep ovvero porzioni di step.
Si tratta nel caso di 16 microstep (che magari chiamo in modo inadeguato stati) ma nel caso di aver impostato il programma
con 16 microstep avanza di 1/16 di step per ogni valore che mando alla parallela.
Nel mio caso uso 1/4 di step per quei valori che ho scritto sopra.

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Lathe XY

Messaggio da hellfire39 » venerdì 13 marzo 2020, 14:43

Adesso è un po' più chiaro, ma vedo ancora tanta confusione.
Nella figura che hai allegato, mi sembra di vedere un driver di tipo LM298. Che io sappia, questo IC non consente di parzializzare la corrente per fare i micropassi, in quanto si tratta di un semplice ponte ad H.

Per poter fare micropassi è necessario poter alimentare entrambi gli avvolgimenti, parzializzando le correnti.

P.S. "stati" è un termine che puoi utilizzare in programmazione (vedi: macchine a stati). Ma qui comprendiamo meglio se li chiami passi. Sarei curioso di vedere come vengono implementati i micropassi.

Avatar utente
Alby190885
Newbie
Newbie
Messaggi: 20
Iscritto il: martedì 10 marzo 2020, 10:14

Re: Lathe XY

Messaggio da Alby190885 » venerdì 13 marzo 2020, 19:05

Qui entra in gioco l'utilita' della LPT
abbiamo 8 pin di output chiamati D0,...,D7
uno step e' composto (nel mio caso) 4 microstep.

unsigned int nema17_1[4] = {0x0A,0x06, 0x05, 0x09};
i microstep sono proprio 0x0A, 0x06. 0x05 e 0x09
Passandoli direttamente a quella scheda che appunto e' solo un ponte. a fare da controller ci pensa il computer.

Con un ciclo for x= 0 x < micropassi inseriti
passo alla lpt nema17_1[x mod 4]

Avatar utente
hellfire39
God
God
Messaggi: 3402
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Lathe XY

Messaggio da hellfire39 » venerdì 13 marzo 2020, 19:19

Scusa ma non capisco. Per avere un micropasso devi poter parzializzare la corrente di un avvolgimento. Ma nel tuo circuito sembra che l'avvolgimento possa essere acceso o spento, ma non parzializzato

Rispondi

Torna a “Software di Controllo”