Читаем Изучаем Arduino: инструменты и методы технического волшебства полностью

Как упоминалось ранее, для работы серводвигателя требуется ток, больший, чем выдает встроенный в Arduino блок питания. Однако большинство серводвигателей работает от напряжения 5 В, а не 9 или 12 В как двигатели постоянного тока. Несмотря на это, необходим отдельный блок питания серводвигателя.

Мы рассмотрим, как с помощью источника 9 В и стабилизатора напряжения получить напряжение 5 В для питания сервопривода. Интегральный стабилизатор напряжения - чрезвычайно простое устройство, у которого обычно три контакта:

• вход;

• выход;

• заземление.

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

Падение напряжения приводит к нагреву, поэтому необходимо позаботиться о теплоотводе (например, алюминиевом радиаторе). Для наших экспериментов возьмем 5-вольтовый стабилизатор напряжения L4940V5, который способен выдавать ток до 1,5 А. Схема включения стабилизатора приведена на рис. 4.11.101



Рис. 4.11. Схема включения стабилизатора напряжения

Рис. 4.12. Схема подключения сервопривода

Потенциометр

- 102 -


Обратите внимание на конденсаторы на входе и выходе стабилизатора, они устраняют пульсации напряжения. Схема и номиналы конденсаторов подойдут для большинства типов стабилизаторов. Имейте в виду, что выход стабилизатора не нужно соединять с шиной 5 В платы Arduino. Соединить следует только шины земли стабилизатора и платы Arduino.

Пришло время подсоединить сервопривод. Сверяясь с монтажной схемой, подсоедините потенциометр к аналоговому входу A0, сигнальный вход сервопривода к цифровому входу 9 платы Arduino, убедитесь, что стабилизатор выдает напряжение 5 В. При соединении элементов обратите внимание на правильность подключения контактов стабилизатора и полярность включения конденсаторов (рис. 4.12).

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

Разберемся, почему серводвигателю нужен внешний источник, если он работает, как и плата Arduino, от напряжения 5 В. При питании Arduino от USB для самой платы Arduino и подключенных к ней устройств максимально возможный ток равен 500 мА. В неподвижном положении сервоприводы потребляют малый ток. Но при выполнении команд сервоприводы потребляют ток в несколько сотен миллиампер, что приводит к скачкам напряжения. Кроме того, при недостаточном напряжении питания вал сервопривода перемещается неустойчиво. Поэтому для сервопривода необходим отдельный источник питания.

4.12. Контроллер серводвигателя

В Arduino IDE предусмотрена библиотека Servo для упрощения управления сервоприводами. Чтобы работать с библиотекой, необходимо подключить ее к нашей программе. Затем следует прикрепить объект Servo к определенному выводу Arduino и задать угол вращения. Обо всем остальном позаботится библиотека. Самый простой способ проверить функционирование сервопривода - управление позицией вала с помощью потенциометра. Значение 0 потенциометра соответствует повороту сервопривода на 0°, значение 1023 - повороту на 180°. Загрузите код, приведенный в листинге 4.6, в плату Arduino, чтобы проверить все в действии.


Листинг 4.6. Управление положением серводигателя с помощью потенциомера - servp.ino

// Управление положением серводвигателя с помощью потенциометра

#include

const int SERV0=9; // Вывод 9 для подключения сигнального провода сервопривода

const int POT=0;// Подключение потенциометра к аналоговому входу A0

Servo myServo;

int val = 0;// Переменная для чтения показаний потенциометра


void setup()

{

myServo.attach(SERV0);

}

- 103 -

void loop()

{

val = analogRead(POT);// Чтение данных потенциометра

val = map(val, 0, 1023, 0, 179); // Преобразование к нужному диапазону

myServo.write(val);// Установить положение сервопривода

delay(15);

}

Оператор include, указанный в начале программы, добавляет функционал библиотеки Servo. Оператор Servo myServo создает объект сервопривода с именем myservo.

В том месте программы, где требуется действие с сервоприводом, будет ссылка на объект myServo. В функции setup() вы инициализируете сервопривод, присоединяя его к контакту 9 Arduino. Можно подсоединить к Arduino несколько сервоприводов, создав несколько объектов Servo и назначив каждому свой контакт Arduino.

В цикле loop() считывается текущее значение потенциометра, масштабируется до диапазона значений сервопривода и формируется импульс для установки вала сервопривода в соответствующую позицию. Задержка на 15 мс гарантирует, что вал сервопривода фиксируется, прежде чем поступит новая команда.

4.1З. Создание радиального датчика расстояния


Перейти на страницу:

Похожие книги

Самоучитель UML
Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы. Цель книги – помочь программистам освоить новую методологию разработки корпоративных программных приложений для последующего применения полученных знаний с использованием соответствующих CASE-инструментов.

Александр Васильевич Леоненков , Александр Леоненков

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Прочая компьютерная литература / Книги по IT
Основы информатики: Учебник для вузов
Основы информатики: Учебник для вузов

Учебник состоит из двух разделов: теоретического и практического. В теоретической части учебника изложены основы современной информатики как комплексной научно-технической дисциплины, включающей изучение структуры и общих свойств информации и информационных процессов, общих принципов построения вычислительных устройств, рассмотрены вопросы организации и функционирования информационно-вычислительных сетей, компьютерной безопасности, представлены ключевые понятия алгоритмизации и программирования, баз данных и СУБД. Для контроля полученных теоретических знаний предлагаются вопросы для самопроверки и тесты. Практическая часть освещает алгоритмы основных действий при работе с текстовым процессором Microsoft Word, табличным редактором Microsoft Excel, программой для создания презентаций Microsoft Power Point, программами-архиваторами и антивирусными программами. В качестве закрепления пройденного практического курса в конце каждого раздела предлагается выполнить самостоятельную работу.

Вадим Васильевич Лысенко , Лариса Александровна Малинина , Максим Анатольевич Беляев

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Внутреннее устройство Microsoft Windows (гл. 1-4)
Внутреннее устройство Microsoft Windows (гл. 1-4)

Книга посвящена внутреннему устройству и алгоритмам работы основных компонентов операционной системы Microsoft Windows — Windows Server 2003, Windows XP и Windows 2000 — и файловой системы NTFS. Детально рассмотрены системные механизмы: диспетчеризация ловушек и прерываний, DPC, APC, LPC, RPC, синхронизация, системные рабочие потоки, глобальные флаги и др. Также описываются все этапы загрузки операционной системы и завершения ее работы. B четвертом издании книги больше внимания уделяется глубокому анализу и устранению проблем, из-за которых происходит крах операционной системы или из-за которых ее не удается загрузить. Кроме того, рассматриваются детали реализации поддержки аппаратных платформ AMD x64 и Intel IA64. Книга состоит из 14 глав, словаря терминов и предметного указателя. Книга предназначена системным администраторам, разработчикам серьезных приложений и всем, кто хочет понять, как устроена операционная система Windows.Названия всех команд, диалоговых окон и других интерфейсных элементов операционной системы приведены как на английском языке, так и на русском.Версия Fb2 редакции — 1.5. Об ошибках просьба сообщать по адресу — general2008@ukr.net.

Дэвид Соломон , Марк Руссинович

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT