I motori elettrici sono sempre più richiesti, tra questi forse spiccano quelli che funzionano con corrente continua, i più apprezzati all'interno dei progetti dei maker con Arduino, poiché forniscono mobilità. Tra questi, evidenzia motori passo-passo che vengono utilizzati per molteplici applicazioni, in particolare per la robotica, come attuatori, ecc.
Auto elettriche, piccoli robot autonomi, applicazioni industriali per l'automazione, dispositivi di movimento ripetitivo, ecc. Il motivo per cui i servomotori e i motori passo-passo sono così utili per queste applicazioni è che possono farlo eseguire movimenti lenti o veloci, ma soprattutto controllati. Inoltre, gli azionamenti sono continui per applicazioni in cui sono richiesti molti arresti e avviamenti con elevata precisione.
Indice
Tipi di motori elettrici
All'interno motori elettrici si possono evidenziare le seguenti tipologie:
- Motore CC o CC: I motori CC funzionano con questo tipo di corrente, come suggerisce il nome. Possono andare da pochi mW di potenza a pochi MW in quelli più potenti e di grandi dimensioni, che vengono utilizzati per applicazioni industriali, veicoli, ascensori, nastri trasportatori, ventilatori, ecc. La sua velocità di rotazione (RPM) e la coppia applicata possono essere regolate in base all'avanzamento.
- Motore AC o AC (rotore asincrono e avvolto): funzionano in corrente alternata, con un rotore molto specifico che funziona grazie alle fasi che questo tipo di corrente contribuisce a generare la rotazione per repulsione magnetica dell'elettromagnete in modo simile a come fanno le CC. Sono molto economici e arrivano fino a diversi kW. Possono essere regolati in velocità di rotazione, ma gli elementi di regolazione sono più costosi di quelli in DC. Questi sono spesso usati per gli elettrodomestici.
- Motore passo-passo- Conosciuti anche come stepper, sono simili in molti modi alla DC, ma con basse velocità di rotazione e potenze. Qui quello che spicca è il posizionamento degli assi, cioè la precisione per metterli in una posizione specifica. Il loro angolo di rotazione e velocità possono essere controllati molto, motivo per cui venivano utilizzati in unità floppy, dischi rigidi (HDD), robot, automazione dei processi, ecc.
- Servomotore: si può dire che è un'evoluzione del motore passo-passo, funzionante con potenze ridotte e velocità che in alcuni casi arrivano fino a 7000 RPM. Questo motore incorpora una scatola di riduzione dell'ingranaggio e un circuito di controllo. Hanno la stessa precisione di posizionamento degli stepper e sono molto stabili in termini di coppia applicata, rendendoli ideali per alcuni robot e applicazioni industriali.
Motori passo-passo e servomotori
Sai già cosa sono questi due tipi di motori elettronici, ma vorrei dire qualcosa di più sugli stepper. Il turno che fanno non è fatto continuamente, ma a piccoli passi, da cui il loro nome. Il rotore (parte che ruota) ha la forma di una ruota dentata, mentre lo statore (parte che non ruota) è costituito da elettromagneti polarizzati interfogliati. In questo modo quando uno viene "attivato" quelli ai suoi lati non vengono attivati, il che attrae il dente del rotore verso di esso, consentendo il preciso avanzamento per cui sono caratterizzati.
Dipende da denti del rotore, sarà possibile avanzare più o meno nel turno. Se hai più denti, sono necessari più passaggi per completare un giro, ma i passaggi saranno più brevi, quindi sarà un motore più preciso. Se hai pochi denti, i passaggi saranno salti più bruschi, senza la stessa precisione. Pertanto, i passaggi che un motore passo-passo dovrà compiere per completare una svolta dipenderanno dai passaggi angolari.
Quei passaggi angolari sono standardizzati, anche se puoi trovare alcuni motori con passo non standard. Gli angoli sono generalmente: 1.8º, 5.625º, 7.5º, 11.25º, 18º, 45º e 90º. Per calcolare quanti passi ha bisogno un motore passo-passo per completare un giro completo o un giro (360º), devi solo dividere. Ad esempio, se hai un motore passo-passo a 45º, avrai 8 passi (360/45 = 8).
All'interno di questi motori si ha il unipolare (il più diffuso), con 5 o 6 cavi, oppure il bipolare, con 4 cavi. Secondo questo, l'uno o l'altro verrà eseguito sequenze di polarizzazione passaggio di corrente attraverso le sue bobine:
- Polarizzazione per bipolare:
Passo | Terminal A | Terminal B | Terminale C | Terminale D |
---|---|---|---|---|
1 | +V | -V | +V | -V |
2 | +V | -V | -V | +V |
3 | -V | +V | -V | +V |
4 | -V | +V | +V | -V |
- Per unipolare:
Passo | bobina A | bobina B | bobina C | bobina D |
---|---|---|---|---|
1 | +V | +V | 0 | 0 |
2 | 0 | +V | +V | 0 |
3 | 0 | 0 | +V | +V |
4 | +V | 0 | 0 | +V |
Il funzionamento in entrambi i casi è lo stesso, polarizzando le bobine per attirare il rotore nel punto in cui si desidera posizionare l'asse. Se vuoi tienilo in una posizione, devi mantenere la polarizzazione per quella posizione e voilà. E se vuoi che si muova in avanti, polarizzi il prossimo magnete e farà un altro passo, e così via ...
Se usi un file servomotore, sai già che è fondamentalmente un motore passo-passo quindi tutto quello che viene detto funziona anche per loro. L'unica cosa che comprende quei riduttori per ottenere molti più passi per giro e quindi avere una precisione molto maggiore. Ad esempio, puoi trovare un motore con 8 passi per giro che se avesse un cambio 1:64, poiché significa che ogni passo di quegli otto è suddiviso in 64 passi più piccoli, che darebbero un massimo di 512 passi per giro. Cioè, ogni passo sarebbe di circa 0.7º.
Aggiungi anche che dovresti usarne alcuni controlador con cui controllare polarizzazione, velocità, ecc., con, ad esempio, H-Bridge. Alcuni modelli sono L293, ULN2003, ULQ2003, ecc.
Dove comprare
Puoi acquistalo su vari siti online o in negozi di elettronica specializzati. Inoltre, se sei un principiante, puoi utilizzare kit che includono tutto ciò di cui hai bisogno e persino il piatto Arduino UNO e manuale per iniziare a sperimentare e creare i tuoi progetti. Questi kit includono tutto ciò di cui hai bisogno, dal motore stesso, ai controller, schede, breadboard, ecc.
- Acquista Arduino Starter Kit
- Nessun prodotto trovato.
- Acquista servomotore
- Nessun prodotto trovato.
Esempio di motore passo-passo con Arduino
Infine, mostra un file esempio pratico con Arduino, utilizzando il controller ULN2003 e il motore passo-passo 28BYJ-48. È molto semplice, ma ti basterà iniziare a familiarizzare con come funziona in modo da poter iniziare a fare alcuni test e vedere come si comporta ...
Come visto in lo schema elettrico, le bobine motore A (IN1), B (IN2), C (IN3) e D (IN4) sono state assegnate rispettivamente alle connessioni 8, 9, 10 e 11 della scheda Arduino. D'altra parte, il driver o la scheda controller deve essere alimentato sui suoi pin 5-12V (a GND e 5V di Arduino) con la tensione appropriata in modo che a sua volta alimenti il motore collegato al connettore di plastica bianco che ha questo driver o controller.
Questo Motore 28BYJ-48 È un motore passo-passo di tipo unipolare con quattro bobine. Pertanto, per darti un'idea di come funziona, puoi inviare valori HIGH (1) o LOW (0) alle bobine dalla scheda Arduino come segue per i passaggi:
Passo | bobina A | bobina B | bobina C | bobina D |
---|---|---|---|---|
1 | ALTO | ALTO | BASSO | BASSO |
2 | BASSO | ALTO | ALTO | BASSO |
3 | BASSO | BASSO | ALTO | ALTO |
4 | ALTO | BASSO | BASSO | ALTO |
Da schizzo o codice necessario per programmare il movimento, poiché sarebbe il seguente utilizzo Arduino IDE (modificalo e sperimenta per verificare come viene alterato il movimento):
// Definir pines conectados a las bobinas del driver #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 // Secuencia de pasos a par máximo del motor. Realmente es una matriz que representa la tabla del unipolar que he mostrado antes int paso [4][4] = { {1, 1, 0, 0}, {0, 1, 1, 0}, {0, 0, 1, 1}, {1, 0, 0, 1} }; void setup() { // Todos los pines se configuran como salida, ya que el motor no enviará señal a Arduino pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } // Bucle para hacerlo girar void loop() { for (int i = 0; i < 4; i++) { digitalWrite(IN1, paso[i][0]); digitalWrite(IN2, paso[i][1]); digitalWrite(IN3, paso[i][2]); digitalWrite(IN4, paso[i][3]); delay(10); } }
Puoi essere il primo a lasciare un commento