Kako povezati servo z "Arduin"

Servo pogoni so osnova za vojaške inženirje, ki delajo z Arduinom. Uporabljajo se povsod: avtomatsko odpiranje vrat, gibanje robota, dvigalo in še veliko več. Ta članek opisuje, kakšen servo pogon za Ardouinove izbrati, kako ga povezati in kako ga upravljati.

O servo pogonih

To je nekakšen motor, vendar se razlikuje glede na to, da mu je mogoče s pomočjo programske kode določiti določen kot vrtenja gredi. So različni: poceni in šibki, dragi in natančni. Ni nujno, da lovimo najdražji in najboljši servo, saj je verjetno, da je za vaš projekt in poceni. Na trgu lahko srečate precej velik izbor.

Servo pogon SG92R

Najbolj znan poceni pogon je model Tower Pro SG92R. Ta servo za "Arduino" je mogoče najti v skoraj vseh začetnih nizih radioamaterjev. To je posledica dejstva, da je njegova cena le nekaj sto rubljev, in na debelo nakupov (na primer, od deset kosov) - in potem postane cenejši. SG92R tehta le 9 gramov, lahko sprejme 1,6 kg gredi. Tako je napisano samo v značilnostih spletnih trgovin.


Pravzaprav so ti servo pogoni šibki in jih uporabljajo, na primer, za odpiranje velikih vrat ni izvedljivo, saj so popolnoma plastični in se pogosto zlomijo. Bolje je porabiti več denarja, kupiti močnejše, na primer MG995. Za preučevanje majhnih projektov pa je servo SG92R v redu.

Povezava

Priključitev servomotora na "Arduino" ne traja veliko časa. V ta namen se uporabljajo samo trije stiki: zemlja, hrana, logika. Servo pogon "Arduinov" deluje s pomočjo digitalnih stikov. To je digitalni trak na krovu. Žal samo servo ne navaja, katere žice so zanj odgovorne.
  • Rdeča je odgovorna za hranjenje. Mimogrede, servo pogon lahko deluje od 5 in 6V. Seveda od 6V deluje bolj gladko.
  • Črna (včasih celo rjava) žica je zemlja. Povežite ga z GND na Arduino plošči.
  • Rumena (v nekaterih primerih bela) je odgovorna za logiko. Priključite ga na kateri koli PWM (Pulse Width Modulation) stik. Na primer, deveti stik Arduino plošče.
  • To je vse. Na ta enostaven način lahko servo povežete z "Arduino". Mimogrede, vsi se povezujejo in delajo z "Arduinom" enako. Samo ugotoviti, kako jih upravljati.


    Krmiljenje

    Servo knjižnica se uporablja za krmiljenje servo pogona Arduina. Prihaja že z Arduino IDE in ga ni treba več prenašati. Z knjižnico je enostavno delati. Spodaj je primer kode za vrtenje servo gredi.

    # vključi
    Servo myservo;

    void setup () {
    //nastavite pin kot izhod servo krmiljenja
    myservo.attach
    ;
    }

    void loop () {
    //nastavite kot 0 °
    myservo.write

    ;
    zamuda (2000);
    //nastavite kot 90 °
    myservo.write
    ;
    zamuda (2000);
    //nastavite kot 180 °
    myservo.write (180);
    zamuda (2000);
    }

    Razlaga kode je naslednja. Prva stvarpriključena je servo knjižnica. Po tem se ustvari tip spremenljivke Servo. Imena so lahko podana povsem drugače - vse je omejeno le z vašo domišljijo. Nato morate določiti, s katerim kontaktom je vaš servo priključen na "Arduino". Nato morate kot rotacije nastaviti na nič stopinj, nato pa nastavite čakanje na dve sekundi. To je potrebno, da bi servo pogon zavrtel gred in deloval bolj stabilno.


    & lt; script type = "text /javascript" & gt;
    lahko blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async:! 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 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)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

    Po tem morate postaviti kot devetdeset sto osemdeset stopinj. Ker je Loop funkcija zanka, po kompilaciji dobite, da bo vaš servo stalno vrtil vašo gred. To je vse, ko priključite en servo na Arduino. Dejstvo je, da je majhen, toda ko se aktivira vrtenje gredi, porabi 0,4 mA, kar je precej veliko. Pri povezovanju več servojev pa bo prišlo do skoka elektrike, kar lahko privede do nestabilnega delovanja senzorjev, priključenih na Arduino.

    Ta težava je rešena na naslednji način: vzeti morate še nekaj drugega napajalnika 5V, ki se popolnoma ujema s polnilom za polnjenje telefona. Izkazalo se je, da servo pogone napaja ločen vir energije, "Arduinoff" pa je samo zasignale. Nekateri verjamejo, da niti en servo ne bi smel biti neposredno povezan z Arduinom.

    Primer projekta

    Spodaj je projekt s servomotorjem na "Ardouinov". Predstavljajte si situacijo, ki jo potrebujete za avtomatsko odpiranje rastlinjakov v rastlinjaku, ko dosežete določeno temperaturo. Za to se uporabljata senzor DHT-11 in servo SG92R. Koda je naslednja:


    & lt; script type = "text /javascript" & gt;
    lahko 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)} (ta, ta.dokument," yandexContextAsyncCallbacks ");
    # vključi "DHT.h"
    # vključi

    #define DHTPIN 2 //številka pene, na katero je priključen senzor
    , servo myservo; //Servo

    //Sprožite senzor

    DHT dht (DHTPIN, DHT11);

    void setup () {

    Serijska vrednost (9600);
    myservo.attach
    ;

    dht. Začetek ();

    }

    void loop () {

    //zamik 2 sekunde med meritvami

    zamuda (2000);

    //Beri temperaturo

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

    myservo.write
    ;

    }

    }


    Knjižnice so za začetek povezane z senzorjem DHT-11 in servo pogonom. Sledi so označeni s spremenljivkami in s katerimi kontakti so povezani. Po tem, da vsaki dve sekundi senzor ugotovi temperaturo, in če je nad trideset stopinj, se servo aktivira in s tem odpre okno. To je primer njegovega dela z "Ardouini" in senzorjem DHT-11.

    Za in proti SG92R

    SG92R je zelo dober servo pogon in odlično deluje s svojimi nalogami. Katere prednosti in slabosti ima? Prednosti so naslednje:
  • Razpoložljivost. Ta servo se prodaja po zelo nizki ceni, kar omogoča vsakomur, da jo kupi in uporabi za svoje projekte.
  • Mere. Zaradi majhnosti se lahko uporabi za izdelavo manjših projektov.
  • Med pomanjkljivostmi so najpomembnejše:
  • Slabo. Dovolj je tudi majhnih bremen, ki se bodo zlomili. Seveda je to zaradi nizke cene, vendar je še vedno vredno preplačati le dvakrat več in že lahko kupite močnejši servo, ki je izdelan iz kovine in je sposoben delati s težkimi bremeni.
  • Hrupno. To je smiselno vključiti, začenja se slišati zvok. Ne da so močne, ampak večno "buzz" je zelo moteče.
  • Število plusev in minusov je enako. Karkoli že je, je SG92R odličen servo, vsaj za preučevanje in razumevanje njihovega delovanja.

    Sorodne publikacije