Controllo della velocità del driver del motore con un Arduino

In questo esempio controlleremo la velocità di un attuatore lineare con un Arduino e un driver del motore.

Nota: questo tutorial presuppone una conoscenza preliminare dei principi elettronici di base, dell'hardware e del software Arduino. Se è la prima volta che utilizzi Arduino, ti suggeriamo di apprendere le basi da uno dei tanti fantastici tutorial per principianti disponibili tramite le ricerche su Google e YouTube. Tieni presente che non abbiamo le risorse per fornire supporto tecnico per applicazioni personalizzate e non eseguiremo il debug, la modifica, la fornitura di codice o schemi elettrici al di fuori di questi tutorial disponibili pubblicamente.

Componenti

Cablaggio

Controllo della velocità del driver del motore con un Arduino

Panoramica hardware e software

I motori CC negli attuatori lineari richiedono una corrente elevata (fino a 5 A), se dovessimo collegare l'attuatore lineare direttamente ad Arduino questo elevato assorbimento di corrente distruggerebbe i pin digitali di Arduino poiché sono classificati solo per 40 mA ciascuno. Pertanto utilizziamo un driver del motore che può ricevere un segnale PWM (modulazione di larghezza di impulso) a bassa corrente dalla scheda Arduino e inviare un segnale PWM ad alta corrente all'attuatore lineare.

Il driver del motore è collegato a due pin digitali PWM (pin 10 e 11 su Arduino Uno). Impostando uno di questi pin su BASSO e l'altro su ALTO (vedi riga 18 e 19 nel codice sottostante) possiamo estendere l'attuatore alla massima velocità. Per fermare l'attuatore, impostiamo entrambi i pin su LOW (vedere le righe 21 e 22 nel codice sotto) e per invertire la direzione del movimento possiamo invertire l'ordine dei pin HIGH e LOW (vedere le righe 24 e 25 nel codice sotto). Possiamo anche regolare la velocità cambiando la variabile "Speed" su qualsiasi valore compreso nell'intervallo [0, 255]; vedere la riga 17 nel codice sottostante.

Codice

https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a

Controllo della velocità variabile con un potenziometro

Nell'esempio sopra abbiamo impostato manualmente la velocità nella riga 17 del codice. Tuttavia possono verificarsi situazioni in cui si desidera variare la velocità dell'attuatore nel tempo. Il metodo più semplice per ottenere ciò è utilizzare un potenziometro. UN il potenziometro èun resistore variabile a tre terminali che può fungere da partitore di tensione. Ruotando la manopola del potenziometro varierà la tensione di uscita e possiamo collegarla al pin analogico su un Arduino per impostare una velocità variabile.

Cablaggio

Controllo della velocità del driver del motore con un Arduino

Panoramica hardware e software

Come accennato in precedenza, un potenziometro è un dispositivo rotante che cambia la resistenza quando la manopola viene ruotata. Collegando i due pin esterni del potenziometro a 5V e GND e il pin centrale al pin analogico di Arduino, A0, viene creato un partitore di tensione. Quando la manopola viene ruotata, Arduino leggerà letture analogiche comprese tra [0, 1023].

Per i valori nell'intervallo [512, 1023] vogliamo che l'attuatore si estenda e per i valori [0, 511] vogliamo che l'attuatore si ritiri, ciò può essere ottenuto con una semplice istruzione if () / else nelle righe 22 e 28 in il codice di seguito. Quindi utilizzando la funzione map () (riga 23 e 29 nel codice sotto) possiamo convertirlo in un segnale PWM che controllerà sia la velocità che la direzione dell'attuatore.

Codice

https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856

Share This Article
Tags:

Need Help Finding the Right Actuator?

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.