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

pinMode(MC1, OUTPUT);

pinMode(MC2, OUTPUT);

brake();// Остановка двигателя при инициализации

}

- 97 -


void loop()

{

val = analogRead(POT);

// Движение вперед

if (val > 562)

{

velocity = map(val, 563, 1023, 0, 255);

forward(velocity);

}

// Движение назад

else if (val < 462)

{

velocity = map(val, 461, 0, 0, 255);

reverse(velocity);

}

// Остановка

else

brake();

}

// Движение двигателя вперед с заданной скоростью

// (диапазон 0-255)

void forward (int rate)

{

digitalWrite(EN, LOW);

digitalWrite(MC1, HIGH);

digitalWrite(MC2, LOW);

analogWrite(EN, rate);

}

// Движение двигателя в обратном направлении с заданной скоростью

// (диапазон 0-255)

void reverse (int rate)

{

digitalWrite(EN, LOW);

digitalWrite(MC1, LOW);

digitalWrite(MC2, HIGH);

analogWrite(EN, rate);

}

// Остановка двигателя

void brake()

{

digitalWrite(EN, LOW);

digitalWrite(MC1, LOW);

digitalWrite(MC2, LOW);

digitalWrite(EN, HIGH);

}

- 98 -

Загрузите программу в плату Arduino и запустите на выполнение. Все работает, как ожидалось? Если нет, еще раз внимательно проверьте монтаж.

В качестве упражнения подключите к драйверу H-моста SN754410 второй двигатель постоянного тока и напишите программу управления двумя двигателями.

4.11. Управление серводвигателем

Двигатели постоянного тока прекрасно действуют в качестве моторов, но очень неудобны для точных работ, т. к. не имеют обратной связи. Другими словами, без какого-нибудь внешнего датчика нельзя узнать положение вала двигателя постояого тока. Серводвигатели (или сервоприводы), напротив, отличаются тем, что с помощью команд можно установить их в определенное положение, в котором они будут находиться до поступления новых команд. Это важно, когда необходимо некоторую систему переместить в определенное положение. В этом разделе вы узнаете о серводвигателях и их управлении с помощью Arduino.

4.11.1. Стандартные сервоприводы и сервоприводы вращения

Проще всего приобрести стандартные сервоприводы. Они имеют фиксированный диапазон углов поворота ( обычно от 0 до 180 ° ) и содержат соединенный с приводным валом потенциометр, который определяет угол поворота сервопривода.

Управление сервоприводом происходит подачей прямоугольного импульса. Длительность импульса (в случае стандартного сервопривода) определяет угол поворота.

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

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

4.11.2. Принцип работы серводвигателя

В отличие от двигателей постоянного тока, серводвигатели имеют три контактных провода:

• питание (обычно красного цвета);

• земля (обычно коричневого или черного цвета);

• сигнальный вход ( обычно белый или оранжевый).

Провода имеют цветовую маркировку и обычно расположены в том же порядке, как на рис. 4.9. Некоторые производители меняют порядок расположения проводов,

- 99 -

поэтому перед применением сервопривода желательно ознакомиться с документацией.

Окраска проводов может отличаться, но приведенные цветовые сочетания наиболее распространены (обратитесь к документации конкретного сервопривода, если не уверены).

Белый/оранжевый - сигнал управления

Красный - питание

Черный/коричневый - земля

Рис. 4.9. Сервоприводы

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

Сервоприводы управляются по сигнальной линии с помощью прямоугольных импульсов регулируемой длительности. Для стандартного сервопривода подача импульса длительностью 1 мс приводит к установке сервопривода в положение 0 °, импульс длительностью 2 мс устанавливает сервопривод в положение 180°, импульса 1,5 мс - 90 °. После того как импульс подан, вал сервопривода устанавливается в определенную позицию и остается там до поступления следующей команды.

Тем не менее, чтобы постоянно поддерживать точное положение вала сервопривода, необходимо отправлять сигнальные импульсы каждые 20 мс. Библиотека Arduino Servo, которую мы будем использовать для управления серводвигателями, позаботится об этом.

Чтобы лучше понять, как управлять серводвигателями, изучим графики, приведеые на рис. 4.10.

В примерах, изображенных на рис. 4.1 0, импульс подается каждые 20 мс. Длительность импульса возрастает от 1 до 2 мс, при этом угол поворота серводвигателя (показанный справа от графика импульсов) увеличивается от 0 до 180 °.

- 100 -


Рис. 4.10. Временные диаграммы управления серводвигателем

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

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

Самоучитель 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