Задатчик однополярного напряжения до 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). Рассмотрим назначение элементов схемы подробней.
|
СБОРКА ПЛАТЫ |
Схема пайки элементов задатчика напряжения представлена на рисунке ниже. За базу взята макетная плата 60х40 мм. Конечно вы можете расположить элементы по другому и более компактно. Примечания :
|
ТЕСТОВЫЙ СТЕНД |
Прежде, чем начать работать с задатчиком напряжения, его нужно откалибровать. А для этого нам понадобится тестовый стенд, схема которого представлена ниже. Наша задача выставить с помощью подстроечного резистора реальное напряжение на выходе с устройства в соответствии с заданным с помощью кнопок и отображаемым на экране LCD. После этого вы можете заменить в скетче вольтаж на регулируемый параметр, например, угол разворота лопастей ВРШ или положение пера руля. Управлять системой можно с помощью двух кнопок : ВВЕРХ и ВНИЗ. Нажимая их, мы фактически будем менять скважность сигнала ШИМ с выходного пина. При этом на LCD в верхней строчки вы увидите скважность сигнала (0...255) и номер пина с которого в данный момент идет передача сигнала. А в нижней - расчетный вольтаж на выходе с задатчика. |
КАЛИБРОВКА |
После того, как плата собрана, ее нужно откалибровать. Для этого загрузим в Arduino тестовый скетч, а затем подключим плату к PLC согласно схеме. Подсоедините к выходным клеммам задатчика мультиметр. Кнопкой ВВЕРХ установите уровень ШИМ-сигнала 255, что соответствует расчетным +10В на выходе с устройства. Теперь с помощью потенциометра POTI1 установите +10В по мультиметру. Калибровка закончена. Естественно, при использовании данного задатчика в реальных приложениях, вам нужно заменить в скетче расчетные вольты на регулируемый параметр. Очень важное замечание по поводу используемого для калибровки мультиметра. Как видно из электросхемы задатчика, на выходе с него стоит RC-фильт. При подключении тестера для замеров он образует с резистором R5 делитель напряжения, поэтому на выходе мы получим Uвых=Uвх*R5/(R5+Rx), где Rx - внутреннее сопротивление мультиметра. При использовании мультиметров с гарантированным внутренним сопротивлением в 10 мегаом особенных проблем нет - падение напряжения на замере есть, но оно не критично. В дешевых же тестерах (в районе 300 рублей) внутреннее сопротивление составляет 1-2 мегаома, и ошибка (падение напряжения) в замере может стать неприемлемой. Примите это во внимание. То же самое относится и к дешевым осциллографам, например DSO138. Еще раз скажу, что это не проблема задатчика напряжения, а средств измерения, которыми вы пользуетесь. |
ЧТО НУЖНО ДЛЯ ПРОЕКТА |
Задатчик однополярного напряжения
Тестовый стенд
|
ТЕСТОВЫЙ СКЕТЧ |
Ниже представлен скетч системы управления. В этом окне он неудобочитаем, поэтому скачать его в формате ino вы можете по этой ссылке. Для работы этого скетча вам понадобятся дополнительные библиотеки :
Если есть возможность, проверьте эти библиотеки на наличие обновлений. |