- Material krävs
- Kretsschema
- Vad är en servomotor?
- Arduino-kodförklaring
- Styrning av flera servor med Arduino- Arbetar:
Att använda en eller två Servo med Arduino är lätt men vad händer om vi vill använda mer än en Servomotor?
Här kommer vi att visa dig hur man styr flera servomotorer med Arduino. Anslutning av flera servomotorer med Arduino verkar vara lätt och men om vi ansluter alla Servos till Arduino matningsstift så fungerar de inte korrekt på grund av brist på tillräckligt med ström för att driva alla motorer. Så du måste använda separat strömförsörjning för motorerna, antingen från några adaptrar (5v 2A) eller från 9v-batterier av god kvalitet.
Material krävs
- Arduino UNO
- Servomotor
- Strömförsörjning
- Bakbord
- Anslutande ledningar
Kretsschema
Vad är en servomotor?
Innan vi går i detalj bör vi först veta om Servo Motors.
Servomotorer finns i olika former och storlekar. En servomotor kommer huvudsakligen att ha ledningar, en är för positiv spänning en annan är för mark och den sista är för lägesinställning. Den RÖDA ledningen är ansluten till ström, den svarta ledningen är ansluten till jord och den Gula ledningen är ansluten till signalen.
En servomotor är en kombination av likströmsmotor, lägesstyrsystem, växlar. Positionen på DC-motorns axel justeras av styrelektroniken i servon, baserat på PWM-signalens arbetsförhållande SIGNAL-stiftet.
Enkelt sagt justerar styrelektroniken axelns position genom att styra likströmsmotorn. Dessa data angående axelns position skickas genom SIGNAL-stiftet. Positionsdata till kontrollen ska skickas i form av PWM-signal via servomotorns signalstift.
Frekvensen för PWM-signalen (Pulse Width Modulated) kan variera beroende på typ av servomotor. Det viktiga här är PUTM-signalen. Baserat på denna DUTY RATION justerar styrelektroniken axeln.
Som visas i figuren nedan, för att axeln ska flyttas till 9o-klockan måste TURN PÅ RATION vara 1 / 18.ie. 1 ms PÅ-tid och 17 ms AV-tid i en 18 ms-signal.
För att axeln ska flyttas till 12o-klockan måste signalens PÅ-tid vara 1,5ms och OFF-tiden ska vara 16,5ms. Detta förhållande avkodas av styrsystemet i servo och det justerar positionen baserat på det. Denna PWM här skapas med ARDUINO UNO.
Innan du ansluter servon till Arduino kan du testa din servo med hjälp av denna servomotortestkrets. Kontrollera även våra Servo-projekt nedan:
- Servomotorstyrning med flexsensor
Arduino-kodförklaring
Den kompletta Arduino-koden för multipel servokontroll ges i slutet.
Arduino har bibliotek för Servomotorer och det hanterar alla PWM-relaterade saker för att rotera servon, du behöver bara ange vinkeln som du vill rotera till och det finns funktion servo1.write (vinkel); som roterar servon till önskad vinkel.
Så här börjar vi med att definiera biblioteket för servomotor.
#omfatta
I nedanstående kod initialiserar vi alla fyra servon som Servo1, Servo2, Servo3 och Servo4.
Servoservo1; Servo servo2; Servoservo3; Servoservo4;
Sedan ställer vi in alla servos ingångsstift med Arduino. Som visas i koden nedan är Servo1 ansluten till Arduinos tredje stift. Du kan byta ut stiften enligt dig men kom ihåg att det ska vara en PWM-stift. Att använda en servo med digitala stift på Arduino är inte tillförlitlig.
ogiltig installation () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); }
Nu, i void loop () -funktionen roterar vi bara all servo från 0 till 180 grader och sedan 180 till 0 grader. Fördröjningen som används i koden nedan används för att öka eller minska servos hastighet eftersom den påverkar den ökande eller minskande hastigheten för variabeln 'i'.
ogiltig slinga () { för (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); fördröjning (10); } för (i = 180; i> 0; i--) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); fördröjning (10); } }
Styrning av flera servor med Arduino- Arbetar:
Vi står alla inför nuvarande problem när vi använder mer än två servor med en Arduino. Den enda lösningen på detta är att ansluta en extern strömförsörjning med lämplig mängd ström (i detta projekt använde jag 2A med 9v-matning). För extern strömförsörjning kan du använda adaptrar, RPS (reglerat strömförsörjningsinstrument) eller 9v-volts batterier av god kvalitet, evne kan du använda din bärbara USB-port för att driva liten servo. För att använda den externa försörjningen måste du bara kortsluta Arduino-marken till extern försörjningsmark.
Använd Arduino-koden nedan för att programmera din Arduino och anslut alla Servomotorer som visas i kopplingsschemat med rätt strömförsörjning till Motorer. Därför kommer alla servor att arbeta tillsammans utan avbrott.