Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2013, 14:56   #1
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Тема по датчик тока выяснила что я не докнца понимаю алгоритм работы Диммера, счел что разобраться в нем будет уместнее здесь.
Итак: как я вижу алгоритм работы диммера такой:
1. Оптрон отлавливает нулевую точку когда синусоида пересекает 0 и движется вверх(начало периода) через внешнее прерывание INT запускается алгоритм обработки по подъему. При этом после прохождения нулевой точки симмистор закрыт и ток через него не проходит
2. Обнуляется счетчик tic и запускается таймер с интервалом в 40 микросекунд (т.е. в полупериоде 250 срабатываний таймера)
3. Каждое срабатывание таймера счетчик tic увеличивается и по достижении его значения переменной Dimmer на выход подается логическая единица и симистор открывается и на лампочку идет ток
4. Когда синусоида спадая вниз вновь достигнет 0, срабатывает прерывание и включается его обработчик на спад - выключается симистор, ток не течет, таймер останавливается и дальше все так до первого пункта
Вот где-то тут я не то понимаю, судя по тому что админ написал что регулирование осуществляется и по нижнему полу периоду, в обработчике прерывания на спад должно быть примерно так же как и в обработчике на подъем с запуском таймера и т.д.
В старом коде http://www.cyber-place.ru/showthread.php?t=191 видно что обрабатывались оба полупериода, а вот в новом чет не понимаю. Уж простите за вопросы новичка.

И второй вопрос - если вместо оптрона использовать датчик тока, то он подключается на аналоговый вход, соответственно работа по прерыванием у него возможна только по PCINT, не определяющий спад и нарастание, соответственно это придется обрабатывать программно или через библиотеку. Или есть еще какие-то решения более разумные?
Bulatovor вне форума   Ответить с цитированием
Старый 12.03.2013, 21:58   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

спад и подъем, это я имел ввиду нарастающий фронт сигнала и спадающий фронт(передний и задний фронт меандра)
Так как оптрон имеет два втречнопараллельных светодиода, то у оптрона на выходе будет меандр с частотой 100Гц
Поэтому обработка положительного и отрицательного полупериода абсолютно идентичны
Admin вне форума   Ответить с цитированием
Старый 10.02.2014, 15:18   #3
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию Re: Многоканальный Dimmer, работающий в фоновом режиме

если я правильно понял последний вопрос, то мне уже ответ дали, просто процитирую -так же как и на первой

Цитата:
Сообщение от Admin Посмотреть сообщение
спад и подъем, это я имел ввиду нарастающий фронт сигнала и спадающий фронт(передний и задний фронт меандра)
Так как оптрон имеет два втречнопараллельных светодиода, то у оптрона на выходе будет меандр с частотой 100Гц
Поэтому обработка положительного и отрицательного полупериода абсолютно идентичны
Bulatovor вне форума   Ответить с цитированием
Старый 13.03.2013, 07:29   #4
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Вон оно что, про то что у оптрона два диода я и забыл,ведь я все пытаюсь сделать в качестве детектора нуля ACS712 а у него синусоида на выходе/
Значит для схемы схемы с ACS отслеживать ноль через прерывания бессмысленно- проще сделать таймер каждые 20-40 микросекунд и считывать значения с аналогового порта, а уж значения использовать и для расчета тока и для управления симмистором

Последний раз редактировалось Bulatovor; 13.03.2013 в 08:46.
Bulatovor вне форума   Ответить с цитированием
Старый 13.03.2013, 10:35   #5
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Цитата:
Значит для схемы схемы с ACS отслеживать ноль через прерывания бессмысленно- проще сделать таймер каждые 20-40 микросекунд и считывать значения с аналогового порта
Я думаю что нужно включить АЦП в автоматическом режиме преобразования с прерыванием и в обработчике проверять ноль(510>ноль<514)
Admin вне форума   Ответить с цитированием
Старый 13.03.2013, 10:54   #6
Bulatovor
Senior Member
 
Регистрация: 20.01.2013
Адрес: Уфа
Сообщений: 444
Вес репутации: 799
Bulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond reputeBulatovor has a reputation beyond repute
По умолчанию

Согласен, именно как то так. Только вот диммер будет отрезать синусоиду и соответственно измерения переменки будут неточны на максимуме. Для расчета тока придется применять и коэффициент диммирования или какой-то другой коэффициент определяющий в какой момент был отключен диммер
Bulatovor вне форума   Ответить с цитированием
Старый 13.03.2013, 11:17   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

А зачем максиму измерять? достаточно поймать ноль и от него отсчитывать таймером
Мы знаем что максимум должен быть в 5мс от ноля

P.S.
Упустил из виду про измерение тока.
Для измерения эффективного значения синусоидального тока все равно нужно бы было умножать на коэффициент 0,7
В случаи с отсечкой нужно рассчитать новую формулу в которой придется учитывать время отсечки или поставить RC фильтр для сглаживания и получения синусоиды
на выходе датчика тока
Admin вне форума   Ответить с цитированием
Старый 26.03.2013, 02:42   #8
mihase
Junior Member
 
Регистрация: 26.03.2013
Сообщений: 2
Вес репутации: 0
mihase is an unknown quantity at this point
По умолчанию

Здравствуйте. За труды спасибо, собрал, работает. У меня Mega 2560. Но вот проблема, мне нужно управление нагрузкой 6-7 кВт(тэн), с привязкой к термодатчику DS18B20, причем не режим вкл/выкл, а именно плавная подстройка. Так вот, если заменить ВТ 138 на, скажем, ТС 132-50-10, схема будет рабочей?
mihase вне форума   Ответить с цитированием
Старый 26.03.2013, 18:01   #9
pma
Junior Member
 
Регистрация: 04.02.2013
Сообщений: 19
Вес репутации: 0
pma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud ofpma has much to be proud of
По умолчанию

Цитата:
Сообщение от mihase Посмотреть сообщение
Здравствуйте. За труды спасибо, собрал, работает. У меня Mega 2560. Но вот проблема, мне нужно управление нагрузкой 6-7 кВт(тэн), с привязкой к термодатчику DS18B20, причем не режим вкл/выкл, а именно плавная подстройка. Так вот, если заменить ВТ 138 на, скажем, ТС 132-50-10, схема будет рабочей?
На такой мощности однозначно надо задумываться о помехах!
И сразу возникает вопрос что контролируется? Если нужна автоматическая корректировка мощности в зависимости от температуры, еще и с приличной точностью, тут не такой простой вопрос. Сразу хочу предостеречь: регусятор будет заводиться. те температура возросла -> мощьность нарастает из за инерционности еще нарастает -> перегрели и надо сильно сбрасывать мощность и так по кругу.
В таком случае нужен ПИД регулятор и его правильная настройка. если оч коротко: с какой силой и с какой скоростью реагировать на изменение параметра (в вашем случае температуры)
pma вне форума   Ответить с цитированием
Старый 26.03.2013, 11:48   #10
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию

Для инертной(нагреватель) и мощной нагрузки, что бы не создавать помехи в электропроводке, лучше собрать этот диммер на оптроне с детектором ноля(MOC3061), а мощность регулировать полупериодами.
Выглядеть будет так:
использовать 10 полупериодов = 100% мощности
использовать 9 полупериодов и пропустить 1 полупериод = 90%
и т.д.
Алгоритм проще, таймер не нужно использовать
схема такая же как в шапке темы
Admin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 18 (пользователей: 0 , гостей: 18)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:03. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика