Серво задвижванията са основа за армейските инженери, работещи с 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 ; }
Обяснението на кода е следното. Първосвързана е библиотека със серво. След това се създава тип променлива 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 ("скрипт")
След това трябва да поставите ъгъл от деветдесет сто и осемдесет градуса. Тъй като 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 е отличен серво, поне за изучаване и представяне на тяхната работа.