Изучаем Arduino: инструметы и методы технического волшебства - [19]

Шрифт
Интервал

• макетная плата;

• потенциометр;

• драйвер двигателя SN754410.

- 84 -


Электронные ресурсы к главе

На странице http://www.exploringarduino.com/content/ch4 можно загрузить код программ, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.

Что вы узнаете в этой главе

Теперь вы уже можете получать информацию из окружающей среды. Но как управлять этим миром? Мигание светодиода и автоматическая регулировка яркости ночника уже неплохо, но вы можете сделать гораздо больше. Двигатели и приводы, а также транзисторы позволят осуществлять с помощью Arduino реальные физические действия. Соединяя двигатели с платой Arduino, можно управлять роботами, создавать механические манипуляторы, перемещать датчики и делать многое другое. В этой главе вы узнаете, как запускать двигатели постоянного тока, как работать с транзисторами и управлять серводвигателями. Освоив это, вы сможете создать датчик расстояния, способный определять расположение близлежащих объектов. Этот датчик идеально подходит, например, для установки на автономном движущемся роботе. По завершении главы вы приобретете навыки, достаточные для разработки по-настоящему интерактивного устройства.

ПРИМЕЧАНИЕ

Если вы хотите узнать больше о двигателях и транзисторах, смотрите видеофильм, расположенный на интернет-странице

http://www.jeremyblum.com/2011/01/31/arduino-tutorial-5-motors-and-transistors/[8]


ВНИМАНИЕ!

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

4.1. Двигатели постоянного тока

Вал двигателя постоянного тока вращается при подаче постоянного напряжения на его контакты. Подобные двигатели можно встретить во многих бытовых приборах, например, в радиоуправляемых автомобилях, в приводе DVD-плеера. Такие двигатели бывают разного размера и обычно стоят недорого. Регулируя напряжение, подаваемое на двигатель, можно менять скорость его вращения. Переключая полярность приложенного напряжения, можно изменять направление вращения. Это делают, используя Н-мост, о котором вы узнаете далее в этой главе.


- 85 -

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

4.2. Борьба с выбросами напряжения

Двигатели постоянного тока обычно требуют ток больше, чем может выдать встроенный в Arduino блок питания, к тому же они могут создавать опасные выбросы напряжения. Для решения этой проблемы необходимо научиться эффективно изолировать двигатель постоянного тока от платы Arduino и подключать его к отдельному источнику питания. Транзистор позволит безопасно включать двигатель, а также управлять его скоростью с помощью методов ШИМ, рассмотренных в главе 2. Прежде чем собирать схему подключения двигателя постоянного тока, изображенную на рис. 4.1, рассмотрим основные компоненты схемы:

Q1 - n-p-n биполярный плоскостной транзистор действует как ключ, включая и выключая внешний источник питания 9 В. Существуют два типа биполярных плоскостных транзисторов: n-p-n и p-n-p. Мы будем применять транзисторы типа n-p-n. Говоря упрощенно, n-p-n транзистор представляет собой переключатель, управляемый напряжением, что позволяет подавать или отключать ток;

R1 - резистор номиналом 1 кОм, соединяющий контакт платы Arduino с базой транзистора;

Рис. 4.1. Схема включения двигателя постоянного тока

- 86 -

U 1 - двигатель постоянного тока;

С 1 - конденсатор для фильтрации помех, вызванных работой двигателя;

Dl - диод для защиты блока питания от обратного напряжения.

4.3. Использование транзистора в качестве переключателя

Транзисторы применяются во многих устройствах: от усилителей до компонентов центрального процессора в компьютерах и смартфонах. У нас транзистор будет работать в качестве простого электрически управляемого переключателя. Каждый биполярный транзистор имеет три контакта (рис. 4.2): эмиттер (Е), коллектор (С) и базу (В).


Рис. 4.2. Биполярный n-p-n транзистор

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