Kako spojiti servo na "Arduin"

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.

    Primjer projekta

    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:


    & lt; script type = "text /javascript" & gt;
    može blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async: 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings3.statId = 70350;
    Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings3)}), 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 ");
    # uključiti "DHT.h"
    # uključiti

    #define DHTPIN 2 //broj pjene na koji je senzor
    spojen, servo myservo; //Servo

    //Pokrenite senzor

    DHT dht (DHTPIN, DHT11);

    void setup () {

    Serijski broj (9600);
    myservo.attach
    ;

    dht. Početak ();

    }

    void loop () {

    //Kašnjenje 2 sekunde između mjerenja

    kašnjenje (2000);

    //Čitanje temperature

    float t = dht.readTemperature ();
    ako (t> 30) {

    myservo.write
    ;

    }

    }


    Za početak, knjižnice su povezane radi rada s DHT-11 senzorom i servo pogonom. Slijedi su označeni varijablama i na koje kontakte su povezani. Nakon toga, svake dvije sekunde senzor sazna temperaturu, a ako je iznad trideset stupnjeva, servo se aktivira, otvarajući tako prozor. Ovo je primjer njegova rada s "Ardouinima" i senzorom DHT-11.

    Za i protiv SG92R

    SG92R je vrlo dobar servo pogon i odlično radi sa svojim zadacima. Koje su prednosti i nedostaci? Među prednostima su sljedeće:
  • Dostupnost. Ovaj servo se prodaje po vrlo niskoj cijeni, što svakome omogućuje da ga kupi i koristi za svoje projekte.
  • Dimenzije. Zbog svoje male veličine, može se koristiti za izgradnju nekih malih projekata. Među nedostacima, najznačajniji su:
  • Slaba. Dosta je čak i malih opterećenja, i to će se slomiti. Naravno, to je zbog njegove niske cijene, ali ipak vrijedi preplaćivati ​​samo dva puta više i već možete kupiti snažniji servo koji je izrađen od metala i sposoban za rad s velikim opterećenjima.
  • Bučan. Jedino ga vrijedi uključiti, počinje zvučati. Nije da su jake, ali vječno "zujanje" je vrlo uznemirujuće. Broj plusa i minusa je isti. Što god da je, SG92R je izvrstan servo, barem za proučavanje i shvaćanje njihovog rada.
  • Povezane publikacije