Slik kobler du servomotorer til Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette innlegget skal vi lære hva servomotor er, hvordan den fungerer, hvordan man kan grensesnitt med mikrokontroller og hva som gjør denne motoren spesiell fra andre motorer.

Å være en elektronikkentusiast ville vi ha kommet over mange slags motorer, her skal vi ta en titt på spesiell type motor som kalles servomotor.



Hva er en servomotor?

Servomotor eller bare servo er en spesiell type motor som er designet for presis kontroll over posisjon, akselerasjon og hastighet. I motsetning til alle andre typer motorer, kan servo bare rotere 180 graders toveis. Den har mekaniske tannhjul og stopper som begrenser servovinklingen.

Typisk servomotor:

Servomotorene brukes i robotikk, CCTV-kameraer, RC-biler, båter, leketøyfly etc. Servoer brukes der vi ikke trenger fortsetter rotasjonsbevegelse, men låser i en bestemt posisjon eller beveger litt last med kontrollert hastighet innenfor den bevegelige vinkelgrensen.



Servo er ikke bare en motor som andre typer, men det er en modul som kombinerer en vanlig DC / AC-motor, en gruppe gir, kontrollelektronikk og et tilbakemeldingssystem. La oss se på hvert av de nevnte trinnene i detalj.

DC / AC-motor som brukes på en servomodul, kan være børsteløs eller børstet motor, på de fleste hobby servoer brukes DC-motor og AC-motorer i industrielle applikasjoner. Motoren gir rotasjonsinngang til servoen. Motoren roterer med flere hundre RPM inne i servoen, og utgangsrotasjonen er omtrent 50 eller flere ganger mindre av RPM.

Det neste trinnet er girenheten som styrer vinkelen og hastigheten på servoen. Utstyret kan være laget av enten plast eller metall, avhengig av hvor klumpete belastningen er. Generelt kjøres DC-motorer med høyt turtall og lavt dreiemoment, giret vil konvertere det overskytende turtallet til dreiemoment. Dermed kan en liten motor takle en enorm belastning.

Det neste trinnet er kontrollelektronikk som består av MOSFET og IC for å kontrollere motorens rotasjon. Et tilbakemeldingssystem er alltid til stede i servomotorer for å spore aktuatorens nåværende posisjon.

I servoer er vanligvis en tilbakemeldingskomponent et potensiometer, som er direkte koblet til en roterende aktuator. Potensiometeret fungerer som spenningsdeler som mates til kontrollelektronikken. Denne tilbakemeldingen hjelper med å kontrollere elektronikken til å bestemme mengden kraft gitt til motoren.

En servomotor i fast stilling vil motvillig bevege seg fra sin nåværende posisjon hvis noen ytre krefter prøver å forstyrre. Tilbakemeldingssystemet overvåker gjeldende posisjon og driver motoren mot ytre forstyrrelser.

Ovenstående scenario er det samme når servoen beveger aktuatoren. Kontrollsystemet vil kompensere for den ytre kraften og bevege seg i bestemt hastighet.

Nå vet du ganske mye om servomotoren og dens funksjonsmekanisme. La oss se hvordan du styrer servomotorene ved hjelp av mikrokontroller.

Servomotorer har 3 terminaler i motsetning til andre motorer som har 2 terminaler, to for forsyning (5V nominell) og en for styresignal. Ledningene er farget for enkel identifikasjon av terminaler.

Kontrollsignalene til servoer er PWM ved 50Hz frekvens. Pulsbredden til signalet bestemmer posisjonen til aktuatorarmen. En typisk hobby servomotor fungerer fra 1 til 2 millisekunder pulsbredde.

Bruk av 1 ms pulsbreddekontrollsignal vil holde aktuatoren i 0 graders posisjon. Bruk av 2 ms pulsbreddekontrollsignal vil holde aktuatoren i 180 graders posisjon. Bruk av signaler på mellom 1-2 ms vil holde aktuatoren i 0-180 graders vinkel. Dette kan forstås bedre av bildet nedenfor.

Nå hadde du forstått hvordan en servo styres av pulsbreddemodulering (PWM).

La oss nå lære å koble en servomotor til Arduino.

Kretsskjema:

hvordan du kobler en servomotor til Arduino.

Kablingene er enkle og selvforklarende. Du trenger ekstern strømforsyning hvis du bruker en voluminøs servomotor. Hvis du prøver å strømforsyne strømforsyningen fra arduino, vil du ende opp med å overbelaste USB-porten på datamaskinen.

Hvis du har servolignende som illustrert i begynnelsen av artikkelen, kan du drive den fra arduino 5V-forsyning, også vist i forfatterens prototype.

Forfatterens prototype:

Arduino trenger servobibliotek for å håndtere det, det gjorde oppgaven vår enkel, og den er allerede i Arduino IDE.

Program:

//--------Program developed by R.Girish--------//
#include
Servo motor
int pos = 0
int t=10
void setup()
{
motor.attach(7)
}
void loop()
{
A:
pos=pos+1
motor.write(pos)
delay(t)
if(pos==180) { goto B}
goto A
B:
pos=pos-1
motor.write(pos)
delay(t)
if(pos==0) { goto A}
goto B
}
//--------Program developed by R.Girish--------//

Ovennevnte program vil feie aktuatoren 0 til 180 grader til høyre og 180 til 0 grader til venstre og gjenta syklus. Dette er et enkelt program for å teste servoen du trenger for å skrive din egen kode for dine tilpassede applikasjoner.




Forrige: To-rør vannpumpeventilkontrollkrets Neste: Forstå ledningsnett for motorsykkel spenningsregulator