- Potreben material
- Shema vezja
- Kaj je servo motor?
- Pojasnilo kode Arduino
- Nadzor več servo-serv z Arduino-Delo:
Uporaba enega ali dveh Servo-jev z Arduinom je enostavna, a kaj, če želimo uporabiti več Servo-motorjev?
Tu vam bomo pokazali, kako z Arduino upravljati več servo motorjev. Zdi se, da je povezava več servo motorjev z Arduinom enostavna, a če vse servo motorje priključimo na napajalne zatiče Arduino, potem ne bodo delovali pravilno zaradi pomanjkanja toka za pogon vseh motorjev. Zato morate za motorje uporabiti ločeno napajanje, bodisi iz nekaterih adapterjev (5v 2A) bodisi iz kakovostnih 9v baterij.
Potreben material
- Arduino UNO
- Servo motor
- Napajanje
- Breadboard
- Povezovanje žic
Shema vezja
Kaj je servo motor?
Preden se spustimo v podrobnosti, moramo najprej vedeti o Servo Motors.
Servo motorji so na voljo v različnih oblikah in velikostih. Servo motor bo imel večinoma žice, ena je za pozitivno napetost, druga za ozemljitev in zadnja za nastavitev položaja. RDEČA žica je priključena na napajanje, črna žica je priključena na maso, RUMENA žica pa na signal.
Servo motor je kombinacija enosmernega motorja, sistema za nadzor položaja, zobnikov. Položaj gredi enosmernega motorja prilagodi krmilna elektronika v servo, na podlagi razmerja obratovanja PWM signala zatiča SIGNAL.
Preprosto rečeno krmilna elektronika prilagodi položaj gredi z upravljanjem enosmernega motorja. Ti podatki o položaju gredi se pošljejo skozi zatič SIGNAL. Podatke o položaju krmilniku je treba poslati v obliki PWM signala skozi signalni zatič servo motorja.
Frekvenca PWM (Pulse Width Modulated) signala se lahko razlikuje glede na vrsto servo motorja. Tu je najpomembnejše razmerje dolžnosti signala PWM. Na podlagi tega DOLŽNEGA ODNOSA krmilna elektronika prilagodi gred.
Kot je prikazano na spodnji sliki, mora biti gred, ki jo je treba premakniti na uro 9 °, VSEBINA VKLOPA 1 / 18.ie. 1 ms časa vklopa in 17 ms časa izklopa v signalu 18 ms.
Da se gred premakne na uro 12 °, mora biti čas vklopa signala 1,5 ms, čas izklopa pa 16,5 ms. To razmerje dekodira krmilni sistem v servo in na podlagi tega prilagodi položaj. Ta PWM tukaj je ustvarjen z uporabo ARDUINO UNO.
Preden servo- priključke povežete z Arduino, lahko svoj servo-sistem preizkusite s pomočjo tega vezja servo motorja. Preverite tudi spodnje Servo projekte:
- Krmiljenje servo motorja s pomočjo Flex senzorja
Pojasnilo kode Arduino
Na koncu je podana celotna koda Arduino za Multiple Servo Control.
Arduino ima knjižnico za servo motorje in za vrtenje servo upravlja vse stvari, povezane s PWM, vnesti morate le kot, pod katerega se želite vrteti, in obstaja funkcija servo1.write (angle); ki bo servo zasukal pod želeni kot.
Torej, tu začnemo z opredelitvijo knjižnice za servo motor.
#include
V spodnji kodi inicializiramo vse štiri servo servo1 kot Servo1, Servo2, Servo3 in Servo4.
Servo servo1; Servo servo2; Servo servo3; Servo servo4;
Nato z Arduinom nastavimo ves vhodni zatič servo. Kot je prikazano v spodnji kodi, je Servo1 povezan s 3. zatičem Arduina. Zatiči lahko spreminjate po svojih željah, vendar ne pozabite, da bi to moral biti PWM zatič. Uporaba servo servo z digitalnimi zatiči Arduino ni zanesljiva.
void setup () { servo1.attach (3); servo2.attach (5); servo3.attach (6); servo4.attach (9); }
Zdaj v funkciji void loop () samo vrtimo ves servo od 0 do 180 stopinj in nato za 180 do 0 stopinj. Zakasnitev, uporabljena v spodnji kodi, se uporablja za povečanje ali zmanjšanje hitrosti servo servo, saj vpliva na naraščajočo ali padajočo hitrost spremenljivke 'i'.
void loop () { for (int i = 0; i <180; i ++) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); zamuda (10); } for (i = 180; i> 0; i-- ) { servo1.write (i); servo2.write (i); servo3.write (i); servo4.write (i); zamuda (10); } }
Nadzor več servo-serv z Arduino-Delo:
Vsi se soočamo s trenutnimi težavami, medtem ko uporabljamo več kot dva servomotorja z enim Arduinom. Edina rešitev za to je povezava zunanjega napajalnika z ustrezno količino toka (v tem projektu sem uporabil 2A z napajalnikom 9v). Za zunanje napajanje lahko uporabite adapterje, RPS (Regulated Power Supply Instrument) ali kakovostne 9-voltne baterije, lahko pa uporabite tudi vrata USB za prenosni računalnik za napajanje majhnega servo. Če želite uporabiti zunanjo napajalno enoto, morate le Arduino ozemljiti na zunanjo napajalno maso.
Uporabite spodnjo kodo Arduino za programiranje vašega Arduina in povežite vse servo motorje, kot je prikazano na vezju, z ustreznim napajanjem motorjev. Zato bodo vsi servomotorji delali brez prekinitev.