Controllo motore e servomotore per Arduino

Il controllo motore e servomotore in progetti industriali è molto rilevante soprattutto se impiegati in sistemi robotici e macchine a controllo numerico, così come in tutta una serie di azionamenti di precisione. Oggi presentiamo un controllo motore DC e passo-passo per Arduino/PCDuino per pilotare fino a 2 motori, e il Servomodulo Arduino con microcontrollore Atmega8A per il controllo personalizzato fino a 8 servomotori. Il Servomodulo è dotato di interfaccia LinkerKit per essere facilmente impiegato in altri progetti esistenti.

Introduzione

L'azionamento di un motore copre una vasta gamma di applicazioni nei più disparati settori industriali e civili, particolarmente nella strumentazione elettronica e varie periferiche di calcolatori. Ogni applicazione ha un requisito differente di potenza e caratteristiche da soddisfare, per esempio la velocità, il pilotaggio, il controllo della coppia. La regolazione della posizione o della velocità sono alcuni requisiti che un sistema di controllo deve gestire; per far fronte a queste caratteristiche in commercio troviamo una serie di moduli di controllo per motori DC e stepper. Il motore a corrente continua trova spazio nell'automazione e nella robotica, il principio di funzionamento è basato sull'interazione di due campi magnetici che creano attrazione e repulsione (statore e rotore). Il motore stepper trova spazio nelle applicazioni di precisione e necessita di impulsi per essere pilotati. Il servomotore, invece, è un sistema elettromeccanico dotato di una parte meccanica e una elettronica di feedback per il pilotaggio; necessita di un opportuno sistema di controllo per far compiere determinate operazioni.

Caratteristiche

La scheda controllo motore è una piattaforma ideale per la robotica e le applicazioni meccaniche. Esso consente ad Arduino di pilotare due motori DC o uno passo-passo a due fasi. Il modulo comprende un regolatore a 5V per alimentare Arduino ed è basato sul circuito H- driver Bridge Chip L298N. In aggiunta sono presenti 13 connettori Grove per il collegamento plug&play dei corrispondenti sensori (Figura 1).  L298N è un circuito integrato monolitico full-bridge designato per pilotare carichi induttivi come relè, solenoidi e motori. Due input provvedono ad attivare o disattivare il dispositivo.  Gli emettitori dei transistor inferiori di ciascun ponte (vedi figura 2) sono collegati insieme e il terminale esterno corrispondente può essere utilizzato per il collegamento di un resistore di sensing.

figura1

Figura 1: Modulo controllo motore per Arduino/ pcDuino pc-motorst01

Ulteriori caratteristiche possono essere riassunte nei seguenti punti:

  • PWM control mode.
  • 4 indicatori luminosi.
  • Dissipatore per il pilotaggio di grandi carichi.
  • Supporto fino a 14 servo.

In tabella 1 sono riassunte le caratteristiche elettriche e fisiche del modulo.

Alimentazione 4,5-5,5 V
Alimentazione motori 6 - 15 V
Corrente di uscita max 2 A/canale
Max corrente di picco (non ripetitivo; t = 100us) 3 A
Altezza 36 mm
Larghezza 55 mm
Lunghezza 69,5 mm

Tabella 1: Caratteristiche tecniche del modulo shield pc-motorst01

fig_2

Figura 2: Schema a blocchi del driver full bridgeL298N

La scheda dispone di jumper per abilitare i vari motori A e B, e per alimentare Arduino tramite il regolatore lineare a bordo (Figura 3).

fig2

Figura 3: Il controllo shield Arduino all'opera

Il Servomodulo Arduino a 8 canali è impiegato per il controllo di servomotori con interfaccia di comunicazione UART 9600 baud rate e una precisione dell'ordine di 5 microsecondi. In figura 4 è visibile in primo piano la scheda. I sistemi elettromeccanici collegati possono essere alimentati da un generatore di tensione nell'intervallo 6-15V, grazie alla presenza di un regolatore di tensione integrato LM2576. Il microcontrollore on-board ATMega8A è un CMOS a bassa potenza 8 bit con architettura RISC. ATmega8A gestisce le operazioni del servomotore e raggiungere throughput vicino a 1 MIPS per MHz, consentendo al progettista di ottimizzare il dispositivo in funzione del consumo energetico e della velocità di elaborazione.

 

Figura 4: La scheda servomodulo Arduino

Figura 4: La scheda servomodulo Arduino

Il Servomodulo permette di comandare dei dispositivi servo per la gestione della posizione. In commercio esistono un'ampia scelta di servo catalogati per coppia e precisione. Le caratteristiche comuni sono l'angolo di rotazione, la velocità e la coppia motrice. La complessità di pilotaggio nasce dal fatto di inviare comandi in grado di trasformare l'elettronica in movimento. Arduino dispone di uscite PWM ma non sufficienti per comandare il dispositivo.  I sistemi servo sono particolari motori dotati di feedback per il monitoraggio della posizione. Il segnale di controllo e l'elettronica di potenza del Servomodulo permettono di ottenere il comportamento desiderato del servo.

Considerazioni e conclusioni

I moduli di controllo motore consentono di gestire facilmente la direzione e la velocità utilizzando la scheda Arduino. Molto semplice da incorporare nel progetto sfruttando la potenza del L298N in grado di gestire fino a 3 A per periodi molto brevi o 2 A continuo per canale. Nei link che seguono è possibile trovare anche dei codici di esempi sketch Arduino. Sappiamo l'importanza dei motori dc e stepper e pilotarli attraverso la scheda Arduino è di una importanza notevole. Queste schede non permettono di pilotare direttamente un motore, in quanto la corrente è insufficiente e rischierebbe di danneggiarla. I moduli che abbiamo proposto dispongono di ottime caratteristiche come driver per motori/servo utilizzati in molti campi industriali. I servomotori richiedono generalmente una elevata linearità di tensione e una bassa oscillazione di coppia. Con il servomodulo è possibile implementare Arduino per il controllo servo impiegato nelle macchine a controllo numerico e nei sistemi robot di precisione.

IL CONTROLLO MOTORI PER ARDUINO/PCDUINO PC-MOTORST01 E IL SERVOMODULO PER ARDUINO SONO DISPONIBILI A CATALOGO CONRAD CON SPEDIZIONI 24 H

 

Scarica subito una copia gratis

Una risposta

  1. Maurizio Di Paolo Emilio Maurizio 6 Maggio 2016

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend