Тут в первую очередь нужно знать мощность нагревателя и его инерционность. Затем, желаемую точность регулирования. Как я понимаю, хочется минимум помех? Про ZeroCross МОС-ы уже сказали, похоже ТС о них не слышал.
Без зерокросс думаю можно,если частоту управления сделать значительно меньше частоты сети. При 5Гц в одном такте уместится 10 периодов сети. Соответственно,несовпадение переходов через ноль и вкл-выкл семистора грозит максимальной погрешностью в 10%.
Сам занимаюсь сейчас этой проблемой.
Ну так-то не надо: “…о них не слышал…”! У меня как раз 3041 и стоят на всех исполнителях (ТЭН, клапан, вентилятор автономки и т.д.), которые питаются от 220в. Так что, с помехами, полагаю, всё нормально. Мощность нагревателя в максимуме 4500 вт. Точность регулирования вполне достаточна со скачками в 5% (возможно и 10% будет нормально). Но с точки зрения программирования никакой разницы тут в математике нету: хоть 1%, хоть 15%… Формулы все равно одни и те же. А “± полупериод в каждом интервале включения” на мой взгляд, много беды не должно давать: интервалы переключения я хочу сделать не кратными периодам сети, поэтому при длительной работе (несколько часов) неточность должна сгладиться. Тем более, что прецизионной точности в данном случае нее требуется.
Помехи не важны, точность не требуется. Офигеть! Ну так и включайте/выключайте от балды тогда. Чисто по времени.
Часто используют ШИМ с низким периодом. 1 сек, например.
Это для нагревателей. Но МОС с ZC желателен, всё же.
Ну, опять аггравация Как это, помехи не важны? Важны, но ZСross, насколько я понимаю, включает и выключает симистор в момент перехода через ноль. Значит, конкретно этот источник помех минимален. Больше помех будет, если сеть не могучая, и само по себе включение/выключение мощной нагрузки во всем доме даст “иллюминацию”. Но у меня 4500 вт сеть держит, так что, на глаз мигание не ощущается. Касательно точности - да, прецизионности не требуется, тут присутствует принцип разумной достаточности.
5 Гц - это 200 мсек. Периодов - да, 10. Но симистор вырубается то переходе через 0 (неважно, от минус к 0 или от плюса к 0), поэтому отсекаться будет один ПОЛУ период, то есть погрешность составит в максимуме 5%. Этого вполне достаточно.
С ZC симистором этих погрешностей не будет. При шаге регулирования 10мс, симистор будет открываться точно на время кратное 10 мс.
Так речь о том,чтобы цикл управления не был синхронизирован с частотой сети.
В начале может и будет 10мс,а далее рассинхронизация. В итоге,например,управление 100Гц,а сеть 99.9Гц. И будет от 0 до n% подводиться с частотой 0.1Гц.
Посему лучше частоту управления делать значительно меньше частоты сети. На целое кратное или нецелое другой вопрос.
Ну, в общем, маленький отчет…
Нагревал ТЭН в одинаковых условиях (изначальный объем и изначальная температура воды, доля мощности, поступающая в нагреватель - 34% при паспортной мощности 4500 вт).
Три способа:
- Алгоритм Брезенхема (код выше) при прерывании по таймеру с периодом 17 мсек.
- Алгоритм Брезенхема (код выше) при прерывании по таймеру с периодом 173 мсек.
- Алгоритм Брезенхема (код выше) по аппаратному прерыванию через индикатор перехода через ноль.
Каждый цикл испытаний - длительностью по 3 часа. Контроль расхода энергии - по электросчетчику.
Результаты:
А. Вода в кубе вскипела с пренебрежительно малой разницей по времени (+/- 1 минута).
Б. Показания электросчетчика также были идентичны (+/- десятая доля киловатта).
Вывод: непременно привязываться к аппаратному прерыванию, добавляя в устройство лишнюю плату индикатора перехода через ноль, вящего смысла не имеет. Конечно, в моих задачах.
Конечно,учитывая инерционость массы воды. Можно период и в несколько секунд сделать.
Можно, но мне почему-то показалось это неизящным. Возможно, я не прав…
Я вот смотрю в пивоварне не парились, втюхали по реле на каждый ТЭН, а в настройках мощности шаг через 100 Вт.
Да, многие не парятся. Но при токах 20-25А надо или очень качественные реле или отказаться от контактов (я за этот вариант). Кроме того, я не знаю, как при варке пива дело обстоит, но при ректификации нужно автоматизировать несколько процессов. Например, переход в рабочий режим нагрева с режима разгона. Или отсечение “хвостов”. Да та же работа клапана отбора. Не говоря уж об управлении системой охлаждения. То есть, много чего, большей частью в зависимости от температур в разных отделах аппарата. Так что, автоматика сильно упрощает жизнь. Ну, а если она присутствует, то и процесс дозирования мощности можно на нее тоже взвалить.
называются “пускатель” или “контактор” по-нынешнему.
Ну да, только дорогие они получаются, если надо брать целый набор для изощренных подключений-переключений нескольких ТЭНов. Это когда комбинируется последовательно-параллельное включение.
Ну что, @Sonologist, как успехи?
Успех полный. Все работает.
Купил готовый диммер на Али?
Миша, дорогой! Как ты помнишь - у меня твоя бывшая стеклянная колонна. (привет ей передам! )
Зачем ты так заморачиваешься с ерундой?
У меня % нагрева - просто медленный ШИМ с периодом 2 (или 4 - не помню уже) сек. И МОС с детектором ноля. Из 2 сек нужный % времени с точностью 5% работает ТЭН.
Да, у меня не 4500, а 2000 Вт. Но если у тебя сеть держит, то зачем тебе нужно частое мигание, а не более редкое?
Вода (брага/сырец и пр) очень теплоемкая среда, а значит термически инертна.
Какую цель ты преследуешь, называя медленный ШИМ “неизящным”? Изящество дает что? Или просто интересно было найти решение твоим путем?
ЗЫ: Кстати чуть не забыл вторую перегонку поставить, а то вечером пить нечего будет!