progetto open source per avanzamenti automatici su arduino

Moderatore: Junior Admin

mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

No in filettatura è più che sufficiente, in modalità avanzamento potresti avere dei problemi, quando ho provato il progetto del russo, oltre i mille giri smetteva di funzionare correttamente.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

La mia modalità avanzamento è libera, nel senso che imposti l'avanzamento in mm/min e il movimento del carro è svincolato dal mandrino.
C'è un'altra funzione dove ho provato a impostare l'avanzamento in cent/giro ed in quel caso uso un solo interrupt sul fronte di salita quindi leggo 250 passi/giro al posto di 1000 che per un avanzamento sono più che sufficienti; ma ha senso solo se riesco a visualizzare la posizione progressivamente altrimenti tanto vale.... solo che se faccio aggiornare il display non ci sto dietro quindi ho deciso di mantenere quella in mm/min "libera".

Comunque se organizzi bene il codice con gli interrupt ce la fai; certo, se avessi avuto la QEI sarebbe stato tutto più semplice!
Il problema di usare un PIC è che non ci sono board pronte e ti devi fare il PCB, io ho pensato ad un progetto semplice da assemblare anche per chi ha poca dimestichezza con l'elettronica :risatina:
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Le mie non sono delle critiche ma solo delle osservazioni. Hai fatto un'ottimo lavoro.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

non ho mai pensato che lo fossero, figurati. E comunque sono pronto ad accettare anche quelle, quando sono costruttive aiutano a migliorarsi :grin:
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Io volevo la sincronizzazione anche in modalità avanzamento, avere l'avanzamento in mm/min non mi piaceva, nella prima versione ho fatto in questo modo:

Ho utilizzato un flip-flop per stabilire il senso di rotazione del mandrino, una porta xor per raddoppiare la risoluzione dell'encoder, ed il timer0 per contare gli impulsi. In questo modo anche ad elevati reggimi di rotazione non perdo mai il sincronismo.

Nella seconda versione ho utilizzato un Pic con QUEI, semplificando ulteriormente il circuito.

In entrambi i casi l'interruzione viene generata solo quando deve essere generato l'impulso di step.

Inoltre ho previsto la possibilità nella modalità "filettatura a misura" di arretrare il carro anche a mandrino fermo e alla massima velocità possibile, cosa che mi risulta utile per le filettature o torniture interne.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

La strada del flip-flop e della porta xor l'avevo percorsa anch'io, ma ci sono dei momenti durante l'inversione in cui si incasina. Il segnale DIR dovrebbe arrivare un tot di microsecondi prima rispetto agli step ma usando la logica esterna questo cambia praticamente insieme al passo. Poi é vero anche che inversioni così veloci é difficile che avvengano ma spesso mi perdeva 1 o 2 passi alla volta.....
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Infatti nel mio progetto il segnale il cambiamento del dir avviene sempre prima del passo.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

Aspetta, forse mi sono spiegato male. Intendevo dire che con la logica esterna di lettura dell'encoder, capita, soprattutto durante l'inversione, che ci sia un passo "incerto" visto che il segnale di direzione (generato dal flip-flop), viene commutato esattamente nello stesso istante del passo. Questo fenomeno é indipendente dal micro che usi per leggerlo visto che é un problema della logica....
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Ti sei spiegato bene, nel mio progetto l'uscita del flip-flop è collegata ad uno degli ingressi del micro, e il segnale di dir viene comutato prima dello step in ogni caso. Non è possibile che avenga il contrario.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

certo, è ovvio che l'uscita del flip-flop è collegata al micro.... altrimenti la direzione come la vedi?
Controlla bene perché la commutazione del flip-flop avviene solo mentre viene commutato un passo: non sarebbe possibile altrimenti far commutare il flip-flop.
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Assolutamente la commutazione del dir avviene a passo già commutato, non potrebbe essere altrimenti, perché i due segnali sono sfasati di 90°. Comunque in ogni caso se perdevi passi era per altri motivi. La prima versione funzionava perfettamente. Mai perso un passo.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

non sono d'accordo.
La commutazione del DIR sull'uscita del flip-flop avviene nel momento in cui viene effettuato un passo dell'encoder nel verso opposto rispetto al precedente. Lo sfasamento di 90° riguarda i passi in quadratura. Il flip-flop commuta SOLO quando il segnale di un canale cambia di ordine rispetto all'altro, ma usando la porta XOR per moltiplicare la risoluzione perdi la fase quindi non sai dove sei.
In pratica, se vuoi usare il flop-flop per avere il segnale direzionale devi rinunciare al moltiplicatore.
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

