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

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

  • автор:

Регулируемая электронная нагрузка постоянного тока на 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

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

Простая электронная нагрузка на Arduino.

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

Всем привет.
Предлагаю вашему вниманию простую схему для тестирования ёмкости аккумуляторов током до 5 А с рабочим напряжением до 20 В.

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

Операционных усилителей в наличии не было, пришлось обходиться без них:

Как видите, в железе она реально простая.
На схеме видим аккумулятор в трёхпроводной схеме подключения, который будет разряжаться через датчик тока R2.
Нога currentSense мониторит ток. Для большей точности АЦП опорное напряжение выбрано внутреннее (1.1 вольт для atmega328). Теоретическая точность поддержания тока – 10ма.
Схема также мониторит напряжение на аккумуляторе, подавая его через делитель 1/5 или 1/20 на ногу VSense.
Делитель работает в двух режимах – если напряжение аккумулятора выше 5В, нога «1/5-1/20» замыкается на землю, получаем делитель 1 к 20.
Разрядность измерения напряжения в таком случае около 20 мВ (1100мВ опорного ардуино/1024 шага) * коэффициент деления 20
Если напряжение аккумулятора меньше 5В, ардуино подвешивает ногу «1/5-1/20» в высокоимпедансное состояние, резистор R5 оказывается подвешенным в воздухе и в делении не участвует – получается делитель 1 к 5 и большая точность измерения напряжения. Спасибо товарищу Ksiman за идею.

Принцип работы весьма прост: через «интерфейс» (монитор com порта) задаём ток разряда в миллиамперах, а также напряжение отсечки в милливольтах, и нажимаем запуск.
В этот момент запускается PD регулятор, который в цикле несколько десятков раз в секунду отслеживает ток на датчике тока R2, сравнивает его с целевым значением и подаёт ШИМ 5В (нога PWM) на интегратор R1C1, увеличивая или уменьшая ток нагрузки.
Напряжение на затворе меняется очень плавно (постоянная времени R1C1 около 0.5с), за счёт этого обеспечивается хорошая точность поддержания тока несмотря на весьма посредственную линейность полевика в линейном режиме.
Частота ШИМ 2кГц, разрядность 10 бит.
Измерения напряжения и тока пятикратное, максимальное и минимальное значения выкидываются, оставшиеся 3 усредняются.

Использование

Заливаем скетч в ардуино (я использовал nano).
Настраиваем (раздел по настройке чуть ниже).
Идём в монитор com-порта:
Я немного заигрался, и получилась вот такая большая менюха.
Здесь отображаются текущие показания вольтметра и амперметра, целевой ток и напряжение, а также меню запуска и настройки.
Нагрузка показывает 4159 мВ, реальное напряжение на батарее при этом 4.16 В

Выбираем нужный режим, напряжение отсечки, ток и запускаем процесс.

Нажимаем 3, вводим значение напряжение отсечки:
Я выбрал 3000 мВ. Новые показания отобразились на панели управления.

Устанавливаем ток разряда.
Нажимаем 2, вводим ток в миллиамперах, например 3500

Нажимаем 1, процесс запускается.
Перед запуском программа проверяет наличие аккумулятора – если напряжение ниже 500мВ, то процесс не запустится, высветится сообщение.
До нуля при, этом, разрядить аккумулятор можно, выставив соответствующий Cut-off через меню.
В любой момент в процессе разрядки, как и в любом пункте меню, можно прерваться, отправив 0

Как видим, ток не достиг целевого значения, напряжения на затворе не хватило, чтобы транзистор нормально открылся. Тут всему виной напряжение USB конструктивная особенность платы nano: у неё по входу питания от USB стоит диод, после которого в питание приходит 4.6 вольта. Расчёт всё равно получится корректным, т.к. для расчёта используются реальные показания тока. Но мы для красоты выставим ток 3А 🙂

При показаниях 3.910 мВ реальное напряжение на клеммах батареи 3.93В, а относительно нуля ардуины – всё те же 3.91В.
Разница падает на сопротивлении клеммника и минусового отрезка провода от держалки батареи до общей точки — плата за трёхпроводную схему измерения. Да и сама держалка имеет контакты слишком мелкого диаметра, аккумулятор то и дело норовит коснуться лишь части поверхности электрода держалки, что тоже увеличивает сопротивление.
По достижении заданного напряжения или по нажатию 0 разряд прекращается.

Пункт 4 меню для дебага – просто показывает показания АЦП. Нажать 0 для выхода в главное меню.
Пункт 5 слегка приоткрывает транзистор, не используя PD-регулятор, чтобы можно было померить ток амперметром. Был нужен для дебага, пригодится для калибровки. Нажать 0 для выхода в главное меню.
Пункт 6 позволяет переключать стиль отображения информации CSV или «нормальный»
CSV режим – удобен для отправки данных в эксель.
«Нормальный» режим:

Power – это на самом деле не мощность, а текущее значение ШИМ (1023 максимум, т.е. 5 вольт)
Calcs per interval говорит нам о том, сколько раз PD регулятор поработал за время между отправкой данных в com-порт (2 секунды по умолчанию).
Пока писал обзор, дописал и протестировал пункт 7 — переключение между режимами разряда постоянным током, сопротивлением или мощностью.

Получившиеся данные с помощью технологии CopyPaste копируем в Excel и строим графики.
Относительно свеженькая VTC5, куплена около года назад, использовалась раз 30.

А вот этим двум товарищам явно пора на покой, в процессе разряда нагрелись до 42 и 37 градусов, отдав смешные 1300 и 1670 мАч. Это и не удивительно, я 3 года практически ежедневно разряжал их «досуха» в мощной электронной сигарете.

А вот 18650 элемент с интригующим названием SkywolEye на токе 1 А выдал потрясающие 69мАч.

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

Поговорим о точности измерений

В процессе тестирования замерял напряжение и ток самыми простыми мультиметрами, для контроля сверяясь с осциллографом. Результаты свёл в таблицу.

Как видим, на токах до 200 мА ловить нечего – практически постоянная ошибка в 25-30 мА.
Ток при этом стабильный, но неправильный. Можно было откалибровать программно, но это не спортивно, у нас всё-таки простая электронная нагрузка.
Начиная от 2,5 Ампер ошибка вызвана разогревом шунта, при обдуве его вентилятором схема выходит на заданный ток.
Последняя строка, выделенная синим — максимальный ток, который удалось получить с 5 вольт управляющего напряжения. Здесь использовал Arduino UNO — у неё нет диода по входу USB, и транзистор открывается лучше.
Погрешность по току стала меньше, т.к. здесь использовал маленький чит в виде обдува шунта. Будем считать, что я сделал шунт помощнее 🙂

С напряжением дела обстоят получше, погрешность небольшая, растёт с током, вызвана, очевидно, сопротивлениями силовых контактов.
Что касается измерения энергии:
Протестированная мной VTC5 по данным прибора имеет заряд в 2449 мАч и энергию в 8618 мВтч.
Из случайных источников взял энергию данного элемента и сравнил с тем, что у меня получилось.
Источник 1
Источник 2
Видим погрешность измерения заряда («ёмкости») и энергии 2% и 4%, соответственно.
Следует также учесть тот факт, что элемент у меня не новый и его запасённая энергия меньше.
Если пересчитать полученную мной энергию с учётом погрешности измерений напряжения в 33мВ (т.е. «увеличить» напряжение в расчёте на эти 33 мВ), то отданная энергия получается 8703 мВтч, что на 1 % больше посчитанного ардуиной значения.

А давайте посмотрим сигналы

На затворе полевика всё ровно и гладко, давайте покажу сигнал на токовом шунте.
В открытом режиме осциллографа пульсации тока не видны, показываю в закрытом режиме (это когда постоянная составляющая сигнала отфильтровывается) на пределе 5 мв/дел, т.е. 1 клетка это 50 мА тока в нагрузке.
Осциллограмма меня не порадовала, была видна какая-то широченная помеха шириной аж в 2 клетки.

В одной клетке 200нс умещаются аж 3 периода, нетрудно посчитать период сигнала в 66, (6) нс и частоту в 15 мгц, что подозрительно похоже на частоту кварца Ардуино.
Как оказалось, ардуино довольно шумная и излучает вокруг себя во все стороны радиопомеху на своей тактовой частоте. Даже с щупом, замкнутым на собственный земляной крокодильчик, эта помеха имела место. Даже с выключенной электронной нагрузкой. Даже просто на голой ардуине, к которой подведено только питание. К счастью, помеха не имеет видимого влияния на стабилизацию тока, т.к. довольно симметричная и быстрая.
Однако в процессе разряда аккумуляторов ток всё же немного «дрожит», примерно на 1/10 ячейки, или 5 мА.
Выглядит вот так.

Мультиметр на «точном» пределе в 200ма такие пульсации практически не замечает, по его показаниям ток меняется на 1-2 мА.

Выбор компонентов и рекомендации

Держалка батарей
Изначально использовал вот такую , припаяв 3 провода для трехпроводного включения. Её вполне можно использовать на обозреваемых «детских» токах.
Потом подоспела вот такая
За свои деньги неплохой «любительский» вариант, удобна универсальностью, хотя я почти уверен, что на высоких токах будет давать сильную погрешность.
Силовой транзистор подойдёт в принципе любой, типа IRP460, IRFP260, irfp250, w20nk50z и им подобные. Не стоит гнаться за большими токами и напряжениями в даташитах, также как и за маленьким сопротивлением Rds(on) – всё равно транзистор работает в линейном режиме, т.е. он своим сопротивлением регулирует ток в нагрузке.
В первом приближении размер корпуса транзистора намного важнее тока и напряжения. Больше корпус – больше сможет рассеять. Одну банку 18650 на токе в 4 ампера можно и на irf840 разрядить. Я на всякий случай прицепил транзистор на винтовой клеммник для оперативной его замены в случае отстрела 🙂
Я также экспериментировал с безымянными IGBT в TO-247 из плазменного телевизора, они классные, но за счёт падения напряжения эмиттер-коллектор одиночные ni-mh не потестировать.
Токовый шунт необходимо выбирать с запасом по мощности, чтобы не нагревался, либо искать резисторы, выполненные из материалов с низким температурным коэффициентом сопротивления. У меня валялись выдранные откуда-то пятиваттные MPR-5W, собрал 3 шт последовательно, на токе 5А греются до 50 градусов. Судя по показаниям старенького MAS830, на 3 амперах ток разряда в работе уплывает на 20 мА из-за нагрева резисторов, т.е. сборочку резисторов надо бы делать помощнее.

Минусовой провод от батареи до общей на схеме точки делаем максимально толстым и коротким – на нём просаживается часть напряжения, что несколько ухудшает точность замера напряжения на АКБ по сравнению с классической 4-х проводной схемой. Я не заморачивался и взял чёрный провод от БП ATX.
Мой вариант выполнен в классическом раздолбайско-макетном стиле

Выводы и результаты

схема простая, работает, но не без косяков.
Плюсы данного девайса:
• простота сборки, повторяемость: сможет собрать и настроить любой, у кого есть Ардуино, мультиметр и горстка доступных радиокомпонентов.
• Приемлемая точность измерения ёмкости (заряда) в диапазоне от 500 мА.
• Несколько режимов измерения.
За простоту приходится расплачиваться:
• Минимальный ток разряда 150мА
• Завышает ток на 10-20 мА на низких токах разряда (до 500 мА).
• сложность масштабирования (необходимо городить дополнительные PD контроллеры под каждый дополнительный мосфет)
• плохая точность расчёта запасённой энергии.
Надеюсь, данная заготовка пригодится тем, кто хотел потестировать свои аккумуляторы в лёгком режиме, но по каким-то причинам стеснялся. Точности в 2% для измерения ёмкости должно хватить.
В процессе макетирования родилось много идей и задумок, но я сегодня решил всё же не отходить от темы электронной нагрузки из минимума деталей.
Например, сюда можно приделать схему заряда, датчик температуры батарей и выводить её в график, или аварийно останавливать разряд по температуре.
Чтобы увеличить точность, всё же не обойтись без ОУ: необходимо усиливать сигнал с шунта с помощью ОУ и, соответственно, повышать опорное, например, брать его с той же TL431.

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

Операционные усилители: 10 схем на (почти) все случаи жизни

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

Введение

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

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

1. Неинвертирующий усилитель

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

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

Из этой формулы легко получается коэффициент усиления неинвертирующего усилителя:

Рассчитаем и промоделируем неинвертирующий усилитель со следующими параметрами:

  • Операционный усилитель LT1803
  • Коэффициент усиления
  • Частота входного сигнала
  • Амплитуда входного сигнала
  • Постоянная составляющая входного сигнала

Результат моделирования данной схемы приведен на рисунке (картинка кликабельна):

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

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

2. Повторитель

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

Как видно из формулы, приведенной в прошлом разделе, коэффициент передачи для повторителя равен единице, то есть выходной сигнал в точности повторяет входной. Зачем же вообще нужен операционный усилитель в таком случае? Он выступает в роли буфера, обладая высоким входным сопротивлением и маленьким выходным. Когда это бывает нужно? Допустим, мы имеем какой-то источник сигнала с большим выходным сопротивлением и хотим этот сигнал без искажения передать на относительно низкоомную разгрузку. Если мы это сделаем напрямую, без каких бы то ни было буферов, то неизбежно потеряем какую-то часть сигнала.

Убедимся в этом с помощью моделирования схемы со следующими основными параметрами:

  • Выходное сопротивление источника сигнала 10 кОм
  • Сопротивление нагрузки 1 кОм
  • Частота входного сигнала
  • Амплитуда входного сигнала
  • Постоянная составляющая входного сигнала

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

3. Инвертирующий усилитель (классическая схема)

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

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

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

Отсюда коэффициент усиления инвертирующего усилителя равен

По инвертирующему усилителю можно сделать следующие выводы:

  1. Инвертирующий усилитель инвертирует сигнал. Это значит, что необходимо применение двухполярного питания.
  2. Величина модуля коэффициента усиления инвертирующего усилителя равна отношению резисторов цепи обратной связи. При равенстве номиналов двух резисторов коэффициент усиления равен -1, т.е. инвертирующий усилитель работает просто как инвертор сигнала.
  3. Величина входного сопротивления инвертирующего усилителя равна величине резистора R1. Это важно, потому что при маленьких значениях R1 может сильно нагружаться предыдущий каскад.
  • Операционный усилитель LT1803
  • Коэффициент усиления
  • Частота входного сигнала
  • Амплитуда входного сигнала
  • Постоянная составляющая входного сигнала

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

Входное сопротивление данной схемы равно . А что будет, если источник сигнала будет иметь значительное выходное сопротивление, допустим, эти же 10 кОм? Результат моделирования этого случая представлен на рисунке ниже (картинка кликабельна).

Амплитуда выходного сигнала просела в два раза по сравнению с предыдущим случаем! Очевидно, что это все из-за того, что выходное сопротивление генератора в этом случае равно входному сопротивлению инвертирующего усилителя. Таким образом, стоит всегда помнить про эту особенность инвертирующего усилителя. Как же быть, если все-таки требуется обеспечить работу источника сигнала с высоким выходным сопротивлением на инвертирующий усилитель? В теории надо увеличивать сопротивление R1. Однако одновременно с эти будет расти и сопротивление R2. Если мы хотим обеспечить входное сопротивление схемы в 500 кОм при коэффициенте усиления 10, резистор R2 должен иметь сопротивление в 5 МОм! Такие большие номиналы сопротивлений применять не рекомендуется: схема будет очень чувствительной к наводкам, пыли и флюсу на печатной плате. Есть ли какие-то выходы из этой ситуации? На самом деле да. Можно, например, использовать буфер-повторитель, который мы рассмотрели в прошлом разделе. А можно еще применить схему с Т-образным мостом в обратной связи, про нее поговорим в следующем разделе.

4. Инвертирующий усилитель с Т-образным мостом в цепи ОС

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

Коэффициент усиления этой схемы равен

Рассчитаем усилитель со следующими параметрами:

  • Операционный усилитель LT1803
  • Коэффициент усиления
  • Частота входного сигнала
  • Амплитуда входного сигнала
  • Постоянная составляющая входного сигнала
  • Входное сопротивление

Результаты моделирования схемы усилителя приведены на рисунке ниже (картинка кликабельна).

Попробуем теперь подключить источник с выходным сопротивлением 10 кОм, как мы это сделали в предыдущем разделе. Получим такую картинку (кликабельно):

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

5. Инвертирующий усилитель в схемах с однополярным питанием

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

Расчет этой схемы строится все на том же принципе равенства напряжений на инвертирующем и неинвертирующем входах усилителя. Ток через цепочку резисторов R1-R2 инвертирующего плеча равен.

Отсюда напряжения на инвертирующем входе равно

Напряжение на неинвертирующем входе равно

Исходя из принципа равенства напряжения на инвертирующем и неинвертирующем входах получаем

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

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

  • Операционный усилитель LT1803
  • Коэффициент усиления
  • Частота входного сигнала
  • Амплитуда входного сигнала
  • Постоянная составляющая входного сигнала
  • Напряжение источника смещения

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

6. Инвертирующий сумматор

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

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

Рассчитаем и произведем моделирование инвертирующего сумматора со следующими параметрами:

  • Операционный усилитель LT1803
  • Частота входного сигнала
  • Амплитуда входного сигнала №1
  • Амплитуда входного сигнала №2
  • Амплитуда входного сигнала №3
  • «Вес» сигнала №1
  • «Вес» сигнала №2
  • «Вес» сигнала №3

Результат моделирования приведен на рисунке ниже (картинка кликабельна).

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

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

7. Дифференциальный усилитель

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

Схема дифференциального усилителя приведена на рисунке.

Для дифференциального усилителя можно записать следующие выражения:

Решая эту систему уравнений, получаем

Если мы примем, что

то данное выражение упрощается и преобразуется в

Таким образом, коэффициент усиления дифференциального сигнала определяется отношением R2 к R1.

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

Произведем моделирование схемы со следующими параметрами:

  • Операционный усилитель LT1803
  • Коэффициент усиления
  • Частота входного сигнала
  • Амплитуда входного сигнала №1
  • Амплитуда входного сигнала №2
  • Величина усиливаемого сигнала

Как видим, разница между сигналами и в 5 мВ оказалась усиленной в 50 раз и стала 250 мВ.

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

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

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

8. Источник тока

Операционный усилитель при определенном включении может работать как источник тока. Источник тока поддерживает постоянный ток вне зависимости от величины сопротивления нагрузки (в идеальном источнике нагрузка может быть вообще любая, в реальном – не больше какой-либо величины, пропорциональной максимально возможному напряжению, которое может сформировать на ней источник тока). Возможно как минимум две схемы источника тока на операционном усилителе: с плавающей нагрузкой и с заземленной нагрузкой. Схема источника тока с плавающей нагрузкой предельно проста и приведена на рисунке ниже

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

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

Величина тока рассчитывается так:

Произведем расчет и моделирование источника тока со следующими параметрами:

  • Операционный усилитель LT1803
  • Величина силы тока
  • Величина сопротивления нагрузки

Результат моделирования источника тока с заданными параметрами представлен на рисунке ниже (изображение кликабельно).

На рисунке приведено два графика. Верхний график показывает величину тока через сопротивление нагрузки, и она равна 10 мА. Нижний график показывает напряжение на нагрузке, оно равно 100 мВ. Попробуем теперь изменить сопротивление нагрузки: вместо 10 Ом возьмем 100 Ом и промоделируем (изображение кликабельно):

Как мы видим, через нагрузку течет все тот же самый ток в 10 мА: операционный усилитель отработал изменение нагрузки, повысив на ней напряжение, оно теперь стало равным 1 В. Но в реальности операционный усилитель не сможет поднимать напряжение бесконечно: оно ограничено напряжением источника питания (а зачастую еще и несколько меньше него). Что же будет, если задать сопротивление нагрузки слишком высоким? По сути, источник тока перестает работать. На рисунке ниже пример моделирования источника с сопротивление нагрузки в 1 кОм (изображение кликабельно).

Согласно графику, ток через нагрузку теперь уже никакие не 10 мА, а всего лишь 4 мА. При дальнейшем повышении сопротивления нагрузки ток будет все меньше и меньше.

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

9. Интегратор на операционном усилителе

Думаю, что все читатели знакомы с классической схемой интегратора на RC-цепочке:

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

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

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

Как видно из рисунка, эта схема представляет собой классический интегратор на RC-цепочке, к которому добавлен повторитель на операционном усилителе: с помощью него решается проблема выходного сопротивления.

Интегратор можно также рассматривать как фильтр нижних частот. Частота среза АЧХ фильтра высчитывается по формуле

Тут стоит обратить внимание на один очень важный момент. Надо всегда помнить, что частота среза, рассчитанная выше, верна только для RC-цепочки и не учитывает частотных свойств самого операционного усилителя. Частотными свойствами операционного усилителя можно пренебречь, если мы попадаем в его рабочий диапазон частот, но если мы вдруг выйдем за него, то итоговая частотная характеристика схемы будет совсем не такой, как мы ожидали. Грубо говоря, если у нас RC-цепочка настроена на 1 МГц, а операционный усилитель позволяет работать до 100 МГц – все хорошо. Но если у нас цепочка на 10 МГц, а операционный усилитель работает до 1 МГц – все плохо.

В качестве примера рассчитаем ФНЧ со следующими параметрами частотой среза АЧХ в 1 МГц. Для такой частоты можно выбрать

  • Частота среза АЧХ
  • Операционный усилитель LT1803 (Максимальная частота 85 МГц)

Результат моделирования приведен на рисунке ниже (изображение кликабельно). На этом рисунке показаны две частотные характеристики: отдельно для RC-цепочки (красная линия) и для всей схемы целиком (RC-цепочка+операционный усилитель, зеленая линия).

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

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

10. Дифференциатор на операционном усилителе

Схема простейшего дифференциатора на RC-цепочке известна ничуть не меньше, чем схема интегратора:

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

Однако и в этом случае более подробно рассмотрим другую схему, состоящую из классического дифференциатора на RC-цепочке и повторителя на операционном усилителе:

Если интегратор мы рассматривали как простейший фильтр нижних частот, то дифференциатор наоборот – фильтр верхних частот. Частота среза АЧХ считается все по той же формуле

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

В качестве примера рассчитаем ФВЧ с частотой среза АЧХ равной тем же 1 МГц. Для такой частоты можно выбрать все те же номиналы компонентов, которые были в случае ФНЧ:

Результат моделирования приведен на рисунке ниже (картинка кликабельна). На этом рисунке показаны две частотные характеристики: отдельно для RC-цепочки (красная линия) и для всей схемы целиком (RC-цепочка + операционный усилитель, зеленая линия).

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

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

Заключение

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

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

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

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

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

Такое реле сделано специально для удобного управления с микроконтроллера: пины питания 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() на быстрый аналог.

Усилитель для термопары на lm358. Как работать с ОУ LM358: схемы включения и практическое применение

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

Для решения данной проблемы нам нужно собрать усилитель термопары, чтобы выходное напряжение было около 5 вольт при 1000 градусах температуры. Сделал данный опыт на микросхеме LM358 и собрал усилитель для термопары. Стал делать опыты на усилетеле. Добился результатов, которые на видео. Если результаты получатся удовлетворительными, буду делать модуль для термопары, чтобы подключить его к Arduino.

Усилитель термопары на LM358. На опытах используется термопара КТХК -40. 400 С.


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

Основная схема.

Основа усилителя взята из технического описания на операционный усилитель ОР213. Данный ОУ можно отнести к точным ОУ с малым тепловым дрейфом нуля

Сразу скажу, что на фирменной схеме допущена досадная ошибка. Точка соединения резисторов R8 и R6 должна быть исключена. Схема позволяет измерять температуру в диапазоне 0 – 1000 о С с точностью 0,02 о С при применение данного ОУ и термопары К-типа. Эта термопара обладает наиболее близкой к прямой термоэлектрической характеристикой. Термоэлектроды изготовлены из сплавов на никелевой основе. Хромель (НХ9,5) содержит 9. 10 %Сг; 0,6. 1,2 % Со; алюмель (НМцАК) — 1,6. 2.4 % Al, 0.85. 1,5 Si, 1,8. 2,7 % Mn. 0.6. 1.2 % Со. Алюмель светлее и слабо притягивается магнитом; этим он отличается от более темного в отожженном состоянии совершенно немагнитного хромеля. Благодаря высокому содержанию никеля хромель и алюмель лучше других неблагородных металлов по стойкости к окислению. Учитывая почти линейную зависимость термоЭДС термопары хромель — алюмель от температуры в диапазоне 0. 1000°С, ее наиболее часто применяют в терморегуляторах.

Подключение электродов термопары к разъемам платы усилителя образует еще один источник термоЭДС (холодный спай) напряжение на котором вносит существенную ошибку в истинные показания. Для устранения этой погрешности применяют разные методы. В данном случае для компенсации напряжения холодного спая применен простой и эффективный способ. Как можно ближе к разъему подключается кремневый диод. Известная зависимость тока p-n перехода от температуры позволяет сформировать компенсационное напряжение для коррекции ошибки холодного спая.

ОУ питается напряжением +12В, максимальное выходное напряжение ОУ будет составлять, за счет внутреннего падения напряжения, чуть больше 10В. Схема на ОУ представляет усилитель с ОС с коэф. усиления около 200. Резистор R6 осуществляет балансировку опорного напряжения ОУ ( установку нуля).

Точный стабилизатор напряжения REF02EZ позволяет получить из напряжения питания стабилизированное напряжение для питания входных делителей ОУ с точностью около 1мВ.

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

Практическая реализация.

Всем хороша данная схема, но комплектующие не дешевы, а заявленная точность не всегда нужна в большинстве случаев. Самое распространенная задача, это измерять температуру до 400 о С с точностью +/- 1-2 о С. Под эту задачу и была разработана простая и дешевая схема.

Не используется опорный стабилизатор, Применен более дешевый и распространенный ОУ LM358. Напряжение питания 5В, поэтому максимально можно измерить реально 375 оС. Относительно большой температурный дрейф ОУ определяет ошибку измерения, не более 2 оС. Для увеличения помехоустойчивости по переменному току применен конденсатор С1. Резистором R12 можно корректировать коэф усиления в зависимости от применяемой термопары. В диапазоне до 400 оС многие типы термопар достаточно линейны, поэтому появляется возможность применения любой подходящей термопары. Хорошие результаты получаются с термопарами от цифровых мультиметров. Так как микросхема LM358 содержит два ОУ, то удобно реализовать на одной микросхеме двухканальный вариант.

Особенности при изготовлении.

Термокомпенсационный диод желательно разместить снизу печатной платы, так чтобы его корпус был как можно физически был ближе к разъему. Хорошо применить термопасту. Резисторы можно применить как SMD типа, так и обычные 0,125 Вт. Я обычно применяю последовательно соединенные резисторы стандартного ряда.

2,74К=2,7К+39

53,6=27+27

3,95К=3,9К+51

Калибровка

В домашних условиях калибровка проще всего сделать по двум точкам 0 и 100 градусов. Термопара погружается в талую воду, выставляется показания 0 градусов R6. Термопара погружается в кипящую воду, выставляется показания 100 градусов R12. Еще раз проверить 0 и 100, при необходимости подкорректировать. Можно проверить температуру тела 36,6 градусов.

LM358 цоколевка

Так как LM358 имеет в своем составе два операционных усилителя, у каждого по два входа и один выход (6 — выводов) и два контакта нужны для питания, то всего получается 8 контактов.

LM358 корпусируются как в корпуса для объемного монтажа (LM358N — DIP8), так и в корпуса для поверхностного монтажа (LM358D — SO8). Есть и металлокерамическое исполнение для особо тяжелых условий работы. Я применял LM358 только для поверхностного монтажа – просто и удобно паять.

Описание выводов

Микросхема реализована в стандартных корпусах DIP, SO

и имеет 8 выводов для подключения к цепям питания и формирования сигналов. Два из них (4, 8)используются в качестве выводов двухполярного и однополярного питания в зависимости от типа источника или конструкции готового устройства. Входы микросхемы 2, 3 и 5, 6. Выходы 1 и 7.

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

Микросхема является популярной и используется в бытовых приборах

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

Аналоги LM358

Полные аналоги LM358 от разных производителей NE532, OP04, OP221, OP290, OP295, OPA2237, TA75358P, UPC358C. Для LM358D — KIA358F, NE532D, TA75358CF, UPC358G.

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

Тип Минимальная температура, °C Максимальная температура, °C Диапазон питающих напряжений, В
LM158 -55 125 от 3(±1,5) до 32(±16)
LM258 -25 85 от 3(±1,5) до 32(±16)
LM358 70 от 3(±1,5) до 32(±16)
LM358 -40 85 от 3(±1,5) до 26(±13)

Если диапазона 0..70 градусов не хватает, то стоит применить LM2409, однако следует учитывать что у неё диапазон питания уже:

Кстати если нужен только один операционный усилитель в компактном 5 выводном корпусе SOT23-5 то вполне можно применить LM321, LMV321 (аналоги AD8541, OP191, OPA337). Наоборот, если нужно большое количество рядом расположенных операционных усилителей, то можно применить счетверенные LM324 в 14 выводном корпусе. Можно вполне сэкономить пространство и конденсаторы по цепям питания.

LM358 схема включения: дифференциальный усилитель

Эта схема дифференциального усилителя с высоким входным сопротивление, может применятся для измерения напряжении источников с высоким внутренним сопротивлением. При условии, что R1/R2=R4/R3, выходное напряжение можно рассчитать как: Uвых = (1+R4/R3)(Uвх1 – Uвх2). Коэффициент усиления соответственно будет равен: (1+R4/R3). Для R1 = R2 = R3 = R4 = 100 кОм, коэффициент усиления будет равен 2.

Принцип работы

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

Компаратор на lm358 схема

Фото – схема работы компаратора

Схема включения, по которой можно понять принцип работы компаратора, показана выше. Используя аналоговый сигнал во + входе, именуемым «неинвертируемым», и выходе, который называется под названием «инвертируемый», устройство использует два аналогичных разнополярных сигнала. При этом если аналоговый вход больше, чем аналоговый выход, то выход будет «1», и это включит открытый коллектор транзистора Q8 на эквивалентной схеме LM339, которую нужно включить. Но, если вход находится на отрицательном уровне, то сигнал будет равняться «0», из-за чего, коллектор будет находиться в закрытом виде.

Читать также: Каким током нужно заряжать никель металлогидридные аккумуляторы

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

LM358 схема включения: дифференциальный усилитель с регулируемым коэффициентом усиления

Стоит отметить, что предыдущая схема не позволяет подстраивать коэффициент усиления, так как требует одновременного изменения двух резисторов. Если необходимо иметь возможность регулировки коэффициента усиления в дифференциальном усилителе, то можно воспользоваться схемой на трех операционных усилителях. В данной схеме подстройка коэффициента усиления осуществляется за счет регулировки резистора R2. Для этой схемы нужно соблюсти условия равенства значений сопротивлений резисторов: R1 = R3 и R4 = R5 = R6 = R7. Тогда коэффициент усиления будет равен: (1+2*R1/R2). Uвых = (1+2*R1/R2)(Uвх1 – Uвх2).

ОБОРУДОВАНИЕ ТЕХНОЛОГИИ РАЗРАБОТКИ

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

Предыдущий урок Список уроков Следующий урок

  • Термопары (термоэлектрические преобразователи).
  • Принцип действия термопар.
  • Основные типы термопар.
  • Методика измерения с помощью термопары.
  • Ардуино термометр для измерения высоких температур с помощью термопары.
  • Схема Ардуино термометра для термопары.
  • Схема измерительного усилителя для термопары.
  • Резидентная программа Ардуино термометра для термопары.
  • Размещение данных в программной памяти (FLASH памяти). Модификатор PROGMEM.
  • Вычисление температуры рабочего спая термопары.
  • Настройка и калибровка термометра.
  • Использование Ардуино термометра совместно с персональным компьютером.

Термопары (термоэлектрические преобразователи).

Все термодатчики из предыдущих уроков позволяли измерять температуру в диапазоне не шире – 55 … + 150 °C. Для измерения более высоких температур самыми распространенными датчиками являются термопары. Они:

  • имеют крайне широкий диапазон измерения температуры -250 … +2500 °C;
  • могут быть откалиброваны на высокую точность измерения, до погрешности не более 0,01 °C;
  • как правило, имеют низкую цену;
  • считаются надежными датчиками температуры.

Главный недостаток термопар – это необходимость в достаточно сложном прецизионном измерителе, который должен обеспечивать:

  • измерение низких значений термо-ЭДС с верхним значением диапазона десятки, а иногда и единицы мВ;
  • компенсацию термо-ЭДС холодного спая;
  • линеаризацию характеристики термопары.

Принцип действия термопар.

Принцип действия датчиков такого типа основан на термоэлектрическом эффекте (эффекте Зеебека). Поэтому другое название термопары – термоэлектрический преобразователь.

В цепи между соединенными разнородными металлами образовывается разность потенциалов. Ее величина зависит от температуры. Поэтому она называется термо-ЭДС. У разных материалов величина термо-ЭДС разная.

Если в цепи стыки (спаи) разнородных проводников связаны в кольцо и имеют одинаковую температуру, то сумма термо-ЭДС равна нулю. Если же спаи проводов находятся при разных температурах, то общая разность потенциалов между ними зависит от разности температур. В результате мы приходим к конструкции термопары.

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

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

Основные типы термопар.

Наиболее широкое распространение получили термопары ХК (хромель – копель) и ХА (хромель – алюмель).

Название Обозначение НСХ Материалы Диапазон измерения, °C Чувствительность, мкВ/°C, (при температуре, °C) Термо-ЭДС, мВ, при 100 °C
ТХК (хромель-копелевые) L Хромель, копель — 200 … + 800 64 (0)
88 (600)
6,86
ТХА (хромель-алюмель) K Хромель, алюмель — 270 … +1372 35 (0)
42 (1300)
4,10
ТПР (платино-родиевые) B Платинородий, платина 100 … 1820 8 (1000)
12 (1800)
0, 03
ТВР (вольфрам-рениевые) A Вольфрам-рений, вольфрам-рений 0 … 2500 14 (1300)
7 (2500)
1,34

Как практически измерять температуру с помощью термопары. Методика измерения.

Номинальная статическая характеристика (НСХ) термопары задана в виде таблицы с двумя столбцами: температура рабочего спая и термо-ЭДС. ГОСТ Р 8.585-2001 содержит НСХ термопар разных типов, заданные для каждого градуса. Можно загрузить в PDF формате по этой ссылке ГОСТ Р 8.585-2001.

Для измерения температуры с помощью термопары необходимо выполнить следующие действия:

  • измерить термо-ЭДС термопары (E общ.);
  • измерить температуру холодного спая (T хол. спая);
  • по таблице НСХ термопары определить термо-ЭДС холодного спая, используя температуру холодного спая (E хол. спая);
  • определить термо-ЭДС рабочего спая, т.е. прибавить ЭДС холодного спая к общей термо-ЭДС ( E раб. спая = E общ. + E хол. спая );
  • по таблице НСХ определить температуру рабочего спая, используя термо-ЭДС рабочего спая.

Вот пример, как я замерил с помощью термопары типа ТХА температуру жала паяльника.

  • Прикоснулся рабочим спаем к жалу паяльника, замерил напряжение на выводах термопары. Получилось 10,6 мВ.
  • Температура окружающей среды, т.е. температура холодного спая – примерно 25 °C. ЭДС холодного спая из таблицы ГОСТ Р 8.585-2001 для термопары типа K при 25 °C равна 1 мВ.
  • Термо-ЭДС рабочего спая равна 10,6 + 1 = 11,6 мВ.
  • Температура из той же таблицы для 11,6 мВ равна 285 °C. Это и есть измеренное значение.

Такую последовательность действий нам надо реализовать в программе Ардуино термометра.

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

У меня нашлась термопара TP-01A. Типичная, широко распространенная ТХА термопара от тестера. Ее я и буду использовать в термометре.

На упаковке указаны параметры:

  • тип K;
  • диапазон измерения – 60 … + 400 °C;
  • точность ±2,5 % в диапазоне до 400 °C.

Диапазон измерения указан для кабеля из стекловолокна. Существует похожая термопара TP-02, но с зондом длиной 10 см.

У TP-02 верхняя граница измерения 700 °C . Значит, будем разрабатывать термометр:

  • для термопары типа ТХА;
  • с диапазоном измерения – 60 … + 700 °C.

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

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

Схема Ардуино термометра для термопары.

Мы должны подключить к плате Ардуино:

  • светодиодный семисегментный индикатор;
  • датчик температуры холодного спая, я использовал TMP36;
  • термопару.

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

Схема измерительного усилителя для термопары.

Сформируем требования к усилителю.

  • Диапазон входного напряжения – 2,24 … + 29,13 мВ. Это крайние значения термо-ЭДС для нашего диапазона измерения (–60 … + 700 °C). Взяты из ГОСТ Р 8.585-2001 для термопары типа K. Но это для температуры холодного спая равной 0 °C. Расширим диапазон еще на 2 мВ с учетом максимальной температуры холодного спая + 40 °C. В результате для термопары типа ТХА:
  • Диапазон выходного напряжения усилителя 0 … 1,1 В. Очевидно, для того чтобы коэффициент усиления был меньше выберем минимальное опорное напряжение АЦП, т.е 1,1 В.
  • Коэффициент усиления 1100 / (4,3 + 30) = 32 , смещение для измерения отрицательного напряжения + 4,3 мВ.

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

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

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

Схема усилителя для термопары выглядит так.

Коэффициент усиления задают резисторы R2 и R3.

Я выбрал K = 43 / 1.6 + 1 = 27.875.

Резисторы R4 и R5 задают смещение + 5,1 мВ, необходимое для измерения температуры ниже 0. Термо-ЭДС в этом случае имеет отрицательное значение и для того, чтобы измерить его с помощью однополярного АЦП необходимо сместить в положительную сторону. Смещение учтем в программе.

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

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

На цифровом выводе платы Ардуино формируется сигнал с формой меандр и логическими уровнями 0 и 5 В. Можно сформировать его с помощью аппаратного ШИМ, но мы сделаем программно. В обработчике прерывания от таймера 2 мс поставим команду инверсии состояния вывода. Получится прямоугольный сигнал с периодом 4 мс.

  • При высоком уровне сигнала конденсатор C8 заряжается по цепи: выход контроллера, резистор R8, диод VD1.
  • При низком уровне – разряжается на конденсатор C9 по цепи: выход контроллера, резистор R8, диод VD2.
  • В результате на конденсаторе C9 формируется напряжение приблизительно — 4 В.

Полностью принципиальная схема Ардуино термометра для термопары выглядит так.

В качестве резисторов R3, R4, R5, R6 желательно использовать точные, термостабильные элементы. Я использовал обыкновенные резисторы с точностью 5%. Предварительно замерил их реальное сопротивление и учел это в программе.

Для отладки программы и проверки работы устройства я собрал его на макетной плате.

Измеритель я спаял отдельным макетом. На беспаечной макетной плате он вряд ли бы заработал. Все связи должны быть минимальной длины, все соединения компонентов – надежно спаянными.

Резидентная программа Ардуино термометра для термопары.

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

Полностью резидентную программу термометра для термопары можно загрузить по ссылке:

Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!

Я напомню, последовательность действий, которую необходимо выполнить в программе:

  • измерить термо-ЭДС на выводах термопары;
  • измерить температуру холодного спая;
  • по таблице НСХ термопары определить термо-ЭДС холодного спая;
  • определить термо-ЭДС рабочего спая, т.е. прибавить ЭДС холодного спая к общей термо-ЭДС;
  • по таблице НСХ термопары определить температуру рабочего спая, используя термо-ЭДС рабочего спая.

Прежде всего, в программе необходима таблица номинальной статической характеристики (НСХ) термопары. Возьмем ее из ГОСТ Р 8.585-2001 для термопары типа K. В документе она задана для каждого градуса.

Нам необходима часть таблицы от – 60 до + 700 °C. Массив значений термо ЭДС для термопары будет выглядеть так.

Нулевой элемент массива содержит значение термо-ЭДС для температуры – 60 °C, 760 элемент – для + 700 °C.

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

Массив имеет размер 761 элемент. Каждое значение типа float, т.е. 4 байта. Для создания такого массива в ОЗУ не хватит места. Да и зачем он в ОЗУ, если мы его не собираемся менять. Поэтому массив надо разместить в программной памяти, т.е. FLASH памяти.

Размещение данных в программной памяти (FLASH памяти). Модификатор PROGMEM.

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

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

В Ардуино функции управления данными в памяти программ предоставляет библиотека pgmspace.h. Поэтому, прежде всего, необходимо подключить эту библиотеку.

Искать ее в интернете и загружать не надо. Это стандартная библиотека, находится в папке Arduino. У меня в D:\Arduino\hardware\tools\avr\avr\include\avr\ pgmspace.h. Просто напишите:

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

const PROGMEM dataTyp name[] = ;

  • dataTyp – тип переменной;
  • name – имя.

В нашем случае мы размещаем во FLASH памяти массив типа float:

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

  • для чтения байта — pgm_read_byte(address_short);
  • для чтения двух байтов — pgm_read_word(address_short);
  • для чтения четырех байтов — pgm_read_dword(address_short);
  • для чтения данных с плавающей запятой — pgm_read_float(address_short).

Например, чтение 60 элемента из нашего массива termTable[] типа float будет выглядеть так:

coolEDS = pgm_read_float(termTable + 60);

Вычисление температуры рабочего спая термопары.

Последовательность действий для определения температуры описана выше. В программе термометра она реализована следующим образом:

  • Температура холодного спая вычисляется так же, как и в уроке 24 для датчика TMP36. В уроке написано, какие изменения следует сделать при использовании термодатчика LM35.
  • Определение термо-ЭДС – это измерение напряжения на аналоговом входе. Подробно описано в уроке 13. EDS_OFFSET – константа учитывающая смещение для измерения отрицательных температур.
  • ЭДС холодного спая определяется по температуре холодного спая из массива termTable[].
  • Температура рабочего спая также определяется из массива termTable[], только наоборот вычисляется номер элемента массива по его значению. Я использовал не перебор всех значений массива последовательно, а метод последовательного приближения. Определил, в какой половине массива находится требуемое значение, затем в какой четверти и т.д. Это значительно ускорило выполнение программы.

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

// вычисление температуры холодного спая coolTemperature = (int)(((float)averageTemp * ADC_RESOLUTION / 500. — OFFSET ) / SCALE_FACTOR);

// вычисление термо ЭДС termoEDS = (float)averageTermoEDS * ADC_RESOLUTION / 500. / (R4 / R3 + 1) — EDS_OFFSET;

// вычисление ЭДС холодного спая coolEDS = pgm_read_float(termTable + coolTemperature + 60);

// вычисление ЭДС рабочего спая workEDS = termoEDS + coolEDS; // вычисление температуры рабочего спая temperature = 0; if ( workEDS >= pgm_read_float(termTable + temperature + 380)) temperature += 380; if ( workEDS >= pgm_read_float(termTable + temperature + 190)) temperature += 190; if ( workEDS >= pgm_read_float(termTable + temperature + 95)) temperature += 95; if ( workEDS >= pgm_read_float(termTable + temperature + 48)) temperature += 48; if ( workEDS >= pgm_read_float(termTable + temperature + 24)) temperature += 24; if ( workEDS >= pgm_read_float(termTable + temperature + 12)) temperature += 12; if ( workEDS >= pgm_read_float(termTable + temperature + 6)) temperature += 6; if ( workEDS >= pgm_read_float(termTable + temperature + 3)) temperature += 3; if ( workEDS >= pgm_read_float(termTable + temperature + 2)) temperature += 2; if ( temperature < 760 ) temperature -= 60; // вывод температуры на LED индикатор if (temperature >= 0) else // передача температуры рабочего спая на компьютер Serial.println(temperature); /* // передача температуры холодного спая на компьютер Serial.print(» CoolTemp= «); Serial.print(coolTemperature);

// передача термо ЭДС на компьютер Serial.print(» TermoEDS= «); Serial.print(termoEDS);

// передача ЭДС холодного спая на компьютер Serial.print(» CoolEDS= «); Serial.print(coolEDS);

// передача ЭДС рабочего спая на компьютер Serial.print(» WorkEDS= «); Serial.println(workEDS); */

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

Загрузить резидентную программу Ардуино термометра для термопары можно по ссылке:

Зарегистрируйтесь и оплатите. Всего 40 руб. в месяц за доступ ко всем ресурсам сайта!

Настройка и калибровка термометра.

Для практического использование измерительный усилитель термометра должен обладать достаточно высокими метрологическими характеристиками. Я решил избежать применения всякого рода регулировок подстроечными резисторами, и все калибровки выполнил программно. Конечно, желательно использовать в качестве резисторов R3, R4, R5, R6 точные, термостабильные элементы. Но и на 5% резисторах можно получить неплохие результаты при использовании термометра в условиях без значительных колебаний температуры окружающей среды.

Я выполнил следующую последовательность действий:

  • Измерил вольтметром напряжение источника опорного напряжения АЦП платы (1.1 В) и рассчитал разрешающую способность АЦП:

#define ADC_RESOLUTION 1.061523 // разрешающая способность АЦП, мВ (1087 мВ / 1024)

  • Предварительно замерил сопротивление резисторов R3, R4 и задал в программе их значения:

#define R3 1.61 // сопротивление резистора R3, кОм #define R4 44.2 // сопротивление резистора R4, кОм

  • Замерил смещение ЭДС на резисторе R5 и задал его в программе:

#define EDS_OFFSET 4.60 // смещение термо-ЭДС

  • Затем расположил рабочий спай рядом с холодным спаем (можно замкнуть выводы термопары) и подкорректировал EDS_OFFSET так, чтобы термо-ЭДС была равна 0. Значение термо-ЭДС контролировал в мониторе последовательного порта Arduino IDE.

Таким образом, мы скорректировали все погрешности, кроме температурных и временных.

Использование Ардуино термометра совместно с персональным компьютером.

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

На компьютере должна быть установлена программа Thermometer из урока 24. В этом уроке есть подробное описание программы, там же можно загрузить саму программу.

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

Затем я сунул рабочий спай в лед из холодильника.

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

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

Предыдущий урок Список уроков Следующий урок

Автор публикации

не в сети 6 дней

Эдуард

Комментарии: 1735Публикации: 177Регистрация: 13-12-2015

LM358 схема включения: монитор тока

Еще одна интересная схема позволяющая измерять ток в питающем проводе и состоящая из шунта R1, операционного усилителя npn – транзистора и двух резисторов.

  • DA1 – LM358;
  • R1 – 0,1 Ом;
  • R2 – 100 Ом;
  • R3 – 1 кОм.

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

Схемы включения операционных усилителей

Прошлая статья открыла цикл статей про строительные кирпичики современной аналоговой электроники – операционные усилители. Было дано определение ОУ и некоторые параметры, также приведена классификация операционных усилителей. Данная статья раскроет такое понятие как идеальный операционный усилитель, и будут приведены основные схемы включения операционного усилителя.

Для сборки радиоэлектронного устройства можно преобрески DIY KIT набор по ссылке.

