Как подключить операционный усилитель к ардуино

от admin

Задатчик тока 4-20 мА (от Arduino)

На этой страничке сайта представлен задатчик токовой петли, который обеспечивает РУЧНУЮ установку тока в диапазоне 2,2 — 22,0 мА. Такой прибор больше подходит для имитации реального аналогового датчика. Здесь же вы узнаете, как сделать задатчик, управляемый с помощью Arduino посредством кнопок. Его можно применять не только для калибровки преобразователей, но и для формирования управляющего аналогового сигнала, а также, как источник тока для питания нагрузки. Данный прибор обеспечивает установку тока в диапазоне 0 — 22,0 мА и его стабилизацию в двухпроводном подключении при изменении напряжения от 11 до 32 В.

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

Схема подключения датчика

Как известно, Arduino UNO не имеет своего собственного цифро-аналогового преобразователя (ЦАП), но его можно смоделировать по средством ШИМ-сигнала, который могут выдавать определенные цифровые пины платы (у Arduino UNO это 3, 5, 6, 9, 10, 11). К сожалению, ЦАП UNO имеет разрядность 8 бит (в отличии от АЦП в 10 бит), то есть выдавать ШИМ-сигнал мы сможем с точностью 1/256 (0,4%). Если вас это не устраивает, добро пожаловать на эту страничку.

Итак, опишем принцип работы данного задатчика. По средством двух кнопок (БОЛЬШЕ и МЕНЬШЕ) задается скважность ШИМ-сигнала, поступающего на один из цифровых пинов. Меняя скважность от 0 до 255, мы получим на выходе напряжение от 0 до 5 вольт (естественно, после сглаживания и фильтрации в задатчике). Это напряжение, пройдя через операционный усилитель LM358, будет управлять открытием и закрытием биполярного транзистора BD345, который непосредственно установит требуемый нам ток.

ЭЛЕКТРОСХЕМА

За основу устройства взята схема с форума radiokot.ru.

Центральной частью задатчика является микросхема LM358 (datasheet), представляющая из себя два операционных усилителя на одном кристалле. Сигнал от Arduino (например с цифрового пина 3) подается на вход задатчика (1 клеммницы PWM). Далее этот сигнал фильтруется в RC-фильтре (R3-C1) и поступает в неинвертирующий усилитель напряжения на первом ОУ LM358. Затем сигнал уходит на второй ОУ микросхемы, после чего подается на базу NPN-транзистора BD435 (datasheet), который и управляет током, проходящим по клеммам LOOP(+) и LOOP(-).

Электросхема задатчика тока

Рассмотрим назначение элементов схемы подробней.

  • К клемме GND надо подсоединить землю от Arduino.
  • Коэффициент усиления ОУ определяется отношением номиналов резисторов R1/POTI1. Обратите внимание, что хотя номинал подстроечного резистора POTI1 — 10К, выставлен он на 5К.
  • Потенциометрами POTI1 и резистором R5 можно устанавливать максимальный ток на выходе с задатчика (это может пригодиться, если вы захотите изменить диапазон рабочих токов).
  • Напряжение токовой петли задатчика ограничивается напряжением питания LM358 и транзистора BD435 — 32 вольта.
  • Резистор R2 выполняет роль подтягивающего. Он обеспечивает стабильность показаний на выходе при отсутствии сигнала с Arduino.
  • Резистор R4 ограничивает ток на базу транзистора.

СБОРКА ПЛАТЫ

Схема пайки элементов задатчика тока представлена на рисунке ниже. За базу взята макетная плата 55х40 мм. Конечно вы можете расположить элементы по другому и более компактно.

Схема пайки задатчика тока на макетной плате

  1. Транзистор BD435 соединяется с радиатором через термопасту.
  2. Микросхема LM358 монтируется в панельку DIP8.
  3. Все внешние подсоединения выполнены в трех вариантах : клеммница, штыревой соединитель «папа» и «мама» для проводов Dupont.
  4. Конденсатор C1 керамический, его емкость 4,7 мкФ.
  5. Мощность резисторов не менее 0,5 ватт, резистора R5 — 2 ватта.
  6. Подстроечный резистор также должны иметь мощность не менее 0,5 ватт.

ТЕСТОВЫЙ СТЕНД

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

Схема подключения задатчика для тестирования

Управлять системой можно с помощью трех кнопок : НАСТРОЙКИ, ВВЕРХ, ВНИЗ. Рассмотрим их функции подробно :

Кнопка НАСТРОЙКИ

При нажатии этой кнопки вы будете циклично переходить по пунктам меню. Изменение параметров осуществляется кнопками ВВЕРХ и ВНИЗ. Изменение цифровых параметров сразу принимается системой, подтверждение не нужно.

Пройдемся по пунктам меню Настройки.

  • PWM=XXX : скважность ШИМ-сигнала, которым задается напряжение на выходе с Arduino (256 градации).
  • PWM_Min=XXX : ШИМ-сигнал, соответствующий нижней точке токовой характеристики.
  • CurMin=XX.XX (current minimum) : нижняя точка токовой характеристики, мА.
  • PWM_Max=XXX : ШИМ-сигнал, соответствующий верхней точке токовой характеристики.
  • CurMax=XX.XX (current maximum) : верхняя точка токовой характеристики, мА.
  • SaveSet. (UP) : нажав кнопку ВВЕРХ, вы сохраните настройки программы в память контроллера. При перезагрузке контроллера (выключение — включение) именно эти настройки загрузятся в программу. Значение скважности ШИМ-сигнала в память не сохраняется и при запуске программы равно 0. Это сделано из соображений безопасности. Если вам важно сохранить этот параметр, внесите соответствующие изменения в скетч.
  • ReadSet. (UP) : нажав кнопку ВВЕРХ, вы перенесете настройки из памяти контроллера в программу.
  • Default (UP) : загрузка значений по умолчанию (пункты 2 — 5). При нажатии кнопки ВВЕРХ параметры, определенные в начале скетча, загрузятся в оперативную память PLC (в текущие настройки). Эта функция может быть полезна, когда вы запутались в регулировках и хотите все вернуть в исходное положение. Но есть и еще одна причина ее использования. Если вы на одну и ту же плату Arduino постоянно записываете скетчи разных проектов, возможна ситуация, когда параметры одного проекта запишутся в настройки другого. Конечно, это можно исправить, но представьте, что в параметре, где должно быть, например, число 10, стоит 32000. Вручную кнопками ВВЕРХ или ВНИЗ корректировать это очень долго, проще сбросить настройки к заводским, а уже затем их подправить.

Кнопки ВВЕРХ-ВНИЗ

Этими кнопками меняются значения параметров.

Индикация LCD

Верхняя строчка
«Cur=XX.XX» (current) — расчетный ток, мА. Он получен в результате интерполяции.
В скобках — скважность сигнала (0. 255).

Нижняя строчка
Пункты меню настроек.

КАЛИБРОВКА

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

Подсоедините к выходным клеммам токовой петли задатчика мультиметр в режиме замера тока. Кнопкой ВВЕРХ установите уровень ШИМ-сигнала 255, а затем потенциометром POTI1 установите ток по тестеру 22 mA.

Теперь зададим токовую характеристику. С помощью кнопок ВНИЗ и ВВЕРХ установите по мультиметру ток около 4 мА и измените соответственно параметры PWM_Min (берем с LCD) и CurMin (берем с тестера). Затем выставляем по мультиметру ток около 19,5 мА и меняем параметры PWM_Max и CurMax. Теперь при изменении силы тока задатчиком мы увидим такие же показания тока на LCD-экране, как и на мультиметре. Перепроверьте показания на LCD еще раз, при необходимости скорректируйте. Не забудьте сохранить изменения в памяти Arduino.

Стенд для калибровки

ЧТО НУЖНО ДЛЯ ПРОЕКТА

Задатчик тока

  • макетная плата под пайку 55х40 мм — 1 шт
  • операционный усилитель LM358 (datasheet) в корпусе DIP-8 — 1 шт
  • панелька DIP-8 — 1 шт
  • транзистор биполярный NPN BD435 (datasheet) в корпусе ТО-126 — 1 шт
  • клеммница двойная под пайку — 3 шт
  • радиатор не менее 7-8 см2 — 1 шт
  • резистор подстроечный многооборотный типа 3296 (datasheet) на 10К — 1 шт
  • резистор 240 Ом (2 Вт) — 1 шт
  • резистор 1К (0,5 Вт) — 1 шт
  • резистор 5,1К (0,5 Вт) — 1 шт
  • резистор 220К (0,5 Вт) — 2 шт
  • конденсатор керамический 4,7 мкФ — 1 шт
  • провод типа AWG — 10 см
  • штыревой соединитель — 12 шт
  • разъем PBS — 12 шт
  • термопаста

Тестовый стенд

  • PLC Arduino UNO (datasheet) — 1 шт
  • Sensor Shield v 5.0 (datasheet) — 1 шт
  • понижающий DC-DC преобразователь типа LM2596 (не менее 2А) — 1 шт
  • LCD-дисплей 1602 + модуль I2C — 1 шт
  • кнопка тактовая с колпачком — 3 шт
  • макетная плата под пайку 35х50 — 1 шт (для монтажа кнопок)
  • резистор 10 кОм (0,25 Вт) — 3 шт
  • стойка мама-мама М3х15 — 8 шт (для монтажа LCD-дисплея и задатчик тока)
  • гайка М3 — 50 шт и более в зависимости от способа крепления вышеуказанных элементов
  • болт М3х15, М3х10 — 20 шт и более
  • провод Dupont мама-мама или папа-мама (20 см) — 30 шт и более в зависимости от типа пинов соединяемых элементов
  • провод типа AWG — 50 см (соединение штекер — DC-DC преобразователь — Sensor Shield)
  • штекер питания DC 2.1 мм с клеммной колодкой папа и мама — 1 пара (для подключения шилда)
  • кусок оргстекла или т.п. — 20х30 см (для монтажа всех элементов)
  • болт М6х15 и гайка — 4 шт (ножки оргстекла)

СКЕТЧ

Ниже представлен скетч системы управления. В этом окне он неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке.

Arduino.ru

ЕвгенийП аватар

угу. я так понял ТС возмущают болтающиеся в воздухе входы. Что вобще не нормально.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

ты на 30 секунде посмотри схему, стабилизатор тока. а потом просто упрощенка, хотя смысла так показывать не вижу, ты как минимум один уже не понял

  • Войдите на сайт для отправки комментариев

посмотри с 1:37 по 1:42 и посмотри что собрано.

эта схема работоспособно от 4 до 5 В)) на диодах стоят ограничивающие резисторы и нафига операционный усилитель здесь))

  • Войдите на сайт для отправки комментариев

ЕвгенийП. Подключил по схеме из первого поста LM358. Схема работает. Светодиод светит.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

посмотри с 1:37 по 1:42 и посмотри что собрано.

эта схема работоспособно от 4 до 5 В)) на диодах стоят ограничивающие резисторы и нафига операционный усилитель здесь))

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

ЕвгенийП. Подключил по схеме из первого поста LM358. Схема работает. Светодиод светит.

А понимание есть почему работает с висящими входами? Объяснить можете или тоже, как я, в непонятках?

  • Войдите на сайт для отправки комментариев

открывается верхний транзитор скорее всего от наводок, так как в режиме компаратора работает, но он не работает как стабилизатор тока

