27 МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин 27 МОСКОВСКАЯ ВСТРЕЧА

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

Форум самогонщиков Автоматика
1 ... 3 4 5 6 7 8 9 ... 58 6
sevpro Доктор наук Worldwide 769 281
Отв.100  23 Марта 16, 10:28
есть замечательная штучка -   выпрямитель на ОУm16, 23 Марта 16, 10:05
Да, есть такая схема. Рабочая, но около нуля из-за однополярного  питания ОУ все равно будут искажения. Мне больше такая нравится (на картинке), правда требует двухполярного питания, но это не проблема - диод+стабилитрон+кондер.
arch_img.gif
arch_img.gif Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
Zoldrax Бакалавр spb 69 13
Отв.101  23 Марта 16, 10:45, через 18 мин
Если речь про автоматику msg31, то для индукционки есть отдельный выход и не нужно датчик нуля трогатьsevpro, 23 Марта 16, 06:51
Да речь про нее. В той версии, которую я правил без датчика не запускалась - выдавала ошибку, да и ШИМы клапанов на ноль были завязаны.

Добавлено через 12мин.:

Стоит наверное заметить, что в способе замера напряжения трансформатором по схеме msg31, применяемой и в данном проекте есть еще один элемент вносящий искажения - это диодный мост. Чем меньше напряжение, снимаемое с измерительного трансформатора, тем они (искажения)выше.sevpro, 23 Марта 16, 06:51
Я планирую применить диодный мост перед делителем на резисторах при сетевом напряжении искажения не такие большие. Ступенька в 1 вольт на фоне 200 в среднем квадратическом заметна не будет.
Как думаешь замера только напряжения на ТЭН через мост и делитель будет додостаточно?

Добавлено через 14мин.:

Отдельный универсальный недорогой силовой модуль с УАРТ опторазвязанным, опционально дисплей, энкодер/кнопки и оптроны старт/стоп. ибо жутко не нравится мне когда ЦП занимается не своим делом.sevpro, 23 Марта 16, 06:51
Да. Только все эти дислеи нарушат простоту. Я думаю, достаточно будет одного потенциометра с изолированной ручкой, на случай необходимости работы без центрального блока. Все равно датчиков безопасности не будет и надо будет следить. Все остальное по интерфейсу. Все алгоритмы и отображение на ЦБ.
sevpro Доктор наук Worldwide 769 281
Отв.102  23 Марта 16, 11:54
Да речь про нее.Zoldrax, 23 Марта 16, 10:45
ЕМНИП выходы 52, 53 для управления индукционкой. На датчик нуля много чего завязано и без него корректно работать не будет.
Как думаешь замера только напряжения на ТЭН через мост и делитель будет додостаточно?Zoldrax, 23 Марта 16, 10:45
С замером напряжения на нагрузке не все так однозначно. Зависит от способа регулирования. Вот здесь [сообщение #12671066] я коллеге пытался объяснить тонкое место.
Все равно датчиков безопасности не будетZoldrax, 23 Марта 16, 10:45
Есть датчик тока, что еще нужно? Только обработать его показания грамотно.
Да. Только все эти дислеи нарушат простоту.Zoldrax, 23 Марта 16, 10:45
Идея была в модульности и универсальности для широкого круга лиц, т.е. есть самодостаточная плата к которой подключают сеть, нагрузку и мастер-контроллер по оптоизолированному UART. Нужна автономная работа, на PLS/PLD разъемах подтыкается 1602 с энкодером и пользуйся как отдельным девайсом.
Вообще без дисплея автономно потенциометром работать неудобно. Хотя если устраивает такой вариант, тут где-то на тиньке45 что-то похожее было, по вспышкам светодиода ориентироваться предлагалось.
Zoldrax Бакалавр spb 69 13
Отв.103  23 Марта 16, 12:08, через 15 мин
С замером напряжения на нагрузке не все так однозначно. Зависит от способа регулирования. Вот здесь [сообщение #12671066] я коллеге пытался объяснить тонкое место.sevpro, 23 Марта 16, 11:54
Так что среднеквадратическое от входного лучше? Я думаю что все равно точность можно обеспечить только усреднив много полупериодов. В случае усреднения и один шаг триака заметит. Зато на нагрузке падение напряжения на триаке учтено.
sevpro Доктор наук Worldwide 769 281
Отв.104  23 Марта 16, 13:02, через 54 мин
Зато на нагрузке падение напряжения на триаке учтено.Zoldrax, 23 Марта 16, 12:08
Падение напряжения на тиристоре в режиме стабилизации величина практически постоянная (меняется очень несущественно). Если не важны абсолютные показатели отдаваемой в нагрузку мощности, то им можно пренебречь. Ну а если хочется знать точно, то нужно и ТКС ТЭНа учитывать.
Zoldrax Бакалавр spb 69 13
Отв.105  23 Марта 16, 14:00, через 59 мин
Падение напряжения на тиристоре в режиме стабилизации величина практически постоянная (меняется очень несущественно). Если не важны абсолютные показатели отдаваемой в нагрузку мощности, то им можно пренебречь. Ну а если хочется знать точно, то нужно и ТКС ТЭНа учитывать.sevpro, 23 Марта 16, 13:02
По даташиту у BTA41 от 0.8 до 1.25 вольта в зависимости от тока и температуры. Я когда читал посты msg31 подумал, что проблема в точности как раз из за этого, раз датчики тока городить приходится. А если мост и делитель входного достаточно, то ок. Вот не пойму как там у РМ2 на самом деле, входного достаточно?
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.106  23 Марта 16, 14:03, через 3 мин
А если мост и делитель входного достаточно, то ок. Вот не пойму как там у РМ2 на самом деле, входного достаточно?Zoldrax, 23 Марта 16, 14:00
РМ-2 выходное измеряет. По крайней мере на экране показывает точно.
m16 Модератор Тамбов 1.9K 1K
Отв.107  23 Марта 16, 15:00, через 58 мин
неа. входное и только положительную полуволну  4-й контакт с делителя. 1 и 3-й  контакты  для контроля обрыва нагрузки и триака

rm2.png
Rm2. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
Zoldrax Бакалавр spb 69 13
Отв.108  23 Марта 16, 15:13, через 14 мин
неа. входное и только положительную полуволну  4-й контакт с делителя. 1 и 3-й  контакты  для контроля обрыва нагрузки и триакаm16, 23 Марта 16, 15:00
Прихожу к выводу, что мерять на делителе после моста правильно, а контроль можно добавить также как в РМ-2 только он будет работать на 1 полуволне, зато расчет мощности будет по двум. На случай если сосед свои ТЭНы гоняет через диод Улыбающийся
sevpro Доктор наук Worldwide 769 281
Отв.109  23 Марта 16, 15:50, через 37 мин
По даташиту у BTA41 от 0.8 до 1.25 вольта в зависимости от тока и температуры.Zoldrax, 23 Марта 16, 14:00
В режиме стабилизации средний ток через нагрузку почти неизменен, температура в установившемся режиме тоже практически постоянна
vchu Бакалавр Тольятти 58 14
Отв.110  23 Марта 16, 19:34
Коллеги, алгоритм расчета RMS напряжения что на входе что на выходе одинаков. А вот со стабилизацией по способу замера напряжения на входе - проблема, так как при замере напряжения на входе можно только прогнозировать что будет на выходе.
В случае замера напряжения на выходе мы получаем абсолютную величину, да же не смотря на искажения.
Как минимум это искажение не влияет на стабильность, так как мы реально видим что происходит. И легко подвинуть угол триака на нужную величину.
Как замерять напряжение на выходе, это пусть решит каждый сам. Я использовал трансформатор. И уверяю вас, работает такая стабилизация гораздо точнее чем способ прогнозирования.
mak Модератор Екатеринбург 6.3K 1.8K
Отв.111  23 Марта 16, 20:46
работает такая стабилизация гораздо точнее чем способ прогнозирования.vchu, 23 Марта 16, 21:34
гораздо точнее это как? как сравнивал точность?
Zoldrax Бакалавр spb 69 13
Отв.112  23 Марта 16, 21:28, через 42 мин
В случае замера напряжения на выходе мы получаем абсолютную величину, да же не смотря на искажения.
Как минимум это искажение не влияет на стабильность, так как мы реально видим что происходит. И легко подвинуть угол триака на нужную величину.vchu, 23 Марта 16, 19:34
Дело в том, что меряя на входе мы можем отдельно считать действующие значения напряжений для закрытого и открытого триака, т.е. информации как бы больше, ведь мы знаем когда открыт триак и считать этот участок как напряжение на ТЭНе, а падение на триаке, вроде бы, не должно заметно меняться и влиять на результат.
m16 Модератор Тамбов 1.9K 1K
Отв.113  23 Марта 16, 21:37, через 9 мин
vchu, ты не прав. попробую объяснить.

для начала нужно настроить фазоимпульсный регулятор таким образом чтобы при заданном напряжении U_ctr на нагрузке было бы соответствующее напряжение. я пользую для этого таблицу изначально написанную в экселе где угол открытия триака выражается через модуль счёта таймера с дискретностью в  1 вольт в диапазоне от 0 до 220 вольт. всего 442 байта. формулу и таблицу я выкладывал здесь. в режиме регулятора небольшой коррекцией ТОРmax я добился точного соответствия заданного напряжения и выходного true RMS.

как реализуется стабилизация. алгоритм.
1.задаём U_ctr= 130в  напряжение сети U_rms= 220в  после вычислений получим U_st по которому из таблицы изымется ТОР ддля напряжения 130в.
U_ctr= 130в   U_rms= 220в    U_st= U_ctr - (U_rms - U_nom) = 130в,  где U_nom- номинальное напряжение сети = 220в

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

2. U_ctr= 130в   U_rms= 240в   U_st= U_ctr - (U_rms - U_nom) = 110в . т.е при превышении входного напряжения на 20в выше номинального триак будет открыт углом соответствующего на 20в ниже заданного

3. U_ctr= 130в   U_rms= 180в   U_st= U_ctr - (U_rms - U_nom) = 170в

стабилизация работает отлично. проверено с помощью ЛАТРа и rms вольтметра. собсно такой же алгоритм заложен в РМ2
Zoldrax Бакалавр spb 69 13
Отв.114  23 Марта 16, 22:02, через 26 мин
стабилизация работает отлично. проверено с помощью ЛАТРа и rms вольтметра. собсно такой же алгоритм заложен в РМ2m16, 23 Марта 16, 21:37
Тоже уверен в этом, но если рассуждать дальше и предположить, что сигнал сильно отличается от синусоиды, то нужно в сумму квадратов плюсовать 0 когда триак закрыт и квадрат мгновенного напряжения, когда открыт, и, возможно, в этом случае: U_st= U_ctr - (U_rms - U_ctr) = 2 * U_ctr - U_rms.
Правда с этим, пока не понял: // U_st = (U_ctrl * U_nom) / U_rms - 16ти битная целочисленка, но наверно, тоже нужно U_st = (U_ctrl ^ 2) / U_rms.
m16 Модератор Тамбов 1.9K 1K
Отв.115  23 Марта 16, 23:01, через 60 мин
Zoldrax, ты не понял. за период сетевого ацп делает 190 измерений . на лету каждое измерение возводим в квадрат и суммируем в 32-х разрядной переменной . по окончании периода сумму квадратов делим на количество измерений и извлекаем корень.  U_rms есть уже обсчитанное процем среднеквадратичное напряжение одного периода сетевого.

Правда с этим, пока не понял: // U_st = (U_ctrl * U_nom) / U_rmsZoldrax, 23 Марта 16, 22:02
от этой пропорции я отказался ввиду большой погрешности. делаю как постом выше знаковой аримфметикой
Zoldrax Бакалавр spb 69 13
Отв.116  23 Марта 16, 23:44, через 44 мин
Zoldrax, ты не понял. за период сетевого ацп делает 190 измерений . на лету каждое измерение возводим в квадрат и суммируем в 32-х разрядной переменной . по окончании периода сумму квадратов делим на количество измерений и извлекаем корень.  U_rms есть уже обсчитанное процем среднеквадратичное напряжение одного периода сетевого.m16, 23 Марта 16, 23:01
m16, как раз это я и имел в виду. Но не понятно зачем в сумму включать те измерения, когда триак закрыт, они же не идут в нагрузку, значит действующее напряжение - это среднее квадратичное из нулевых отсчетов (когда триак закрыт - n) и части отсчетов входного напряжения (когда триак открыт 190-n). Давай представим такую вымышленную ситуацию: мы работаем на 50 процентной нагрузке, проводка плохая, и в соседнюю розетку включили мощный импульсный блок питания без коррекции PFC (Power Factor Correction). Первая половина полупериода просядет, входное true RMS уменьшится, а фактически на ТЭН это не отразится, так как он работает как раз во второй половине полупериода. Мы скорректируем U_st и ТЭН станет греть чуть сильнее, а если бы учитывали только ту часть отсчетов, при которой включен ТЭН ни чего бы не изменилось. Такая же ситуация может сложиться при подключении двух одинаковых устройств в одну розетку, которые будут просаживать только вторую половину полупериода и оба ТЭНа будут недогреваться по сравнению с подключением на разные фазы, т.к. вторая часть горба синусоиды просела, а первая нет, соответственно общее среднеквадратичное уменьшится меньше, чем действующее на ТЭН напряжение.
Но все это частные, скорее, теоретические рассуждения, просто если нет разницы по затратам (мы все равно знаем когда триак открыт, и одно ветвление не критично) то почему бы не учесть даже такие ситуации? Но может я действительно ошибаюсь и на самом деле это приведет к потере стабильности через перерегулирование... В любом случае, вроде бы мы приходим к тому что физически лучше подключать мост и делитель ко входу, а не на ТЭН...
m16 Модератор Тамбов 1.9K 1K
Отв.117  24 Марта 16, 00:46
  теперь я въехал о чём спич. да ты прав ,  этот момент я не продумал если закладываться на хреновую сеть.
нет, перерегулирования не будет ,  будет выходное напряжение несколько занижено по сравнению с заданным.

т.е ацп запускаем с включением триака , считаем  U_rms, находим угол открытия . на бумажке прикинул - хреново . завтра подумаю.
Zoldrax Бакалавр spb 69 13
Отв.118  24 Марта 16, 01:26, через 40 мин
будет выходное напряжение несколько занижено по сравнению с заданным.m16, 24 Марта 16, 00:46
m16, не понимаю почему будет занижено, мы же считаем честное действующее напряжение на ТЭН без учета потери на триаке. Таблица остается та же просто если раньше мы считали U_rms так:

U_rms = Ср.кв.(1 2 3 4 5 5 4 3 2 1)

То, если триак открывается в момент t=4, будет так:

U_rms = Ср.кв.(0 0 0 4 5 5 4 3 2 1)

U_st= U_ctr - (U_rms - U_ctr) = 2 * U_ctr - U_rms

Т.е. Мы задаем действующее на ТЭНе, меряем действующее на ТЭНе, и корректируем на разницу фактического и установленного. Понятно, что в начальный момент времени U_rms = 0. На следующем шаге мы включим максимум 2*U_ctr, померяется U_rms по всей полусинусоиде, следующий раз уже скорректируется до нормального значения. Но можно и предусмотреть вариант, что при полностью закрытом триаке мы меряем полное U_rms по всему полупериоду и считаем по старой формуле:

U_st= U_ctr - (U_rms - U_nom), чтобы первый раз не проскакивал полный полупериод. Естественно все измерения надо усреднять, вот думаю скользящее среднее сделать, там памяти еще много, но я буду заниматься этим только месяца через два.
сообщение удалено
m16 Модератор Тамбов 1.9K 1K
Отв.119  24 Марта 16, 08:08
U_st= U_ctr - (U_rms - U_ctr) = 2 * U_ctr - U_rmsZoldrax, 24 Марта 16, 01:26
nты не поверишь, ложился спать пришёл к этому же.  сегодня опробую
U_st= U_ctr - (U_rms - U_nom), чтобы первый раз не проскакивал полный полупериод.Zoldrax, 24 Марта 16, 01:26
проще. я пропускаю два периода при   U_ctr = U_rms = 0.  за это время измеряется  U_ctr  и вычисляется  U_rms, U_st
сообщения удалены (4)