Идеальный операционный усилитель и его свойства

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

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

  1. Ток, протекающий через входы ОУ, принимается равным нулю.
  2. Коэффициент усиления ОУ принимается бесконечно большим, то есть выходное напряжение усилителя может достичь любых значений, однако в реальность ограничено напряжением питания.
  3. Разность напряжений между входами идеального ОУ равна нулю, то есть если один из выводов соединён с землёй, то и второй вывод имеет такой же потенциал. Отсюда также следует, что входное сопротивление идеального усилителя бесконечно.
  4. Выходное сопротивление идеального ОУ равно нулю.
  5. Амплитудно-частотная характеристика идеального ОУ является плоской, то есть коэффициент усиления не зависит от частоты входного сигнала.

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

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

Основные схемы включения операционного усилителя

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

Неинвертирующий усилитель

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

Схема включения неинвертирующего усилителя.

Схема включения неинвертирующего усилителя.

Работа данной схемы объясняется следующим образом, с учётом характеристик идеального ОУ. Сигнала поступает на усилитель с бесконечным входным сопротивлением, а напряжение на неинвертирующем входе имеет такое же значение, как и на инвертирующем входе. Ток на выходе операционного усилителя создает на резисторе R2 напряжение, равное входному напряжению.

Таким образом, основные параметры данной схемы описываются следующим соотношением

20160101

Отсюда выводится соотношение для коэффициента усиления неинвертирующего усилителя

20160102

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

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

Инвертирующий усилитель

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

Схема инвертирующего усилителя

Схема инвертирующего усилителя.

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

20160201

20160202
20160203

20160204

Тогда коэффициент усиление данной схемы будет равен

20160205

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

Интегратор

Интегратор позволяет реализовать схему, в которой изменение выходного напряжения пропорционально входному сигналу. Схема простейшего интегратора на ОУ показана ниже

интегратор

Интегратор на операционном усилителе.

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

Таким образом, основные расчётные соотношения интегратора аналогичны интегрирующим RC и RL цепочкам, а выходное напряжение составит

20160301

Интеграторы нашли широкое применение во многих аналоговых устройствах, таких как активные фильтры и системы автоматического регулирования

Дифференциатор

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

Дифференциатор на операционном усилителе

Дифференциатор на операционном усилителе.

Дифференциатор реализует операцию дифференцирование над входным сигналом и аналогичен действию дифференцирующих RC и RL цепочек, кроме того имеет лучшие параметры по сравнению с RC и RL цепочками: практически не ослабляет входной сигнал и обладает значительно меньшим выходным сопротивлением. Основные расчётные соотношения и реакция на различные импульсы аналогична дифференцирующим цепочкам.

Выходное напряжение составит

20160302

Логарифмирующий преобразователь

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

Логарифмирующий преобразователь

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

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

20160401

где IO – обратный ток диода,
е – число е, основание натурального логарифма, e ≈ 2,72,
q – заряд электрона,
U – напряжение на диоде,
k – постоянная Больцмана,
T – температура в градусах Кельвина.

При расчётах можно принимать IO ≈ 10-9 А, kT/q = 25 мВ. Таким образом, входной ток данной схемы составит

20160402

тогда выходное напряжение

20160403

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

  1. Высокая чувствительность к температуре.
  2. Диод не обеспечивает достаточной точности преобразования, так как зависимость между падением напряжения и током диода не совсем логарифмическая.

Вследствие этого вместо диодов применяют транзисторы в диодном включении или с заземлённой базой.

Экспоненциальный преобразователь

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

Экспоненциальный преобразователь

Работа схемы описывается известными выражениями

20160401

20160501

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

20160502

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

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

Теория это хорошо, но необходимо отрабатывать это всё практически ПОПРОБЫВАТЬ МОЖНО ЗДЕСЬ

Распознавания голоса на Arduino

Тема распознавания голоса микроконтроллером довольно интересна и нова, поэтому я решил представить вам схему устройства распознавания голоса на микроконтроллере, а точнее на Arduino. Распознавание голоса довольно непростая задача, а реализовать это на микроконтроллере еще сложнее, в силу ограниченности его ресурсов. В нашем случае реализация распознавания голоса будет на микроконтроллере ATmega328P, работающего на частоте 16МГц.

Распознавание голоса на Arduino

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

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

Фонема (звук) Соответствующая ей буква (может быть несколько)
«е» е
«х» х, ш, щ, дж, ж, з
«в» в, может срабатывать на з
«ф» ф
«с» с
«о» о, а, ш, л, м, н, у, ю
» « слишком тихий звук

В качестве микрофона используется электретный микрофон (ссылка на статью на Wikipedia), обычно он выглядит так:

Электретный микрофон

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

Микрофонный усилитель на операционном усилителе (ОУ) LM358

Либо можно купить готовый микрофон с усилителем на eBay или AliExpress, найти можно по запросу «Mic amplifier arduino» или «Микрофонный усилитель Arduino». Выглядит он так:

Микрофонный усилитель (готовый модуль)

Микрофон с микрофонным усилителем желательно подключить к микроконтроллеру через резистор 470…2К и разделительный конденсатор (он уже есть в самих схемах усилителей, а также на готовых платах), который убирает постоянную составляющую.

Схема подключения микрофона и усилителя к Arduino следующая: микрофон через усилитель подключается к аналоговому порту Ардуино A0, три светодиода через резисторы подключаются к цифровым выходам 5,6,7 (схему можно изменить, внеся соответствующие, небольшие правки в исходный код программы).

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

В качестве индикаторов распознанных команд были использованы три светодиода разных цветов.

В исходном примере библиотеки uSpeech сравнивались одиночные фонемы (звуки). Пример позволял распознать 6 фонем (звуков): «ф», «е», «о», «в», «с», «х» (f, e, o, v, s, h). Мной был использован массив байт, который содержал паттерны, распознаваемых слов, что позволило в конечном итоге распознавать не отдельные фонемы (звуки), а целые слова, состоящие из распознаваемых фонем. Массив полученных звуков сравнивается с заранее прописанным массивом байт (паттерном слова), и в случае совпадения, с учетом заданного порога чувствительности, делается вывод о том, какое слово было произнесено.

Например, заранее прописанные паттерны для английских слов green,orange и white были следующие «vvvoeeeeeeeofff», «hhhhhvoovvvvf», «hooooooffffffff». Для нахождения наиболее ближайшего эквивалента произносимом слову необходимо находить минимальное редакционное расстояние (расстояние Левенштейна). Для повышения точности и игнорирования нерелевантных паттернов при распозновании использовалась константа LOWEST_COST_MAX_THREASHOLD, определяющая уровень достоверности. Подбирая её значение можно добиться высокой точности распознавания.

Скомпилированный скетч занимает около 20% FLASH-памяти микроконтроллера и около 500 байт, т.е. 25% ОЗУ. Библиотеку для распознавания голосовых команд на Ардуино – uSpeech можно скачать здесь (необходимо нажать зеленую кнопку «Clone or download»). Установка библиотеки стандартная – необходимо распаковать архив и поместить папку в “C:/Users/<Имя пользователя>/Documents/Arduino/libraries”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *