Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

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

Форум самогонщиков Автоматика
1 ... 8 9 10 11 12 13 14 ... 57 11
ys1797 Доцент Санкт-Петербург 1K 338
Отв.200  10 Сент. 16, 20:32
Zoldrax, Это никак не влияет на включение на низких напряжениях.
На надежность включения на низких напряжениях помогает увеличение тока управляющего вывода.
В принципе, второй OCR можно настроить на снятие напряжения с управляющего электрода через некоторое время, увеличив ток. Тем самым предохраняем управляющую цепь от перегрева и бонусом включаемся на маленьких напругах.
Но, все равно синусоида где-то до 25 вольт обережется.


sevpro Доктор наук Worldwide 769 281
Отв.201  11 Сент. 16, 11:28
Для нормального открытия симистора резистор в цепи УЭ нужно правильно рассчитывать.
И симистор брать не первый попавшийся, а подходящий по току УЭ.
В принципе, второй OCR можно настроить на снятие напряжения с управляющего электрода через некоторое время, увеличив ток. Тем самым предохраняем управляющую цепь от перегреваys1797, 10 Сент. 16, 20:32
Извини, не понял, увеличив ток чего и какую управляющую цепь мы спасаем от перегрева?
Мне только так удалось достичь стабильности на низких напряжениях.Zoldrax, 10 Сент. 16, 01:20
Скорее всего у тебя проблема в датчике перехода через ноль или обработке его сигнала - светодиод моськи поздно гасился, залазил в следующий полупериод уже когда мог включиться оптотиристор, поэтому и пришлось выключать его принудительно
ys1797 Доцент Санкт-Петербург 1K 338
Отв.202  12 Сент. 16, 19:49
Извини, не понял, увеличив ток чего и какую управляющую цепь мы спасаем от перегрева?sevpro, 11 Сент. 16, 11:28

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



sevpro Доктор наук Worldwide 769 281
Отв.203  14 Сент. 16, 08:56
Вижу некоторое непонимание принципов управления тиристорами.
Ток через управляющий электрод симистора сам по себе имеет импульсный характер, длительность импульсов несколько микросекунд, и не нуждаются в каком-либо ограничении. Т.е. подали ток на УЭ, через несколько мкс он сам упадет практически до нуля.
увеличив ток через управляющий электрод симистораys1797, 12 Сент. 16, 19:49
Для того чтобы открыть симистор на его управляющий электрод нужно подать ток больше чем Igt (для современных силовых симисторов общего применения как правило 35-50мА), но меньше чем предельный ток оптотиристора (как правило 1А). Т.е. больше чем 1А в УЭ не закачаешь через моську, причем превышать этот ток нельзя даже в наихудших условиях, например тиристор включается на пике синусоиды сетевого напряжения.
Исходя из этого и считается резистор в цепи УЭ чтобы ток через него не превышал 1А. Я обычно ставлю 390 ом, что соответствует максимальному напряжению в сети 275в.
Если поставить резистор меньше, то при неблагоприятном стечении обстоятельств сгорит моська, а если больше, то тиристор будет открываться позже и нагрузка будет постоянно недополучать энергию.
У меня сопротивление что в управляющей цепи как-то почернело и попахивать стало, а потом и отгорело совсем.
Уменьшил время импульса - пока нормальный на вид.ys1797, 12 Сент. 16, 19:49
Неправильно выбран номинал или мощность резистора. Мощность должна быть не менее 0,5Вт, по номиналу написал выше.

