Особенности подключения устройств к Arduino

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

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

Я купил несколько модулей для ардуино, что делать дальше?

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

Datasheet или даташит – это техническая документация на изделие. Такую документацию можно скачать на любую микросхему или датчик. Обычно они есть на сайте производителя. Более того, в сети существуют специальные ресурсы, на которых собрана целая масса технической документации, одним из таких является http://www.alldatasheet.com/

Внимательно ознакомьтесь с информацией из даташита, но на что следует обратить внимание? Во-первых, у микросхемы, кроме основной части названия обычно присутствует переменная часть или приставка – чаще всего это одна или несколько букв.

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

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

У ArduinoUno напряжение питания и логических уровней 5 В, если внешнее устройство работает в 3.3 В диапазоне – вам придется сформировать их, питание можно устроить с помощью LDO стабилизатора (линейных с низким падением, для стабилизации ему нужно не менее 1.3 вольт «лишнего напряжения при максимальном токе, против 2-х вольт на стабилизаторах 78xx серии, что позволяет получить 3.3 вольта от 4.5 вольт (трёх пальчиковых батареек).

В технической документации для цифровых датчиков и устройств также указываются и названия протоколов, по которым они «общаются» друг с другом. Это могут быть индивидуальные протоколы и стандартные, те же:

UART;

I2C;

SPI.

Ардуино работает с ними. Это облегчит вам задачу в поиске готовых библиотек и примеров кода.





Согласование и усиление сигналов

Вопросы о согласовании устройств и исполнительных механизмов с ардуиной довольно часто возникают у новичков. Мы рассмотрим часто встречающиеся:

1. Согласование цепей по напряжению.

2. Согласование мощности выходного пина и исполнительного устройства, иными словами усиление напряжения и/или тока.

Согласование логических уровней

Что делать если на моём модуле логические уровни 3.3 Вольта, а на ардуино 5 Вольт? Довольно просто использовать конвертер логически уровней. Его можно собрать из дискретных элементов, а можно приобрести готовый модуль на плате, к примеру такой:

Такой преобразователь двунаправленный, т.е. он понижает высокий уровень и повышает ответный низкий. LV(1,2,3,4) – площадки для подключения низкоуровневых сигналов, HV(1,2,3,4) – высоких уровней, HV и LV без цифр – это напряжения 5 и 3.3 Вольта, как и у источников преобразуемых сигналов, GND – земля или минусовой провод. В конкретном экземпляре есть 4 независимых канала.

Согласование цепей с большой разницей напряжения

Если вы собираетесь заводить сигнал, например с цепей высокого напряжения, например 220 В, нужно использовать оптопару. Это обеспечит гальваническую развязку и защиту от высоковольтных всплесков входов микроконтроллера. Такие цепи используют, как для получения сигнала, так и для выходных сигналов от микроконтроллера в сеть, а также для управления симисторами в цепях.

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

Если и произойдет большой скачок – то сгорит оптопара, на картинке это PC8171, но никак вы не перегрузите порты микроконтроллера.

Подключение мощных потребителей

Так как микроконтроллер может только УПРАВЛЯТЬ работой устройств, вы не можете подключить мощный потребитель к её порту. Примеры таких потребителей:

Реле;

Соленоиды;

Электродвигатели;

Сервоприводы.

1. Подключение сервопривода

Основная задача сервопривода - это задать положение ротора подключенного к исполнительным механизмам, контролировать и изменять его с помощью малых усилий. То есть, вы, с помощью потенциометра, если сервопривод рассчитан на вращение в пределах половины оборота (180 градусов) или с помощью энкодера, если необходимо круговое вращение (360 градусов) можете управлять положением вала сервопривода (электродвигателя в нашем случае) произвольной мощности.

Многие любители робототехники используют ардуину в качестве основы своих роботов. Здесь сервоприводы нашли отличное применение. Их используют в качестве привода поворотных механизмов для камер, датчиков и механических рук. Радиомоделисты используют для привода поворота колес в моделях автомобилей. В промышленности используют большие приводы в ЧПУ станках и прочей автоматизации.

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

Красный - плюс питания, если привод мощный лучше подключать к внешнему источнику, а не к плате ардуино;

Черный или коричневый - минус, по подключению также, как и плюс;

Желтый или оранжевый - управляющий сигнал - его подают из цифрового пина микроконтроллера (digital out).

Для управления сервой предусмотрена специальная библиотека, обращение к ней объявляется в начале кода, командой "#include servo.h".





Подключение электродвигателя

Для привода в движение механизмов и регулировки скорости их вращения проще всего использовать ДПТ (щеточный двигатель постоянного тока с возбуждением от постоянных магнитов). Такие моторчики вы, наверняка, видели в радиоуправляемых машинках. Они легко реверсируются (включаются на вращение в нужном направлении) нужно просто сменить полярность. Не пытайтесь их подключить к пинам напрямую!

Лучше использовать транзистор. Подойдет любой биполярный, хоть прямой (pnp), хоть обратной (npn) проводимости. Полевые тоже подойдут, но при выборе конкретного убедитесь, работает ли его затвор с логическим уровнями?

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

Если между G и S не поставить резистора - тогда затвор (G) не будет притянут к земле и может самопроизвольно “гулять” от помех.

Как определить, что полевой транзистор пригоден для прямого управления с микроконтроллера смотрите ниже. В даташите найдите параметр Vgs, например для IRL540 все измерения и графики привязаны к Vgs=5v, даже такой параметр, как сопротивления открытого канала указан для этого напряжения между затвором и истоком.

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

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





Реле и соленоиды

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

Для этого нужно подать напряжение нужной на катушку реле. На схеме реле, его катушка рассчитана на управление 5-ю вольтами, силовые контакты могут коммутировать и пару вольт и сетевые 220 В.

Соленоиды - это катушки или электромагнитные исполнительные устройства.

Примеры:

Привод замков дверей автомобиля;

Электромагнитные клапана;

Электромагнит в металлургическом производстве;

Силовая установка пушки гаусса и прочее.

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

Транзистор для усиления управляющего тока, диод подключен в обратном направлении для защиты выхода микроконтроллера от всплесков ЭДС самоиндукции.

Устройства ввода и датчики

Вы можете управлять своей системой с помощью кнопок, резисторов, энкодеров. Кнопкой вы можете подать сигнал на цифровой вход ардуины высокого (high/5V) или низкого (low/0V) уровня.

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

Когда кнопка нажата на сопротивлении падает напряжение питания, то есть высокий (high) уровень. Когда кнопка не нажата - тока в цепи нет, потенциал на резисторе низкий, на вход подается сигнал "Low/0V". Это состояние называется "пин подтянут к земле, а резистор "pull-down".

Если нужно, чтобы, при нажатии на кнопку, микроконтроллер получал 0 вместо 1, подключите по этой же схеме нормально-замкнутую кнопку или читайте дальше как это сделать с нормально-разомкнутой.

Чтобы давать микроконтроллеру команду нулевым сигналом схема немного изменяется. К напряжению питания подключается одна нога резистора, вторая к точке соединения нормально-разомкнутой кнопки и цифрового входа ардуины.

Когда кнопка отпущена все напряжение остается на ней, вход получает высокий уровень. Это состояние называется "пин подтянут к плюсу", а резистор "pull-up". Когда вы нажмете кнопку вы шунтируете (замыкаете) вход на землю.

Делитель напряжения и ввод сигнала с потенциометра и резистивных аналоговых



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

Таким образом можно подключать различные аналоговые датчики резистивного типа и датчики которые под воздействием внешних сил изменяют свою проводимость. А также потенциометры.

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

Выводы

Чтобы без ошибок подключить любой модуль и дополнение к микроконтроллеру нужно знать основы электротехники, закон Ома, общие сведения об электромагнетизме, а также основы работы полупроводниковых приборов. На самом деле вы можете убедиться, что это всё гораздо проще сделать, чем слушать эти сложные слова. Пользуйтесь схемами из этой статьи в своих проектах!

Смотрите по этой теме:

7 учебных курсов по работе с Ардуино, онлайн обучение проектированию и конструированию электронной аппаратуры

Алексей Бартош


Источник: http://electrik.info