ELS (Electronic Lead Screw) - progetto con ARDUINO
Moderatore: Junior Admin
-
- TORNITORE E FRESATORE
- Messaggi: 1874
- Iscritto il: lun set 29, 2008 23:19
- Località: Cologno Monzese
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Ciao sbif, ho dato un occhio alla ruota dentata che mi dicevi, ma purtroppo non ho spazio per montare una ruota lì, anche smontando il resto. La ruota che indicavo io ogni giro di mandrino perde 1/4 ovvero ogni 4 giri torba in fase, ma che rapporto di demoltiplica hanno, non ci arrivo da solo...
Ù.
-
- APPRENDISTA E ADDETTO ALLE PULIZIE
- Messaggi: 37
- Iscritto il: mer set 15, 2021 10:31
- Località: Brescia
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Sbinf ho fatto ripristina valori niente è la stessa cosa, 800 passi vite, passo vite 3000, passi driver 800 . A passo filettatura 3 ci vogliono piu di 10 giri di encoder per fare un giro completo del motore
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Sicuro che parliamo di filettatura e non di avanzamento? Il motore è in presa diretta? Puoi condividere la configurazione degli switch del driver.
-->I MIEI VIDEO<--
- Davide Resca
- CAPO OFFICINA
- Messaggi: 13818
- Iscritto il: lun feb 29, 2016 11:29
- Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
- Contatta:
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
@UMBEZ
Conta il numero di denti delle due ruote e fai la divisione.
Sai fare la divisioni no ?
Conta il numero di denti delle due ruote e fai la divisione.
Sai fare la divisioni no ?

Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube
2°socio TIRATOSAURO CLUB ITALIAN
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube

-
- APPRENDISTA E ADDETTO ALLE PULIZIE
- Messaggi: 37
- Iscritto il: mer set 15, 2021 10:31
- Località: Brescia
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Sisi ho impostato filettatura metrica 3 mm poi filetto vincolato e ruotando l encoder il motore gira pochissimo
Davide al momento non ho ancora montato ingranaggi. Io vorrei fare rapporto o 1 a 1 o 2 a 1 ma cosi facendo ho rapporto 10 a 1
Davide al momento non ho ancora montato ingranaggi. Io vorrei fare rapporto o 1 a 1 o 2 a 1 ma cosi facendo ho rapporto 10 a 1
- Davide Resca
- CAPO OFFICINA
- Messaggi: 13818
- Iscritto il: lun feb 29, 2016 11:29
- Località: Ustica & Dintorni saltuariamente Bologna o Pesaro
- Contatta:
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
"ma che rapporto di demoltiplica hanno, non ci arrivo da solo..."
Heum Mario312, il mio msg era per Umbez ...
Heum Mario312, il mio msg era per Umbez ...

Gli errori sono per i principianti, noi esperti puntiamo al disastro !!!
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube
2°socio TIRATOSAURO CLUB ITALIAN
Le conoscenze acquisite, sono proporzionali al DANNO PRODOTTO !!! ( esperienza personale...)
youtube

