Например TDA7294

Форум РадиоКот • Просмотр темы - Как сделать трех(++)-канальный фазовый диммер на ATtiny85 ?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн дек 15, 2025 12:50:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Как сделать трех(++)-канальный фазовый диммер на ATtiny85 ?
СообщениеДобавлено: Чт янв 11, 2024 12:45:52 
Это не хвост, это антенна
Аватар пользователя

Карма: 17
Рейтинг сообщений: 227
Зарегистрирован: Вс май 13, 2012 00:01:54
Сообщений: 1443
Рейтинг сообщения: 0
Нашел код 2х-канального. Чуть допилил - работает прекрасно. Код на прерываниях компараторов АВ Таймера1. Обнуление таймера - по INT0. Меня всегда тянет впихивать невпихуемое. Места в памяти МК дофига. Решил добавить канал. Тупо скопипастил обработчик прерывания, чуток подпилил под пины МК - но упёрся в отсутствие 3-го компаратора и вектора. Первый раз взялся за прерывания и обломился.))))))))))))
Использовать Таймер0 не хочется, на нем обычно много чего по умолчанию сидит. Мне представляется идея использовать вообще один компаратор. То есть обработчик прерывания начинает с меньшего "угла". Перед завершением - грузит в компаратор следующий "угол", как-то передает номер канала, и по-сути вызывает сам себя. И так хоть 256 раз. Но тут возникают коллизии одинакового угла для нескольких каналов одновременно. Ткните носом - может кто уже реализовал такую идею ? Или есть что проще ? Думаю что идея рабочая, но превратить ее в код у меня мозгов не хватит. С уважением.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Чт янв 11, 2024 22:00:16 
Встал на лапы

Зарегистрирован: Ср дек 25, 2019 21:17:31
Сообщений: 99
Откуда: Саратов
Рейтинг сообщения: 0
Предполагаю, что можно в прерывании таймера декрементировать три переменные, при обнулении включать соответствующий пин. По INT0 выключать все три пина и рассчитывать те самые три переменные.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Пт янв 12, 2024 21:11:29 
Это не хвост, это антенна
Аватар пользователя

Карма: 17
Рейтинг сообщений: 227
Зарегистрирован: Вс май 13, 2012 00:01:54
Сообщений: 1443
Рейтинг сообщения: 0
Код двух-канального диммера в виде, в котором был найден.


Вложения:
ATtiny85_Dimmer_UART.zip [2.83 KiB]
Скачиваний: 68
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Сб янв 13, 2024 02:58:20 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4594
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Для диммера нужно всего лишь 1 внешнее прерывание + 1 таймер. И хоть 1000 каналов делай.
Всё будет зависеть от разрешения (кол-во шагов) скважности. Например, для 100 шагов таймер будет крутиться с частотой 10 КГц. Главное, чтобы проц успел обработать все каналы за промежуток времени между тиками таймера.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Сб янв 13, 2024 11:25:34 
Друг Кота

Карма: -1
Рейтинг сообщений: 85
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8867
Откуда: .ru
Рейтинг сообщения: 0
для 1000 каналов таймер будет иметь дикий фазовый шум))

на прерываниях компараторов АВ Таймера1 фазовый шум отсутствует.

хотя... если писать всё на ассемблере... с точностью до такта процессора... то фазовый шум можно победить))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Пт янв 19, 2024 09:50:42 
Это не хвост, это антенна
Аватар пользователя

Карма: 17
Рейтинг сообщений: 227
Зарегистрирован: Вс май 13, 2012 00:01:54
Сообщений: 1443
Рейтинг сообщения: 0
Для диммера нужно всего лишь 1 внешнее прерывание + 1 таймер. И хоть 1000 каналов делай.
Всё будет зависеть от разрешения (кол-во шагов) скважности. Например, для 100 шагов таймер будет крутиться с частотой 10 КГц. Главное, чтобы проц успел обработать все каналы за промежуток времени между тиками таймера.
Декрементировать в прерывании таймера три переменные. Когда число уменьшилось до 5 (например) - включить соответствующий канал, а при нуле - выключить. Этим сформируются фазы и импульсы открытия симисторов. Блин. Простая идея, а в голову не пришло. Зациклился на прерываниях по компаратору. Надо всего ТРИ канала, так что фазовый шум вряд ли будет виден.
Большое спасибо !


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Как сделать трех(++)-канальный фазовый диммер на ATtiny8
СообщениеДобавлено: Сб янв 20, 2024 13:29:31 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1493
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15288
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Таймер 0 ардуино АВР платформ можно использовать - только в таком случае он будет генерировать ту же микросекунду, прерывание по которой будет смещено чуток в сторону от "системных часов". Полученный сигнал можно использовать для своих нужд.
Основано на "свободном" OCR0A у группы атмега328.
Проверено на платках с атмегой328 - в случае других платформ надо смотреть их аппаратную начинку.
8)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y