Ciao a tutti, sto cercando di controllare un grosso stepper con arduino attraverso un driver industriale generando sul pul del driver la quadra richiesta per muovere lo stepper e controllandone il verso con il pin dir.
Funziona tutto, riesco anche a controllare la velocità modificando a runtime il delay fra un impulso e l'altro con un potenziometro, ma mi rendo conto che il sw da sviluppare per gestirlo in questo modo è troppo complesso se intendo implementare rotazioni di archi precisi (che in realtà è quello che mi serve).
Sto provando a utilizzare le librerie Stepper e AccelStepper, ma probabilmente c'è qualche differenza fra il driver che uso io e quelli previsti dalle librerie perchè ottengo risultati assolutamente non deterministici in fatto di accelerazione, ampiezza di movimento e velocità.
Sto cercando di fare qualcosa di impossibile o sto solo facendo qualche grossolano errore di programmazione o di cablaggio?
Nello schema che ho implementato pul e dir del driver sono collegati a due porte digitali di arduino a cui ho collegato anche un potenziometro la cui lettura influenza il delay fra un impulso e l'altro, i cablaggi che ho trovato a corredo delle librerie invece mostrano driver che hanno più linee in ingresso, mi viene da pensare che quindi il sw sviluppato per quei driver non sia compatibile con il mio, ho ragione? Io ho ulilizzato
Stepper stepper(STEPS, 6, 7);
per inizializzare la libreria, i due pin sono rispettivamente dir e pul del driver e STEPS gli step impostati sul driver, a questo punto mi aspettavo di avere il controllo con
stepper.setSpeed(600);
stepper.step(1600);
ma in realtà non c'è nessuna corrispondenza fra gli step impostati e la rotazione, e spesso il motore stalla, non so dove sto sbagliando...
Grazie a tutti per il vostro tempo.
gp