Home   -     Progetti    -    Appunti    -    Avvertenze   -    Contatti


Controllo di un motore passo-passo bipolare con SN754410

 

Scarica i file per realizzare questo progetto

 

Driver SN754410

Un dispositivo con caratteristiche elettriche e funzionali adatte a questa applicazione è l'integrato SN754410. Implementa un doppio driver bipolare da 1A, mettendo a disposizione un'interfaccia molto semplice. La sua semplicità determina però anche in un controllo poco efficiente: non dispone di un sistema per l’implementazione di un feedback sulle correnti d’uscita e questa lacuna determina un grossi limiti alle prestazioni. Non è possibile regolare la coppia erogata dal motore che viene semplicemente limitata da resistenze, poste  in serie alle fasi, con notevole calo del rendimento energetico. Per limitare la corrente nel motore e' quindi indispensabile dimensionare in modo opportuno il valore della tensione di alimentazione e delle resistenze di limitazione poste in serie alle fasi del motore. Attenzione che, come detto in precedenza, alimentatori stabilizzati non sono adatti per questa applicazione. Per questi motivi ed in base alla disponibilità di componenti a mia disposizione, ho scelto di utilizzare un alimentatore wall-cube di recupero capace di 1A, seguito dal solito ponte a diodi e condensatore di filtro. La tensione continua ricavata  sotto carico è di 9V.

 

Resistenze di limitazione della corrente

Per limitare la corrente sulle fasi sono state utilizzate due resistenze all’ossido metallico. Per questo scopo sono da evitare le resistenze a filo avvolto e le cementate, per via del loro comportamento induttivo, che comporta effetti indesiderati in applicazioni, come questa, con forti variazioni di corrente in tempi brevi. Per avere una discreta corrente sulle fasi, con la sorgente di tensione utilizzata, è necessario l’utilizzo di resistenze capaci di dissipare alcuni watt.

 

Schema

Lo schema elettrico è molto semplice ed identico all’applicazione standard illustrata sul datasheet dell’integrato SN754410. Il PIC utilizzato, un 16F873, è un modello molto comune e serve per generare gli impulsi necessari alla movimentazione del motore. Per il trasferimento del firmware sul microcontrollore ho utilizzato il minipropic2clone

 

 

Circuito

Per questo schema non ho disegnato un circuito stampato, ma lo ho montato i componenti su basetta mille fori. Sono comunque disponibili i file per il CAD EAGLE. Chiunque ne abbia voglia può cimentarsi nella sviluppo del PCB. Occorre in ogni caso fare attenzione a rispettare alcuni vincoli fondamentali. Occorre prestare particolare attenzione alla connessione di massa. E' preferibile far partire tutte le connessioni di massa da uno stesso punto, separando la parte che alimenta gli integrati da quella che fornisce energia al motore. I diodi di ricircolo dovrebbero stare più vicino possibile alle fasi del motore. Non sono strettamente necessari ma ho preferito metterli comunque per precauzione ad eventuali sovratensioni che si possono generare sulle fasi. Per limitare sovratensioni sull'alimentazione e' necessario inserire un condensatore elettrolitico, preferibilmente a bassa ESR, in prossimità dell'alimentazione di potenza sul driver SN754410.

 

Utilizzo

Per controllare la velocità e il verso di rotazione del motore occorre agire sulla manopola del potenziometro. Per una maggiore semplicità  nell’utilizzo e’  preferibile l’utilizzo di un potenziometro rotativo. La posizione che corrisponde allo stato con motore fermo e’ quella con il cursore del potenziometro al centro, ovvero a metà della sua corsa. Ruotando il cursore in un verso o nel verso contrario, si ottiene la rotazione dell’albero del motore, in un verso oppure nel verso opposto. La velocità di rotazione è proporzionale allo spostamento dalla posizione di zero. La velocità minima e’ di 6 giri al minuto mentre quella massima teorica e’ di circa 300 giri al minuto, in entrambe i versi di rotazione.

Quando alimentato, il circuito accende subito per 1 secondo entrambi i LED. Poi il solo LED verde inizia a lampeggiare velocemente, per indicare che il programma è in esecuzione. Il LED rosso è acceso. Occorre quindi portare il cursore del potenziometro in posizione centrale, in modo da  spegnere il LED verde. Questa procedura serve ad evitare che al power-up il motore inizi subito a girare, se per caso, sì lasciato il potenziometro fuori la posizione di zero (posizione con cursore al centro della corsa). Questo stato si presenta infatti anche alimentando il circuito col cursore del potenziometro in posizione centrale. 

Non ho eseguito prove sulle prestazioni, ma ho notato sensibile calo di coppia all'aumentare della velocità di rotazione e una velocità massima inferiore del 5% rispetto quella teorica.

 

Upgrade

Si potrebbero utilizzare i tasti riportati nello schema elettrico per muovere il motore con singoli passi; Oppure per scegliere, allo start-up, tra diverse modalità di controllo (wave mode, half step, two phase on). Per adesso i tasti non implementano nessuna funzione.

 

 


Home   -     Progetti    -    Appunti    -    Avvertenze   -    Contatti