просто открылся транзистор, резистор ограничивает ток, плюс падение на транзисторе. если бы работал в диапазоне 4-10В тогда да, работает как стабилизатор, а диапазон 4-5В это ниочем. падение на биполярнике даже на 0,7В при 5В питания уменьшает напряжение до 4,3В. падение на белом светодиоде 3-3,7В. остаток падает на 82 омах

если также будет работать от 10В соглашусь схема крута

  • Войдите на сайт для отправки комментариев

ЕвгенийП
Пока понимания нет. Просто стало интересно.
Значит у меня в цепи резистор на 150 ом. При питании +5 вольт на выходе 1,9 вольта. При +12 на выходе 2,1 вольта.

  • Войдите на сайт для отправки комментариев

вот это уже интереснее. если операционник еще не греется подними еще выше напряжение

покурил еще даташит. судя судя по нему внутри уже есть ограничение тока, вот в этом куске

источник тока 100мка открывает q5 и q6, увеличивается выходной ток, и соответственно ток через Rsc. резистор в цепи базы, при достижении определенного напряжения (тока) приоткрывается q7, пропуская через себя часть тока от 100мка. q5 и q6немного прикрылись, ток застабилизировался

  • Войдите на сайт для отправки комментариев

Там что выше написал мерил напряжение не на выходе, а на светодиоде.
Значит на микросхему 20 вольт подал (по документации она до 32 работает) На диоде 2 вольта.
Не греется.

  • Войдите на сайт для отправки комментариев

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

Для начала стоит рассмотреть работу ОУ от двуполярного источника питания. Это когда есть, например, +12В, -12В и «общий».
Если мы хотим понять, что будет на выходе, то должны взять разницу между входными напряжениями и умножить на Ку. И, если входы имеют одинаковое напряжение (даже когда они одинаково не подключены), то на выходе будет ноль.

Вы рассматриваете схему с однополярным питанием, значит на выходе будет полпитания.

  • Войдите на сайт для отправки комментариев

Там что выше написал мерил напряжение не на выходе, а на светодиоде.
Значит на микросхему 20 вольт подал (по документации она до 32 работает) На диоде 2 вольта.
Не греется.

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

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

  • Войдите на сайт для отправки комментариев

ОУ имеет огромный коэф. усиления. Обычно от единиц до десятков тысяч. Есть и заранее точно неизвестное смещение нуля. При неподключенных входах это смещение разгоняется полным паспортным усилением усилителя и устанавливает его выход в крайнее состояние. Для какой микросхемы как конкретно обернется, сказать нельзя. Даже если входы ОУ соединить вместе, смещение все равно остается. Его выравнивают либо через специальные балансировочные входы, либо за счет внешних цепей, подмещивающих балансировку на сигнальные входы. Но в любом случае при неподключенных входах ОУ работает в режиме компаратора. Он одинагово хорошо и очень сильно усиливает и любую внешнюю помеху, и собственные «стоны». А в чем смысл схемы, где светодиод подключен к выходу ОУ с неподключенными входами? Что означает, «она работает»?

  • Войдите на сайт для отправки комментариев

Рабочесть схемы здесь определяется показателем «светодиод горит». 🙂

  • Войдите на сайт для отправки комментариев

Уважаемые коллеги. Спасибо вам, что объяснили.
К вопросу «она работает». Я так понимаю просто, что по схеме из первого поста ОУ работает в режиме стабилизации по току.
Я подаю на вход от 5 до 32 вольт и рабочесть схемы определяется «светодиод горит» как и говорит даташит.

  • Войдите на сайт для отправки комментариев

Там что выше написал мерил напряжение не на выходе, а на светодиоде.

От и чудненько! А то уж я грешным делом подумал что в этой лаже есть здравый смысл. Воще светодиод сам по себе неплохой стабилизатор напряжения. Как правильно выше писали светодиод на 20мА и резистор 82Ом при 5В питания ни в каких ОУ не нуждаются. Вся роль ОУ сводится к подаче 5В. Пусть и нестабильно, при нужной фазе наводок на входах. Токовая защита выхода ОУ может влиять, но тогда и резистор был бы вобще не нужен, скорей всего она ни при чем.

Воще работа ОУ при висящих входах — это совершенно нештатное применение, годится разве что для поиска скрытой проводки, да и то только один вход висит.

  • Войдите на сайт для отправки комментариев

Специально посмотрел «ролик с мужиком». Понял, что хотели продемонстрировать ОУ как стабилизатор тока для светодиода. Испытал «культурный шок». Мрак. Ни схема, ни демонстрация к указанной задаче отношения не имеют. «Замкните выводы плоской батарейки и положите ее в рукавицу. Так Вы бесплатно согреете руки на зимней рыбалке.» Мрак.

  • Войдите на сайт для отправки комментариев

Батарейка в рукавице — крайне удачное сравнение с качествами обсуждаемой здесь схемы. Схемы из серии «Как самым причудливым и бессмысленым способом использовать радиокомпоненты».

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

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

Duino A.R., я правильно понял Вас, что:

1. Если я возьму несколько усилителей и буду просто мерять напряжение «выход-земля» (можно и без светодиода) — я буду получать разные значения для разных экземпляров?

2. Факт горения или не горения светодиода в этой схеме ничего не говорит, например, об исправности или неисправности усилителя?

  • Войдите на сайт для отправки комментариев

dimax аватар

Обсуждение дурацкости схемы несколько не в ту сторону — это схема из даташита.

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

1. Если я возьму несколько усилителей и буду просто мерять напряжение «выход-земля» (можно и без светодиода) — я буду получать разные значения для разных экземпляров?2. Факт горения или не горения светодиода в этой схеме ничего не говорит, например, об исправности или неисправности усилителя?

Это не штатный режим работы, что будет на выходе так же непредсказуемо как analogRead на неподключенном входе ардуино)

  • Войдите на сайт для отправки комментариев

Duino A.R., я правильно понял Вас, что:

1. Если я возьму несколько усилителей и буду просто мерять напряжение «выход-земля» (можно и без светодиода) — я буду получать разные значения для разных экземпляров?

2. Факт горения или не горения светодиода в этой схеме ничего не говорит, например, об исправности или неисправности усилителя?

1. На выходе классического ОУ при неподключенных входах будет максимальная или минимальная «полка» (зависит от знака смещения конкретного экземпляра) из-за смещения, либо генерация из-за самовозбуждения, либо шум «от края до края» из-за внешних наводок. Ситуация, когда при неподключенных входах на выходе ОУ некое стабильное напряжение, отличное от предельного, говорит, скорее, о неисправности ОУ. 🙂

Конкретные серии ИМС могут «тяготеть» к типовому смещению ввиду особенностей схемотехники и технологии изготовления. В общем случае — заранее неизвестно.

Бывают очень(!) редкие случаи ОУ специального назначения, например, измерительных. Там для высокой точности и термостабильности цепи обратных связей, термостабилизации, автобалансировки нуля, частотной коррекции сформированы на одном кристалле. Готовая ИМС ОУ из коробки имеет коэф. усиления, например 10 (просто десять), зато с точностью в сотые доли процента. «Нормальному» пользвателю о таких случаях можно не заморачиваться.

2. По сути — да. Представьте, что в выходных каскадах ОУ пробиты верхние по схеме транзисторы. Питание на светодиод через гасящий резистор буднет исправно поступать. Светодиод будет светиься.

Как подключить операционный усилитель к ардуино

Как подключить микрофон на Arduino, с операционным усилителем?

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

У меня есть пара двойных операционных усилителей lm833n , которые я хотел бы использовать. Я все еще пытаюсь понять операционные усилители.

Я читал инструкцию по аудио входу на Arduino. Он использует следующую схему:

принципиальная электрическая схема

Тем не менее, это для операционного усилителя TL072; Я не совсем уверен, смогу ли я использовать lm833n вместо него? И подходит ли эта схема для контактного микрофона?

Кроме того, было бы замечательно, если бы кто-нибудь мог указать мне на хорошее (простое) введение в операционные усилители — страница викибукс является немного плотной для меня

Я знаю, что он старый, но все еще может заинтересовать кого-то. С пьезоконтактным микрофоном вы можете также подключить два диода, позволяющие току проходить с земли на микрофонный выход и с микрофонного выхода на vcc. В нормальных условиях на них нет напряжения, но пьезо может создать серьезные скачки напряжения при ударе, и это защитит ваш усилитель / Arduino, поэтому избыточное напряжение может попасть на источник питания, а не на усилитель.

Это сработает, и предложение Оли о конденсаторе является хорошим. Я хотел бы указать еще пару вещей:

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

Другой вопрос: «Контактный микрофон» обычно означает пьезоэлектрический микрофон . Они отличаются от большинства других типов микрофонов тем, что имеют очень высокий выходной импеданс, порядка . Входной импеданс вашего усилителя на порядок меньше, что приведет к значительному ослаблению сигнала и изменению частотной характеристики системы микрофон-усилитель. Это будет работать, но это может звучать не очень хорошо . Это, конечно, субъективно и зависит от желаемого тембра. 10 M Ω

Решением является буферизация , преобразование выхода с высоким импедансом в выход с низким импедансом или, что эквивалентно, усиление тока. Операционный усилитель может сделать это в цепи, называемой повторителем напряжения :

схема повторителя напряжения

Поместите это между вашим микрофоном и входом уже имеющейся схемы (со стороны кабеля микрофона, если вы можете), и входное сопротивление вашего усилителя будет таким же, как у любого операционного усилителя, который вы используете, без изменения работы твоя схема. Как ни странно, я не вижу входного импеданса, указанного в техническом описании LM833N, но, поскольку он имеет входной каскад BJT, это, вероятно, несколько мегом. Это «высоко», но не выше пьезо. Вы хотели бы найти операционный усилитель с входным каскадом MOSFET с очень высоким входным импедансом: TL072 является распространенным подобным типом с паспортным входным импедансом в . 10 T Ω

Подключение нагрузки к Ардуино

Многие новички, после нескольких простых экспериментов с программируемыми микроконтроллерами Arduino, пытаются реализовать свои собственные задумки, но сталкиваются с довольно распространённой проблемой – подключением нагрузки.

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

Поэтому ниже рассмотрим варианты подключения различных типов нагрузок.

Основной принцип – запуск/останов внешнего блока по логическим уровням "единица-ноль" на выходе Ардуино. И лучше всего предусмотреть защиту микроконтроллера от скачков напряжения из подключаемой схемы.

Подключение слабых нагрузок

Простейший пример – светодиод. Большинство таких диодов имеет предельный порог по току в 20 мА (0,02А). Поэтому подключать их к Ардуино лучше всего через токоограничивающий резистор. Как его рассчитать, мы рассмотрели в отдельной статье, на всякий случай напомним формулу:

Здесь R – сопротивление участка цепи, в которую входят и ограничивающий резистор, и сам диод (их сопротивления складываются). Но так как собственное сопротивление диода ничтожно мало, то им в данной задаче можно просто пренебречь. Тогда получаем:

Rогр = 5 В / 0,02 А = 250 Ом.

То есть при включении в цепь питания резистора номиналом свыше 250 Ом мы получим падение силы тока ниже 0,02 А (что и нужно для светодиода).

Аналогично можно рассчитывать токоограничивающий резистор для других элементов.

Типовое включение маломощных элементов на примере того же светодиода можно увидеть ниже.

Рис. 1. Типовое включение маломощных элементов на примере светодиода

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

Читать:
Bu bt40a как настроить

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

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

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

Через биполярный транзистор

Классическая схема включения будет выглядеть так.

Рис. 2. Классическая схема включения через биполярный транзистор

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

На роль транзистора подойдёт практически любой n-p-n.

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

Через полевой транзистор

Действительно силовые схемы можно подключать к Ардуино через полевики.

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

Рис. 3. Классическая схема включения через полевой транзистор

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

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

А второй (10К) – используется для защиты самого микроконтроллера и исключения помех в работе транзистора (исключает Z-состояние).

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

Рис. 4. Индуктивная нагрузка

Чтобы повысить "управляемость" цепи, лучше всего выбирать мосфеты с пометкой "Logic Level" (они предназначены для работы с цифровыми логическими уровнями).

Через транзисторы Дарлингтона

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

Рис. 5. Схема управления

Здесь каждый выход Ардуино управляет отдельным составным транзистором (выход строго напротив). При необходимости транзисторы можно включать параллельно (каждый "тянет" нагрузку по 500 мА).

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

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

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

Рис. 6. Схема подключения нагрузки с оптореле

Резистор перед реле отвечает за ограничение тока. Рассчитывается как и в предыдущих примерах.

Оптореле не подойдёт только для случаев управления "быстрыми" схемами.

Выше мы обозначили только основные применяемые способы. На деле существует множество других методов подлючения мощных нагрузок к Ардуино и к другим микроконтроллерам:

1. Через семисторы (триаки)

Рис. 7. Подлючения мощных нагрузок к Ардуино и к другим микроконтроллерам через семисторы

2. Через классические реле (требуется ещё один посредник для управления самим реле)

Рис. 8. П одлючения мощных нагрузок к Ардуино и к другим микроконтроллерам через классические реле

3. Коммутация с одновременной стабилизацией

Рис. 9. Коммутация с одновременной стабилизацией

4. Драйвер с защитой от коротких замыканий

Рис. 10. Драйвер с защитой от коротких замыканий

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:

Управление мощной нагрузкой

Электромагнитное реле является по сути управляемым механическим выключателем: подали на него ток – оно замкнуло контакты, сняли ток – разомкнуло. Контакты являются именно контактами: металлическими “пятаками”, которые прижимаются друг к другу. Именно поэтому такое реле может управлять как нагрузкой постоянного, так и переменного тока.

Сама катушка реле является неслабой индуктивной нагрузкой, что приводит к дополнительным проблемам (читай ниже), поэтому для управления “голым” реле нам понадобится дополнительная силовая и защитная цепь.

После изучения данного урока вы сами сможете её составить (транзистор и диод), а сейчас мы поговорим о модулях реле: готовая плата, на которой стоит само реле, а также цепи коммутации, защиты и даже оптическая развязка. Такие модули бывают “семейными” – с несколькими реле на борту. Спасибо китайцам за это! Смотрите варианты у меня в каталоге ссылок на Али.

Такое реле сделано специально для удобного управления с микроконтроллера: пины питания VCC (Vin, 5V) и GND подключаются к питанию, а далее реле управляется логическим сигналом, поданным на пин IN. С другой стороны стоит клеммник для подключения проводов, обычно контакты подписаны как NO, NC и COM. Это общепринятые названия пинов кнопок, переключателей и реле:

  • COM – Common, общий. Реле является переключающим, и пин COM является общим.
  • NO – Normal Open, нормально открытый. При неактивном реле данный контакт не соединён с COM. При активации реле он замыкается с COM.
  • NC – Normal Closed, нормально закрытый. При неактивном реле данный контакт соединён с COM. При активации реле он размыкается с COM.

Подключение нагрузки через реле думаю для всех является очевидным:

Важный момент: катушка реле в активном режиме потребляет около 60 мА, то есть подключать больше одного модуля реле при питании платы от USB не рекомендуется – уже появятся просадки по напряжению и помехи:

blank

Такие модули реле бывают двух типов: низкого и высокого уровня. Реле низкого уровня переключается при наличии низкого сигнала (GND) на управляющем пине digitalWrite(pin, LOW) . Реле высокого уровня соответственно срабатывает от высокого уровня digitalWrite(pin, HIGH) . Какого типа вам досталось реле можно определить экспериментально, а можно прочитать на странице товара или на самой плате. Также существуют модули с выбором уровня:

На плате, справа от надписи High/Low trigger есть перемычка, при помощи которой происходит переключение уровня. Электромагнитное реле имеет ряд недостатков перед остальными рассмотренными ниже способами, вы должны их знать и учитывать:

  • Ограниченное количество переключений: механический контакт изнашивается, особенно при большой и/или индуктивной нагрузке.
  • Противно щёлкает!
  • При большой нагрузке реле может “залипнуть”, поэтому для больших токов нужно использовать более мощные реле, которые придётся включать при помощи… маленьких реле. Или транзисторов.
  • Необходимы дополнительные цепи для управления реле, так как катушка является индуктивной нагрузкой, и нагрузкой самой по себе слишком большой для пина МК (решается использованием китайского модуля реле).
  • Очень большие наводки на всю линию питания при коммутации индуктивной нагрузки.
  • Относительно долгое переключение (невозможно поставить детектор нуля, читай ниже), при управлении индуктивными цепями переменного тока можно попасть на большой индуктивный выброс, необходимо ставить искрогасящие цепи.

Важный момент связан с коммутацией светодиодных светильников и ламп, особенно дешёвых: у них прямо на входе стоит конденсатор, который при резком подключении в цепь становится очень мощным потребителем и приводит к скачку тока. Скачок может быть настолько большим, что 15-20 Ваттная светодиодная лампа буквально сваривает контакты реле и оно “залипает”! Данный эффект сильнее выражен на дешёвых лампах, будьте с ними аккуратнее (за инфу спасибо DAK). При помощи реле можно плавно управлять сильно инерционной нагрузкой, такой как большой обогреватель. Для этого нужно использовать сверхнизкочастотный ШИМ сигнал, у меня есть готовая библиотека. Не забываем, что реле противно щёлкает и изнашивается, поэтому для таких целей лучше подходит твердотельное реле, о котором мы поговорим ниже.

Постоянный ток

Оптопара

Оптопара – отличный элемент, позволяет выполнять две функции: коммутировать нагрузку (пусть и небольшую) и полностью физически развязывает микроконтроллер с ней. Оптопары можно использовать для имитации нажатия кнопок у других внешних устройств, то есть замыкать чисто логический сигнал. Также можно использовать для разрывания питания различных датчиков и модулей в устройстве вместо транзистора. Оптопара состоит из двух частей: светодиод, который мы включаем при помощи микроконтроллера, и выходная часть, которая может быть разной (транзистор, симистор и проч.), таким образом сигнал с микроконтроллера отделяется от нагрузки через луч света, что очень важно при коммутации высоковольтных или каких-то чувствительных цепей. Для управления внешними устройствами надо брать оптопары с транзисторным выходом, например очень распространённую PC814 и её аналоги (FOD814, LTV814 и прочие), при желании можно выковырять почти из любого блока питания. Данная оптопара позволяет коммутировать нагрузку с напряжением до 60 Вольт и током до 50 мА. Покажу вырезку из даташита с этими параметрами, у остальных оптопар параметры будут называться точно так же:

blank

Подключается оптопара следующим способом: светодиодом мы управляем с МК через резистор, а выход подключаем в разрыв нагрузки, соблюдая полярность. Что касается светодиода на управляющем входе оптопары – для него нужен резистор, как считать резистор для светодиода было рассказано в уроке про светодиоды. В большинстве случаев достаточно поставить резистор на 220 Ом, как и для любых светодиодов. Если ток светодиода будет меньше указанного, соответственно уменьшится максимальный ток выхода, что для этой оптопары уже критично (светодиод хочет аж 50 мА). Оптопара не предусмотрена для управления большой нагрузкой, обычно это коммутация других логических цепей, поэтому о токе можно не думать. Подключение нагрузки (условный нагрузочный резистор):

blank

blank

Для управления “кнопкой” другого устройства (фотоаппарат, кофемашина) достаточно подключить оптопару параллельно кнопке. Во избежание замыкания оптопары на кнопку (что сожгёт оптопару) желательно поставить защитный резистор с номиналом 200-1000 Ом. Тут будет две схемы, по сути одинаковые. Перед подключением нужно проверить мультиметром, где у кнопки “плюс”, а где “минус”, так как выход с оптопары у нас полярный.

blank

blank

Существует также интересная оптопара TLP172 с мосфетным выходом, причём неполярным (может коммутировать нагрузку в любую сторону)! Управляет напряжением до 60 Вольт при токе до 400 мА – уже вполне серьёзная игрушка.

Транзистор

Самый компактный способ управлять нагрузкой постоянного тока – транзистор. Транзисторы бывают биполярные и полевые (MOSFET, полевик, ключ). Биполярные уже морально и физически устарели, имеют много характеристик и требуют дополнительного изучения темы, поэтому мы рассмотрим только полевые транзисторы. Схема типовая и выглядит вот так:

blank

Или вот так, конкретно для корпуса to220. Также на этой схеме плата Ардуино питается от внешнего источника в пин Vin:

blank

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

Что за резисторы?

  • Резистор на 100 Ом (можно ставить в диапазоне 100-500 Ом, мощность любая) выполняет защитную функцию: затвор полевика представляет собой конденсатор, в момент открытия затвора конденсатор начнёт заряжаться и в цепи пойдёт большой ток (практически короткое замыкание), который может повредить пин Ардуино. Резистор просто ограничивает ток в цепи пин-затвор и спасает пин от скачков тока. В целом можно его не ставить, но когда-нибудь оно обязательно сломается =)
  • Резистор на 10 кОм (можно ставить в диапазоне 5-50 кОм, мощность любая) выполняет подтягивающую функцию для затвора. Если случится так, что плата Ардуино выключена или сигнальный провод от неё отвалился – на затвор будут приходить случайные наводки и он может случайно открыться. Если в этот момент будет подключен источник питания – нагрузка тоже включится! Восстание машин начнётся именно с этого момента. Подтягивающий к GND резистор позволяет “прижать” затвор, чтобы он не открылся сам по себе. Имеет смысл ставить его прямо на корпус транзистора, если монтаж производится навесом:

Я привёл схему, в которой используется N-канальный полевой транзистор, который управляет линией GND. Существуют также P-канальные мосфеты, они управляют линией питания. Такие транзисторы в целом дороже, реже встречаются и имеют высокий порог напряжения открытия, т.е. для их работы придётся ставить ещё один транзистор (биполярный) и с его помощью подавать более высокий сигнал от внешнего источника на затвор P-канального полевика. Поэтому в 99% случаев просто используют более удобные N-канальные ключи. Как выбрать транзистор для своей задачи? Первым делом смотрим на напряжение открытия транзистора (как читать график в даташите – см. видео урок ниже), 100% подойдёт транзистор с пометкой Logic Level в описании или даташите: такие мосфеты точно будут работать на полную катушку от пина МК. Само собой ток и напряжение должны соответствовать (взяты с запасом) для нагрузки, которую будет коммутировать мосфет. Есть ещё параметр сопротивление открытого канала, на этом сопротивлении будет падать напряжение и превращаться в тепло. Для мощных нагрузок нужно рассматривать полевики с низким сопротивлением канала, чтобы сильно не грелись. Приведу свой список мосфетов в двух основных корпусах: выводной to220 и dpack для поверхностного монтажа, в нём “Ток при 3V” и “Ток при 5V” означает максимальный ток через транзистор (на нагрузку) в Амперах при управлении логическим сигналом 3 и 5 Вольт. Максимальное напряжение для нагрузки смотрите у конкретного транзистора, но у всех оно выше 24V. “R” – сопротивление открытого канала в миллиомах (10^-3 Ом). Также полевики отсортированы по увеличению цены в российских магазинах =)

Маркировка R, мОм Ток при 3V Ток при 5V
IRLZ24NPBF 60 4 20
IRF3704ZPBF 7.9 10 >100
IRLB8743PBF 3.2 20 >100
IRL2203NPBF 7 30 >100
IRLB8748PBF 4.8 10 >100
IRL8113PBF 6 40 >100
IRL3803PBF 6 20 >100
IRLB3813PBF 1.95 20 >100
IRL3502PBF 7 >100 >100
IRL2505PBF 8 20 >100
IRF3711PBF 6 80 >100
IRL3713PBF 3 20 >100
IRF3709ZPBF 6.3 40 >100
AUIRL3705N 6.5 20 >100
IRLB3034PBF 1.7 >100 >100
IRF3711ZPBF 6 20 >100
Маркировка R, мОм Ток при 3V Ток при 5V
STD17NF03LT4 50 5 40
IRLR024NPBF 65 4 20
IRLR8726PBF 6 10 110
IRFR1205PBF 27 10
IRFR4105PBF 45 10
IRLR7807ZPBF 12 10 100
IRFR024NPBF 75 8
IRLR7821TRPBF 10 11 100
STD60N3LH5 8 30 160
IRLR3103TRPBF 19 11 100
IRLR8113TRPBF 6 40 110
IRLR8256PBF 6 10 110
IRLR2905ZPBF 13 100
IRLR2905PBF 27 20 90

Для слаботочных цепей мне нравится использовать полевик 2n7000 (купить мешок) – тянет до 400 мА. Корпус – компактный выводной to-92. Также у друзей-китайцев есть удобные готовые модули с мосфетами и всей необходимой обвязкой:

blank

Ну и самый важный момент: на полевой транзистор можно подавать ШИМ сигнал для “плавного” управления нагрузкой: плавно менять скорость вращения мотора, яркость светодиодной ленты, мощность обогревателя и прочее прочее!

Твердотельное реле (SSR DC)

Более простой вариант – твердотельное реле (Solid State Relay, SSR) для постоянного тока (DC), найти можно на том же Aliexpress по запросу SSR DC. Внимательно смотрим на маркировку: под выходными клеммами должно быть написано VDC, т.е. постоянное напряжение. Твердотельное реле имеет стандартный корпус для моделей постоянного и переменного тока, поэтому нужно читать что написано и не перепутать. Также в маркировке после слова SSR обычно указан ток в Амперах, т.е. SSR-25 это реле на 25 Ампер. Максимальное напряжение указано под выходными клеммами.

blank

Твердотельное реле подключается напрямую к Arduino, пин “-” к GND, “+” к любому цифровому пину. Выход реле ставится в разрыв цепи питания нагрузки, как выключатель. Важно не перепутать плюс и минус, потому что внутри реле представляет собой полевой транзистор на радиаторе =)

blank

Переменный ток

Симистор как вкл/выкл

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

blank

Для управления нагрузкой только в режиме вкл/выкл желательно ставить оптопару с детектором нуля (например MOC306x), она будет сама отключать и включать нагрузку только в моменты перехода напряжения в сети через 0, что сильно уменьшает помехи в сети. Также здесь стоят резисторы: 220 Ом – для ограничения тока на светодиод оптопары (смотри характеристики оптопары, как подбирать резистор я писал выше). И резистор между оптопарой и симистором: 220-470 Ом с мощностью 1-2 Вт (будет греться). Симистор нужно брать с хорошим запасом по току, чтобы меньше грелся. Также симисторы бывают серии BTA и BTB, у BTA корпус (металлическая часть) изолирован и рекомендуется брать именно их, чтобы не шарахало током от радиатора. Распиновка компонентов:

blank

У китайцев есть готовые модули с симистором и всей обвязкой. Кстати да, симистор греется под нагрузкой! Наличие радиатора обязательно, начиная с 200 Ватт.

Симистор как диммер

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

Для этой схемы нужна оптопара без детектора нуля, например серии MOC302x. Схема такой поделки может выглядеть вот так:

blank

Резисторы 51к обязательно мощные, так как на них будет выделяться 1 Ватт: гасим лишнее напряжение, чтобы не сжечь светодиод оптопары детектора нуля. Также готовый модуль можно купить на Али. Выглядит он вот так и имеет пины питания, пин контроля симистора и вывод детектора нуля. Как со всем этим работать – смотрите видос ниже:

Где-то существует китайская библиотека для управления таким модулем, но она мне не очень понравилась. Привожу два примера для ручного управления таким диммером на базе библиотеки GyverTimers: одноканальный и многоканальный. В многоканальном режиме достаточно подключить к Ардуино выход детектора нуля только с одного модуля, а вот управляющие пины уже указать в скетче. Рассмотренные ниже примеры можно чуть оптимизировать, заменив digitalWrite() на быстрый аналог.

Регулируемая электронная нагрузка постоянного тока на Arduino

Если вы когда-нибудь работали с батареями (аккумуляторами), импульсными (SMPS) или любыми другими источниками питания у вас наверняка возникала потребность в проверке их работы в различных условиях, то есть под различной нагрузкой. Устройство, которое обычно используется для этих целей, называется нагрузкой постоянного тока (Constant Current DC Load) и позволяет проверить выходной ток вашего источника питания и поддерживать его постоянным до тех пор пока не понадобится изменение условий его работы. В данной статье мы рассмотрим создание регулируемой электронной нагрузки постоянного тока на основе платы Arduino с максимальным входным напряжением 24V и силой тока до 5A. Для этого проекта в компании AllPCB была изготовлена печатная плата. Вы можете изготовить печатную плату, используя необходимые для этого файлы, у любого другого производителя.

