Запчасти для автомобилей Шкода
» Фото автомобиля »
СтатьиКак подключить сервопривод к Ардуино. Пример использования сервопривода SG90Опубликовано: 22.08.2018 В этой короткой статье мы расскажем вам, как подключить сервопривод к Ардуино. Этот проект идеально подойдет для новичков, потому что он прост и обеспечивает основу для создания множества интересных конструкций, например роботов, в которых обычно используются сервоприводы. Сервоприводы (сервомоторы, серводвигатели) - это двигатели с высоким крутящим моментом и контролируемым углом вращения, которые обычно используются в робототехнике и в ряде других областях техники. В отличие от обычных двигателей постоянного тока, сервоприводы обычно помимо выводов питания (Vcc и GND) имеют еще один дополнительный вывод (сигнальный). Сигнальный вывод используется для подачи управляющего сигнала от микроконтроллера, поворачивая тем самым его вал на необходимый угол. Сервопривод – Подключение к Ардуино без написания кода! В данной статье мы будем использовать популярный сервопривод SG90, и нашей задачей будет – вращать вал мотора от одного крайнего положения до другого. Как подключить сервопривод к ардуино и где его купить. Вес сервопривода: 9 гр Габариты: 21,5мм х 11,8мм х 22,7мм Напряжение питания: от 4,8В до 6В Крутящий момент: 1,2 кг*см при напряжении питания 4,7В Время поворота на угол 60 гр: 0,12 сек. при напряжении питания 4,7В Рабочая температура: -30°C…+60°C Сервоприводы имеют высокие требования к току, поэтому при использовании более одного сервопривода с Ардуино важно подключать их силовые провода (Vcc и GND) к внешнему источнику питания, поскольку источник питания Ардуино не сможет обеспечить ток, необходимый для этих сервоприводов. Поскольку в этом учебном пособии мы будем использовать только один сервопривод, то он будет прекрасно работать от источника питания самого Ардуино. Необходимые компонентыДля создания этого проекта потребуются следующие компоненты: Схема подключения сервопривода SG90 к АрдуиноСхема подключения довольно проста, так как к Ардуино мы будем подключать только сервопривод. Как мы уже сказали ранее - сервомоторы обычно имеют три провода: VCC - плюс источника питания (красный провод). GND - минус источника питания (черный или коричневый). Signal - сигнальный провод (желтый или оранжевый).Сигнальный провод (обычно оранжевого цвета) - это тот, который используется для подачи управляющего сигнала с микроконтроллера, для того чтобы вращать вал на определенный угол. Подключите сервопривод к Ардуино, как показано на схеме ниже. Сигнальный провод подключен к цифровому выводу D8 (ШИМ) Ардуино, поскольку управляющие сигналы от микроконтроллера Ардуино к сервоприводу отправляются в качестве импульсов ШИМ. Скетч управления сервоприводом SG90Скетч для этого проекта довольно прост благодаря функциональной и компактной библиотеке servo.h, разработанной командой Ардуино для облегчения использования серводвигателей в проектах Ардуино. Библиотека упрощает поворот вала сервопривода под разными углами с помощью всего одной команды. Библиотека поставляется с предустановленной Arduino IDE , и поэтому нет необходимости в ее скачивании и установки. Начинаем код проекта с подключения библиотек, которые мы будем использовать, в нашем случае это библиотека servo.h. #include <Servo.h>Затем мы создаем объект библиотеки, который будет использоваться в качестве ссылки для управления нашим сервомотором по всему коду. Servo servo;После этого переходим к функции void setup (). Мы запускаем функцию, прикрепляя объект сервопривода к выводу D8 микроконтроллера, после чего мы центрируем сервопривод, поворачивая его на ноль градусов. void setup() { servo.attach(8); servo.write(angle); }Выполнив это, мы можем поворачивать вал сервопривода в любом направлении и делать это мы будем внутри функции void loop(). Благодаря библиотеке servo.h, все что нам нужно сделать, чтобы повернуть сервопривод на нужный угол - это передать желаемый угол в качестве аргумента в функцию servo.write (). Чтобы продемонстрировать это, используем цикл с несколькими углами поворота в одном направлении, и другой цикл в обратном направлении (для возврата) void loop() { // поворот от 0 до 180 градусов for(angle = 10; angle < 180; angle++) { servo.write(angle); delay(15); } // возврат от 180 to 0 градусов for(angle = 180; angle > 10; angle--) { servo.write(angle); delay(15); } }Полный скетч проекта будет выглядеть следующим образом: #include <Servo.h> Servo servo; int angle = 10; void setup() { servo.attach(8); servo.write(angle); } void loop() { // поворот от 0 до 180 градусов for(angle = 10; angle < 180; angle++) { servo.write(angle); delay(15); } // возврат от 180 to 0 градусов for(angle = 180; angle > 10; angle--) { servo.write(angle); delay(15); } }Скопируйте приведенный выше код и загрузите его в Ардуино и через несколько секунд вы увидите вращение сервомотора то в одну, то в другую сторону. Новости |