Как да свържете серво към "Arduin"

Серво задвижванията са основа за армейските инженери, работещи с Arduino. Използват се навсякъде: автоматичното отваряне на вратите, движението на робота, подемния кран и много други. Тази статия описва какъв вид серво задвижване на Ардуинов да избере, как да го свърже и как да го управлява.

За серво задвижванията

Това е един вид мотор, но той се различава от факта, че е възможно той да зададе определен ъгъл на въртене на вала с помощта на програмен код. Те са различни: евтини и слаби, скъпи и точни. Не е необходимо да преследвате най-скъпите и най-добрите серво, тъй като е вероятно, че за вашия проект и евтино. На пазара можете да срещнете доста голям избор.

Серво задвижване SG92R

Най-известният евтин задвижващ механизъм е моделът Tower Pro SG92R. Този серво за "Arduino" може да се намери в почти всички първоначални комплекти от радиолюбители. Това се дължи на факта, че цената му е само около сто рубли, и на едро покупки (например, от десет парчета) - и след това става по-евтино. SG92R тежи само 9 грама, може да приеме вал от 1,6 кг. Така че е написано само в характеристиките на онлайн магазините.


В действителност, тези серво задвижвания са слаби и ги използват, например, за отваряне на голяма врата не е възможно, тъй като те са напълно пластмасови и често се счупват. По-добре е да се харчат повече пари, да се купуват по-мощни, например MG995. Но за разглеждане на малки проекти, SG92R серво е добре.

Връзка

Свързването на серво към "Arduino" не отнема много време. За целта се използват само три контакта: земя, храна, логика. Серво задвижването на "Ардуинов" работи с помощта на цифрови контакти. Това е цифровата лента на борда. За съжаление, самото серво не посочва кои проводници са отговорни за него.
  • Червеното е отговорно за храненето. Между другото, серво задвижването може да работи от 5 и 6V. Разбира се, от 6V работи по-гладко.
  • Черният (понякога дори кафяв) проводник е земя. Свържете го към GND на дъската Arduino.
  • Жълтата (в някои случаи е бяла) е отговорна за логиката. Свържете го към всеки контакт с PWM (Pulse Width Modulation). Например, деветият контакт на дъската Arduino.
  • Това е всичко. По този прост начин можете да свържете серво към "Arduino". Между другото, всички те се свързват и работят с "Ардуин" еднакво. Това е просто за да разберете как да ги управлявате.


    Контрол

    Серво библиотеката се използва за управление на серво задвижването от Arduin. Той вече идва с Arduino IDE и не трябва да се изтегля повече. Лесно е да работите с библиотеката. По-долу е даден примерен код за въртене на серво вала.

    # включват
    Серво myservo;

    void setup () {
    //зададе пин като изход на сервоуправление
    myservo.attach
    ;
    }

    void loop () {
    //зададен ъгъл 0 °
    myservo.write

    ;
    закъснение (2000 г.);
    //задаване на ъгъл 90 °
    myservo.write
    ;
    закъснение (2000 г.);
    //зададе ъгъл от 180 °
    myservo.write (180);
    закъснение (2000);
    }

    Обяснението на кода е следното. Първосвързана е библиотека със серво. След това се създава тип променлива Servo. Имена могат да се дават съвсем различни - всичко е ограничено само от вашето въображение. След това трябва да укажете на кой контакт е свързан вашият серво към "Arduino". След това трябва да настроите ъгъла на въртене на нула градуса, след което задайте изчакването за две секунди. Това е необходимо, за да може серво задвижването да върти вала и да работи по-стабилно.


    & lt; script type = "text /javascript" & gt;
    може да blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async:! 0};
    if (document.cookie.indexOf ("abmatch =")> = 0) blockSettings2.statId = 70350;
    Функция (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (функция () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("скрипт")

    , d = b.createElement ("скрипт"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (това, този.документ," yandexContextAsyncCallbacks ");

    След това трябва да поставите ъгъл от деветдесет сто и осемдесет градуса. Тъй като Loop функцията е цикъл, след компилация получавате, че вашият серво ще се върти постоянно. Това е всичко, когато свързвате един серво към Arduino. Факт е, че той е малък, но при активирано въртене на шахтата той изразходва 0,4 mA, което е доста голямо. А при свързването на няколко серво ще има някакъв скок на електричество, което може да доведе до нестабилна работа на сензорите, свързани с Arduino.

    Този проблем е решен по следния начин: трябва да вземете друго захранване 5V - перфектно съвпадение с зарежданото зарядно устройство за телефон. Оказва се, че серво задвижванията се захранват от отделен източник на енергия, а "Arduinoff" е включен само засигнали. Някои смятат, че дори един серво не трябва да бъде свързан директно с Arduino.

    Пример за проекта

    По-долу е представен проект със серво задвижване към „Ардуинов“. Представете си ситуацията, която трябва да създадете автоматично отваряне на оранжериите в оранжерия, когато достигнете определена температура. За целта се използват сензорите DHT-11 и сервоусилвателя SG92R. Кодът е както следва:


    & lt; script type = "text /javascript" & gt;
    може да blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async: 0};
    if (document.cookie.indexOf ("abmatch =")> = 0) blockSettings3.statId = 70350;
    Функция (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (функция () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("script") , d = b.createElement ("скрипт"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (това, този.документ," yandexContextAsyncCallbacks ");
    # включва "DHT.h"
    # включи

    # дефинира DHTPIN 2 //номер на пяна, към който е свързан сензорът
    ; //Серво

    //Иницииране на сензора

    DHT dht (DHTPIN, DHT11);

    void setup () {

    Serial.begin (9600);
    myservo.attach
    ;

    dht. Начало ();

    }

    void loop () {

    //Забавяне 2 секунди между измерванията

    закъснение (2000);

    //Прочетете температурата

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

    myservo.write
    ;

    }

    }


    За начало, библиотеките са свързани, за да работят със сензора DHT-11 и серво задвижването. Следващите са посочени от променливите и към кои контакти са свързани. След това на всеки две секунди сензорът установява температурата, а ако е над тридесет градуса, тогава серво задейства, като по този начин отваря прозореца. Това е пример за работата му с "Ardouins" и сензора DHT-11.

    За и против SG92R

    SG92R е много добър серво задвижване и работи отлично със задачите си. Какви са предимствата и недостатъците? Сред предимствата са следните:
  • Наличност. Този сервомотор се продава на много ниска цена, което позволява на всеки да го купи и да го използва за своите проекти.
  • Размери. Поради малкия си размер, той може да се използва за изграждане на някои малки проекти.
  • Сред недостатъците най-значими са:
  • Слаби. Достатъчно дори и малки товари, и то ще се счупи. Разбира се, това се дължи на ниската му цена, но все пак си струва да се плаща над два пъти повече и вече можете да си купите по-мощен серво, който е изработен от метал и може да работи с тежки товари.
  • Шумно. Само си заслужава да го включите, започва да звучи звук. Не че те са силни, но вечното „бръмчене“ е много тревожно.
  • Броят на плюсовете и минусите е един и същ. Каквото и да е, SG92R е отличен серво, поне за изучаване и представяне на тяхната работа.

    Свързани публикации