02-06-2022, 01:08 PM
Grazie umbez per il chiarimento :-)
Mi capita di interpretare male risposte che sono solo concise. Mio limite. Acuito dalla comunicazione solo scritta (nessuna espressione ne intonazione). Non me ne vogliate.
Tornando all'oggetto del contendere.
Mi sembra di poter dire che lo sketch migliorato introduce una parte delle richieste di cui ho letto nei vari messaggi, mantenendo le caratteristiche tipiche di un divisore (titolo della discussione).
Non conclama di trasformarsi in un quarto asse con tutti i problemi connessi.
Penso che dopo i primi utilizzi, gli autori abbiano riscontrato gli stessi problemi evidenziati da Carlino. Probabilmente si sono resi conto che esistevano librerie gia' sviluppate che permettono una migliore gestione dei motori stepper. Non hanno fatto altro che includere un buon codice nella loro idea iniziale.
Penso anche che non siano le accelerazioni o le decelerazioni i fattori discriminanti per far girare meglio lo stepper. Le velocita' del divisore sono infime. Molto probabile una migliore gestione delle tempistiche tra i segnali direzione e step.
In particolare il segnale direzione dovrebbe sempre essere impostato prima che venga inviato il primo segnale di step. Il tempo minimo che deve intercorrere tra i due segnali e' dichiarato dal costruttore del chip e se non rispettato puo' generare strani movimenti del motore. Probabilmente la libreria AccelStepper tiene in considerazione anche questo dettaglio.
Ovviamente affermo tutto questo solo in teoria perche' non ho ne' il driver ne' lo stepper di Carlino con cui poter fare le prove :-)
Riporto sotto le traduzioni (Google) di una parte delle istruzioni inserite nello sketch stesso.
Ciao :-)
Mauro
**********************************************************************************************************************************************
Questo schizzo migliora l'originale in questi modi:
il movimento è attuato con accelerazione e decelerazione;
la precisione del movimento è migliorata calcolando i movimenti con l'uso di variabili float prima di convertirle in passi, in modo da evitare errori di arrotondamento cumulativi;
è inclusa un'opzione per la rotazione continua con impostazioni di velocità variabili;
è inclusa un'opzione per i movimenti ad arco (rotazione tra/entro un angolo fisso).
La prima volta che si utilizza il programma, le impostazioni necessarie per il motore passo-passo e la tavola rotante non sono definite.
L'opzione 9 (Impostazioni) ti consente di inserire le impostazioni iniziali per il tuo sistema o di modificare le impostazioni come necessario. Tutte le impostazioni immesse verranno archiviate in una memoria permanente, quindi non è necessario reinserirle ad ogni accensione. È possibile modificare le impostazioni iniziali in qualsiasi momento utilizzando nuovamente l'opzione Impostazioni.
I valori memorizzati da questa opzione sono i seguenti:
1. Il numero totale di passi completi in una rotazione completa del motore passo-passo (in genere 200, ma sono possibili altri valori)
2. Il numero di micro-passi per passo completo (come impostato sull'hardware del driver del motore passo-passo)
3. Il rapporto di trasmissione della tavola rotante
5. Impostazione del gioco: On (usare la compensazione del gioco); Off (non compensare il gioco)
6. Compensazione gioco: il numero totale di micro-passi di gioco nel sistema (vedi CORREZIONE GIOCO di seguito).
Nota: se la compensazione del gioco è disattivata, non verrà richiesto un valore di compensazione del gioco
7. Impostazione dell'avvio del segnale acustico - Attivato o Disattivato; questo è per un segnale acustico hardware opzionale (vedi commenti sotto). Se viene utilizzato un segnale acustico e questo è attivato, il controller emetterà un segnale acustico all'inizio di una mossa.
8. Impostazione dell'arresto del segnale acustico - Attivato o Disattivato; questo è per un segnale acustico hardware opzionale (vedi commenti sotto). Se viene utilizzato un segnale acustico e questo è attivato, il controller emetterà un segnale acustico al completamento di una mossa o per avvisare della necessità di inserimento da tastiera.
9. Impostazione della velocità massima per il motore passo-passo. Questo sarà diverso per ogni motore passo-passo e tavola rotante combinazione. Vedere VELOCITÀ MASSIMA e ACCELERAZIONE di seguito.
10. Accelerazione: la velocità con cui il motore accelera alla velocità massima e decelera fino all'arresto. Vedere VELOCITÀ MASSIMA e ACCELERAZIONE di seguito.
10. Velocità massima percentuale: questa impostazione consente al motore passo-passo di funzionare a una certa percentuale del massimo velocità massima. La percentuale può essere inferiore al 100% o superiore al 100%. Viene utilizzato per selezionare rapidamente diverse velocità del motore durante la rotazione continua.
11. Modalità di arresto: il metodo per interrompere la rotazione continua. Questo è spiegato più dettagliatamente in Continuo Modalità di seguito.
Mi capita di interpretare male risposte che sono solo concise. Mio limite. Acuito dalla comunicazione solo scritta (nessuna espressione ne intonazione). Non me ne vogliate.
Tornando all'oggetto del contendere.
Mi sembra di poter dire che lo sketch migliorato introduce una parte delle richieste di cui ho letto nei vari messaggi, mantenendo le caratteristiche tipiche di un divisore (titolo della discussione).
Non conclama di trasformarsi in un quarto asse con tutti i problemi connessi.
Penso che dopo i primi utilizzi, gli autori abbiano riscontrato gli stessi problemi evidenziati da Carlino. Probabilmente si sono resi conto che esistevano librerie gia' sviluppate che permettono una migliore gestione dei motori stepper. Non hanno fatto altro che includere un buon codice nella loro idea iniziale.
Penso anche che non siano le accelerazioni o le decelerazioni i fattori discriminanti per far girare meglio lo stepper. Le velocita' del divisore sono infime. Molto probabile una migliore gestione delle tempistiche tra i segnali direzione e step.
In particolare il segnale direzione dovrebbe sempre essere impostato prima che venga inviato il primo segnale di step. Il tempo minimo che deve intercorrere tra i due segnali e' dichiarato dal costruttore del chip e se non rispettato puo' generare strani movimenti del motore. Probabilmente la libreria AccelStepper tiene in considerazione anche questo dettaglio.
Ovviamente affermo tutto questo solo in teoria perche' non ho ne' il driver ne' lo stepper di Carlino con cui poter fare le prove :-)
Riporto sotto le traduzioni (Google) di una parte delle istruzioni inserite nello sketch stesso.
Ciao :-)
Mauro
**********************************************************************************************************************************************
Questo schizzo migliora l'originale in questi modi:
il movimento è attuato con accelerazione e decelerazione;
la precisione del movimento è migliorata calcolando i movimenti con l'uso di variabili float prima di convertirle in passi, in modo da evitare errori di arrotondamento cumulativi;
è inclusa un'opzione per la rotazione continua con impostazioni di velocità variabili;
è inclusa un'opzione per i movimenti ad arco (rotazione tra/entro un angolo fisso).
La prima volta che si utilizza il programma, le impostazioni necessarie per il motore passo-passo e la tavola rotante non sono definite.
L'opzione 9 (Impostazioni) ti consente di inserire le impostazioni iniziali per il tuo sistema o di modificare le impostazioni come necessario. Tutte le impostazioni immesse verranno archiviate in una memoria permanente, quindi non è necessario reinserirle ad ogni accensione. È possibile modificare le impostazioni iniziali in qualsiasi momento utilizzando nuovamente l'opzione Impostazioni.
I valori memorizzati da questa opzione sono i seguenti:
1. Il numero totale di passi completi in una rotazione completa del motore passo-passo (in genere 200, ma sono possibili altri valori)
2. Il numero di micro-passi per passo completo (come impostato sull'hardware del driver del motore passo-passo)
3. Il rapporto di trasmissione della tavola rotante
5. Impostazione del gioco: On (usare la compensazione del gioco); Off (non compensare il gioco)
6. Compensazione gioco: il numero totale di micro-passi di gioco nel sistema (vedi CORREZIONE GIOCO di seguito).
Nota: se la compensazione del gioco è disattivata, non verrà richiesto un valore di compensazione del gioco
7. Impostazione dell'avvio del segnale acustico - Attivato o Disattivato; questo è per un segnale acustico hardware opzionale (vedi commenti sotto). Se viene utilizzato un segnale acustico e questo è attivato, il controller emetterà un segnale acustico all'inizio di una mossa.
8. Impostazione dell'arresto del segnale acustico - Attivato o Disattivato; questo è per un segnale acustico hardware opzionale (vedi commenti sotto). Se viene utilizzato un segnale acustico e questo è attivato, il controller emetterà un segnale acustico al completamento di una mossa o per avvisare della necessità di inserimento da tastiera.
9. Impostazione della velocità massima per il motore passo-passo. Questo sarà diverso per ogni motore passo-passo e tavola rotante combinazione. Vedere VELOCITÀ MASSIMA e ACCELERAZIONE di seguito.
10. Accelerazione: la velocità con cui il motore accelera alla velocità massima e decelera fino all'arresto. Vedere VELOCITÀ MASSIMA e ACCELERAZIONE di seguito.
10. Velocità massima percentuale: questa impostazione consente al motore passo-passo di funzionare a una certa percentuale del massimo velocità massima. La percentuale può essere inferiore al 100% o superiore al 100%. Viene utilizzato per selezionare rapidamente diverse velocità del motore durante la rotazione continua.
11. Modalità di arresto: il metodo per interrompere la rotazione continua. Questo è spiegato più dettagliatamente in Continuo Modalità di seguito.