Обсуждаем контроллеры компании Atmel.
Ответить

6-ти канальный Диммер или регулятор мощности на мк atmega16

Ср авг 16, 2017 13:15:28

Вот решил разобраться, как работает 6-ти канальный диммер на микроконтроллере atmega16.
Раннее делал 1 канальный диммер на мк attiny2313 и симистор bt139 и 2 кнопки.

Если кто сталкивался с многоканальным управлением симисторов, подскажите пожалуйста.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 15:04:21

ATMEL86 писал(а):подскажите пожалуйста
Подсказать то что?

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 15:59:05

Мне нужно управлять 6-и каналами (нагрузками) независимо друг от друга.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 16:08:26

думаю просит идею.
если гдето не так понял или есть другие идеи - поправь:
1) если 6-канальный диммер, то это 6 тиристоров (симисторов) с фазовым управлением,
2) т.к. каналов много, то проще использовать программный таймер (причём не обязательно до 255и), но для его стабильного счёта задействуем прерывание по "железному" таймеру и сброс обоих таймеров при переходе через 0 (синхронизацию с питающей сетью),
3) придётся строго дозировать загрузку ЦП контроллера, а также использовать пребуфер вывода для подавления джиттера (сначала по прерыванию обновляем состояние порта, а потом формируем данные для следующего цикла.
4) если используется симистор, возможно придётся делать общей положительную шину питания (для работы симистора в правильных квадрантах).
у меня на этом форуме есть поделка люстра с ИК управлением (на тини 2313) сделать в ней диммирование, думаю можно, останется только продумать как в неё данные отправлять (интерфейс и гальваноразвязка от сети).
Последний раз редактировалось Ivanoff-iv Ср авг 16, 2017 16:34:18, всего редактировалось 1 раз.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 16:22:48

Один канал:
Из сети ловил переход через "0" и на вход int0
в обработчике внешнего прерывания запускал таймер, таймер считал до значения регистра сравнения.
Далее на выход порта выводим "1" ждем 50us в порт выводим "0" и выключаем таймер.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 16:38:17

С какой дискретностью планируется управление?

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 18:50:12

С какой дискретностью?
Очень быстро наверно.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 18:54:52

нет, сколько уровней яркости?

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 19:40:44

Конечно крайне мало данных чтобы что-то посоветовать.

Пол периода это 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:26:10

О... :idea: что то уже проясняется. буду думать.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 20:31:35

Уж не цветомузыку ли 6-канальную вы решили смастерить?

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 20:38:52

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

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 20:47:25

Я как то делал расчёты и теперь сую этот график везде куда попало :) . Это зависимость действующего напряжения и мощности от угла открытия симистора. Можно заметить что в диапазонах 0-20 и 160-180 градусов регуливание практического смысла врядли будет иметь
СпойлерИзображение

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Ср авг 16, 2017 21:04:39

О... класс спасибо за график!

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 03:41:04

если тены, то можно и не спешить, деля полупериод на части, а считатьисами полупериоды.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 11:18:26

Вот именно: для ТЭНов самое то применить алгоритм Брезенхама и управлять пропуском полупериодов или даже периодов. Получается весьма экономно по ресурсам.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 11:43:30

На верно пропуски периодов или полупериодов,чревато помехами в сети. Будет "стучать". А тем более 6 каналов.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 11:57:47

а резкое включение прямо посреди периода при максимуме напряжения не будет стучать?
в диммерах чтобы этот эффект хоть както подавить фильтра применяют, а если всегда при 0в включать - помех и наводок однозначно меньше будет.

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 12:55:16

Кто может нарисовать фазо - импульсное управление пропусков периодов, полупериодов?

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg

Чт авг 17, 2017 15:15:37

В простейшем случае берете твердотельное реле с детектором нуля, например SSR-25DA. С каждого канала идет сигнал управления для реле, ШИМ периодом пару секунд. Данное реле (по сути тот же симистор) будет включаться точно в момент перехода через ноль, из-за чего не будет помех, но возможно будут моргать лампы накаливания.
Ответить