Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Занятие 11 Силовые устройства

.doc
Скачиваний:
103
Добавлен:
11.03.2016
Размер:
851.97 Кб
Скачать

Курс «Основы робототехники». Занятие 11 Силовые устройства

Напрямую к цифровым контактам Arduino можно подключать только устройства, потребляющие небольшую мощность, например, светодиод и спикер. Для доказательства можно рассмотреть возможность подключения электромотора:

сопротивление мотора 10 Ом. При напряжении +5 В (выдаваемым пином Arduino) в соответствии с законом Ома U = I · R через мотор потечет ток

I = U / R = 5 / 10 = 0,5 А = 500 мА,

что намного больше, чем допустимый ток через цифровой контакт Arduino, равный 40 мА. Поэтому при подключении мотора к контакту Arduino в лучшем случае ничего не будет работать, в худшем – контроллер выйдет из строя.

Чтобы этого не случилось, для управления контроллером мощными приборами используются специальные устройства, называемые драйверами. В занятии рассматривается использование в качестве драйвера реле и транзисторного ключа. На следующем занятии будет рассмотрен и драйвер двигателя на микросхеме L298N

Подключение мощной нагрузки через реле

Простым вариантом управления нагрузкой является реле – переключатель, управляемый магнитным полем катушки, ток через которую управляется контроллером. Недостатком реле является невозможность управления уровнем напряжения – только включение и выключение

Практическое занятие 1. Управление реле

В используемом модуле реле имеется три силовых контакта в виде клеммников. При отсутствии управляющего напряжения на контакте In (состояние LOW на пине) средний контакт и один из крайних замкнут, а средний и другой крайний – разомкнут. При наличии +5 В на пине In модуль реле со щелчком переключается – теперь первая пара контактов разомкнута, а вторая – замкнута

  1. Подключите модуль реле к контроллеру в соответствии со схемой – Gnd к Gnd, Vcc к 5V, In – к цифровому пину 13

  1. Загрузите в Arduino программу Файл / Примеры / Basic / Blink и убедитесь, что зажигается/потухает светодиод L на контроллере, щелкает реле и вращается/останавливается мотор. Попробуйте изменить периоды delay и загрузить получившуюся программу

Примечание 1: обычно подобные модули реле используются для подключения нагрузки к сети ~220 В (максимально допустимые напряжения и ток написаны на корпусе реле), при этом контакты от розетки ~220 В подключаются вместо +5 В над мотором и Gnd под ним

Примечание 2: только маленькие моторы можно питать от +5 В Arduino, для более мощных необходимо использовать другой источник питания

Подключение мощной нагрузки через транзисторный ключ

В некоторых случаях использовать реле не имеет смысла, например, когда требуется управлять не сетью ~220 В, а коммутацией напряжения +5 В или +12 В, дешевле использовать транзисторный ключ. Кроме того, при использовании ШИМ (коротких импульсов с целью создать определенное напряжение, команда analogWrite) реле не будет успевать переключаться, в данном случае можно использовать только транзисторный ключ.

Используем транзисторы КТ815 или КТ817. Они имеют одинаковый корпус и близки по характеристикам, то есть взаимозаменяемы. Могут работать со сравнительно большой мощностью – небольшими электромоторами, динамиками, лампочками и т.д. Корпус и расположение выводов транзистора показано на рисунке.

Если повернуть транзистор ножками вниз надписью (типа КТ815 или 7BF7) к себе, то выводы расположены слева направо: эмиттер, коллектор, база

Примечание: в надписи наподобие 7BF7 первая цифра говорит о типе транзистора – КТ817 если 7, и КТ815, если 5 (если 4 или 6 – КТ814 и КТ816)

Практическое занятие 2. Включение/выключение мотора

Когда цифровой пин Arduino (Digital) имеет статус LOW (логический 0, напряжение 0 В), ток на базе транзистора Б отсутствует и транзистор закрыт – между ножками коллектор К и эмиттер Э имеется большое сопротивление и ток через него не идет – мотор не вращается

Когда пин Arduino Digital имеет статус HIGH (логическая 1, напряжение +5 В), ток на базе транзистора Б имеется и транзистор открыт – сопротивление между ножками коллектор К и эмиттер Э мало и ток через него идет – мотор вращается

  1. Соберите на макетной плате данную схему:

  2. Позовите преподавателя для проверки схемы

  3. Загрузите в Arduino программу Файл / Примеры / Basic / Blink и убедитесь, что зажигается/потухает светодиод L на контроллере и вращается/останавливается мотор

Практическое занятие 3. Управление скоростью мотора с использованием ШИМ (analogWrite)

  1. Добавьте в собранную ранее схему переменный резистор, которым будем управлять скоростью вращения мотора и переключите контакт базы транзистора на пин 9, поддерживающий команду analogWrite:

  2. Закачайте в контроллер программу Файл / Примеры / Analog / AnalogInOutSerial и убедитесь, что при повороте резистора меняется скорость вращения мотора (можете надеть скрепку на ось мотора, чтобы лучше видеть изменение скорости вращения)

Домашнее задание

Задание

1

Схема управления динамиком через транзисторный ключ. Рассчитать максимальный ток по закону Ома исходя из сопротивления динамика и убедиться, что ток не превышает допустимый уровень для питания от USB (500 мА). Командой tone позвучать динамиком (управление частотой звука переменным резистором)

2

Три мотора, управляемых реле или транзисторными ключами (на выбор). Цикл: включить по очереди: первый, второй, третий. Выключить по очереди: первый, второй, третий

3

Система охлаждения: датчик температуры DS18B20, транзисторный ключ, управляющий вентилятором (комп. кулер). Когда температура с датчика ниже 20 градусов – вентилятор не работает. Когда температура выше 20 градусов – вентилятор включается на половину мощности. Когда выше 25 градусов – вентилятор включается на всю мощность

4

Прототип системы ориентации и измерения расстояния: ультразвуковой датчик расстояния, два мотора, две кнопки, два реле или транзисторных ключа (на выбор). Когда нажата первая кнопка, вращается первый мотор, вторая – второй мотор. Скорость вращения моторов зависит от расстояния с датчика расстояния: от 3 см (мотор стоит) до 50 см (максимальная скорость)

5

Контакты In1 и In3 на роботе использовать вместо транзисторных ключей. После каждой digitalWrite задержка (delay). Цикл: digitalWrite(HIGH) на оба мотора (едет вперед), digitalWrite(HIGH) на первый мотор (поворачивает в одну сторону), digitalWrite(HIGH) на второй мотор (поворачивает другую в сторону)

6

Модель системы охлаждения: датчик температуры DS18B20, транзисторный ключ, вентилятор (комп. кулер). Скорость вращения вентилятора обратно пропорциональна температуре в диапазоне от 20 градусов (вентилятор не вращается) до 36 градусов (максимальная скорость)

7

Три мотора, управляемых реле или транзисторными ключами (на выбор). Цикл: включить по очереди: первый, второй, третий. Выключить по очереди: первый, второй, третий

8

Два мотора, управляемых транзисторными ключами. Цикл: один мотор плавно наращивает скорость, плавно снижает. Второй мотор плавно наращивает скорость, плавно снижает. Оба мотора плавно наращивают скорость, плавно снижают

9

Система охлаждения: датчик температуры DS18B20, два реле или транзисторных ключа (на выбор), управляющий каждый своим вентилятором (комп. кулер). Когда температура с датчика ниже 20 градусов – вентиляторы не работает. Когда температура выше 20 градусов – работает один из вентиляторов. Когда выше 25 градусов – включаются оба вентилятора

10

Контакты In1 и In3 на роботе использовать вместо транзисторных ключей. После каждой digitalWrite задержка (delay). Цикл: digitalWrite(HIGH) на оба мотора (едет вперед), digitalWrite(HIGH) на первый мотор (поворачивает в одну сторону), digitalWrite(HIGH) на второй мотор (поворачивает в другую сторону)

11

Два мотора, два переменных резистора, два транзисторных ключа. Скорость первого мотора зависит от угла поворота первого резистора, второго – второго резистора