Il titolo è volutamente provocatorio, se ti sono piaciuti i miei articoli sui motori passo-passo sarai ancora più interessato a quello che stai per leggere.
Ringrazio da subito il Sig. Franco Da Re, che qualche giorno fa mi ha scritto dopo aver letto questo articolo:
ho notato che lei ha usato l’eccitazione 1-1 ; ora quel tipo di eccitazione , a fronte di una richiesta energetica minore ( in termini di amperaggio ) , ha come contropartita una coppia veramente bassa , per cui non si utilizza quasi mai ; normalmente si usa l’eccitazione 2-2 anche perchè permette il pilotaggio con solo due fili di Arduino ( uno per ogni bobina mentre il secondo capo di ogni bobina sarà in NOT ( rispetto al primo ) ottenuto con un semplice transistor ) ;
La sua email è stata illuminante, la descrizione dettagliata e i codici per Arduino che mi ha inviato mi hanno spinto a scrivere tre articoli, in cui leggerai parti delle email scambiate ta tra me e Farnco, parti di codice Arduino scritto da Franco e troverai gli schemi per realizzare quanto descritto.
Inutile dire che oltre a ringraziare Franco per il contributo invito chiunque abbia voglia a sottoporre le sue considerazioni su ciascuno degli articoli presenti nel blog, la collaborazione è a mio modesto avviso la più importante fonte di conoscenza e crescita personale: per questo motivo ho aperto e mantengo questo blog.
Di Franco, Michele, Antonio, ecc… ce ne sono tantissimi tra tutti i lettori e io ogni giorno imparo da tutti qualcosa di nuovo. GRAZIE !!!
Torniamo a quanto mi ha scritto Franco, in primo luogo ecco uno sketch che senza modificare nulla nello schema di collegamento
che già conosci, ti consente da subito di applicare l’uso dell’eccitazione 2-2 in luogo di quella da me descritta ( eccitazione 1-1 ):
int motorPin1 = 8; int motorPin2 = 9; int motorPin3 = 10; int motorPin4 = 11; int delayTime = 10; void setup() { pinMode(motorPin1, OUTPUT); pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); } void loop() { digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW);//1 digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime); digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW);//2 digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH);//3 digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH);//4 digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime); }
Cosa è cambiato?
E’ cambiato il modo in cui ecciti le bobine del motore, nella funzione loop() le linee 15-18 definisci il primo step portando a livello logico alto (HIGH) sia il pin 8 ( motorPin1 ) sia il pin 11 ( motorPin4 ), lascia a livello logico basso ( LOW ) gli altri due pin ( 9 e 10), eccitando entrambe le bobine del motore;
linee 20-23: potra a livello alto il pin 10 ( motorPin3 ) e basso il pin 11 ( motorPin4 ), lasciando invariata l’eccitazione sulla prima bobina;
linee 25-28: porta a livello alto il pin 9 ( motorPin2 ) e basso il pin 8 ( motorPin1 ), lasciando invariata l’eccitazione della seconda bobina;
linee 30-34: porta a livello alto il pin 11 ( motorPin4 ) e baso il pin 10 ( motorPin3 ), lasciando invariata l’eccitazione sulla prima bobina;
Avrai notato da subito che il numero di bobine contemporaneamente eccitate è 2 da cui la richiesta di maggiore energia in termini di amperaggio ( I ); la conseguenza diretta è una coppia maggiore che ti consente l’impiego del motore in condizioni in cui la coppia bassa non è consigliata.
Franco ha anche scritto:
Da sottolineare che utilizzando motori di recupero da stampante , alcuni di questi riportano proprio come modalità di eccitazione la 2-2.
Questo è uno dei motori di una Epson inkjet che sto utilizzando per delle prove ( dovrà motorizzare un microscopio con messa a fuoco automatica )
Siamo tutti curiosi di vedere all’opera questo progetto ed ho chiesto personalmente a Franco di inviarmi del materiale sul progetto, foto, video o disegni da pubblicare per accrescere la conoscenza di tutti sulle potenzialità di Arduino e quello che può fare.
Buon divertimento
Prima di inserire un commento, per favore, leggi il regolamento
16 pings
Skip to comment form
[…] pilotarlo, cmq nei prossimi articoli ti mostro come collegare e pilotare sia un motore passo passo bipolare sia unipolare; li ho volutamente separati da questo articolo per poter dedicare la spiegazione al […]