Меню

Ардуино регулятор напряжения 12 вольт

Две схемы инвертора 12 -220 вольт на ардуино

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

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

Таким образом, лучший вариант для реализации синусоидальной волны на инверторе это — ШИМ, что означает широтно-импульсную модуляцию или PWM .

PWM-это усовершенствованный способ (цифровой вариант) выставления экспоненциальной формы волны через пропорционально изменяющиеся квадратные ширины импульсов, чистое значение которых вычисляется точно в соответствии с чистым значением выбранной экспоненциальной формы волны, здесь «чистое» значение относится к СРЕДНЕКВАДРАТИЧЕСКОМУ значению. Поэтому вычисленная ШИМ со ссылкой на данную синусоидальную волну может использоваться в качестве идеального эквивалента для репликации данной синусоиды. Кроме того, PWMs будет идеально совместимым с электронными приборами силы (mosfets, BJTs, IGBTS) и позволяет использование их с минимальным тепловыделением.

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

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

Для того чтобы операционный усилитель мог правильно реализовать необходимые синусоидальные ШИМ на своем выходе, необходимо, чтобы один из сигналов имел гораздо более высокую частоту, чем другой. Более медленная частота здесь-та, которая должна быть синусоидальной волной образца, которая должна имитироваться (реплицироваться) PWMs.

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

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

Создание SPWM с треугольной и сухожильной волной
Обращаясь к приведенному выше рисунку, возможно ясно визуализировать через нанесенные точки различные совпадающие или перекрывающиеся точки напряжения двух сигналов в течение заданного промежутка времени. Горизонтальная ось показывает период времени формы волны, пока вертикальная ось показывает уровни напряжения тока 2 одновременно бежит, наложенной формы волны. Рисунок информирует нас о том, как операционный усилитель будет реагировать на показанные совпадающие мгновенные уровни напряжения двух сигналов и производить соответственно меняющуюся синусоидальную ШИМ на своем выходе. Операционный усилитель (ОУ) просто сравнивает, уровни напряжения тока волны быстрого треугольника меняя мгновенно синусоидальную волну (это может также быть волна треугольника), и проверяет случаи, во время которых напряжение тока формы волны треугольника может быть ниже, чем напряжение тока волны синуса и отвечает немедленно создавать высокую логику на своих выходах.

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

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

Операционный усилитель и SPWM
На следующем рисунке показано моделирование вышеуказанной операции:

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

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

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

Инвертор на ардуино две схемы

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

Pin#8 и pin#9 создают ШИМ альтернативно и переключают Мосфеты с такой же ШИМ.
Мосфет в свою очередь наводит на трансформатор сильно токовую форму волны SPWM, используя силу батареи, заставляя вторичку трансформатора произвести идентичную форму волны.

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

Поскольку плата Arduino будет производить выход 5V, это может быть не идеальное значение для непосредственного управления МОП-транзисторами.

Поэтому необходимо поднимать уровень строба к 12V так, что Мосфеты будут работать правильно без нагрева приборов.

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

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

Источник



Регулятор напряжения питания на Arduino Uno

В этой статье мы рассмотрим проектирование источника изменяющегося напряжения (регулятор) питания с максимальным напряжением 5 В на основе платы Arduino Uno. Для этой цели мы воспользуемся АЦП (аналого-цифровым преобразованием) и ШИМ (широтно-импульсной модуляцией).

Внешний вид регулятора напряжения питания на Arduino Uno

Некоторые электронные устройства работают с напряжением питания 3.3 В, а некоторые — с напряжением 2.2 В. Некоторые схемы работают даже при более низких питающих напряжениях. Поэтому в этом проекте мы создадим простую схему, которая будет обеспечивать на своем выходе напряжение питания в диапазоне 0-5 В с точностью 0.05 В.

Читайте также:  Напряжение между людьми как влечение

