Buongiorno a tutti, per una parte del mio progetto di tesi dovrei pilotare l'apertura di una valvola tramite un motore passo passo controllato con Arduino.
Inizialmente stavo provando un semplice controllo del motore in cui sostanzialmente cerco di farlo girare in un'unica direzione, ma nelle varie prove che ho effettuato il motore non si muove e non emette nemmeno un minimo rumore e non riesco a capire il perché.
Ho a disposizione un motore stepper Nema 23, un microstep driver ST-M5045, una scheda Arduino Uno e un'alimentatore.
Lo schema di collegamento che ho seguito tra il driver e Arduino è il seguente:
.
DIR +, PUL+,ENA+ ai 5V di Arduino
PUL - al pin 9 di Arduino
DIR - al pin 8 di Arduino
ENA - al pin 10 di Arduino
seguendo questo schema di riferimento trovato on-line: .
Il codice utilizzato è il seguente (è molto basico, ma era giusto per fare delle prove):
Non riesco proprio a capire cosa possa esserci di sbagliato, i collegamenti e il codice mi sembrano corretti, potrebbe essere un problema legato al Driver? o all'Alimentazione?
Grazie in anticipo,
Martina.
Se tutto corrisponde esattamente alla foto direi che non funziona semplicemente perchè non hai abilitato l'uscita dell'alimentatore da banco (pulsante cerchiato di grigio sopra la boccola rossa).
Facendo delle prove con il tester ho verificato che l'uscita dal pin 9 di Arduino (quindi al PUL del driver) effettivamente oscilla tra 0 e 5V nel tempo impostato come da codice, e ho anche controllato che l'alimentazione arrivi ai fili del motore collegati al driver.
controlla che le fasi del motore siano collegate correttamente (se non hai il datasheet del motore puoi semplicemente misurare con un multimetro la resistenza degli avvolgimenti), non so se tutti i motori hanno un codice colore univoco ma mi pare che quelli che ho testato avessero gli avvolgimenti collegati ai cavi blu-rosso e verde-nero
controlla l'impostazione del driver, a quanti micro-passi è impostato? (non mi pare che quel driver preveda il passo pieno ma solo dal mezzo passo in giù)
alimentando il driver ed abilitando le uscite l'albero del motore dovrebbe restare fermo anche tentando di farlo girare manualmente (applicando all'albero unan coppia inferiore alla coppia del motore ovviamente), se così non è il problema è da ricercare nel driver
controlla che tra i pin DIR+, PUL+ ENA+ ed il GND dell'Arduino vi siano 5v (con i puntali del multimetro tocca la massa e le viti sul driver, non so se sia la foto che imbroglia ma mi pare che hai sbagliato pin sull'Arduino)
Ciao, grazie mille per tutti i suggerimenti. Il problema effettivamente stava sia nell'impostazione dei micro-passi del driver che nell'impostazione del pin Enable.