6-ти канальный Диммер или регулятор мощности на мк atmega16
6-ти канальный Диммер или регулятор мощности на мк atmega16
Вот решил разобраться, как работает 6-ти канальный диммер на микроконтроллере atmega16.
Раннее делал 1 канальный диммер на мк attiny2313 и симистор bt139 и 2 кнопки.
Если кто сталкивался с многоканальным управлением симисторов, подскажите пожалуйста.
Раннее делал 1 канальный диммер на мк attiny2313 и симистор bt139 и 2 кнопки.
Если кто сталкивался с многоканальным управлением симисторов, подскажите пожалуйста.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Подсказать то что?ATMEL86 писал(а):подскажите пожалуйста
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Мне нужно управлять 6-и каналами (нагрузками) независимо друг от друга.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
думаю просит идею.
если гдето не так понял или есть другие идеи - поправь:
1) если 6-канальный диммер, то это 6 тиристоров (симисторов) с фазовым управлением,
2) т.к. каналов много, то проще использовать программный таймер (причём не обязательно до 255и), но для его стабильного счёта задействуем прерывание по "железному" таймеру и сброс обоих таймеров при переходе через 0 (синхронизацию с питающей сетью),
3) придётся строго дозировать загрузку ЦП контроллера, а также использовать пребуфер вывода для подавления джиттера (сначала по прерыванию обновляем состояние порта, а потом формируем данные для следующего цикла.
4) если используется симистор, возможно придётся делать общей положительную шину питания (для работы симистора в правильных квадрантах).
у меня на этом форуме есть поделка люстра с ИК управлением (на тини 2313) сделать в ней диммирование, думаю можно, останется только продумать как в неё данные отправлять (интерфейс и гальваноразвязка от сети).
если гдето не так понял или есть другие идеи - поправь:
1) если 6-канальный диммер, то это 6 тиристоров (симисторов) с фазовым управлением,
2) т.к. каналов много, то проще использовать программный таймер (причём не обязательно до 255и), но для его стабильного счёта задействуем прерывание по "железному" таймеру и сброс обоих таймеров при переходе через 0 (синхронизацию с питающей сетью),
3) придётся строго дозировать загрузку ЦП контроллера, а также использовать пребуфер вывода для подавления джиттера (сначала по прерыванию обновляем состояние порта, а потом формируем данные для следующего цикла.
4) если используется симистор, возможно придётся делать общей положительную шину питания (для работы симистора в правильных квадрантах).
у меня на этом форуме есть поделка люстра с ИК управлением (на тини 2313) сделать в ней диммирование, думаю можно, останется только продумать как в неё данные отправлять (интерфейс и гальваноразвязка от сети).
Последний раз редактировалось Ivanoff-iv Ср авг 16, 2017 16:34:18, всего редактировалось 1 раз.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Один канал:
Из сети ловил переход через "0" и на вход int0
в обработчике внешнего прерывания запускал таймер, таймер считал до значения регистра сравнения.
Далее на выход порта выводим "1" ждем 50us в порт выводим "0" и выключаем таймер.
Из сети ловил переход через "0" и на вход int0
в обработчике внешнего прерывания запускал таймер, таймер считал до значения регистра сравнения.
Далее на выход порта выводим "1" ждем 50us в порт выводим "0" и выключаем таймер.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
С какой дискретностью планируется управление?
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
С какой дискретностью?
Очень быстро наверно.
Очень быстро наверно.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
нет, сколько уровней яркости?
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Конечно крайне мало данных чтобы что-то посоветовать.
Пол периода это 10 мс или 180 градусов. Допустим будем регулироваться с дискретностью 100мкс или 1,8 градуса. Т.е. поделим полупериод на 100 частей.
При тактовой частоте 16 МГц за 100мкс МК выполнит 1600 однотактовых команд. Это приличное число, т.е. между этими точками МК может заняться спокойненько другим вещами. Эти точки дисретизации условно нумеруем от 0 до 100.
Запускаете таймер в режиме СТС и настраиваете прерывание так, чтобы оно вызывалось каждые 100мкс.
Так же настраиваете внешнее прерывание от детектора фазы.
Для каждого канала задается точка включения (фаза включения симистора), например по UART или как то еще. Ну видимо 6 переменных для 6 каналов.
В прерывании от детектора: сброс таймера и обнуление счетчика текущей дискретной точки (текущей фазы) на полуволне.
В прерывании от таймера:
инкремент счетчика дискретных точек;
если счетчик совпадает с заданием, то соответствующий порт включается иначе выключается.
Не знаю насколько понятно написал и надо будет конечно учесть кой-какие нюансы. Например, не увеличивать счетчик больше какого-то числа, можно останавливать таймер при фазе больше 160 градусов и запускать снова по детектору, учесть что детектор может быть чуть раньше или позже фактичего перехода через ноль и т.д.
Пол периода это 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
О...
что то уже проясняется. буду думать.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Уж не цветомузыку ли 6-канальную вы решили смастерить?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Добрый вечер ARV!
не к сожалению не цветомузыку... Та вот интересно стало многоканальное управление симисторами, тэны
попробую по нагревать.
попробую по нагревать.
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Я как то делал расчёты и теперь сую этот график везде куда попало
. Это зависимость действующего напряжения и мощности от угла открытия симистора. Можно заметить что в диапазонах 0-20 и 160-180 градусов регуливание практического смысла врядли будет иметь 
Спойлер

Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
О... класс спасибо за график!
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
если тены, то можно и не спешить, деля полупериод на части, а считатьисами полупериоды.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Вот именно: для ТЭНов самое то применить алгоритм Брезенхама и управлять пропуском полупериодов или даже периодов. Получается весьма экономно по ресурсам.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
На верно пропуски периодов или полупериодов,чревато помехами в сети. Будет "стучать". А тем более 6 каналов.
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
а резкое включение прямо посреди периода при максимуме напряжения не будет стучать?
в диммерах чтобы этот эффект хоть както подавить фильтра применяют, а если всегда при 0в включать - помех и наводок однозначно меньше будет.
в диммерах чтобы этот эффект хоть както подавить фильтра применяют, а если всегда при 0в включать - помех и наводок однозначно меньше будет.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
Кто может нарисовать фазо - импульсное управление пропусков периодов, полупериодов?
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: 6-ти канальный Диммер или регулятор мощности на мк atmeg
В простейшем случае берете твердотельное реле с детектором нуля, например SSR-25DA. С каждого канала идет сигнал управления для реле, ШИМ периодом пару секунд. Данное реле (по сути тот же симистор) будет включаться точно в момент перехода через ноль, из-за чего не будет помех, но возможно будут моргать лампы накаливания.