Эта схема будет обеспечивать рабочий ток до 100 мА, поэтому ее можно будет использовать для питания большинства используемых в настоящее время датчиков различного назначения. Также эту схему можно применить для зарядки аккумуляторов форматов AA и AAA. С помощью ЖК дисплея можно будет наглядно контролировать величину напряжения и его изменения. Уменьшение и увеличение выходного напряжения в схеме осуществляется с помощью кнопок.

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

  1. Плата Arduino Uno (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Транзистор 2N2222 (купить на AliExpress).
  4. Резистор 1 кОм (3 шт.) (купить на AliExpress).
  5. Конденсатор 100 мкФ (2 шт.) (купить на AliExpress).
  6. Кнопка (2 шт.).
  7. Источник питания с напряжением 5 В.

Работа схемы

Схема устройства представлена на следующем рисунке.

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

Исходный код программы

Прежде чем приступим к рассмотрению программы кратко повторим принципы использования АЦП и ШИМ в плате Arduino Uno.

Напряжение с выхода схемы мы будем подавать на один из каналов АЦП платы Arduino Uno. После осуществления преобразования (АЦП) мы полученное цифровое значение будем преобразовывать в соответствующее ему значение напряжения и показывать его на экране ЖК дисплея.

Плата Arduino имеет шесть каналов АЦП. Мы можем использовать любой из них. Разрешение АЦП Arduino составляет 10 бит – то есть мы сможем работать с диапазоном целых чисел (0-(2^10) 1023)). Это означает что данный АЦП преобразует входное напряжение от 0 до 5 Вольт в целое число от 0 до 1023. То есть имеем точность АЦП 5/1024= 4.9 мВ. То есть один шаг приращения целого числа на выходе АЦП равен изменению в 4.9 мВ на его входе.

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

1. analogRead(pin);
2. analogReference();
3. analogReadResolution(bits);

Все каналы АЦП платы Arduino Uno имеют опорное напряжение 5В – то есть это максимальное значение входного напряжения, которое способны обрабатывать данные каналы. Поскольку, к примеру, некоторые датчики обеспечивают на своем выходе диапазон напряжений 0-2.5В, то использование опорного напряжения 5В в данном случае приведет к уменьшению точности измерений. Поэтому в подобных случаях для изменения опорного напряжения целесообразно использовать функцию “ analogReference() ;”. Мы в рассматриваемом случае оставим значение опорного напряжения без изменений.

По умолчанию разрешающая способность каналов АЦП платы Arduino Uno составляет 10 бит. Однако в некоторых случаях (например, для увеличения скорости преобразования) можно уменьшить эту разрешающую способность с помощью команды “ analogReadResolution(bits); ”. Мы в нашем примере не будем изменять разрешающую способность каналов АЦП.

Если все необходимые настройки канала АЦП сделаны (или оставлены по умолчанию), то для чтения значения с выхода АЦП можно воспользоваться функцией “ analogRead(pin); ”, где pin обозначает контакт платы Arduino, который мы будем использовать для аналого-цифрового преобразования, в нашем случае это будет контакт “A0”. Для того чтобы сразу сохранить значение с выхода АЦП в переменной можно использовать команду вида ” float VOLTAGEVALUE = analogRead(A0); ”, в результате этой команды значение с выхода АЦП будет сохранено в переменной “VOLTAGEVALUE”.

Контакты платы Arduino Uno, на которых возможно формирование ШИМ сигнала, обозначены символом “

”. Всего таких каналов на плате Arduino Uno шесть. Мы в рассматриваемом примере для формирования ШИМ сигнала будем использовать контакт PIN3.

Как использовать ШИМ сигнал в Arduino? Это можно сделать, к примеру, с помощью функции analogWrite(3,VALUE) – эта функция на 3-м контакте сформирует ШИМ сигнала со значением (коэффициентом заполнения), определяемым параметром VALUE. Параметр VALUE может изменяться в диапазоне от 0 до 255. 0 соответствует самому низшему значению, а 255 – самому высшему. При VALUE=255 в результате приведенной команды мы получим 5В на контакте PIN3. Если VALUE=125, то на PIN3 мы получим среднее значение напряжения равное 2,5 В.

Кнопки в схеме подключены к контактам PIN4 и PIN5 платы Arduino Uno. При нажатии одной кнопки мы будем увеличивать коэффициент заполнения ШИМ, а при нажатии другой – уменьшать. Таким образом, мы будем изменять коэффициент заполнения ШИМ на контакте PIN3.

ШИМ сигнал с контакта PIN3 подается на базу NPN транзистора, который обеспечивает изменяющееся напряжение на своем эмиттере. Поскольку на базе транзистора за счет изменения коэффициента заполнения ШИМ напряжение будет изменяться, то и на его эмиттере напряжение также будет изменяться. Таким образом, мы получили источник изменяющегося напряжения питания (регулятор питания).

С выхода схемы напряжение подается на канал АЦП платы Arduino Uno чтобы визуализировать его потом на экране ЖК дисплея.

Источник

Регулятор напряжения и тока на Arduino Pro Mini

Какой версией регулятора вы пользуетесь?

Голосование закончилось: 05 Янв. 18, 12:47

Всего голосов: 33

sebra Куратор Республика Коми 131 74

ВНИМАНИЕ с 20.11.2017 изменился алгоритм работы регулятора напряжения а также схема подключения измерительного трансформатора

В данной ветке представлена попытка создать стабилизированные регуляторы напряжения и тока на Arduino Pro mini .

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

Скрытый текст
U_regulator_free.ino

Регулировка напряжения фазовая, измерение напряжения среднеквадратичное.
Количество полупериодов изменяется в коде if (zero == 3) и if (zero >= 3) о чем в тексте скетча есть соответствующий комментарий.

Значение напряжения подается на Serial порт в виде TWxxx, где ххх значение от 35 до 400, выдает назад в порт текущие параметры:
realU — Измеренное выходное напряжение
ustU — Установленное вами значение выходного напряжения

Проект писался и проверялся на Atmega328 16 мГц (Arduino Pro mini), Коллега U-M протестировал работу на Uno.

Изначально выставлено нулевое напряжение, симистор закрыт, если не реагирует на команды с порта, в окне монитора порта Arduino IDE выбрать в выпадающем списке NL&CR.

Читайте также:  Напряжение которое убивает человека

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

Скетч, схема, проект для Протеуса (программа симуляции, может кому то пригодиться) прилагается.

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

imag0003.jpg Imag0003. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

РЕГУЛЯТОР ТОКА НА ACS712:

Скрытый текст
I_regulator_free_ACS712.ino

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

Значение тока подается на Serial порт в виде TWxxx, где ххх требуемое значение тока, выдает назад в порт текущие параметры:
realI — Измеренный ток
ustI — Установленное нами значение выходного тока

Измерение тока среднеквадратичное за три периода.
Количество полупериодов изменяется в коде if (zero == 6) и if (zero >= 6) о чем в тексте скетча есть соответствующий комментарий.

Тип датчика ACS712 выставляется в начале скетча, есть комментарий для установки коэффициента.

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

По просьбам добавлен скетч с энкодером вместо кнопок I_regulator_free_ACS712_LCD_Display_Encoder.
Подключение энкодера:

Пин 7 — энкодер SW (кнопка энкодера)
Пин 8 — энкодер CLK
Пин 9 — энкодер DT

Нажав на кнопку энкодера увидим на экране LCD —> и цифры устанавливаемого тока,
установив необходимое значение (сам ток не меняется на выходе) нажимаем снова кнопку энкодера и применяем изменения.

РЕГУЛЯТОР ТОКА НА ACS712 С ПРЕДУСТАНОВКАМИ И ЗАПИСЬЮ В ПАМЯТЬ:

Скрытый текст
Файл: I_regulator_free_712_LCD_Encoder_Preset_EEPROM

Перечень возможностей: вывод информации в ваттах, время работы, счетчик затраченной электроэнергии, пять предустановок с записью в память.
Название предустановок и их количество правиться в программе.
Расчет потребления электроэнергии ПРИМЕРНЫЙ, в виду значительных погрешностей измерения.
Для корректной работы требуется измерить сопротивление ТЭНа и записать в программу, о чем в тексте есть комментарий.
Программа имеет три меню:
1. Текущая мощность (ВАТТ), включен или выключен регулятор (OFF/ON)
Название предустановки, установленная мощность.
2. Время работы, включен или выключен регулятор (OFF/ON)
Потребленная мощность в ваттах.
3. Установка, включен или выключен регулятор (OFF/ON)
Название предустановки >> устанавливаемая мощность.

Переключение между меню 1 и 2 с помощью кнопки энкодера;
Переключение между предустановками с помощью энкодера;
Переход в меню 3 и выход из него нажатием кнопки 1 , установка мощности с помощью энкодера;
Запись в память установки с помощью кнопки энкодера в меню 3, в качестве подтверждения появится надпись WR;
Включение регулятора кнопкой 2 в меню 1 или 2. Если требуется регулировка на «ходу» то при включенном регуляторе нажать кнопку 1 и производить регулировку из меню 3 установки;

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

Пин 10 – кнопка 1
Пин 11 – кнопка 2
Пин 7 — энкодер SW
Пин 8 — энкодер CLK
Пин 9 — энкодер DT

Для прямого подключения LCD без I2C в начале скетча есть комментарий

Скрытый текст
I_regulator_free_Current.ino

