In questo post del blog, forniremo una panoramica completa dei motori e degli attuatori più comuni utilizzati per il controllo del movimento e l’attuazione nei progetti Arduino. Che si tratti della semplicità di un motore DC, della precisione di un motore passo-passo o del movimento angolare specifico di un servo, abbiamo tutto coperto.
Oltre a nominarli, approfondiremo il loro funzionamento, le applicazioni tipiche e i consigli per scegliere quello giusto per il tuo prossimo progetto. Se vuoi aggiungere movimento alla tua creazione Arduino o sei semplicemente curioso dei motori che fanno vibrare i tuoi gadget, questa guida ti illuminerà la strada. Immergiamoci e mettiamo in moto i tuoi progetti!
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
Controllo del movimento e attuazione
Motori DC
I motori DC sono forse i motori più semplici e diffusi nel campo dell’elettronica. Si basano sul principio di convertire l’energia elettrica in corrente continua (DC) in energia meccanica, producendo una rotazione continua. La differenza principale tra un motore DC e altri motori risiede nelle spazzole, che forniscono corrente al rotore. I motori DC sono facili da usare e disponibili in varie dimensioni, da quelli minuscoli alimentati a batteria a quelli potenti usati nei veicoli elettrici.
I motori DC trovano applicazione in numerosi progetti fai-da-te, giocattoli, ventilatori e persino in alcuni elettrodomestici. La loro rotazione continua li rende particolarmente adatti a tutto ciò che deve girare o ruotare, come le ruote di un robot o le pale di un ventilatore. Di seguito una foto di un piccolo motore DC spesso usato nei progetti Arduino:

Motori DC miniatura tipo 130 Gikfun 1.5V-6V
Di solito non puoi pilotare un motore DC direttamente da un pin di uscita Arduino. Ti servirà uno shield motore per fornire la corrente necessaria. Le scelte comuni sono gli L298N o gli L293D shield motore. Di seguito una foto e il link per il L298N:

HiLetgo 4pcs L298N Motor Driver Controller Board Module Stepper Motor DC Dual H-Bridge
Consulta il nostro tutorial su how to control a DC motor with an Arduino per maggiori dettagli.
Considerazioni chiave
I motori DC possono assorbire molta potenza, specialmente all’avvio o se bloccati. Questo può sovraccaricare l’alimentazione dell’Arduino o addirittura danneggiarla. Controlla sempre le esigenze di potenza del motore e assicurati che il tuo Arduino possa gestirle. Se il motore richiede più potenza di quella che Arduino può fornire, usa una fonte di alimentazione esterna.
Nota che i motori DC possono generare rumore elettrico che potrebbe interferire con altre parti del progetto. È buona norma aggiungere un diodo o un condensatore per attenuare questo problema.
Motori DC brushless (BLDC)
A differenza dei motori DC, i motori BLDC eliminano le spazzole, riducendo attrito, usura e manutenzione. Utilizzano invece un controller per invertire la direzione della corrente negli avvolgimenti del motore, producendo la rotazione. Questa caratteristica conferisce ai BLDC maggiore efficienza e durata, rendendoli una scelta migliore per applicazioni che richiedono affidabilità ed efficienza, sebbene a un costo più elevato.
Comunemente usati in droni, utensili ad alte prestazioni e ventole per computer, i BLDC sono preferiti per il loro funzionamento fluido, efficienza energetica e alta coppia. I droni, in particolare, beneficiano dei BLDC grazie al loro peso ridotto e alta reattività, fondamentali per stabilità e manovrabilità.
Per pilotare e controllare un motore brushless DC serve un Electronic Speed Controller (ESC). Di seguito una foto di un kit tipico per droni, contenente il controller e il BLDC:

BGNing A2212 1400kv Brushless Outrunner Motor 10t+ 30a Speed Controller ESC, Rc Aircraft
Considerazioni chiave
I BLDC richiedono meccanismi di controllo complessi e/o un Electronic Speed Controller (ESC). Possono anche assorbire correnti elevate, causando potenziali problemi di alimentazione e generazione di calore.
Il rumore elettrico generato dai BLDC può interferire con altri componenti del progetto, quindi è necessario un corretto collegamento a terra e schermatura. Controlla sempre le specifiche di tensione e corrente del motore per evitare danni e considera i requisiti di coppia, specialmente all’avvio.
Motori passo-passo
I motori passo-passo, come suggerisce il nome, si muovono a passi distinti. Ogni rotazione è suddivisa in molti passi, e il motore può essere comandato a muovere un numero specifico di questi alla volta. Questo li rende estremamente precisi, con la capacità di controllare l’angolo esatto di rotazione. A differenza dei motori DC continui, i passo-passo possono muoversi e mantenere una posizione specifica, rendendoli indispensabili in macchine CNC e stampanti 3D.
Di seguito una foto del molto comune NEMA 17 stepper motor:

Twotrees Nema17 Stepper Motor 17HS 4023 Motore passo-passo bipolare 42 Motor 4-Lead Wire con cavo da 1m 23mm 42BYGH 1.5A
In generale, non si controlla o pilota un motore passo-passo direttamente da un MCU, ma si usa uno shield driver. I driver comuni sono i chip A4988 o DRV8825. Qui una foto di un modulo driver A4988 con dissipatore:

WWZMDiB Modulo driver motore passo-passo A4988 con dissipatore
Abbiamo molti tutorial su how to control stepper motors con vari driver. Dai un’occhiata.
Considerazioni chiave
I motori passo-passo possono assorbire molta corrente e, se alimentati direttamente dall’Arduino, possono danneggiarlo. Usa sempre un’alimentazione esterna e un driver motore.
Attenzione che se un motore passo-passo viene spinto troppo forte o troppo velocemente, potrebbe perdere passi, causando posizionamenti imprecisi.
Infine, i motori passo-passo possono scaldarsi durante un uso prolungato. Assicurati che ci sia una ventilazione adeguata intorno al motore e considera l’aggiunta di un dissipatore se si riscalda troppo.
Motori servo
I motori servo sono unici perché forniscono un movimento angolare controllato, tipicamente da 0° a 180°. All’interno, un meccanismo di feedback, spesso un potenziometro, si regola continuamente per mantenere l’angolo desiderato. Questo rende i servo incredibilmente precisi per compiti basati sull’angolo, ma limita la loro rotazione.
Questo movimento limitato ma preciso li rende particolarmente adatti a compiti come regolare gli alettoni di un aeroplanino giocattolo, muovere una telecamera a un angolo desiderato o posizionare gli arti di un robot.
La foto sotto mostra il molto comune SG90 micro servo motor:

Hanaive SG90 9G Micro Servo
Abbiamo diversi tutorial su how to control servo motors di vari tipi che usano diversi driver.
Considerazioni chiave
I servo possono assorbire più corrente di quella che Arduino può fornire, specialmente quelli più grandi. Non alimentarli direttamente dall’Arduino.
I servo necessitano di segnali a impulsi di larghezza specifica per impostare la loro posizione. Sebbene Arduino possa generare questi segnali, verifica sempre il codice per assicurarti di inviare i comandi corretti. Segnali errati possono far vibrare il servo o farlo muovere in modo imprevedibile. Ricorda inoltre che la maggior parte dei servo ha un range di rotazione limitato. Non forzarli oltre i limiti, altrimenti potrebbero danneggiarsi.
Infine, controlla sempre le specifiche del servo. Servo diversi hanno requisiti differenti di coppia, velocità e tensione. Usare il tipo sbagliato può portare a prestazioni scadenti o danni.
Solenoidi
I solenoidi funzionano su un principio semplice: quando l’elettricità scorre attraverso la loro bobina, si genera un campo magnetico che attira un nucleo metallico o un perno verso il centro della bobina. Questa azione può produrre una forza di spinta o trazione. Quando l’alimentazione viene rimossa, il nucleo di solito ritorna alla posizione originale, tramite una molla o un’altra forza esterna.
Questo movimento lineare trova impiego in molte applicazioni. Dal semplice meccanismo del campanello alla complessità delle palette di un flipper e persino negli avviatori automobilistici, i solenoidi sono ovunque.
La foto sotto mostra un solenoide tipico:

uxcell a14092600ux0438 Attuatore a telaio aperto Mini solenoide lineare push-pull elettromagnete, DC 4.5V, 40 g/2 mm
Considerazioni chiave
Quando usi solenoidi in progetti Arduino, ricorda che assorbono molta corrente, specialmente quando attivati. Non alimentarli direttamente dall’Arduino, perché potresti danneggiare la scheda. Usa invece una fonte di alimentazione esterna e un transistor o relè per controllare il solenoide in sicurezza.
I solenoidi generano un campo magnetico quando alimentati, che può interferire con l’elettronica vicina. Posizionali lontano da componenti sensibili e considera l’aggiunta di un diodo per gestire eventuali picchi di tensione.
Infine, i solenoidi possono scaldarsi se tenuti attivi a lungo. È importante dargli pause o usarli a impulsi brevi.
Relè
I relè agiscono come interruttori, ma sono azionati elettricamente. Ciò significa che una piccola tensione e corrente, come quella di un Arduino, può controllare tensioni e correnti molto più elevate. All’interno del relè, un elettromagnete (essenzialmente un solenoide) chiude (o apre, a seconda del tipo) un set di contatti quando attivato.
Il loro vantaggio principale è l’isolamento. Apparecchi o circuiti ad alta tensione possono essere controllati in sicurezza senza esporre i delicati componenti a bassa tensione (come Arduino) a tensioni elevate. Troverai relè in molte applicazioni, dall’automazione domestica alle attrezzature industriali, ovunque sia necessario controllare la potenza senza interazione diretta.
Esistono moduli relè preassemblati pensati per l’uso con Arduino, preferibilmente con optoisolatori per maggiore sicurezza, come quello mostrato sotto:

Modulo relè 3V con 1 canale, optoisolato, trigger ad alto livello per IoT
Consulta il nostro tutorial su how to use a relay module with an Arduino.
Considerazioni chiave
Quando usi relè in progetti Arduino, ricorda che gestiscono alte tensioni. Non toccare mai i terminali del relè quando è alimentato e assicurati che il tuo setup sia sicuro da contatti accidentali o cortocircuiti.
I relè possono generare rumore elettrico durante lo switching, che potrebbe disturbare altre parti del progetto. Posizionali lontano da componenti sensibili e considera l’aggiunta di un circuito snubber o di un diodo per gestire eventuali picchi di tensione.
Infine, controlla sempre le specifiche del relè. Assicurati che possa gestire la tensione e la corrente del dispositivo che stai controllando.
Buzzers
I buzzer sono, in sostanza, trasduttori che convertono energia elettrica in suono. Il meccanismo di base coinvolge tipicamente un elemento piezoelettrico, che vibra quando viene applicata tensione, producendo suono. I buzzer si dividono in attivi (che producono un tono quando alimentati) e passivi (che richiedono un segnale oscillante per produrre suono).
I buzzer si trovano in molte applicazioni. Che sia il beep di un forno a microonde, il tono di allarme di un orologio da polso o il segnale acustico di un veicolo in retromarcia.
La foto sotto mostra un buzzer attivo tipico:

Cylewet 5V Buzzer attivo allarme elettronico magnetico con beep continuo lungo CYT1036
Dai un’occhiata al nostro tutorial su how to use a piezo buzzer with an Arduino.
Considerazioni chiave
Quando usi buzzer in progetti Arduino, controlla prima i requisiti di tensione. Alcuni buzzer potrebbero richiedere più tensione di quella che Arduino può fornire. Se colleghi un buzzer ad alta tensione direttamente ad Arduino, potrebbe non funzionare o suonare molto debole.
I buzzer possono produrre rumore, non solo il suono desiderato ma anche rumore elettrico. Questo può interferire con altre parti del progetto. Per ridurlo, aggiungi un condensatore ai terminali del buzzer.
Infine, sii consapevole del tipo di buzzer che stai usando. I buzzer attivi suoneranno quando alimentati, mentre quelli passivi necessitano di un segnale specifico da Arduino per produrre suono. Assicurati di inviare i comandi corretti dal tuo Arduino al buzzer.
Riepilogo
In questo articolo abbiamo esplorato una gamma di attuatori e i loro usi. Abbiamo iniziato con i motori DC, ideali per far girare cose come macchinine giocattolo e ventilatori. Poi i motori brushless DC, spesso usati in gadget volanti come i droni. Abbiamo visto i motori passo-passo, che si muovono a scatti e si trovano tipicamente nelle stampanti 3D. I motori servo sono come piccoli robot, che fanno rotazioni precise per compiti come muovere il braccio di un giocattolo. I solenoidi sono tutto spinta e trazione, e alimentano cose come i campanelli. Abbiamo anche parlato dei relè, che permettono ai nostri piccoli progetti di controllare in sicurezza dispositivi più grandi, come le lampade. E, naturalmente, i buzzer, che emettono beep e suoni per attirare la nostra attenzione. Ognuno di questi attuatori ha un compito speciale, e capirli può far vivere i nostri progetti Arduino in modi davvero fantastici!

