Найти в Дзене
arduino-kidru

Как запрограммировать сервомотор на Arduino. SG 90 сервопривод.

Научим сервомотор работать по программе.
Подключим к Ардуино 2 сервопривода.
Запишем углы поворота на SD карту, по горизонтали и вертикали.
Пример можно использовать для перемещения видеокамеры, на заранее определённые точки.

Научим сервомотор работать по программе.
Подключим к Ардуино 2 сервопривода.
Запишем углы поворота на SD карту, по горизонтали и вертикали.
Пример можно использовать для перемещения видеокамеры, на заранее определённые точки.

Для примера нам понадобятся.

Комплектация для управления сервомоторами
Комплектация для управления сервомоторами

Сначала рассмотрим пример управления двумя сервомоторами с помощью потенциометров. А потом сохраним все эти движения на SD карту. Затем считывая значения с карты, моторы будут сами поворачиваться на определённый угол.

Для примера я установил сервомоторы один на другой, чтобы добиться перемещения по горизонтали и вертикали.
Это фото одного из моих проектов, где я подключал лазер и управлял с помощью сервоприводов лазерным лучом.

сервопривод с лазером
сервопривод с лазером

Теперь управляя нижним мотором, мы сможем охватить пространство в 180⁰ по горизонтали, а управляя верхним - 180⁰ по вертикали.

Для начала нам надо считать и сохранить углы поворотов на SD карту. Для этого используем 2 потенциометра. Один для вращения по горизонтали, другой по вертикали. К слову сказать, что сервоприводов может быть больше чем два, всё зависит от модели Ардуино которую вы используете.

Потенциометры управления сервомоторами
Потенциометры управления сервомоторами

В архиве, который находится на моём сайте «Ардуино для начинающих» два скетча.
Первый нужен для сохранения значений на SD карту.
Второй, для считывания с SD карты и управление сервомотором.

Сначала устанавливаем первый скетч, и управляя потенциометрами вращаем сервомоторы в разные стороны.
Записав все эти значения, можно переходить ко второму этапу.

Устанавливаем второй скетч.
Потенциометры теперь можно отключить, они нам больше не понадобятся.
Теперь скетч считывает записанные данные с карты и управляет движением сервопривода.

Посмотрим схему подключения.

Схема управления сервомоторами
Схема управления сервомоторами

Потенциометры подключены по обычной схеме.
Два крайних вывода соединим с плюсом и минусом питания, а центральные контакты подключены к аналоговым входам А0, и А1, Ардуино.
Нужно обязательно подключать к аналоговым входам.

Таким способом мы будем подавать различное напряжение от 0 до напряжения питания.
Эти значения будут поступать на
АЦП(Аналого-цифровой преобразователь), который преобразует их в значение от 0 до 1023. Так как АЦП в Ардуино 10 битный, то есть это значит 2 в 10 степени, то диапазон преобразования будет 1024.

Модуль МикроSD карты подключаем к шине SPI.
Три вывода с модуля, которые подключены к плате, к контактам D11, D12, D13 надо подключать именно так, а вот вывод чипселект(CS) можно подключать к любому цифровому выводу.
Я подключил к D4.

Сервоприводы SG 90, которые я использовал, довольно слабые, и их можно подключить к контакту +5 вольт платы.
Но лучше подключать к отдельному источнику напряжения!
Если у вас будут более мощные сервоприводы, то их надо подключать к контактам
VIN или к отдельному источнику питания.
И не забудьте соединить земли всех источников питания!
Сигнальные выводы можно подключать к любым цифровым выводам.
Я подключил к D9 и D10. И в скетче прописаны именно эти контакты.
Никаких дополнительных библиотек устанавливать не придётся, так как они уже есть в среде разработки Arduino IDE.

Теперь немного информации.

  • SD карта должна быть отформатирована в формате FAT16 или FAT32.
  • Файлы должны быть в формате 8.3. То есть имя файла не больше 8 символов, а расширение 3 символа.
  • Библиотека SD работает по шине SPI, поэтому задействованы пины 11, 12, 13.

И самое главное, чуть не забыл.
Вы можете сами создать текстовой файл с нужными значениями.
Например, указав на какое значение нужно поворачиваться тому или другому сервомотору.
Запись должна быть в том формате, что и на видео.

Работу скетча я здесь описывать не буду, так как подробно всё рассказал в видео.

Ну и вывод.

Использование SD карты освобождает микроконтроллер от использования встроенной памяти, которой и так немного. И добавляет огромное поле для внешних файлов.

Если вам нравятся мои видео или статьи, то вы можете поставить лайк, это очень поможет мне в продвижении канала.
Также вы можете написать в комментариях, что бы вы хотели ещё увидеть или прочитать.
У меня более 150 видео и возможно я уже снял урок по этой теме, и его осталось только выложить на Дзэн.
Спасибо за то, что досмотрели или дочитали до конца.
А пока на этом всё.
До скорой встречи.

-5