Задатчик однополярного напряжения до 30В

Электросхема
Сборка платы
Тестовый стенд
Что нужно для проекта
Тестовый скетч

Фото задатчика
Версия для печати

Вернуться на главную

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

Фото. Задатчик однополярного напряжения

Задатчик однополярного напряжения

Arduino UNO имеет шесть каналов выдачи ШИМ-сигналов (цифровые пины 3, 5, 6, 9, 10, 11), которые можно использовать для дальнейшей обработки. Они работают в диапазоне от 0 до +5 вольт. Данный задатчик с помощью операционного усилителя корректирует выходной сигнал с микроконтроллера до необходимого нам.

Диапазон, до которого вы можете усилить сигнал ограничивается только возможностями операционного усилителя (для LM358 - 32 вольта) и источника питания.

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

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

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

Электросхема задатчика напряжения

Электросхема задатчика напряжения

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

  • Питание на LM358 подается от источника постоянного тока. Ограничение для этой микросхемы от 3 вольт до 32 вольт. Соответственно, на выходе вы можете получить до 30 вольт.
  • Коэффициент усиления определяется отношением номиналов резисторов R3/POTI1. Обратите внимание, что хотя номинал подстроечного резистора POTI1 - 10К, выставлен он на 5К. Им вы можете подстраивать выходное напряжение при калибровке.
  • Несмотря на наличие подстроечного резистора POTI1, базовый коэффициент усиления устанавливайте резистором R3. Подстроечный используйте для точной регулировки.
  • Конкретно в этом задатчике коэффициент усиления подобран так, чтобы на выходе получить 10 вольт при подаче на него максимальных 5 вольт с Arduino : R3=16K , POTI1=5K.
  • Клеммница питания LM358 имеет два подвода : 1 - положительный (VCC), 2 - земля (GND).
  • Клеммница входного сигнала также имеет два подвода : 1 - ШИМ-сигнал от Arduino (PWM), 2 - земля от Arduino (GND). Обратите внимание, что земля Arduino и источника питания LM358 должны быть объединены (это обеспечивается самой схемой).
  • Выход с задатчика выполнен в виде двойной клеммницы. Отвод 1 - собственно выходной сигнал, а 2 - еще один выход на "землю" (он соединен с общим проводом земли Arduino и источника питания). Этот зажим удобен для контрольных замеров (относительно него измеряются все напряжения в схеме).
  • Все конденсаторы в схеме керамические. Номинал конденсаторов С1 и С2 4,7 мкФ.
  • Если вы хотите подобрать свои параметры RC-фильтров, воспользуйтесь осциллографом.
  • Резистор R2 выполняет роль подтягивающего. Он обеспечивает стабильность показаний на выходе при отсутствии сигнала с Arduino.
  • Обратите внимание, из-за того, что здесь используется однополярное питание, на выходе с микросхемы LM358 при нулевом сигнале от Arduino будет небольшое остаточное напряжение 0,06 вольта. Это особенность этой микросхемы.

СБОРКА ПЛАТЫ

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

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

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

Примечания :

  1. Микросхема LM358 устанавливается в панель DIP8. Хотя вы можете сразу впаять ее в плату.
  2. Все подводы и отводы выполнены в трех вариантах : клеммница, штыревой соединитель "папа" и "мама" для проводов Dupont.
  3. Мощность всех резисторов (включая подстроечные) 0,25 ватт.

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

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

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

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

Управлять системой можно с помощью двух кнопок : ВВЕРХ и ВНИЗ. Нажимая их, мы фактически будем менять скважность сигнала ШИМ с выходного пина. При этом на LCD в верхней строчки вы увидите скважность сигнала (0...255) и номер пина с которого в данный момент идет передача сигнала. А в нижней - расчетный вольтаж на выходе с задатчика.

КАЛИБРОВКА

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

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

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

Очень важное замечание по поводу используемого для калибровки мультиметра. Как видно из электросхемы задатчика, на выходе с него стоит RC-фильт. При подключении тестера для замеров он образует с резистором R5 делитель напряжения, поэтому на выходе мы получим Uвых=Uвх*R5/(R5+Rx), где Rx - внутреннее сопротивление мультиметра. При использовании мультиметров с гарантированным внутренним сопротивлением в 10 мегаом особенных проблем нет - падение напряжения на замере есть, но оно не критично. В дешевых же тестерах (в районе 300 рублей) внутреннее сопротивление составляет 1-2 мегаома, и ошибка (падение напряжения) в замере может стать неприемлемой. Примите это во внимание. То же самое относится и к дешевым осциллографам, например DSO138.

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

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

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

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

Задатчик однополярного напряжения

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

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

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

ТЕСТОВЫЙ СКЕТЧ

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

Для работы этого скетча вам понадобятся дополнительные библиотеки :

  • Wire.h - библиотека для работы с протоколом I2C. Это стандартная библиотека, она входит в комплект среды программирования Arduino IDE.
  • LiquidCrystal_I2C.h - библиотека для работы с LCD по протоколу I2C. Скачать.

Если есть возможность, проверьте эти библиотеки на наличие обновлений.