Добавлен вариант с трансформатором тока DL-CT1005A реализованный по схеме https://learn.openenergymonitor.org/. ce-with-arduino Работа аналогична работе с ACS712, точность и стабильность показаний выше.

3532_0.jpg 3532_0. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика. , img_20160810_1732511.3.jpg Img_20160810_1732511. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика. , img_20160810_1733141.jpg Img_20160810_1733141. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

ВЕРСИИ С СЕМИСЕГМЕНТНЫМ ИНДИКАТОРОМ НА СДВИГОВЫХ РЕГИСТРАХ 74HC595:

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

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

4-biti-cifrovoi-kamera-svetodiodnii-displei-modyl-chetire-posledovatelnii-dlya-arduino-595-driver-y103.jpg 4-biti-cifrovoi-kamera-svetodiodnii-displei-modyl-chetire-posledovatelnii-dlya-arduino-595-driver-y103. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

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

Алгоритм работы кнопок следующий:
1. При запуске индикация входного напряжения / выходного тока
2. При нажатии на кнопку 1 циклически показываются В- входное напряжение / выходной ток, У — установленное.
3. При нажатии на кнопку 2 вход в режим установки , увеличение значения кнопка 1, уменьшение 2. Установленное значение напряжения / тока меняется СРАЗУ во время регулировки.
4. После окончания установки при отсутствии нажатий на кнопки в течении 10 секунд происходит возврат в меню индикации.

Версии скетчей находятся в архивах под соответствующий вариант регулятора.

ВЕРСИИ С LCD ДИСПЛЕЕМ ПОДКЛЮЧЕННЫМ ПО I2C:

Скрытый текст
Мной использовался дисплей LCD 1602 на HD44780 с модулем I2C на PCF8574 и библиотека LiquidCrystal_I2C.

img_20161018_205335.jpg Img_20161018_205335. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
img_20161018_205505.jpg Img_20161018_205505. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Библиотека ставиться из менеджера библиотек в IDE, либо с сайта https://github.com/marcoschwartz/LiquidCrystal_I2C.

С подключением дисплея проблем возникнуть не должно, распиновка Pro Mini:

prominifront.jpg Prominifront. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Для работы Вашего дисплея требуется узнать его адрес, для этого требуется запустить скетч i2c_scanner.ino из аттача,
запустить монитор порта в IDE и вставить полученный адрес в скетч в строку LiquidCrystal_I2C lcd(0x3F, 16, 2);, где 0х3F адрес дисплея.

Кнопки подключены и работают так же как и в схеме с семисегментным индикатором.

Если после подключения символов нет, требуется покрутить потенциометр на плате I2C

АЛГОРИТМ НАСТРОЙКИ ТОЛЬКО СОБРАННОГО РЕГУЛЯТОРА НАПРЯЖЕНИЯ (от Tomat7)

Скрытый текст
Внимание! Высокое напряжение опасно для жизни. Будьте внимательны!
Не собирайте прибор «на соплях», используйте подходящие провода и инструменты.

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

1. Убеждаемся что высокое напряжение отключено. Плата Ардуино питается от компьютера по USB.

2. Загружаем тестовый скетч U_reg_test.ino — без всяких LCD, энкодеров и кнопок. Убеждаемся что он скомпилировался и загрузился корректно.

3. В «среде» Ардуино включем монитор порта (Ctrl-Shift-M). В нём устанавливаем скорость «9600 baud» и «Both NL&CR».
Убеждаемся что в окне Монитора порта появляется разумная информация обновляющаяся каждую секунду — «realU, ustU» и тд.

Читайте также:  Нервное напряжение по ночам

4. На выход регулятора подключается нагрузка (например лампа накаливания) и параллельно нагрузке вольтметр (желательно имеющий надпись TrueRMS)
Убеждаемся что лампа не горит, вольтметр показывает 0, ustU = 0, realU = 0 для регулятора напряжения или realU = 512 для регулятора тока.
Если лампа горит — повторяем пункт 1. Если все равно горит — оформляйте патент на вечный двигатель!

5. Осматриваем конструкцию, убеждаемся в ее электробезопасности. Отойдя подальше подаем высокое напряжение.
Убеждаемся что нигде ничего не бахнуло, не появился лишний запах, лампа не горит, вольтметр показывает 0, в Мониторе порта ustU = 0 и realU = 0 или 512.
Если не так — всё выключаем и перепроверяем соединения, монтаж, пайку в части moc3023, симистора.
Исправляем и начинаем с пункта 1.

