Arduino con servo motore
Usando Arduino con servi motori possiamo controllare con precisione la sua posizione dell'albero perché i servi motori lavorano su un meccanismo di feedback per determinarne la posizione dell'albero. La posizione dell'albero viene costantemente misurata con un potenziometro incorporato all'interno del servomotore che lo confronta con la posizione target impostata dal microcontrollore (E.G., l'Arduino). Calcolando l'errore tra la posizione target e la posizione effettiva, il microcontrollore regola il suo albero di uscita per abbinarlo alla posizione di destinazione. L'intero sistema può essere descritto come a Sistema a circuito chiuso.
Arduino Control Servo Motors usando un segnale PWM. Questo segnale di controllo viene dato al perno di controllo del servo motore. La larghezza del segnale PWM determina la posizione dell'albero. La tabella seguente fornisce un'illustrazione del controllo del servomotore di posizione utilizzando il segnale PWM
Larghezza PWM (MS) | Posizione dell'albero (angolo) |
---|---|
1ms | 0 ° gradi min |
1.5ms | 90 ° gradi neutro |
2ms | 180 ° gradi max |
I servi motori hanno generalmente bisogno di un impulso PWM ogni 20 ms o 50Hz. La maggior parte dei servi motori RC può funzionare bene in una gamma da 40 a 200Hz.
Servo Motor Pins
La maggior parte dei servi motori utilizzati con Arduino ha tre pin.
I servi motori hanno schemi di colore diversi disponibili, ma la buona notizia è che tutti i servi motori hanno pin di solito nello stesso ordine, solo la codifica a colori è diversa.
Servo di filo con Arduino
La maggior parte dei servi motori funziona su 5V. Per alimentare il servo con Arduino, dobbiamo collegare un pin da 5 V di Arduino al servo Pin. Arduino ha una gamma limitata per il disegno della corrente. Di solito, uno o due motori possono essere collegati ad Arduino. Per controllare più servi motori usando Arduino dobbiamo alimentarli utilizzando l'alimentazione esterna.
La configurazione del pin seguente deve essere tenuta a mente mentre si alimenta il servo:
Servo Motor Pin | Arduino Pin |
---|---|
Potenza (rosso) | Pin da 5 V o alimentazione esterna |
Terra (nero o marrone) | Alimentazione e Arduino GND |
Pin di controllo (giallo, arancione o bianco) | Pin digitale di Arduino |
Per collegare i servomotori con Arduino dopo due configurazioni sono possibili:
Filo usando il pin Arduino 5V
Il servo motore può essere alimentato usando un perno Arduino da 5V, ma una cosa per tenere d'occhio è che l'Arduino può dare un massimo di 500 mA di corrente al servo. Se i motori disegnano la corrente oltre questo limite, ripristinerà automaticamente l'Arduino e potrebbe anche perdere energia.
Di seguito è riportata la rappresentazione pittorica della connessione Arduino con il servo motore:
Qui il pin digitale Arduino 9 è collegato al perno di controllo del motore servo mentre l'alimentazione e il pin GND del servo sono collegati rispettivamente al pin 5V e GND di Arduino.
Filo che utilizza l'alimentazione esterna con Arduino
Arduino può fornire corrente limitata ai servi motori ecco perché dobbiamo collegare un alimentatore esterno. Usando una fonte di alimentazione separata per i servi motori possiamo collegare tutti i motori che vogliamo con Arduino ma tieni presente i pin digitali disponibili sulle schede Arduino. Se si desidera collegare più motori servi, è consigliabile utilizzare Arduino Mega o Arduino Shields in grado di fornire più pin per gestire tutti i motori.
Qui il servo motore di alimentazione e il pin di terra è collegato su pin di alimentazione esterna mentre il pin di controllo è collegato al perno digitale di Arduino come nella configurazione sopra.
Conclusione
I servi motori sono un ottimo modo per progettare progetti di robotica. A causa della loro flessibilità riguardo ai meccanismi di controllo, gli utenti di Arduino hanno l'opportunità di progettare progetti di loro scelta. Un motore servo può essere collegato con un Arduino usando la sua potenza e i pin digitali. Mentre cercano sempre i requisiti energetici del motore prima di collegarlo ad Arduino. Per collegare i più motori con Arduino è necessario utilizzare un alimentatore esterno.