-
- TORNITORE E FRESATORE
- Messaggi: 1874
- Iscritto il: lun set 29, 2008 23:19
- Località: Cologno Monzese
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Davide ho pensato di montare l'encoder con un rapporto 1:4 così torno in fase con il mandrino.
Penso sia corretto desumerlo?
(non sono ingranaggi sono ruote XL ma il conto dei denti devo farlo comunque!!)
Ciao!!
Penso sia corretto desumerlo?
(non sono ingranaggi sono ruote XL ma il conto dei denti devo farlo comunque!!)
Ciao!!
Ù.
-
- APPRENDISTA E ADDETTO ALLE PULIZIE
- Messaggi: 37
- Iscritto il: mer set 15, 2021 10:31
- Località: Brescia
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Sbinf ho fatto un altra prova ma niente ho provato anche a modificare gli impulsi del driver . Ho visto che con movimento libero un giro di motore corrisponde a 18mm circa
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Umbez da quanti passi é l'encoder?
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à
“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à
-
- SON PASSATO AI TRAPANINI
- Messaggi: 87
- Iscritto il: mer ago 13, 2014 09:21
- Località: Pordenone
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Mario, occhio che devi inserire un valore corretto negli avanzam.long. ( i Norton)
Cioè se hai la vite madre da 3mm in diretta con lo stepper il valore Norton di default che inserisci dev'essere 300 ( cent\giro) altrimenti sballa tutto.
Anzi, se vuoi star tranquillo metti tutti i 4 campi a 300 così non puoi confonderti ;)
Cioè se hai la vite madre da 3mm in diretta con lo stepper il valore Norton di default che inserisci dev'essere 300 ( cent\giro) altrimenti sballa tutto.
Anzi, se vuoi star tranquillo metti tutti i 4 campi a 300 così non puoi confonderti ;)
Ultima modifica di tarzan il ven nov 19, 2021 17:54, modificato 1 volta in totale.
-
- TORNITORE E FRESATORE
- Messaggi: 1874
- Iscritto il: lun set 29, 2008 23:19
- Località: Cologno Monzese
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
McMax ancora non l'ho comprato, mi dai un'indicazione di quanti passi?
Poi volevo chiederti una info, sto facendo il porting del tuo codice verso lcd2004 (display grafico) della ramps con encoder e tasto centrale ma arduino uno ha solo 2 interrupt e li hai usati per l'encoder giustamente, se volessi continuare dici che posso pensare di sviluppare la funzione dell'encoder con digitalRead (quindi senza interrupt) o meglio migrare verso il 2550? (so che è inutile, ho già preso il joy da te consigliato ma giusto per prendere confidenza col tuo sorgente) .
Poi ho caricato tutto sul mio github privato (quindi non visibile, ma solo personale), se hai un'utenza perchè non iniziare a versionarlo e fare i rami con le varie versioni (quelle di sbif ad esempio), ma questo è solo un suggerimento per la fruibilità, e piazzarci una bella licenza MIT ad esempio.
Io non sono il proprietario, quindi non mi attribuisco ne meriti ne mi permetto di pubblicare cose non mie.
Prendilo come spunto il mio eh...
Ciao!!
Poi volevo chiederti una info, sto facendo il porting del tuo codice verso lcd2004 (display grafico) della ramps con encoder e tasto centrale ma arduino uno ha solo 2 interrupt e li hai usati per l'encoder giustamente, se volessi continuare dici che posso pensare di sviluppare la funzione dell'encoder con digitalRead (quindi senza interrupt) o meglio migrare verso il 2550? (so che è inutile, ho già preso il joy da te consigliato ma giusto per prendere confidenza col tuo sorgente) .
Poi ho caricato tutto sul mio github privato (quindi non visibile, ma solo personale), se hai un'utenza perchè non iniziare a versionarlo e fare i rami con le varie versioni (quelle di sbif ad esempio), ma questo è solo un suggerimento per la fruibilità, e piazzarci una bella licenza MIT ad esempio.
Io non sono il proprietario, quindi non mi attribuisco ne meriti ne mi permetto di pubblicare cose non mie.
Prendilo come spunto il mio eh...
Ciao!!
Ù.
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Si Umbez avevo già pensato a metterlo su git ma non ho mai tempo. L'account ce l'ho, adesso vedo di farlo.
L'encoder ha bisogno degli interrupt: non puoi gestirlo con digitalRead perché dovresti andare in polling continuo e quindi senza possibilità di eseguire altro codice. Senza contare che la digitalRead è un'istruzione complessa che porta via troppi cicli di Clock.
Un encoder da 250 passi genera 1000 fronti al giro che, alla modesta velocità di rotazione di 200g/min vuol dire un interrupt ogni 300usec. che diventano 150usec se la velocità sale a 400g/min, e addirittura peggio se si usa un encoder di risoluzione maggiore. Con un encoder da 400passi i fronti diventano 1600 e a 200g/min vuol dire un interrupt ogni 187usec che diventano 93,5usec a 400 g/min. La gestione del display e tutte le routine di controllo sia del motore stepper che della posizione richiedono parecchie istruzioni complesse che hanno bisogno di tempo per essere eseguite tra un passo e l'altro.
Con Arduino UNO siamo davvero al limite, mantenendo comunque un ragionevole margine di sicurezza. Certo con un mega la situazione migliora ma stiamo pur sempre parlando di un micro a 8 bit che per quanto possa avere un Clock più veloce ha pur sempre dei limiti, soprattutto per il calcoli con variabili a 16 bit o più.
Per l'encoder direi al max 400 passi/giro, che diventano poi 1600.
L'encoder ha bisogno degli interrupt: non puoi gestirlo con digitalRead perché dovresti andare in polling continuo e quindi senza possibilità di eseguire altro codice. Senza contare che la digitalRead è un'istruzione complessa che porta via troppi cicli di Clock.
Un encoder da 250 passi genera 1000 fronti al giro che, alla modesta velocità di rotazione di 200g/min vuol dire un interrupt ogni 300usec. che diventano 150usec se la velocità sale a 400g/min, e addirittura peggio se si usa un encoder di risoluzione maggiore. Con un encoder da 400passi i fronti diventano 1600 e a 200g/min vuol dire un interrupt ogni 187usec che diventano 93,5usec a 400 g/min. La gestione del display e tutte le routine di controllo sia del motore stepper che della posizione richiedono parecchie istruzioni complesse che hanno bisogno di tempo per essere eseguite tra un passo e l'altro.
Con Arduino UNO siamo davvero al limite, mantenendo comunque un ragionevole margine di sicurezza. Certo con un mega la situazione migliora ma stiamo pur sempre parlando di un micro a 8 bit che per quanto possa avere un Clock più veloce ha pur sempre dei limiti, soprattutto per il calcoli con variabili a 16 bit o più.
Per l'encoder direi al max 400 passi/giro, che diventano poi 1600.
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à
“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à
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Mario132: "passo vite 3000"
spero tu intenda 3.000. Il passo vite nelle impostazioni è un numero non intero.
Se la posizione angolare è corretta allora forse il problema è sul pilotaggio del motore stepper.
L'avanzamento in filettatura l'hai provato facendo girare il mandrino a mano oppure hai acceso il tornio ?
spero tu intenda 3.000. Il passo vite nelle impostazioni è un numero non intero.
Se la posizione angolare è corretta allora forse il problema è sul pilotaggio del motore stepper.
L'avanzamento in filettatura l'hai provato facendo girare il mandrino a mano oppure hai acceso il tornio ?
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à
“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à
-
- APPRENDISTA E ADDETTO ALLE PULIZIE
- Messaggi: 37
- Iscritto il: mer set 15, 2021 10:31
- Località: Brescia
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Ragazzi ho trovato il problema... non mi sono accorto che gli swich del driver partono al contrario rispetto all ordine della tabella scritta sopra. Adesso se voglio fare rapporto 2a1 metto 400p sul controllore e 800p sul driver
-
- SON PASSATO AI TRAPANINI
- Messaggi: 87
- Iscritto il: mer ago 13, 2014 09:21
- Località: Pordenone
Re: ELS (Electronic Lead Screw) - progetto con ARDUINO
Eh, ti capisco, mi era capitata la stessa cosa per colpa della serigrafia messa al contrario rispetto alla posizione degli switch...mannaggia a loro!