6. Через «Монитор порта» отправляем регулятору команду «M1». (без кавычек, латинская «М» и цифра «1»
Убеждаемся что загорелась лампа.
Если не так — всё выключаем и перепроверяем соединения, монтаж, пайку в части moc3023, симистора.
Исправляем и начинаем с пункта 1.

7. Смотрим в монитор порта и видим что там появились дополнительные строчки.
Находим «ZeroCross» и смотрим число — оно должно быть близко к 100. (с большой долей вероятности узел детектора «0» работает корректно)
Если не так — всё выключаем и перепроверяем соединения, монтаж, пайку в части детектора нуля.
Исправляем и начинаем с пункта 1.

8. Через «Монитор порта» отправляем регулятору команду «TW0».
Убеждаемся что лампа не светит. (с большой долей вероятности узел симистора работает корректно)
Если не так — всё выключаем и перепроверяем соединения, монтаж, пайку в части moc3023, симистора.
Исправляем и начинаем с пункта 1.
Для регулятора тока на этом можно остановится и перейти к пункту 10.

9а. Для регулятора напряжения необходимо провести первоначальную подстройку «измерителя» напряжения.
9б. Через «Монитор порта» отправляем регулятору команду «TW300».
9в. Убеждаемся что ustU ежесекундно появляющееся в окне Монитора порта стало показывать 300. (realU тоже может поменяться)
9г. Смотрим на показания вольтметра — теперь он должен показывать что-то от 200 до 250 вольт. (может и меньше — зависит от качества электросети)
9д. Вращением подстроечного резистора «измерителя» напряжения нужно добиться чтобы realU стало как можно ближе к показаниям вольтметра.
9е. Если от вращения подстроечного резистора realU никак не меняется — всё выключаем и перепроверяем соединения, монтаж, пайку в части «измерителя» напряжения.
Исправляем и начинаем с пункта 1.
9ж. Через «Монитор порта» отправляем регулятору команду «TW150». Убеждаемся что вольтметр стал показывать что-то близкое к 150 вольтам.
9з. Через «Монитор порта» отправляем регулятору команду «TW100». Убеждаемся что вольтметр стал показывать что-то близкое к 100 вольтам.
На этом настройку регулятора напряжения можно считать законченным.

Если у вас еще остались вопросы, я постараюсь ответить.

П.С. Выражаю огромное спасибо msg31, по сути это его схема и идея, просто я немного подогнал ее под свои нужды.
Так же выражаю огромную благодарность m16 за своевременные наставления.
И sevpro за консультации по схемотехнике

СПИСОК РАСПРОСТРАНЕННЫХ ВОПРОСОВ под спойлером

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

В. Я не умею программировать, код для меня — ироглифы.
О. Не могу ничем помочь, либо учитесь либо просите коллег на форуме.

В. Зачем считать среднеквадратичное напряжение? Это трудно.
О. Если вы о контроллере то ему абсолютно все равно что считать, если о методе то он дает лучшие результаты ([сообщение #12649978]), если вы знаете другой метод измерения действующего значения напряжения, я с удовольствием выслушаю, если вы хотите измерять амплитудное значение, измеряйте, вам никто не запрещает.

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

В. У вас индусский код. Так делать нельзя!
О. Можно, я не программист, и уж тем более не программист микроконтроллеров. Я не скован рамками правописания программного кода. Код работает, большинству людей все равно что и как внутри крутиться если устройство выполняет свои функции. Если у вас есть замечания по коду и дельные, конкретные советы с алгоритмом, я буду рад вас выслушать. Я взрослый адекватный человек который абсолютно нормально реагирует на аргументированную критику.

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

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

В. А почему ты сделал именно так а не иначе?
О. Возможно в тот момент на меня снизошло озарение или отупение, кто знает, я не профи ни в электронике не в программировании.

П.С. Просьба не воспринимать этот спойлер на свой счет, никого конкретно я не имел ввиду, спасибо.

Если вы собрали устройство и проверили его работу ЛАТРом и обрадовались/удивились/расстроились большая просьба выложить результаты.

Arduino Семисегментник на 74HC595.jpg Arduino Семисегментник на 74HC595.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика. Размещение элементов датчик тока ACS712.jpg Размещение элементов датчик тока ACS712.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика. Размещение элементов трансформатор тока.jpg Размещение элементов трансформатор тока.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика. Размещение элементов трансформатор.jpg Размещение элементов трансформатор.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

Источник