Nel mio progetto ho utilizzato un Flip-flop D (data), l'ingresso data è collegato al canale A dell'encoder, l'ingresso di clock al canale B dell'encoder, l'uscita Q ad uno degli ingressi del Pic. Ad ogni fronte di salita del clock (canale B), il livello logico sul ingresso data (canale A), viene memorizzato sull'uscita Q. Essendo i due segnali sfasati di 90°, la commutazione del dir avviene a passo già commutato. Il Flip-flop si trova a monte della porta xor. Raddoppiare la risoluzione dell'encoder, non mi priva della possibilità di usare il Flip-flop. Non vedo come possa essere il contrario.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Avatar utente
McMax
CAPO OFFICINA
Messaggi: 9023
Iscritto il: dom gen 31, 2010 21:46
Località: Bussero (MI)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da McMax »

La configurazione che usi è quella classica che si trova ovunque: il flip-flop cambia di stato in funzione dell'ordine di commutazione del segnale "D" rispetto al clock.
Se fai la tabella di verità di quella logica ti accorgerai che il problema c'è. Non è di facile comprensione ed io ho dovuto osservarlo facendo delle prove. Il segnale che tu prelevi dalla porta XOR è preso in parallelo a quello che vede il flip-flop e genera un impulso indipendente dalla fase di quadratura dell'encoder. Anche tralasciando sul fatto che gli stati del flip-flop sono più lenti e quindi addirittura il DIR potrebbe essere in ritardo di qualche decina di nanosecondi, il meglio che puoi ottenere è un fronte del segnale DIR che commuta nello stesso istante del passo che l'ha fatto commutare quindi, nel migliore dei casi, perdi un passo.

Quello che avviene nel codice è semplice: dal momento che userai un IF per capire lo stato del pin DIR e decidere se incrementare o decrementare il passo, quel DIR potrebbe essere ancora nello stato precedente e farti commutare in una direzione sbagliata.

Comunque sia si tratta di un problema secondario; parliamo di frazioni di grado che difficilmente condizionano la buona riuscita della filettatura.
McMax

“None of us can change the things we’ve done. But we can all change what we do next.” – Fred Johnson

fulminato in tenera età
mimoletti
TORNITORE E FRESATORE
Messaggi: 1140
Iscritto il: dom dic 27, 2009 11:31
Località: Torre del Greco (NA)

Re: progetto open source per avanzamenti automatici su ardui

Messaggio da mimoletti »

In realtà la verità e nel mezzo, questo succede solo in uno dei due sensi di rotazione.

Primo punto: Perché dovrei perdere passi? Il timer continua a contare indipendentemente dal segnale presente sull'uscita del Flip-flop.

Secondo punto: Ammesso e concesso che in uno dei due sensi di rotazione il fronte di salita del segnale presente all'ingresso del timer sia coincidente con il fronte di salita del segnale all'uscita del Flip-flop, l'impulso di step che genero con una delle uscite del Pic può essere solo successivo al cambio di stato del Dir. Questo dipende da come ho strutturato il codice.

In realtà il mio codice e più semplice di quanto tu possa pensare, e non utilizzo nessun IF (intendi Input Capture?).

La perdita di un passo può avvenire in un solo caso, quando il periodo tra un fronte e quello successivo del segnale in ingresso al timer e di una durata inferiore a quella che mi occorre per caricare nel timer il valore di divisione.
Con una risoluzione Encoder di 3600 impulsi a giro questo si verifica quando vengono superati i 2000 giri/min, ma essendo il valore di divisione per gli avanzamenti un valore a tre cifre e come se si passasse per esempio da un avanzamento di 8 cent a giro ad un avanzamento di 0,078 cent a giro.

Ho visto il tuo PDF, da quello che ho potuto capire dandogli un'occhiata veloce, che la vite madre ed lo stepper sono collegati con un rapporto 1:1, esatto?

Anche questo non mi piace, perché aggiunto all'impossibilita di utilizzare il micro step, si traduce in un movimento a scatti del motore soprattutto con avanzamenti ridotti.

Io ho un rapporto 1:4 tra motore e vite, ed il driver settato a 1600 step a giro.
Solo gli stupidi non cambiano mai idea!

Tornio Wabeco D6000 con ELS; Fresa Wabeco F1210; Segatrice Nebes TM125 Inverter; Tavola a dividere Vertex HV-6,Morsa meccnica Allen MAP/78-N

https://www.youtube.com/watch?v=cobEZI8KvOk
Rispondi

Torna a “Ufficio progetti”