Ограничение времени горения светодиода моськи имеет смысл только в двух случаях:
1. Косяки с детектором нуля
2. Энергетические соображения как у меня - бестрансформаторное питание от сети и постоянно сливать в никуда 15мА для меня расточительство.
Zoldrax Бакалавр spb 69 13
Отв.204  14 Сент. 16, 16:21
1. Косяки с детектором нуляsevpro, 14 Сент. 16, 08:56
Видимо так и есть, но искать косяки сложнее. У меня просто от диодного моста через 0.5 МОм подключено на ногу проца. В обработчике выход сразу обнуляю. Прерывание делал как по возрастанию сигнала, так и по спаду - разницы нет - симистор не закрывался. Возможно, емкость входа при таком сопротивлении играет роль и надо было делать делитель...
sevpro Доктор наук Worldwide 769 281
Отв.205  15 Сент. 16, 08:34
от диодного мостаZoldrax, 14 Сент. 16, 16:21
На нем Ты и теряешь драгоценные вольты. Атмега великолепно детектит переход через ноль при прямом подключении ее входа к сети через резистор.
http://www.atmel.com/images/doc2508.pdf
Рюрик1955 Доцент Серпухов 1.4K 441
Отв.206  15 Сент. 16, 09:32, через 59 мин
Мощность должна быть не менее 0,5Втsevpro, 14 Сент. 16, 08:56
Согласен, от мощности резистора зависит его размер ( или наоборот )и Максимально допустимое напряжение.
Например типа МЛТ: 0.125 - 200в., 0.250 - 250в.,0.5 - 350в. У SMD начинается с 50в.
Выход - ставить последовательно.
Zoldrax Бакалавр spb 69 13
Отв.207  15 Сент. 16, 11:25
Атмега великолепно детектит переход через ноль при прямом подключении ее входа к сети через резистор.sevpro, 15 Сент. 16, 08:34
sevpro, в моей схеме земля ардуины подключена к минусу диодного моста, чтобы можно было мерять оба полупериода не смещая среднюю точку. А падение на мосту должно было сдвигать прерывание по спаду влево, чего не наблюдается.
Тут скорее вот это из приведенного тобой документа: "The series resistor and the input pin capacitance will form an RC filter, which will delay the response compared to the actual zero crossing", а у меня еще и диод моста подпирает в обратную сторону, т.е. спад идет только за счет внутреннего сопротивления микроконтроллера.
m16 Модератор Тамбов 1.9K 1K
Отв.208  15 Сент. 16, 11:51, через 26 мин
В обработчике выход сразу обнуляю. Прерывание делал как по возрастанию сигнала, так и по спаду - разницы нет - симистор не закрывался.Zoldrax, 14 Сент. 16, 16:21
в этом твой косяк. детектор нуля здесь не причём. ток управления  нужно снимать заблаговременно ДО перехода синуса сети через ноль для надёжного запирания симистора это особенность работы москьки.
для примера диаграмма из шита на МОС3052
moc.jpg
Moc. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

т.е не менее чем за 200мкс до прихода ноля синуса

Атмега великолепно детектит переход через ноль при прямом подключении ее входа к сети через резистор.sevpro, 15 Сент. 16, 08:34
каждый период что не катит для фазоимпульсного управления, либо изголяться по фронтам
Zoldrax Бакалавр spb 69 13
Отв.209  15 Сент. 16, 12:28, через 38 мин
в этом твой косяк. детектор нуля здесь не причём. ток управления  нужно снимать заблаговременно ДО перехода синуса сети через ноль для надёжного запирания симистора это особенность работы москьки.m16, 15 Сент. 16, 11:51
Как раз так я и делаю, используя два OCR таймера, один на включение, второй на отключение до перехода, но мне сказали что я зря извращаюсь и это из за того, что у меня детектор нуля кривой. Только я не импульс даю, а свечу до некоторого максимального времени, которое истекает заблаговременно до пересечения нуля. И все работает отлично, даже если и детектор нуля кривоват.
OldBean Доцент Красноярск 1K 1.4K
Отв.210  06 Окт. 16, 20:29
Привет, коллеги!

Начал я автоматизировать свою ректификационную установочку (ну просто не всегда находится время на многочасовые медитации в обнимку с колонной :-). С первого взгляда - вроде бы несложная задача. В меру гибкая архитектура как-то сразу сформировалась в голове. В основе всей системы - какой-нибудь микрокомпьютер с операционной системой (остановился на малинке). Его задача - опрос датчиков и блокировок, "интеллектуальная работа" по управлению процессом ректификации и взаимодействие со мной (если нужно). У микрокомпьютера (это голова) есть два исполнительных устройства (это руки). Первая - контроллер куба, основная задача которого - обеспечивать заданную мощность (режим) нагрева куба. Вторая "рука" - контроллер узла отбора. Его задача - обеспечивать заданный режим отбора спирта и разлив фракций в разные емкости. Каждая рука управляется своим микроконтроллером. Остановился на ардуинках (Pro Mini 5V/16MHz) Связано все это по i2c (внутри) и tcp/ip (наружу).

Ну и вот. Сделал левую руку (контроллер куба). Пока в макете, россыпью. Начал программировать функционал. И черт меня дернул полистать форум и наткнуться на эту ветку. "Во!" - думаю: "То что нужно! Как раз регулировка мощности и на ардуинке Pro Mini. Самое то! Меньше думать придется...". Ну-ну... Читал, читал, читал, читал, читал, читал... Весь вечер читал. Всю ветку прочитал. Но так и не понял в чем же прикол! То ли я что-то сильно не понимаю в этой автоматизации, то ли что-то здесь не так. Ведь вроде бы несложная задачка - застабилизировать электрическую мощность, подаваемую в куб, невзирая на превратности сети. Любой, даже самый маленький стабилизированный источник питания от зарядки для телефона умеет это делать. А тут - все так сложно. Может кто-нибудь из тех, кто понял в чем прикол, растолкует мне пару-тройку моментов?

1. Зачем здесь ПИД?
Поясню вопрос. Пропорциональное регулирование (П) необходимо для управления инерционными системами (например, при стабилизации температуры в термостате). А буквы "ИД" - это дополнительно, если есть еще неучтенные факторы, дестабилизирующие систему. Здесь же (стабилизация электрической мощности, подаваемой в куб) - совершенно безынерционная система. На кой ... здесь П и, тем более, в связке с ИД?!

2. Выбор пропорционального метода регулирования приводит к необходимости иметь в "решателе" (т.е. в МК) разность между уставкой и реальным значением управляемого параметра. Отсюда возникает вся эта бодяга (90% ветки) с измерением, оцифровкой и вычислением действующих значений параметров сети. Хотя, в силу безынерционности системы, достаточно просто иметь всего бит информации о соотношении сигнала и уставки. Т.е. информацию о том больше или меньше сигнал уставки. Таким образом, вместо АЦП можно использовать просто компаратор (ну ладно, для гурманов - два компаратора Улыбающийся. Естественно, аналоговую уставку ("снаружи" МК) нужно сформировать. Такой ЦАП делается элементарно с помощью ШИМ и простейшей интегрирующей цепочки.

3. Еще один усложняющий фактор задачи данной ветки связан с нелинейностью фазового управления мощностью. Я не знаю чем обусловлено всеобщее (на форуме) мнение, что другие методы регулировки мощности, связанные с пропусканием/непропусканием целых полупериодов тока сети, приводят к морганию лампочек у соседей. Это какая должна быть "дохлая" сеть!? Или - не соответствующая сети нагрузка? Конечно, если нагрузить домашнюю сеть десятком-другим киловатт, пульсации будут заметны. Но интересно, у кого дома есть ректификационная колонна на такую мощность?

Я сегодня не поленился и реализовал на макете два метода регулировки мощности с "выстриганием" целых полупериодов. С точностью 1 процент (т.е. всего 100 полупериодов в цикле). Один метода - обычный PWM с частотой сигнала 1 Гц. Второй - PDM (pulse density modulation или сигма-дельта модуляция). Вариант - с диффузией ошибки. Здесь на форуме его еще называют (почему-то) методом Брезенхема. Видимо какая-то очень далекая ассоциация с рисованием на растре. Так вот. У меня ТЭН в кубе для ректификации максимально жрет примерно 1.6 кВт. Я его подключил к сети через переноску 5 м с довольно тонким проводом (ощутимо тепленький при длительной работе). В эту же переноску я включил настольную лампу. И поработал на макете с этими двумя модуляторами. Результат - НИКАКИХ МЕРЦАНИЙ настольной лампы ни в PWM, ни в PDM (ака Брезенхем) ни при каких значениях мощности (от 0 до 100%) я не видел. Так что, ИМХО, эти методы имеют полное право на жизнь в наших задачах.

Избавление от этого мифа (т.е. использование ЛИНЕЙНЫХ регуляторов с мягким переключением в нуле тока) делает задачу регулирования еще проще: реальная мощность меньше уставки - добавляем по единичке (процентику) мощности, больше - убавляем. Так и будем чуть-чуть (на 1 %) болтаться около нужной мощности.

Извиняюсь, коллеги, за многословие. Большую и интересную ветку прочитал, однако. Но появились вопросы. Был бы очень признателен, если бы кто-нибудь растолковал бы мне в чем суть обсуждаемых здесь проблем.
сообщения удалены (10)
Nivlad Бакалавр Звени-город 73 14
Отв.211  07 Окт. 16, 11:52
Если интересно - дайте знать - выложу работающий код для ардуинок. Простой как лопата, но работает хорошо.OldBean, 07 Окт. 16, 05:15
пришлите в личку или тут выложите!
OldBean Доцент Красноярск 1K 1.4K
Отв.212  07 Окт. 16, 16:08
По-моему, Ты путаешь интегральную и пропорциональную составляющие.sevpro
Не, не путаю. Пропорциональная составляющая  - это то, что в управляющем воздействии пропорционально невязке. Вообще-то она (пропорциональная составляющая) нужна просто для приемлемой скорости стабилизации (особенно на дальних подступах, когда невязка велика). Ну и чтобы не "промахиваться" вблизи цели на полной скорости (вблизи цели тормозим пропорционально уменьшающейся невязке). Но чисто пропорциональное регулирование не дает возможности достичь точной цели за конечное время, т.к. при приближении к цели управляющее воздействие (т.е. невязка) стремится к нулю. Более того, при чисто пропорциональном управлении не учитываются и другие факторы. Ну, например, при стабилизации температуры в термостате, чисто пропорциональное управление всегда будет давать заниженную температуру. Это связано, в частности, с неучтенными в ней тепловыми потерями термостата. Т.е. нужно дополнительно "поддавать" мощность нагрева на величину, равную потерям (это как бы интегральная составляющая). Но тут-то (в термостате) все понятно. А ведь часто приходится управлять более сложными системами. Не только инерционными, но и нелинейными. Для которых и адекватных моделей-то нет. Вот тут-то как раз и спасает интегральная составляющуя. Но начинается уже  настоящее "шаманство". Впрочем, для стабилизации электрической мощности нагрева куба все это совсем не нужно.
---------------------------------------------
Выкладываю скетч с подробными комментариями в тексте кода и схему, где можно посмотреть к каким пинам ардуинки подключен индикатор (то что черным - проверено, работает, то что красным - в процессе размышлений). Да еще. К сожалению, у меня все индикаторы только с общими катодами. Поэтому скетч написан для таких индикаторов. У кого общие аноды и/или больше разрядов - понятно как поменять. Здесь я не стал этого делать потому что проверить не на чем.
(убрал ссылки из текста, mak)
Контроллер куба v02.gif
Контроллер куба v02.gif Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

heater06.ino 15.5 Кб
sevpro Доктор наук Worldwide 769 281
Отв.213  07 Окт. 16, 23:14
OldBean, три раза прочел, ничего не понял. Все в куче и П, и ПИ, и ПИД. Невероятная каша в понятиях.
Схема кстати только с брезенхемом работать будет, ну и естественно, что ни о какой стабилизации мощности речи нет
Zoldrax Бакалавр spb 69 13
Отв.214  07 Окт. 16, 23:38, через 24 мин
Вот тут-то как раз и спасает интегральная составляющуя.OldBean, 07 Окт. 16, 16:08
OldBean, Я, как раз, попытался реализовать простую интегральную составляющую накоплением ошибки. Вроде, отлично работает. Исходник тут: [сообщение #12784736]
OldBean Доцент Красноярск 1K 1.4K
Отв.215  08 Окт. 16, 06:09
Я, как раз, попытался реализовать простую интегральную составляющую накоплением ошибки. Вроде, отлично работает. Исходник тут: [сообщение #12784736]Zoldrax
Спасибо, Zoldrax. Я смотрел. Хороший код. Но мне показалось, что он предназначен только для измерения среднеквадратичного напряжения. Посмотрю потом повнимательнее.
Хотя в данной задаче ничего кроме этого и не нужно. В цикле: измерил сеть и внес поправку в угол открытия симистора. Вот и все управление/стабилизация мощности ТЭНА. Понятно, что никаких ПИД, ни даже просто П здесь совсем и не нужно. : )

Схема кстати только с брезенхемом работать будет, ну и естественно, что ни о какой стабилизации мощности речи нет sevpro
Ни о какой аппаратной стабилизации мощности здесь и речи не было. Стабилизация мощности происходит программно (см. реплику для Zoldrax чуть-чуть выше). То что красненьким было нарисовано - это просто продукты размышлений, возникшие в процессе чтения этой ветки (как раз в стадии "когнитивного диссонанса" : ). Пока не стало очевидно, что ничего этого для данной задачи не нужно.

О режимах работы схемы. Первоначально схема работала в трех режимах: 1) обычного ШИМ с пропуском целых полупериодов, 2) Брезенхем и 3) обычная фазовая регулировка. После того, как я проверил, что мои лампочки и ламночки у соседей в первых двух вариантах не мигают - последний способ был удален (как классово чуждый, вредный и нелинейный  >:( ). Осталось два режима работы контроллера: просто ШИМ с периодом 1 сек (когда детектор нуля (это кусочек слева сверху на схеме) отсутствует) и Брезенхем (когда детектор нуля подключен). Выбор режима происходит автоматически при включении и инициализации системы. В прилагаемом скетче все это есть.

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

Невероятная каша в понятиях. sevpro
Ну если уж совсем каша "заварилась" - давайте поговорим об алгоритмах автоматизированного управления поподробнее. Только вечерочком. Надеюсь, что модераторы нас сильно не заругают за некое отступление от темы. Хотя все это давно и многократно описано в Сети.  Вот здесь, например, есть очень популярное изложение этих вопросов с простыми и наглядными примерами. Статья старая, но для этих вопросов время не так важно. Как раз, примерно в середине статьи очень популярно проиллюстрирована разница между 1) простейшим позиционным регулятором (это когда просто как бы релюха щелкает : ), 2) пропорциональным регулятором (П) (это когда управляющий сигнал просто пропорционален невязке) и 3) П с интегральной составляющей (т.е. ПИ) (когда к управляющему сигналу, пропорциональному невязке, добавляется интегральная составляющая. В том примере (в случае постоянных тепловых потерь) - это просто заранее известная константа).
(поправил, mak)
mak Модератор Екатеринбург 6.3K 1.8K
Отв.216  08 Окт. 16, 07:13
давайте поговорим об алгоритмах автоматизированного управления поподробнее. Только вечерочком.OldBean, 08 Окт. 16, 08:09
Цель в этом какая?
Сделать лучше уже работающее устройство? По каким параметрам?

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

p.p.s. А раз у тебя есть какой-то практический выхлоп (схема, программа) то могу сделать тебе отдельную тему и перенести туда
OldBean Доцент Красноярск 1K 1.4K
Отв.217  08 Окт. 16, 09:49
Цель в этом какая?
Сделать лучше уже работающее устройство? По каким параметрам?mak
Да я тоже не вижу особого смысла - многократно обсужденные вещи. Но sevpro написал про "невероятную кашу в понятиях" - надо же как-то реагировать. На всякий случай я привел ссылку, где все эти ПИД-овские дела предельно популярно изложены. Более популярно рассказать я вряд ли смогу. Поэтому, думаю, действительно нет смысла в данной ветке эти ПИД-ы обсуждать. Поговорим, если потребуется, в другом месте.

могу сделать тебе отдельную тему и перенести тудаmak
Спасибо, но, думаю, пока не нужно. Для своей автоматизации я использую достаточно традиционные решения. Зачем плодить лишние сущности. Итак форум огромный! Я подумаю об этом когда закончу всю систему.
sevpro Доктор наук Worldwide 769 281
Отв.218  08 Окт. 16, 10:36, через 47 мин
Первоначально схема работала в трех режимах: 1) обычного ШИМ с пропуском целых полупериодов, 2) Брезенхем и 3) обычная фазовая регулировка.OldBean, 08 Окт. 16, 06:09
Не будет твоя схема работать в режиме фазовой регулировки. Оптотиристор moc8083 содержит датчик нуля.
Стабилизация мощности происходит программноOldBean, 08 Окт. 16, 06:09
Каким образом? Откуда устройство получает информацию о напряжении в сети или на нагрузке?
То что красненьким было нарисовано - это просто продукты размышлений, возникшие в процессе чтения этой веткиOldBean, 08 Окт. 16, 06:09
То, что нарисовано красным вообще не понятно как должно работать. На кой там дифусилитель, не ясно.
В цикле: измерил сеть и внес поправку в угол открытия симистора. Вот и все управление/стабилизация мощности ТЭНА.OldBean, 08 Окт. 16, 06:09
Это и есть П регулятор

p.s. У тебя на базе Т1 пиковое напряжение порядка 15 вольт. Я думаю, что конец ему наступит очень быстро, особенно если по сети какая-нибудь хрень проскочит. Параллельно конденсатору стабилитрон поставь.
Zoldrax Бакалавр spb 69 13
Отв.219  08 Окт. 16, 11:25, через 50 мин
Но мне показалось, что он предназначен только для измерения среднеквадратичного напряжения.OldBean, 08 Окт. 16, 06:09
OldBean, там меряются два ср. квадр. напряжения. За полный период и за время открытого симистора. Интегральный регулятор пытается второе превести к заданному.