Вот решил разобраться, как работает 6-ти канальный диммер на микроконтроллере atmega16. Раннее делал 1 канальный диммер на мк attiny2313 и симистор bt139 и 2 кнопки.
Если кто сталкивался с многоканальным управлением симисторов, подскажите пожалуйста.
думаю просит идею. если гдето не так понял или есть другие идеи - поправь: 1) если 6-канальный диммер, то это 6 тиристоров (симисторов) с фазовым управлением, 2) т.к. каналов много, то проще использовать программный таймер (причём не обязательно до 255и), но для его стабильного счёта задействуем прерывание по "железному" таймеру и сброс обоих таймеров при переходе через 0 (синхронизацию с питающей сетью), 3) придётся строго дозировать загрузку ЦП контроллера, а также использовать пребуфер вывода для подавления джиттера (сначала по прерыванию обновляем состояние порта, а потом формируем данные для следующего цикла. 4) если используется симистор, возможно придётся делать общей положительную шину питания (для работы симистора в правильных квадрантах). у меня на этом форуме есть поделка люстра с ИК управлением (на тини 2313) сделать в ней диммирование, думаю можно, останется только продумать как в неё данные отправлять (интерфейс и гальваноразвязка от сети).
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Последний раз редактировалось Ivanoff-iv Ср авг 16, 2017 16:34:18, всего редактировалось 1 раз.
Один канал: Из сети ловил переход через "0" и на вход int0 в обработчике внешнего прерывания запускал таймер, таймер считал до значения регистра сравнения. Далее на выход порта выводим "1" ждем 50us в порт выводим "0" и выключаем таймер.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Заголовок сообщения: Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Добавлено: Ср авг 16, 2017 19:40:44
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2708 Откуда: г. Чайковский
Рейтинг сообщения:1 Медали: 1
Конечно крайне мало данных чтобы что-то посоветовать.
Пол периода это 10 мс или 180 градусов. Допустим будем регулироваться с дискретностью 100мкс или 1,8 градуса. Т.е. поделим полупериод на 100 частей. При тактовой частоте 16 МГц за 100мкс МК выполнит 1600 однотактовых команд. Это приличное число, т.е. между этими точками МК может заняться спокойненько другим вещами. Эти точки дисретизации условно нумеруем от 0 до 100.
Запускаете таймер в режиме СТС и настраиваете прерывание так, чтобы оно вызывалось каждые 100мкс. Так же настраиваете внешнее прерывание от детектора фазы.
Для каждого канала задается точка включения (фаза включения симистора), например по UART или как то еще. Ну видимо 6 переменных для 6 каналов. В прерывании от детектора: сброс таймера и обнуление счетчика текущей дискретной точки (текущей фазы) на полуволне. В прерывании от таймера: инкремент счетчика дискретных точек; если счетчик совпадает с заданием, то соответствующий порт включается иначе выключается.
Не знаю насколько понятно написал и надо будет конечно учесть кой-какие нюансы. Например, не увеличивать счетчик больше какого-то числа, можно останавливать таймер при фазе больше 160 градусов и запускать снова по детектору, учесть что детектор может быть чуть раньше или позже фактичего перехода через ноль и т.д.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Последний раз редактировалось Z_h_e Ср авг 16, 2017 20:31:53, всего редактировалось 1 раз.
Заголовок сообщения: Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Добавлено: Ср авг 16, 2017 20:47:25
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2708 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Я как то делал расчёты и теперь сую этот график везде куда попало . Это зависимость действующего напряжения и мощности от угла открытия симистора. Можно заметить что в диапазонах 0-20 и 160-180 градусов регуливание практического смысла врядли будет иметь Спойлер
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
если тены, то можно и не спешить, деля полупериод на части, а считатьисами полупериоды.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Вот именно: для ТЭНов самое то применить алгоритм Брезенхама и управлять пропуском полупериодов или даже периодов. Получается весьма экономно по ресурсам.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
а резкое включение прямо посреди периода при максимуме напряжения не будет стучать? в диммерах чтобы этот эффект хоть както подавить фильтра применяют, а если всегда при 0в включать - помех и наводок однозначно меньше будет.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Заголовок сообщения: Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Добавлено: Чт авг 17, 2017 15:15:37
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2708 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
В простейшем случае берете твердотельное реле с детектором нуля, например SSR-25DA. С каждого канала идет сигнал управления для реле, ШИМ периодом пару секунд. Данное реле (по сути тот же симистор) будет включаться точно в момент перехода через ноль, из-за чего не будет помех, но возможно будут моргать лампы накаливания.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения