Hur man kopplar ihop servomotorer med Arduino

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget ska vi lära oss vad servomotor är, hur den fungerar, hur man gränssnitt med mikrokontroller och vad som gör denna motor speciell från andra motorer.

Som en elektronikentusiast skulle vi ha stött på många sorters motorer, här ska vi ta en titt på speciell typ av motor som kallas servomotor.



Vad är en servomotor?

Servomotor eller helt enkelt servo är en speciell typ av motor som är utformad för exakt kontroll över position, acceleration och hastighet. Till skillnad från alla andra typer av motorer kan servo bara rotera 180 graders dubbelriktad. Den har mekaniska kugghjul och propp som begränsar servovinkeln.

Typisk servomotor:

Servomotorerna används i robotik, CCTV-kameror, RC-bilar, båtar, leksaksflygplan etc. Servor används där vi inte behöver fortsätta roterande rörelse, men låser sig i en viss position eller flyttar en viss belastning med kontrollerad hastighet inom den rörliga vinkelgränsen.



Servo är inte bara en motor som andra typer, men det är en modul som kombinerar en vanlig DC / AC-motor, en grupp växlar, styrelektronik och ett återkopplingssystem. Låt oss titta på de nämnda stegen i detalj.

DC / AC-motor som används på en servomodul kan vara borstlös eller borstad motor, på de flesta hobby servos används DC-motor och AC-motorer används i industriella applikationer. Motorn ger rotationsingång till servon. Motorn roterar med flera hundra varv inne i servon och utgångsrotationen är cirka 50 eller fler gånger mindre av dess varvtal.

Nästa steg är kugghjulsenheten, som styr servovinkeln och hastigheten. Kugghjulet kan vara tillverkat av antingen plast eller metall beroende på hur skrymmande lasten är. Generellt körs likströmsmotorer med högt varvtal och lågt vridmoment kommer växelaggregatet att omvandla överskottet varvtal till vridmoment. Således kan en liten motor klara en enorm belastning.

Nästa steg är styrelektronik som består av MOSFET och IC för styrning av motorns rotation. Det finns alltid ett återkopplingssystem i servomotorer för att spåra ställdonets aktuella läge.

I servon är i allmänhet en återkopplingskomponent en potentiometer, som är direkt ansluten till ett roterande ställdon. Potentiometern fungerar som spänningsdelare som matas till styrelektroniken. Denna feedback hjälper till att styra elektroniken för att bestämma mängden effekt som ges till motorn.

En servomotor i ett fast läge kommer motvilligt att röra sig från sitt nuvarande läge om någon extern kraft försöker störa. Feedback-systemet övervakar den aktuella positionen och driver motorn mot yttre störningar.

Ovanstående scenario är detsamma när servon flyttar ställdonet. Styrsystemet kompenserar den yttre kraften och rör sig i bestämd hastighet.

Nu vet du ganska mycket om servomotor och dess mekanism. Låt oss se hur man styr servomotorerna med hjälp av mikrokontroller.

Servomotorer har 3 terminaler till skillnad från andra motorer som har 2 terminaler, två för matning (5V nominellt) och en för styrsignal. Ledningarna är färgade för enkel identifiering av terminaler.

Servos styrsignaler är PWM vid 50Hz frekvens. Signalens pulsbredd bestämmer positionen för manöverdonets arm. En typisk hobby servomotor arbetar från 1 till 2 millisekunder pulsbredd.

Användning av 1 ms pulsbreddskontrollsignal håller ställdonet i 0 graders position. Användning av 2 ms pulsbreddskontrollsignal håller ställdonet i 180 graders position. Användning av signaler på mellan 1-2 ms håller ställdonet inom 0-180 graders vinkel. Detta kan bättre förstås med bilden nedan.

Nu skulle du ha förstått hur en servo styrs av pulsbreddsmodulation (PWM).

Låt oss nu lära oss att koppla ihop en servomotor med Arduino.

Kretsschema:

hur man gränssnitt en servomotor med Arduino.

Ledningarna är enkla och självförklarande. Du behöver extern strömförsörjning om du använder en skrymmande servomotor. Om du försöker driva från arduino-strömförsörjningen kommer du slutligen att överbelasta USB-porten på datorn.

Om du har servo liknande som illustreras i början av artikeln, kan du driva den från arduino 5V-försörjning, som också visas i författarens prototyp.

Författarens prototyp:

Arduino behöver servobibliotek för att hantera det, det gjorde vår uppgift lätt och den finns redan 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--------//

Ovanstående program sveper ställdonet 0 till 180 grader åt höger och 180 till 0 grader åt vänster och cykelrepetitioner. Detta är ett enkelt program för att testa servon. Du kan behöva skriva din egen kod för dina anpassade applikationer.




Tidigare: Tvårörs vattenpumpventilstyrkrets Nästa: Förstå kabeldragning för motorcykelspänningsregulator