Servo pogoni su osnova za vojne inženjere koji rade s Arduinom. Koriste se svugdje: automatsko otvaranje vrata, pokret robota, dizalica i još mnogo toga. Ovaj članak opisuje kakav servo pogon Ardouinov izabrati, kako ga spojiti i kako ga upravljati.
O servo pogonima
To je vrsta motora, ali se razlikuje po tome što mu je moguće postaviti određeni kut rotacije osovine uz pomoć programskog koda. Različiti su: jeftini i slabi, skupi i točni. Nije potrebno loviti najskuplji i najbolji servo, jer je vjerojatno da je za vaš projekt i jeftino. Na tržištu možete susresti prilično veliki izbor.
Servo pogon SG92R
Najpoznatiji jeftini aktuator je Tower Pro SG92R model. Ovaj servo za "Arduino" može se naći u gotovo svim početnim setovima radio amatera. To je zbog činjenice da je njegova cijena je samo nekih sto rubalja, a na veliko kupi (na primjer, od deset komada) - i onda postaje jeftinije. SG92R teži samo 9 grama, može prihvatiti vratilo od 1,6 kg. Tako je napisan samo u karakteristikama internetskih trgovina.
U stvari, ovi servo pogoni su slabi i koriste ih, na primjer, za otvaranje velikih vrata nije izvedivo, jer su potpuno plastični i često se lome. Bolje je potrošiti više novca, kupiti snažnije, na primjer, MG995. No, za ispitivanje malih projekata, SG92R servo je u redu.
Povezivanje
Povezivanje servo uređaja s "Arduino" ne traje puno vremena. U tu svrhu koriste se samo tri kontakta: zemlja, hrana, logika. Servo pogon "Arduinova" radi uz pomoć digitalnih kontakata. Ovo je digitalni bend na ploči. Nažalost, sam servo ne ukazuje na to koje su žice za to odgovorne.
Crveni je odgovoran za hranjenje. Usput, servo pogon može raditi od 5 i 6V. Naravno, od 6V radi glatko. Crna (ponekad i smeđa) žica je zemlja. Spojite ga na GND na Arduino ploči. Žuta (u nekim slučajevima bijela) odgovorna je za logiku. Spojite ga na bilo koji PWM (Pulse Width Modulation) kontakt. Na primjer, deveti kontakt Arduino ploče.To je sve. Na ovaj jednostavan način možete spojiti servo na "Arduino". Usput, svi se jednako povezuju i rade s "Arduinom". To je samo kako bi shvatili kako se njima upravljati.
Kontrola
Servo knjižnica se koristi za upravljanje servo pogonom iz Arduina. Već dolazi s Arduino IDE-om i ne treba ga više skidati. Lako je raditi s knjižnicom. U nastavku je primjer koda za rotaciju servo vratila.
# uključiti
Servo myservo;
void setup () {
//postavi pin kao izlaz servo kontrole
myservo.attach
;
}
void loop () {
//postavite kut 0 °
myservo.write
;
kašnjenje (2000);
//namještanje kuta 90 °
myservo.write
;
kašnjenje (2000);
//postavite kut od 180 °
myservo.write (180);
kašnjenje (2000);
}
Objašnjenje koda je kako slijedi. Prva stvarpovezana je servo knjižnica. Nakon toga se kreira tip varijable Servo. Imena se mogu dati sasvim drugačije - sve je ograničeno samo vašom maštom. Zatim morate navesti na koji kontakt je vaš servo povezan s "Arduino". Zatim morate postaviti kut rotacije na nulu, a zatim podesiti čekanje dvije sekunde. To je potrebno kako bi servo pogon okretao vratilo i radio stabilnije.
& lt; script type = "text /javascript" & gt;
može blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async: 0};
if (document.cookie.indexOf ("abmatch ="))> = 0) blockSettings2.statId = 70350;
Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script")
, d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ovaj, ovaj.dokument," yandexContextAsyncCallbacks ");
Nakon toga trebate postaviti kut od devedeset stotinu i osamdeset stupnjeva. Budući da je Loop funkcija petlja, nakon kompilacije dobivate da vaš servo stalno rotira vaše vratilo. To je sve kada povezujete jedan servo na Arduino. Činjenica je da je mali, ali kada se aktivira rotacija osovine on troši 0,4 mA, što je dosta. A kod povezivanja nekoliko servo uređaja dolazi do skoka struje, što može dovesti do nestabilnog rada senzora koji su spojeni na Arduino.
Ovaj problem je riješen na sljedeći način: trebate uzeti još jedno napajanje 5V - savršeno se slaže s punjačem za punjenje telefona. Ispada da se servo pogoni napajaju zasebnim izvorom napajanja, a "Arduinoff" je isključensignali. Neki vjeruju da ni jedan servo ne bi trebao biti povezan izravno s Arduinom.
U nastavku slijedi projekt sa servo pogonom na "Ardouinov". Zamislite situaciju koju trebate stvoriti automatsko otvaranje staklenika u stakleniku kada dođete do određene temperature. Za to se koriste DHT-11 senzor i servo SG92R. Kôd je sljedeći: