Главная страница

учебник. Бхв, 2020. Isbn 9781119405375 (англ.) Isbn 9785977567367 (рус.) 2020 by John Wiley & Sons, Inc. Перевод на русский язык, оформление. Ооо бхвпетербург, Ооо бхв, 2020


Скачать 1.9 Mb.
НазваниеБхв, 2020. Isbn 9781119405375 (англ.) Isbn 9785977567367 (рус.) 2020 by John Wiley & Sons, Inc. Перевод на русский язык, оформление. Ооо бхвпетербург, Ооо бхв, 2020
Анкоручебник
Дата11.12.2022
Размер1.9 Mb.
Формат файлаpdf
Имя файлаB-BHV-6735-part.pdf
ТипКнига
#838435
страница4 из 8
1   2   3   4   5   6   7   8
Глава 4.
Использование транзисторов и управление электродвигателями постоянного тока
Глава 5.
Управление сервоприводами и шаговыми двигателями
Глава 6.
Работаем со звуком
Глава 7.
Последовательный интерфейс USB
Глава 8.
Эмуляция USB-устройств
Глава 9.
Сдвиговые регистры
Взаимодействие с окружающей средой

4
Использование транзисторов и управление электродвигателями постоянного тока
Список деталей и оборудования для проектов этой главы
Плата Arduino Uno или Adafruit METRO 328.
USB-кабель (тип A на B для Arduino Uno, тип A на Micro-B для METRO 328).
Макетная плата половинного размера.
Набор проволочных перемычек.
Резистор номиналом 1 кОм (1 шт.).
Резистор номиналом 10 кОм (2 шт.).
Подстроечный потенциометр номиналом 10 кОм (1 шт.).
Фоторезистор (2 шт.).
Батарея напряжением 9 В (1 шт.).
Разъем для батареи напряжением 9 В (1 шт.).
Микросхема L7805CV стабилизатора напряжения 5 В (1 шт.).
Электролитический конденсатор, 10 мкФ, 50 В (2 шт.).
Керамический конденсатор 0,1 мкФ (1 шт.).
Диод 1N4001 (1 шт.).
Биполярный NPN-транзистор PN2222 (1 шт.).
Набор для сборки самоходного шасси робота с колесами и электродвигателями (1 шт.).
Электродвигатель постоянного тока на 9 В (1 шт.).
Микросхема сдвоенного H-моста драйвера электродвигателя TI L293D.
Исходный код и прочие электронные ресурсы
Исходный код, видеоуроки и прочие электронные ресурсы для этой главы можно загрузить с веб-страницы https://www.exploringarduino.
com/content2/ch4.
Исходный код для проектов этой главы можно также загрузить на вкладке Downloads веб-страницы издательства Wiley для этой книги:
https://www.wiley.com/go/exploringarduino2e.

Глава 4. Использование транзисторов и управление электродвигателями…
106
ЧТО ВЫ УЗНАЕТЕ ИЗ ЭТОЙ ГЛАВЫ
Теперь мы знаем, как можно получить информацию о некоторых аспектах окружающего нас мира. Но как нам можно управлять этим миром? Проекты мигания светодиодом и автоматического управления ночником положили хорошее начало в этом направлении, но существующие возможности на- много обширнее. С помощью транзисторов к плате Arduino можно подклю- чать разные типы электродвигателей и приводов, что позволит ей выполнять различные физические действия. В частности, подключив к плате Arduino электродвигатели, мы сможем конструировать мобильные роботы, созда- вать роботизированные манипуляторы, расширить область действия разных датчиков и осуществить еще многое другое.
В этой главе мы рассмотрим, как управлять такими индуктивными на- грузками, как электродвигатели постоянного тока, как включать и выклю- чать сильноточные устройства с помощью транзисторов, а также как исполь- зовать в своих проектах интегральные схемы. В конце этой главы мы собе- рем самоходное шасси, которым можно управлять дистанционно с помощью обычного фонарика.
Примечание
Дополнительная информация по электродвигателям и транзисторам предоставляет- ся в видеоуроке на веб-странице для этой главы (https://www.exploringarduino.com/
content2/ch4).
Внимание!
В проектах этой главы используется батарея напряжением 9 В для питания электродви- гателей, требующих больше тока, чем может обеспечить плата Arduino. Это не настолько высокое напряжение, чтобы быть опасным для вас, но при неправильном подключении может возникнуть опасность для электронных компонентов ваших устройств. В процес- се выполнения упражнений в этой главе внимательно следуйте инструкциям и схемам к ним. Не допускайте коротких замыканий (подключения положительного питания на- прямую на землю). При соединении вместе общих шин нескольких источников питания ни в коем случае не соединяйте при этом вместе шины положительного питания этих источников. Например, в проектах шина земли источника питания напряжением 9 В подключается к шине земли источника питания для Arduino напряжением 5 В. Но поло- жительные шины этих двух источников питания нельзя подключать к одной и той шине положительного питания на макетной плате. Это выведет из строя стабилизатор напря- жения 5 В на плате Arduino, что в свою очередь повредит микроконтроллер платы.
ЭЛЕКТРОДВИГАТЕЛИ ПОСТОЯННОГО ТОКА
Электродвигатели постоянного тока, которые используются в многочис- ленных бытовых приборах, вращаются с постоянной скоростью при подаче на них питания постоянного тока. Эти электродвигатели широко применя-

Глава 4. Использование транзисторов и управление электродвигателями…
136
Сборка устройства
Этот проект можно легко реализовать с помощью компонентов схемы и набора для сборки самоходного шасси, предоставляемых компанией Adafruit.
В этом разделе мы рассмотрим, как собрать такое шасси и установить на него компоненты схемы управления. Но если вы желаете сконструировать свою собственную платформу, то это будет даже лучше. Ее можно отпечатать на
3D-принтере или сделать из подручных средств. Но независимо от подхода для создания платформы самоходного шасси, все равно настоятельно реко- мендуется использовать электродвигатели с редукторами и колесами, предо- ставляемые компанией Adafruit.
Сборку начинаем с крепления электродвигателей с редукторами к платфор- ме. Для этого в комплекте с покупным набором шасси предусмотрены винты и гайки, для шасси вашей собственной конструкции подойдут и другие сред- ства, например, клей. Затем надеваем колеса на валы редукторов. Установите на платформу шасси макетную плату со схемой управления и подключите электродвигатели к ней. Если потом обнаружится, что один или оба электро- двигателя вращаются не в том направлении, просто поменяйте полярность их подключения к питанию. На рис. 4.13 показано, как может выглядеть собран- ное самоходное шасси (тарелочные «глаза» устанавливаются по желанию).
В процессе сборки самоходного шасси следует иметь в виду несколько аспектов. Если используется платформа компании Adafruit (или любая другая
Рис. 4.13. Полностью собранное самоходное шасси
Батарея 9 В
Электродвигатели с редукторами и колесами
Правый фоторезистор
Разъем правого электродвигателя
Плата Arduino
Стабилизатор на 5 В
(скрыт под пластиной)
Разъем левого электродвигателя
Левый фоторезистор
Н-мосты
Поворотное колесико или полозок
(под платформой — поддерживает переднюю часть шасси

Резюме 137
металлическая платформа), обязательно изолируйте нижнюю сторону платы
Arduino от платформы. Из рис. 4.13 видно, что я решил эту задачу, установив плату Arduino на винтовые стойки с пластмассовыми прокладками, чтобы она не прикасалась к металлической пластине. Даже если ваша платформа анодированная, плату Arduino необходимо изолировать от нее с помощью прокладок или простой изоляционной ленты. Острые концы выводов на нижней стороне платы Arduino могут повредить покрытие, в результате чего на плате возникнет короткое замыкание. Также следует быть осторожным с конденсаторами, стабилизатором напряжения и другими компонентами с длинными выводами, установленными на макетную плату. Если требуется согнуть выводы таких компонентов, чтобы установить их в гнезда макетной платы, следите за тем, чтобы случайно не закоротить их.
Завершив сборку шасси, подключите к схеме батарею 9 В и с помощью фонарика запустите устройство в движение. В идеале шасси должно следо- вать за направлением луча фонарика. Если скорость шасси окажется слиш- ком низкой, или схема будет слишком чувствительной к свету или, наоборот, недостаточно чувствительной, или вообще шасси поведет себя странным образом, подключите схему к компьютеру через порт USB, запустите про- грамму монитора порта и проанализируйте выводимые в ее окне значения освещенности и скорости электродвигателей. Может потребоваться допол- нительно откорректировать пороговые значения этих параметров, как опи- сывалось ранее, или же отрегулировать положение фоторезисторов. Если уровень освещенности комнаты слишком высокий, то может потребоваться выключить свет и/или закрыть шторами окна, чтобы схеме было легче рас- познавать свет фонарика. Наконец, если какой-то из двигателей вращается не в том направлении, просто поменяйте полярность его питания.
РЕЗЮМЕ
В этой главе мы узнали следующее.
Электродвигатели постоянного тока используют электромагнитную индукцию для преобразования изменений тока, протекающего в обмотке, во вращательное механическое движение.
Электродвигатели представляют собой индуктивную нагрузку, и для безопасного сопряжения их с платой Arduino необходимо предусмотреть соответствующие схемы защиты и питания.
Скоростью и направлением вращения электродвигателя постоянного тока можно управлять посредством сигнала ШИМ и Н-моста.
Подключив к плате Arduino аналоговые датчики и приводы, напри- мер, электродвигатели, можно создавать интерактивные проекты, в том числе управляемые роботы.

5
Управление сервоприводами и шаговыми двигателями
Список деталей и оборудования для проектов этой главы
Плата Arduino Uno или Adafruit METRO 328.
USB-кабель (тип A на B для Arduino Uno, тип A на Micro-B для METRO 328).
Беспаечная макетная плата половинного или полного размера.
Набор проволочных перемычек.
Кнопки (2 шт.).
Резистор номиналом 1 кОм (4 шт.).
Подстроечный потенциометр номиналом 10 кОм (1 шт.).
Светодиод синего цвета диаметром 5 мм (4 шт.).
Батарея 9 В (1 шт.).
Разъем для батареи напряжением 9 В (1 шт.).
Микросхема L7805CV стабилизатора напряжения 5 В (1 шт.).
Электролитический конденсатор, 10 мкФ, 50 В (2 шт.).
Микросхема сдвоенного H-моста драйвера электродвигателя TI L293D.
Сетевой адаптер, 12 В (рабочий ток >500 мА).
ИК-дальномер GP2Y0A21YK0FIR компании Sharp в комплекте с JST-кабелем.
Стандартный серводвигатель с рабочим напряжением 5 В.
Биполярный шаговый двигатель NEMA-17.
Термоклей или клейкая лента.
Круглый «циферблат» (можно использовать компакт-диск или вырезать из плотной бумаги).
Зажим для бумаг.
Палочка от мороженого.

Глава 5. Управление сервоприводами и шаговыми двигателями
140
Исходный код и прочие электронные ресурсы
Исходный код, видеоуроки и прочие электронные ресурсы для этой главы можно загрузить с веб-страницы https://www.exploringarduino.
com/content2/ch5.
Исходный код для проектов этой главы можно также загрузить на вкладке Downloads веб-страницы издательства Wiley для этой книги:
https://www.wiley.com/go/exploringarduino2e.
ЧТО ВЫ УЗНАЕТЕ ИЗ ЭТОЙ ГЛАВЫ
В
главе 4 мы научились управлять электродвигателями постоянного тока.
Такие электродвигатели хорошо подходят в качестве тяговых. Но для точного позиционирования они не годятся, поскольку у них отсутствует встроенный механизм обратной связи и регулируется скорость вращения вала, а не его позиция. Чтобы точно знать абсолютное положение ротора электродвигателя, требуется какое-либо внешнее кодирующее устройство или система позиционирования. И наоборот, сервоприводам можно дать коман ду повернуть вал на определенный угол, в котором он будет находить- ся до поступления следующей команды. Такая возможность ценна тем, что она позволяет переместить определенную систему в известное положение.
Сервоприводы используются для решения таких задач, как, например, пере- мещение защелки замка, вращение якоря на определенное число оборотов или установка точного размера диафрагмы объектива. Шаговые двигатели также позволяют точно управлять углом поворота своего ротора. Это дела- ет их идеальными для применения в таких устройствах, как 3D-принтеры, прецизионные инструменты и измерительные приборы. В этой главе мы рас- смотрим принципы работы как сервоприводов, так и шаговых двигателей.
Управлять этими устройствами будем с помощью платы Arduino.
УПРАВЛЕНИЕ СЕРВОПРИВОДАМИ
Сервоприводы широко применяются как в любительской, так и профес- сиональной робототехнике. Их можно встретить в разнообразных устрой- ствах — от радиоуправляемых моделей самолетов до дверных замков, управ- ляемых через Интернет. Они доступны в широком диапазоне размеров и возможностей. Существует два основных типа сервоприводов: кругового вращения и с поворотом ротора в пределах установленного сектора.
Разница между сервоприводами кругового вращения
и с поворотом в пределах сектора
Стандартные сервоприводы имеют ограниченный угол вращения вала
(обычно от 0 до 180 градусов), поскольку их вал соединен с потенциометром,

Управление сервоприводами 141
Черный/коричневый — земля который выдает информацию о текущем положении вала. Управление сер- воприводом осуществляется подачей на него импульса определенной дли- тельности. Длительность управляющего импульса определяет угол поворота вала сервопривода. Но если из сборки сервопривода удалить потенциометр, то вал сможет вращаться вкруговую, и в таком случае длительность импуль- са задает скорость вращения вала сервопривода.
В проектах, описанных в этой книге, мы будем использовать стандартные сервоприводы, вал которых проворачивается только на заданный угол в пре- делах определенного сектора. Если у вас есть желание поэкспериментировать с сервоприводом кругового вращения, можно переделать стандартный сер- вопривод, вскрыв его корпус и удалив из него потенциометр. Или же можно купить сервопривод, который уже модифицирован таким образом.
Управление сервоприводом
В отличие от электродвигателей постоянного тока, у сервоприводов три вывода: для подачи положительного питания (обычно красного цвета), зем- ли (обычно черного или коричневого цвета) и сигнала управления (обычно белого или оранжевого цвета). На рис. 5.1 показан пример сервоприводов и их выводов. Но у двигателей некоторых производителей другая маркировка проводов, поэтому всегда сверяйтесь со справочным листком, чтобы пра- вильно подключить сервопривод.
Разные производители сервоприводов могут применять слегка отличаю- щиеся цветовые схемы выводов, но наиболее распространена маркиров- ка, описанная выше. (Но если вы не уверены насчет своего сервопривода,
Рис. 5.1. Примеры серводвигателей и их выводов с цветовой маркировкой
Белый/оранжевый — управление
Красный — питание

Работаем со звуком
6
Список деталей и оборудования для проектов этой главы
Плата Arduino Uno или Adafruit METRO 328.
USB-кабель (тип A на B для Arduino Uno, тип A на Micro-B для METRO 328).
Беспаечная макетная плата половинного или полного размера.
Набор проволочных перемычек.
Кнопки (5 шт.).
Резистор номиналом 220 Ом (1 шт.).
Резистор номиналом 10 кОм (5 шт.).
Потенциометр номиналом 10 кОм (1 шт.).
Динамик с сопротивлением катушки 8 Ом (1 шт.).
Исходный код и прочие электронные ресурсы
Исходный код, видеоуроки и прочие электронные ресурсы для этой главы можно загрузить с веб-страницы https://www.exploringarduino.
com/content2/ch6.
Исходный код для проектов этой главы можно также загрузить на вкладке Downloads веб-страницы издательства Wiley для этой книги:
https://www.wiley.com/go/exploringarduino2e.
ЧТО ВЫ УЗНАЕТЕ ИЗ ЭТОЙ ГЛАВЫ
К
ак известно, люди обладают пятью органами чувств. Из этих пяти мы не будем пытаться создать интерфейс с электронными устройствами для чувства вкуса — вряд ли у кого-то возникнет мысль облизывать плату
Arduino. Мы не будем ничего изобретать и для чувства запаха. Единственное, что можно порекомендовать при появлении какого-либо запаха от ваших электронных устройств, — это немедленно прекратить текущий экспери- мент и проверить, не горит ли какой-либо компонент. Остаются чувство ося- зания, зрение и слух. Мы уже создавали интерфейс для чувства осязания с помощью потенциометров и кнопок и для зрения с помощью светодиодов.
А какой интерфейс можно создать для нашего чувства слуха? В этой главе

Глава 6. Работаем со звуком
170
мы рассмотрим, как с помощью Arduino воспроизводить звуки, чтобы сде- лать более легким решение задачи обратной связи для наших проектов.
Существует несколько способов создавать звуки с помощью платформы
Arduino. Наиболее простой — использовать функцию tone()
, которой в этой главе уделяется самое большое внимание. Но существуют также различные шилды, которые, благодаря их дополнительным вычислительным возможно- стям, расширяют музыкальные возможности базовой платформы Arduino.
(Шилдами на жаргоне Arduino называются платы расширения, которые вставляются сверху в разъемы платы Arduino, чтобы придать ей ту или иную дополнительную функциональность.) Если у вас плата Arduino Due, то ге- нерировать звуки можно будет с помощью встроенного цифроаналогового преобразователя (ЦАП).
ПРИНЦИП РАБОТЫ ДИНАМИКА
Прежде чем приступать к созданию звуковых эффектов с помощью
Arduino, нам нужно разобраться, что собой представляют звуки и как люди воспринимают их. В этом разделе мы рассмотрим, как возникают звуковые волны, каковы их свойства и как, манипулируя этими свойствами, можно создавать музыку, речь и т.п.
Свойства звука
Звук передается через воздух в виде волны повышенного давления.
Вибрирующий объект, например, динамик, барабан или колокольчик, пере- дает вибрации на соприкасающийся с ним воздух. В свою очередь, эти части- цы воздуха передают полученную от объекта энергию другим окружающим их частицам воздуха, в результате чего те также начинают вибрировать. Эти вибрации создают волну повышенного давления, которая в конечном ито- ге доходит до нашей ушной барабанной перепонки и воздействует на нее.
Посредством такой цепной реакции вибрирующих частиц и происходит рас- пространение звука от его источника до приемника. Но зачем нам нужно знать все это, чтобы научиться создавать звуки с помощью платы Arduino?
Посредством Arduino мы можем управлять двумя свойствами этой волны вибрирующих частиц: ее частотой и амплитудой . Частота волны вибрирую- щих частиц представляет скорость колебаний частиц воздуха туда и обратно, а амплитуда — размах этих колебаний. В физическом аспекте звуки большей амплитуды громче, чем меньшей. Тон высокочастотных звуков выше (напри- мер, сопрано), тогда как низкочастотных — ниже (например, бас). На рис. 6.1 изображены синусоидальные звуковые волны с разными амплитудами и ча- стотами.

7
Последовательный интерфейс USB
Список деталей и оборудования для проектов этой главы
Плата Arduino Uno или Adafruit METRO 328.
USB-кабель (тип A на B для Arduino Uno, тип A на Micro-B для
METRO 328).
Беспаечная макетная плата половинного или полного размера.
Набор проволочных перемычек.
Резистор номиналом 220 Ом (3 шт.).
Подстроечный потенциометр номиналом 10 кОм (1 шт.).
Светодиод красный диаметром 5 мм (1 шт.).
Трехцветный светодиод с общим анодом диаметром 5 мм (1 шт.).
Исходный код и прочие электронные ресурсы
Исходный код, видеоуроки и прочие электронные ресурсы для этой главы можно загрузить с веб-страницы https://www.exploringarduino.
com/content2/ch7.
Исходный код для проектов этой главы можно также загрузить на вкладке Downloads веб-страницы издательства Wiley для этой книги:
https://www.wiley.com/go/exploringarduino2e.
ЧТО ВЫ УЗНАЕТЕ ИЗ ЭТОЙ ГЛАВЫ
В
ероятно, самая важная функциональность платформы Arduino — воз- можность программирования платы через последовательный порт USB.
Платы Arduino можно запрограммировать, не применяя никакого допол- нительного специального оборудования, например, программатора AVRISP mkII. Обычно для программирования микроконтроллеров требуется специ- альное внешнее устройство (как только что упомянутый программатор), че- рез которое программируемый микроконтроллер подключается к компью- теру. В случае с платформой Arduino такой программатор, по сути, встроен в саму плату. Кроме того, этот программатор также предоставляет прямой доступ к встроенному в микроконтроллер универсальному синхронному/
асинхронному приемопередатчику (УСАПП). Через этот интерфейс можно

1   2   3   4   5   6   7   8


написать администратору сайта