Внешний вид регулируемой электронной нагрузки постоянного тока на основе платы Arduino

Наша регулируемая электронная нагрузка будет работать на основе операционного усилителя и MOSFET транзистора. Управлять всеми процессами в схеме будет плата Arduino Nano.

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

Наша электронная нагрузка будет иметь следующие особенности:

  1. Два переключателя для увеличения и уменьшения нагрузки.
  2. ЖК дисплей, на котором будет отображаться установленная нагрузка, текущая нагрузка и напряжение нагрузки.
  3. Максимальный ток нагрузки — 5A.
  4. Максимальное входное напряжение нагрузки — 24V.

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Два разъема (barrel socket).
  4. Mosfet irf540n (купить на AliExpress).
  5. Цифро-аналоговый преобразователь Mcp4921 (купить на AliExpress).
  6. Операционный усилитель Lm358 (купить на AliExpress).
  7. Шунтирующий резистор 0,1 Ом 5 Вт (купить на AliExpress).
  8. Резистор 1 кОм (купить на AliExpress).
  9. Резистор 10 кОм – 6 шт. (купить на AliExpress).
  10. Резистор 2 кОм – 2 шт. (купить на AliExpress).
  11. Конденсатор 1 мкФ 50В (купить на AliExpress).
  12. Теплоотвод (радиатор).

Схема проекта

Схема регулируемой электронной нагрузки постоянного тока на основе платы Arduino представлена на следующем рисунке.

Схема регулируемой электронной нагрузки постоянного тока на основе платы Arduino

В представленной схеме операционный усилитель имеет 2 секции: одна управляет MOSFET транзистором, а другая усиливает измеряемый ток. Первая секция содержит резисторы R12, R13 и MOSFET. Резистор R12 используется для уменьшения действия нагрузки в цепи обратной связи, а R13 является резистором затвора MOSFET транзистора. Более подробно про работу схемы и назначение ее элементов вы можете посмотреть на видео, приведенном в конце статьи, правда, на английском языке.

Дополнительные два резистора R8 и R9 используются для измерения напряжения, поступающего от источника питания. Исходя из их номиналов по правилу делителя напряжения легко определить что максимальное измеряемое напряжение составит 24V, если напряжение будет больше 24V, то оно может повредить контакт платы Arduino, поскольку на него в этом случае будет поступать напряжение более 5 В.

R7 является нагрузочным резистором, его сопротивление составляет 0,1 Ом и он может рассеивать мощность до 5 Вт. Исходя из формулы для расчета мощности P = I2R он может выдерживать ток до 7A, но в целях безопасности лучше ограничить ток, протекающий через данный резистор, значением 5A. Таким образом, получается что наша регулируемая электронная нагрузка постоянного тока (то есть эквивалент нагрузки) рассчитано на напряжение до 24V и ток до 5A.

Другая секция операционного усилителя работает как обычный усилитель с коэффициентом усиления 6x. При протекании тока через какой либо электронный элемент на нем создается падение напряжения. К примеру, если ток 5A протекает через шунтирующий резистор сопротивлением 0,1 Ом, то в нем по закону Ома (V = I x R) создается падение напряжения 0,5 В. Наш неинвертирующий усилитель усилит это значение в 6 раз, следовательно, на выходе второй секции операционного усилителя будет напряжение 3V. Это напряжение подается на аналоговый контакт платы Arduino Nano, которая измеряет его и на основе этого рассчитывает силу протекающего через шунтирующий резистор тока.

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

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

Плата Arduino Nano передает цифровые данные ЦАПу MCP4921 по протоколу SPI и, таким образом, производит управление нашей электронной нагрузкой. Также она отображает необходимые данные на экране ЖК дисплея 16×2. Также к плате Arduino Nano подключены две кнопки для увеличения и уменьшения значения нагрузки. Вместо их подключения к цифровым контактам (как обычно) мы их подключили к аналоговым контактам платы Arduino. Поэтому вместо них можно в проекте использовать другие типы переключателей, например, слайдеры или аналоговые энкодеры. Также, при помощи небольших изменений в коде программы можно непосредственным образом подавать «сырые» (необработанные) аналоговые данные (raw analog data) в цепь операционного усилителя для управления нагрузкой. Подключение кнопок к аналоговым контактам также устраняет проблему, связанную с дребезгом их контактов (debounce problem).

Таким образом, в нашей схеме плата Arduino Nano передает данные ЦАПу в цифровой форме, ЦАП преобразует их в аналоговый вид и подает на вход операционного усилителя, который управляет работой MOSFET транзистора. Протекающий через шунтирующий резистор ток создает падение напряжения на нем, которое усиливается вторым каналом микросхемы LM358 и поступает на плату Arduino Nano, которая отображает его значение на экране ЖК дисплея. При помощи кнопок можно увеличивать и уменьшать значение тока через нагрузку.

Изготовление печатной платы для проекта

Спроектированная нами печатная плата для рассматриваемого в данной статье проекта регулируемой электронной нагрузки на основе платы Arduino показана на следующем рисунке.

Печатная плата для нашего проекта

Скачать Gerber файлы этой печатной платы вы можете по следующей ссылке — Download Adjustable Electronic DC Load Gerber File.

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

Заказ печатной платы на сервисе allpcb.com

Ввод характеристик печатной платы на сервисе allpcb.com

Страница предзаказа печатной платы на сервисе allpcb.com

Оплата заказа печатной платы на сервисе allpcb.com

После изготовления печатная плата пришла авторам проекта вот в такой вот коробке:

Внешний вид упаковки печатной платы с сервиса allpcb.com

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

Внешний вид изготовленной печатной платы для нашего проекта

После сборки проекта на основе этой печатной платы получился следующий окончательный вид конструкции нашего проекта:

Внешний вид собранной конструкции нашего проекта

Объяснение программы для Arduino

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

Похожие публикации