Se quello che ti interessa è un DRO per Arduino l'ho già scritto, come esercizio quando stavo scrivendo la mia lettura per encoder , solo il tempo di recuperarlo e te lo mando.
Ho anche scritto un doppio controllo closed-loop per motori DC minimale per Arduino UNO, funziona ovviamente con step rate relativamente bassi.
Qui ne trovi traccia, assieme alle discussioni che abbiamo avuto io ed Hell
viewtopic.php?f=8&t=81037&start=45
Se vai sul sito forum italiano di Arduino ci trovi anche altro. Se riesci a capirne la logica di quello che ho fatto, è abbastanza semplice creare una versione con 3 letture encoder in quadratura e 3 canali in step/dir da comparare tra loro per farne una sorveglianza su tre assi con un contatto di allarme da rimandare al controllo per metterlo in stop in caso di superamento errore oltre un certo valore e questo potrebbe anche essere un oggettino interessate per tutti quelli che hanno una modesta 3 assi che ogni tanto perde qualche passo per salvare un po di alluminio o MDF.
Il fatto è che con Arduino UNO, sono più che altro degli esercizi accademici. Già volendo fare un semplice sistema di sorveglianza per bloccare la lavorazione in caso di perdita passi, è già difficile arrivare attorno ai 25KHz (e sono ottimista!) Implementare DRO, controllo closed loop e pure il GRBL in Arduino è fantascienza. Col Teensy magari no, ma non ci ho ancora giocato! Sarebbe sicuramente una casa da lasciar fare a Tereio. Io devo studiare ancora parecchio prima di poter anche solo pensare di provarci! In ogni caso se non ho letto male la teensy4.1 dovrebbe averne 4 di QEI, quindi l'hw per 3 assi e volantino ci sarebbe.
https://forum.pjrc.com/threads/58478-Te ... er-Library
Volendo semplificare la gestione dell'anello di posizione sulle righe, penso venga più semplice impiegare motorizzazioni in controllo velocità sul comando degli assi, perché come dicevo nel post di ieri sera, il closed-loop su stepper, per funzionare necessita di un feedback direttamente sul motore che alla fine per il controllo posizione dell'asse non usi. Oltretutto questo magari ti permetterebbe di riutilizzare motori e driver esistenti sulla macchina per gli assi Passando attraverso un semplice riferimento analogico, anche se la dinamica non sarebbe un granché, ma come si dice la botte piena e la moglie brilla non si può.