Arduino med servomotor
Ved hjelp av Arduino med servomotorer kan vi nøyaktig kontrollere akselposisjonen fordi servomotorer fungerer på en tilbakemeldingsmekanisme for å bestemme akselposisjonen. Akselposisjon måles kontinuerlig med et innebygd potensiometer inne i servomotor som sammenligner den med målposisjon satt av mikrokontroller (e.g., Arduino). Ved å beregne feilen mellom målposisjonen og den faktiske posisjonen, justerer mikrokontrolleren sin utgangsaksel for å matche den med målposisjonen. Hele systemet kan beskrives som en lukket sløyfesystem.
Arduino Control Servo Motors ved hjelp av et PWM -signal. Dette kontrollsignalet gis til kontrollpinnen til servomotoren. Bredde på PWM -signalet bestemmer akselposisjonen. Under tabellen gir en illustrasjon av servo motorposisjonskontroll ved hjelp av PWM -signal
PWM -bredde (MS) | Akselposisjon (vinkel) |
---|---|
1ms | 0˚ grad min |
1.5ms | 90˚ grader nøytral |
2ms | 180 ° Maks |
Servomotorer trenger generelt en PWM -puls hver 20ms eller 50Hz. De fleste RC -servomotorer kan fungere bra i en rekke 40 til 200Hz.
Servo motorpinner
De fleste servomotorer brukt med Arduino har tre pinner.
Servomotorer har forskjellige fargevalg tilgjengelig, men de gode nyhetene er at alle servomotorer har pinner vanligvis i samme rekkefølge, bare fargekoding er annerledes.
Wire Servo med Arduino
De fleste av servomotorene kjører på 5V. For å drive servoen med Arduino, må vi koble en 5V -pinne av Arduino til Servo Power Pin. Arduino har et begrenset område for å tegne strøm. Vanligvis kan en eller to motorer kobles til Arduino. For å kontrollere flere servomotorer ved hjelp av Arduino må vi drive dem med ekstern forsyning.
Følgende PIN -konfigurasjon bør huskes mens du driver servo:
Servo Motor Pin | Arduino Pin |
---|---|
Kraft (rød) | 5V pinne eller ekstern strømforsyning |
Bakken (svart eller brun) | Strømforsyning og Arduino GND |
Kontrollpinne (gul, oransje eller hvit) | Digital pin av Arduino |
For å koble servomotorer med Arduino etter to konfigurasjoner er mulig:
Wire ved hjelp av Arduino 5V -pinne
Servomotor kan slås opp ved hjelp av en Arduino 5V -pinne, men en ting å holde øye med er at Arduino kan gi maksimalt 500mA strøm til servoen. Hvis motorer trekker strøm utover denne grensen, vil den tilbakestille Arduino automatisk, og den kan miste strømmen også.
Følgende er den billedlige representasjonen av Arduino -forbindelse med Servomotor:
Her er Arduino Digital Pin 9 koblet til Servo Motor Control Pin mens Power og GND PIN -kode av Servo er koblet til henholdsvis 5V og GND -pinne av Arduino.
Ledning ved hjelp av ekstern forsyning med Arduino
Arduino kan levere begrenset strøm til servomotorer, det er derfor vi trenger å koble til en ekstern strømforsyning. Ved hjelp av en egen strømkilde for servomotorer kan vi koble så mange motorer som vi vil med Arduino, men husk de digitale pinnene som er tilgjengelige på Arduino -tavler. Hvis du vil koble til flere servomotorer, anbefales det å bruke Arduino Mega eller Arduino Shields som kan gi flere pinner for å håndtere alle motorer.
Her er Servo Motor Power og Ground Pin koblet over eksterne strømforsyningspinner mens kontrollpinnen er koblet til digital pin av Arduino som i ovenfor konfigurasjon.
Konklusjon
Servomotorer er en flott måte å designe robotiske prosjekter. På grunn av deres fleksibilitet angående kontrollmekanismer, får Arduino -brukere en mulighet til å designe prosjekter etter eget valg. En servomotor kan kobles til en Arduino ved å bruke sin kraft og digitale pinner. Mens du alltid ser etter energikravene til motoren før du kobler den til Arduino. For å koble flere motorer med Arduino, må du bruke en ekstern strømforsyning.