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

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

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

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

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

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

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

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

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

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

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

LDO стабилизатор

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

  • 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 В.

Соленоид

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

Примеры:

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

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

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

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

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

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

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

Подключение лампчоки через реле

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

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

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

Подключение кнопки к ардуино

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

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

Подключение кнопки к ардуино

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

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

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

Делитель напряжения

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

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

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

Подключение потенциометров и датчиков

Выводы

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

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

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

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

EnglishRussianUkrainian