Управление лампами через Мк.
Заказал по почте в магазине запчасти все вроде элементы жду посылки и потом паять !!!!!!!!!! 
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
- Реклама
Доброго всем времени суток!
Схемка очень понравилась, буду повторять в двух экземплярах.
Первый как и у автора топика, а второй пойдет на гирлянду. Единственное на AVR перейду.
Еще вопрос: не мог бы кто подсказать аналоги для замены опторязвязки и симисторов.
А то при беглом поиске, указанных деталюшек у моего поставщика нет.
Схемка очень понравилась, буду повторять в двух экземплярах.
Первый как и у автора топика, а второй пойдет на гирлянду. Единственное на AVR перейду.
Еще вопрос: не мог бы кто подсказать аналоги для замены опторязвязки и симисторов.
А то при беглом поиске, указанных деталюшек у моего поставщика нет.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Вроде поковырялся по наличию и ценам, подобрал:
MOC3021
BT314-600 (4A)
DBS107(smd 1А), жаль что остальных в smd нет.
ATtiny2313 (много без дела валяется)
Думаю что для 2-х светодиодных гирлянд этого будет за глаза.
Для 6 точечных галогенок (100 или 60 Вт), поставлю:
BT138 (12A, вдвое с лишним дешевле 139)
И диодный мостик BR310 (3A)
Если где не прав, прошу поправить.
MOC3021
BT314-600 (4A)
DBS107(smd 1А), жаль что остальных в smd нет.
ATtiny2313 (много без дела валяется)
Думаю что для 2-х светодиодных гирлянд этого будет за глаза.
Для 6 точечных галогенок (100 или 60 Вт), поставлю:
BT138 (12A, вдвое с лишним дешевле 139)
И диодный мостик BR310 (3A)
Если где не прав, прошу поправить.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Моя печатка непроверенна на железе если будете собирать по печатке то обязательно проверьте её перед сборкой!!DimanVIP писал(а):Доброго всем времени суток!
Схемка очень понравилась, буду повторять в двух экземплярах.
Скайп [size=150][color=#0040FF]Petrov_igor24[/color][/size]
Не составит-ли труда сделать видеоролик,охота взглянуть так саказать глазами. Или описать, на скольо удачн идея, интересует та-же возможностьизменени скорости включения.Но это наверно вопрос к автору прошивки...
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
- Реклама
С удовольствием отвечу на все вопросы, но после того, как кто-нибудь соберет схему в железе. Тогда по результатам испытаний и будем корректировать скорость, время, логику и т.п. Более того, желающим отдам исходники для самостоятельного развития проекта.Seal писал(а):Не составит-ли труда сделать видеоролик,охота взглянуть так саказать глазами. Или описать, на скольо удачн идея, интересует та-же возможностьизменени скорости включения.Но это наверно вопрос к автору прошивки...
Изменить можно все. Сейчас просто нет смысла этим заниматься, пока не будет опробован хотя бы один экземпляр устройства.
Печатка уже травится. Сегодня соберу.
За прошу еще пока не садился. Так чтобы рад ознакомиться с наработками для испытания в железе.
За прошу еще пока не садился. Так чтобы рад ознакомиться с наработками для испытания в железе.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Моя программа для PIC.DimanVIP писал(а):Так чтобы рад ознакомиться с наработками для испытания в железе.
Если она на Си, то для меня это роли не играет.Soir писал(а):Моя программа для PIC.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
На C. Чуть-чуть причешу и вышлю в личку.DimanVIP писал(а):Если она на Си, то для меня это роли не играет.Soir писал(а):Моя программа для PIC.
Не надо ничего причесывать, выкладывайте как есть. Дальше уж я сам. Всеравно придется два варианта делать, так что...Soir писал(а):На C. Чуть-чуть причешу и вышлю в личку.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Пока пишу прошу, удобно отлаживать программный код в протеусе.
Но заметил одну неприятную особенность:
При подаче опорного синуса через транзюк, длина периодов положительной и отрицательных полуволн отличается. Период положительной полуволны (с выхода транзюка) примерно 8,5 мс, а отрицательной 11,5 мс.
Мне кажется протеус тут ни при чем, и придется этот момент учитывать.
Влияния резисторов пробовал исключать, оставляя один транзюк с подтяжкой.
Но заметил одну неприятную особенность:
При подаче опорного синуса через транзюк, длина периодов положительной и отрицательных полуволн отличается. Период положительной полуволны (с выхода транзюка) примерно 8,5 мс, а отрицательной 11,5 мс.
Мне кажется протеус тут ни при чем, и придется этот момент учитывать.
Влияния резисторов пробовал исключать, оставляя один транзюк с подтяжкой.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Для получения импульсов синхронизации на входе МК должен быть не "опорный синус", а момент прохождения сетевого напряжения через "0". Транзистор как раз и является формирователем импульсов синхронизации. Важен только фронт импульса. Чем точнее он будет соответствовать "0", тем четче можно осуществлять регулировку в зонах минимальной и максимальной мощностей. Длительность импульсов на коллекторе транзистора как раз и характеризует формирователь. Чем короче импульс, тем лучше (подбирается резисторами в цепи базы). Но тем больше вероятность срыва синхронизации.DimanVIP писал(а):Пока пишу прошу, удобно отлаживать программный код в протеусе.
Но заметил одну неприятную особенность:
При подаче опорного синуса через транзюк, длина периодов положительной и отрицательных полуволн отличается. Период положительной полуволны (с выхода транзюка) примерно 8,5 мс, а отрицательной 11,5 мс.
Мне кажется протеус тут ни при чем, и придется этот момент учитывать.
Влияния резисторов пробовал исключать, оставляя один транзюк с подтяжкой.
Если я Вас неправильно понял - уточните проблему. Лучше с иллюстрациями или проектом.
Это все и так ясно как божий день.
Во вложении иллюстрация, чтобы было понятней. (Малость поколдовал, чтобы характеристики чуть улучшить, получилось 9 и 11 мс).
Нижний(зеленый), опорный синус, выше(красный) сигнал с транзюка. Замерил, получается что транзюк открывается при +0,7(знакомое до боли) и соответственно закрывается при +0,7. Вот и получается перекос по полуволнам.
Поначалу я хотел синхронизироваться по обоим переходам через 0.
Если это учитывать, получится очень не хилый код. Так что остановлюсь пока на отрицательном фронте.
Во вложении иллюстрация, чтобы было понятней. (Малость поколдовал, чтобы характеристики чуть улучшить, получилось 9 и 11 мс).
Нижний(зеленый), опорный синус, выше(красный) сигнал с транзюка. Замерил, получается что транзюк открывается при +0,7(знакомое до боли) и соответственно закрывается при +0,7. Вот и получается перекос по полуволнам.
Поначалу я хотел синхронизироваться по обоим переходам через 0.
Если это учитывать, получится очень не хилый код. Так что остановлюсь пока на отрицательном фронте.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
А может не стоит обрабатывать вообще програмно переход через "0" ? Есть решения аппаратного уровня,с выдачей импульса при переходе через ноль.
ученые долго думали,в чем измерять частоту.... С тех пор и пишут Hz
Все это мы уже проходили, когда делал мощный драйвер шагового двигателя. Вот там было действительно сложно.
А здесь все эти проблемки решаются программными способами, благо особого быстродействия тут не требуется.
В принципе еще немножко осталось, и проша будет готова для испытания в реальном железе.
Пока вот чего добился: Верхний - срабатывания прерывания по rising edge.
остальные - выхода, настроенные на разные мощностя.
Думаю проблему можно считать решенной.
А здесь все эти проблемки решаются программными способами, благо особого быстродействия тут не требуется.
В принципе еще немножко осталось, и проша будет готова для испытания в реальном железе.
Пока вот чего добился: Верхний - срабатывания прерывания по rising edge.
остальные - выхода, настроенные на разные мощностя.
Думаю проблему можно считать решенной.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
Значит я неправильно понял Ваш вопрос.DimanVIP писал(а):Это все и так ясно как божий день.
По мне так наоборот. Проход через "0" должен отслеживать в обеих полуволнах. Надежнее и проще отслеживать аппаратно, в данном случае аппаратную часть выполняет транзистор. В моем проекте обе полуволны обрабатываются транзистором. Если делать на одной полуволне, как у Вас, то первый проход через "0" - транзистор выдает импульс (или формирует фронт), а второй должен вычисляться МК. Я правильно Вас понял? Если да, то программа усложняется вычислением начала следующей полуволны. (Где-то у меня были и такие разработки, только не довел я их до железа.) И второй момент, частота сети отличается от 50 Гц, что, или опять же усложняет расчет, или может привести к потере синхронизации.DimanVIP писал(а):Поначалу я хотел синхронизироваться по обоим переходам через 0.
Если это учитывать, получится очень не хилый код. Так что остановлюсь пока на отрицательном фронте.
Если Вы так уверены, значит так и есть.DimanVIP писал(а):Верхний - срабатывания прерывания по rising edge.
остальные - выхода, настроенные на разные мощностя.
Думаю проблему можно считать решенной.
По осциллограмме как-то не совсем понятно. Взглянуть бы на схему, или погонять проект в Protues. В Вашей схеме уровень, открывающий симистор, низкий? По картинке синий максимальная мощность, а зеленый минимальная?
Испытания в железе прошли удачно. Жертв нет.
Все работает хорошо, единственное что не устраивает, так это редкие провалы(рандомно). Надо прошу шлифовать.
Естественно что переходы через 0 надо засекать в обоих полуволнах. НО, что в протеусе, что в реальном железе(по осцику), с транзистора идет сигнал с разными длинами полупериодов. Период когда транзюк открыт, короче того в котором он закрыт.
Соответсвенно, при первом переходе через ноль (транзюк допустим откроется) в полупериод влезет 23 ступени регулировки, при переходе через ноль во второй раз (транзюк закроется) в этот полупериод влезет 27 ступеней регулировки.
Вот поэтому я и решил отслеживать по спаду. Ведь в целом длина периода постоянна. А рассчитывать там особо ничего не нужно. Просто один раз настроить таймер и все. И запускать его на спаде.
Схема полностью аналогична приведенной выше, за исключением МК.
Прикладываю проект протоса, по котором отлаживаю код.
Все работает хорошо, единственное что не устраивает, так это редкие провалы(рандомно). Надо прошу шлифовать.
Естественно что переходы через 0 надо засекать в обоих полуволнах. НО, что в протеусе, что в реальном железе(по осцику), с транзистора идет сигнал с разными длинами полупериодов. Период когда транзюк открыт, короче того в котором он закрыт.
Соответсвенно, при первом переходе через ноль (транзюк допустим откроется) в полупериод влезет 23 ступени регулировки, при переходе через ноль во второй раз (транзюк закроется) в этот полупериод влезет 27 ступеней регулировки.
Вот поэтому я и решил отслеживать по спаду. Ведь в целом длина периода постоянна. А рассчитывать там особо ничего не нужно. Просто один раз настроить таймер и все. И запускать его на спаде.
Схема полностью аналогична приведенной выше, за исключением МК.
Прикладываю проект протоса, по котором отлаживаю код.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]
С чем, коллега, и поздравляю.DimanVIP писал(а):Испытания в железе прошли удачно. Жертв нет.
Это бывает при потере синхронизации, что может быть еще и от помех, вносимых работой симистора.DimanVIP писал(а):Все работает хорошо, единственное что не устраивает, так это редкие провалы(рандомно). Надо прошу шлифовать.
В моем варианте синхронизация идет по фронту импульса, (вызывает прерывание работы программы) длительность полупериода, неважно какого, не считается – это не имеет значения для работы программы. Так как импульсы берутся после диодного моста, то синхроимпульсы каждые 10мсек, а если точнее, то по завершении полуволны сетевого напряжения и неважно, какого именно. Такой метод синхронизации более точный в условиях непостоянства 50Гц. Для защиты от помех отключал синхронизацию между импульсами, включал только перед ожидаемым приходом синхроимпульса. (В текущем проекте это не реализовано.)DimanVIP писал(а):Естественно что переходы через 0 надо засекать в обоих полуволнах. НО, что в протеусе, что в реальном железе(по осцику), с транзистора идет сигнал с разными длинами полупериодов. Период когда транзюк открыт, короче того в котором он закрыт.
Соответсвенно, при первом переходе через ноль (транзюк допустим откроется) в полупериод влезет 23 ступени регулировки, при переходе через ноль во второй раз (транзюк закроется) в этот полупериод влезет 27 ступеней регулировки.
Вот поэтому я и решил отслеживать по спаду. Ведь в целом длина периода постоянна. А рассчитывать там особо ничего не нужно. Просто один раз настроить таймер и все. И запускать его на спаде.
Спасибо, поиграюсь на досуге.DimanVIP писал(а):Прикладываю проект протоса, по котором отлаживаю код.
В моем текущем варианте синхронизация идет только по фронту импульса(пробовал по положительному и отрицательному). После транзюка это 20 мс (полный период).
А если синхронизироваться по полупериодам, то ничего хорошего не получается. Т.к. длительность полу-периодов после транзюка не одинаковая!
Я не пойму почему она у Вас одинаковая?
В следующей реализации буду от транзюка избавляться. Да и от транса тоже.
А если синхронизироваться по полупериодам, то ничего хорошего не получается. Т.к. длительность полу-периодов после транзюка не одинаковая!
Я не пойму почему она у Вас одинаковая?
В следующей реализации буду от транзюка избавляться. Да и от транса тоже.
[img]http://nekuru.com/images/DimanVIP/t2.png[/img]


