Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: mer gen 13, 2016 22:34
da McMax
evvai Mario mi hai beccato un bacarozzo!
Hai centrato il punto: con quel ciclo "while" aspetto il sincronismo, ovvero resto nel loop finché il numero che viene diviso per gli impulsi encoder non è 0.
Hai modificato correttamente anche se, per renderlo "portabile", dovresti dividere per la variabile così:
while (((absolute_encoder_steps % one_turn_mandrel_steps) != 0) & (stay))
L'impostazione a 500 prima del ciclo principale l'avevo prevista per attendere mezzo giro del mandrino prima di partire; non è vincolante si può anche lasciare così anche se, per farla bene, andrebbe cambiata con:
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: gio gen 14, 2016 13:17
da AF116
Grazie Massimo, provvedo a renderlo portabile.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: gio gen 14, 2016 21:46
da McMax
piuttosto che diventare matto a leggere il codice avresti potuto chiedere subito.... quello è un baco che ho dimenticato di sistemare in quanto durante le prove per fare prima ho usato i numeri piuttosto delle variabili.
In pratica nella condizione del "while" viene eseguita una divisione a modulo (%) che restituisce il resto; dividendo gli impulsi encoder attuali con quelli di un giro la divisione a modulo restituirà 0 solo quando il numero di passi è multiplo esatto dei passi/giro ovvero una sorta di index fatto via software. Il ciclo while attende che venga raggiunto il sincronismo di index prima di riprendere la filettatura.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: ven gen 15, 2016 00:47
da DDMEC
Ciao
l'uscita Z (zero) dell'encoder a disposizione (nel mio caso OMRON E6C-CWZ5C) può aiutare il sistema o non si utilizza?
grazie
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: ven gen 15, 2016 08:21
da McMax
No l'uscita INDEX dell'encoder non è prevista: avrebbe richiesto un altro interrupt e le risorse sono già abbastanza limitate.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: ven gen 15, 2016 08:34
da AF116
@ McMax: In realtà non ho chiesto subito perchè pensavo fosse un problema "meccanico" o dell'hardware esterno all'arduino. Fortunatamente hai commentato bene il software e ci sono arrivato in poco tempo. E' comunque una mia caratteristica cercare di capire il possibile prima di chiedere.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: ven gen 15, 2016 18:44
da AF116
Max, è veramente una goduria filettare!
Prima di avere l'ELS, piuttosto di cambiare ingranaggi, per filettare mi ero costruito un porta filiere da mettere nel toppo mobile.
Giusto per un feedback: lo stepper (in presa diretta sulla vite madre) anche con il trasformatore da 24 V ed una Imax settata a 4A non perde un colpo, ovviamente il carro che deve tirare è modesto!
Ecco una prova fatta a caso su un tondino di ferraccio da fabbro:
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: sab gen 16, 2016 01:10
da McMax
Perfetto! Sono contento che funzioni tutto!
Controlla sempre il post perché prima o poi aggiornerò il firmware sistemando alcune piccole cose lasciate in sospeso, soprattutto sugli avanzamenti.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: dom gen 24, 2016 22:47
da McMax
Ci sono quasi con la versione 1.41 del firmware.
Ho sistemato alcune magagne ed aggiunto una funzione di avanzamento "libero" che permette di controllare l'avanzamento senza vincoli di posizione.
Qui sto avanzando a 5mm/min, diametro pezzo 160mm, profondità di passata 1mm (2mm sul diametro), utensile in HSS, 120 giri/min, (60 m/min di velocità di taglio), acciaio C45.
Mi mancano un paio di cose da ricontrollare poi pubblico il nuovo codice con relativo manuale aggiornato.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: sab gen 30, 2016 22:16
da McMax
Aggiornata con versione 1.41
Ho aggiunto la possibilità di impostare l'avanzamento in centesimi/giro ed ho corretto alcuni bachi qua e la.
Tutto documentato nel PDF e nel manuale.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: dom gen 31, 2016 17:09
da AF116
Scaricato, grazie!
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: dom gen 31, 2016 20:12
da McMax
Come va il tuo progetto Mario? Hai terminato? Funziona tutto?
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: dom gen 31, 2016 21:41
da AF116
Va bene Massimo, in questi giorni ho potuto apprezzare l'utilita' della posizione angolare che ho utilizzato per tracciare due forature a 90 gradi su di un albero.
Non ho ancora aggiornato il firmware perche' sto costruendo un supporto con cuscinetti per un'altro encoder.
E' possibile che nella funzione che restitusce la velocita' del mandrino siano rimasti i dati relativi al tuo encoder? La velocita' indicata e'abbastanza distante da quella di targa.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: dom gen 31, 2016 22:41
da McMax
Si la funzione velocità mandrino avrei dovuto aggiornarla usando la funzione "GetSpeed" che ho scritto successivamente ma me ne sono dimenticato
Prova a guardare se nelle due funzioni di avanzamento la velocità indicata è giusta.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Inviato: ven feb 05, 2016 01:11
da Runner61
Complimenti Max per l'incomiabile lavoro che hai svolto e che hai messo a disposizione di tutti...