4.02.5. Лабораторная работа №4.2.5.md
Сервопривод
Тема работы
В прошлой работе мы научились управлять скоростью непрерывного вращения вентилятора. Но что, если нам нужно не просто вращать объект, а поворачивать его на точный угол и удерживать в этом положении с усилием? Для таких задач существует специальное устройство — сервопривод. В этой лабораторной работе мы научимся управлять мощным сервоприводом MG995
, заставляя его поворачиваться точно по нашей команде.
Цель
- Понять принцип работы и устройство сервопривода.
- Научиться управлять углом поворота с помощью ШИМ и стандартной библиотеки
Servo.h
. - Понять важность использования мощного внешнего источника питания для компонентов с высоким потреблением тока.
Оборудование и материалы
- Отладочная плата
Рудирон
. - Макетная плата и модуль питания.
- Аккумуляторная батарея 9В.
- 1 сервопривод MG995.
- Соединительные провода.
- USB-кабель для подключения
Рудирона
. - Компьютер с
Arduino IDE
.
Ход работы
-
Что внутри сервопривода?
Сервопривод — это не просто мотор. Это целая система, состоящая из:
- Двигателя постоянного тока, который создаёт вращение.
- Редуктора — набора шестерёнок. У
MG995
они металлические, что обеспечивает высокое усилие и долговечность. - Потенциометра — датчика, который постоянно отслеживает текущий угол поворота вала.
- Платы управления — «мозга» сервопривода, который сравнивает желаемый угол (полученный от нас) с текущим (от потенциометра) и даёт команду мотору вращаться, пока они не совпадут.
Управляется сервопривод специальным ШИМ-сигналом с частотой 50 Гц (период 20 мс). Длительность импульса определяет угол поворота:
- Импульс ~1 мс соответствует углу 0°.
- Импульс ~2 мс соответствует углу 180°.
Характеристика MG995 Значение Рабочее напряжение 4.8 - 7.2 В Усилие (крутящий момент) ~10 кг/см при 5В Скорость поворота ~0.17 с / 60° Пусковой ток до 1.5 - 2 А Обратите внимание на пусковой ток! Это ток, который сервопривод потребляет в момент старта или под большой нагрузкой. Он очень велик.
-
Питание и подключение
Критически важно!
MG995
— мощный потребитель. Его категорически запрещено питать отUSB
-порта или пина5V
платыРудирон
. Это гарантированно приведёт к перезагрузке микроконтроллера или даже выходу из строя порта. Всегда используйте мощный внешний источник питания.- Установите модуль питания на макетную плату, подключите к нему батарею 9В и установите перемычки на 5В.
- Соедините земли! Обязательно соедините пин
GND
Рудирона
с шинойGND
на макетной плате. - Подключите сервопривод:
- Коричневый провод (GND) — к шине GND на макетной плате.
- Красный провод (VCC) — к шине 5V на макетной плате.
- Оранжевый (Signal) — к пину 9
Рудирона
.
Особенность ядра
Рудирон
. В текущей реализации библиотекаServo
может управлять сервоприводом только через пины, поддерживающие аппаратный ШИМ. Мы выбрали пин 9, так как он является одним из таких пинов. -
Написание и загрузка кода
- Убедитесь, что перемычка
PRG | RUN
стоит в положенииPRG
. -
В
Arduino IDE
введите следующий код:// Подключаем стандартную библиотеку для работы с сервоприводами #include <Servo.h> // Создаём объект servo, который будет представлять наш сервопривод Servo myServo; void setup() { // «Привязываем» наш объект к пину 9. // Библиотека сама настроит пин и ШИМ-сигнал. myServo.attach(9); } void loop() { // Поворачиваем на 0 градусов myServo.write(0); delay(1000); // Ждём секунду // Поворачиваем на 90 градусов myServo.write(90); delay(1000); // Поворачиваем на 180 градусов myServo.write(180); delay(1000); }
- Нажмите кнопку «Upload», чтобы загрузить код на плату.
- Убедитесь, что перемычка
-
Проверка работы
Сразу после загрузки вал сервопривода начнёт двигаться - сначала повернётся в положение 0°, через секунду — в 90°, ещё через секунду — в 180°, а затем цикл начнётся заново.
Результаты
Вы успешно подключили мощный сервопривод MG995
и научились управлять его углом поворота с помощью простых команд. Вы на практике убедились, как библиотека Servo.h
упрощает работу, скрывая от нас всю сложность генерации ШИМ-сигнала нужной длительности.
Анализ результатов
#include <Servo.h>
. Эта директива подключает к нашему проекту готовый код библиотеки.Servo myServo;
. Мы создаём «экземпляр» или «объект» типаServo
, который будет ассоциирован с нашим физическим сервоприводом.myServo.attach(9);
. Эта команда инициализирует сервопривод на пине 9.myServo.write(angle);
. Самая главная команда. Мы просто указываем угол в градусах (от 0 до 180), а библиотека сама вычисляет, какой длительности ШИМ-импульс нужно сгенерировать, и отправляет его на пин.
Выводы
В этой лабораторной работе вы научились управлять сервоприводами — одним из самых важных компонентов в робототехнике, моделизме и автоматизации. Вы поняли, что для управления сложными устройствами часто существуют готовые библиотеки, которые делают процесс программирования значительно проще и быстрее.
Вопросы для самопроверки
- Чем сервопривод
MG995
отличается от обычного мотора постоянного тока? - Из каких основных частей состоит сервопривод?
- Каким параметром ШИМ-сигнала кодируется угол поворота сервопривода?
- Почему сервопривод
MG995
требует мощного внешнего источника питания? - Какая команда из библиотеки
Servo.h
задаёт угол поворота? - Как изменить код, чтобы сервопривод плавно двигался от 0 до 180 градусов и обратно (подсказка: используйте цикл
for
и небольшую задержкуdelay
)?
Поздравляем! Вы освоили управление сервоприводами и теперь умеете применять ШИМ для решения самых разных задач: от плавной регулировки яркости и скорости мотора до точного позиционирования механизмов. Теперь вы готовы перейти к изучению того, как микроконтроллер «слышит» аналоговый мир. Переходите к следующему параграфу, чтобы познакомиться с аналого-цифровым преобразователем (АЦП).
- Страницы
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home
-
imgs
- 1. Введение
- 1.01. Лабораторная работа №1.1
- 1.02. Лабораторная работа №1.2
- 1.03. Лабораторная работа №1.3
- 1.04. Лабораторная работа №1.4
- 1.05. Лабораторная работа №1.5
- 2. Основы электроники
- 2.01. Электрический ток и параметры цепи
- 2.01.1. Лабораторная работа №2.1.1
- 2.01.2. Лабораторная работа №2.1.2
- 2.02. Сопротивление в цепи
- 2.02.1. Лабораторная работа №2.2.1
- 2.02.2. Лабораторная работа №2.2.2
- 2.03. Полупроводники
- 2.03.1. Лабораторная работа №2.3.1
- 2.03.2. Лабораторная работа №2.3.2
- 3. Основы программирование на C++
- 3.01. Типы данных и переменные
- 3.01.1. Практикум
- 3.02. Операторы в C++
- 3.02.1. Практикум
- 3.03. Структуры ветвления
- 3.03.1. Практикум
- 3.04. Структуры повторения
- 3.04.1. Практикум
- 3.05. Массивы
- 3.05.1. Практикум
- 3.06. Функции
- 3.06.1. Практикум
- 3.07. Решения задач
- 4. Программирование микроконтроллеров
- 4.01. Цифровые сигналы и GPIO
- 4.01.1. Лабораторная работа №4.1.1
- 4.01.2. Лабораторная работа №4.1.2
- 4.01.3. Лабораторная работа №4.1.3
- 4.01.4. Лабораторная работа №4.1.4
- 4.01.5. Лабораторная работа №4.1.5
- 4.01.6. Лабораторная работа №4.1.6
- 4.01.7. Лабораторная работа №4.1.7
- 4.01.8. Лабораторная работа №4.1.8
- 4.02. Аналоговые сигналы и ШИМ
- 4.02.1. Лабораторная работа №4.2.1
- 4.02.2. Лабораторная работа №4.2.2
- 4.02.3. Лабораторная работа №4.2.3
- 4.02.4. Лабораторная работа №4.2.4
- 4.02.5. Лабораторная работа №4.2.5
- 4.03. Аналоговый сигнал и АЦП
- 4.03.1. Лабораторная работа №4.3.1
- 4.03.2. Лабораторная работа №4.3.2
- 4.03.3. Лабораторная работа №4.3.3
- 4.03.4. Лабораторная работа №4.3.4
- 4.03.5. Лабораторная работа №4.3.5
- 4.04. Аналоговый сигнал и ЦАП
- 4.04.1. Лабораторная работа №4.4.1
- 4.04.2. Лабораторная работа №4.4.2
- 4.05. Генерация и измерение импульсов
- 4.05.1. Лабораторная работа №4.5.1
- 4.05.2. Лабораторная работа №4.5.2
- 4.06. Аппаратные прерывания
- 4.06.1. Лабораторная работа №4.6.1
- 4.06.2. Лабораторная работа №4.6.2
- 4.07. Псевдопараллелизм
- 4.07.1. Лабораторная работа №4.7.1
- 4.07.2. Лабораторная работа №4.7.2
- 4.08. Интерфейсы связи - UART
- 4.08.1. Лабораторная работа №4.8.1
- 4.09. Интерфейсы связи - I2C
- 4.09.1. Лабораторная работа №4.9.1
- 4.10. Интерфейсы связи - SPI
- 4.10.1. Лабораторная работа №4.10.1
- home