Включение и выключение света с помощью одной кнопки на AVR (использование токового трансформатора)

AVR
Ниже представлена простая схема устройства на микроконтроллере ATtiny13A для включения и выключения лампы с помощью одной кнопки.
Причем, когда лампа не горит, контроллер не запитывается.
В качестве датчика выключения использован токовый трансформатор.


При нажатии кнопки подается питание на контроллер, он включает симистор и схема уже может питаться после отпускания кнопки.
От длительности нажатия на кнопку зависит таймаут выключения.
Токовый трансформатор
Выключение осуществляет уже сам микроконтроллер по таймеру или по нажатию кнопки.
Токовый трансформатор намотан медным проводом от витой пары на ферритовом кольце.
Я использовал для этого маленькое кольцо марки T38 (М10000НМ). Можно и меньшей проницаемости.
Количество витков — около 30 (больше не лезет).
Чувствительность высокая — срабатывает и на 3-х ватную лампу.

Напряжение с трансформатора считывается контроллером через ADC в автоматическом режиме по таймеру.
Для этого используется режим сравнения OCR0A со счетчиком таймера TCNT0.
Программа написана на C в Atmel Studio 6.1.

Схема
  • +4
  • 12 сентября 2013, 17:44
  • vad7
  • 1
Файлы в топике: LampControlTimerCT.zip

Комментарии (28)

RSS свернуть / развернуть
Что-то мне подсказывает, что для того, чтобы схема соответствовала описанному функционалу-токовый трансформатор должен быть в цепи симистора, а не кнопки…
0
Если разместить его в цепи симистора, то это:
Выключение осуществляет уже сам микроконтроллер по таймеру или по нажатию кнопки.
, как мне кажется не будет работать. Так же и время нажатия кнопки сложно будет отследить, дабы выставить задержку.
0
Имхо, как раз наоборот. Так, как нарисовано на схеме-ток через ТТ течёт только при нажатии кнопки при условии закрытого симистора. При этом подаётся питание на МК, который включает симистор. Симистор шунтирует собой ТТ и кнопку, ток теперь течёт через него. Ну и как теперь ловить повторное нажатие кнопки? Надеяться на падение напряжения на симисторе в открытом состоянии?

Если же поставить ТТ в цепь симистора-при открытии оного ТТ тут будет сигнализировать ток в нагрузке, а при шунтировании всей этой цепи кнопкой ток в ТТ будет падать до нуля, вот это и отслеживать.
0
Симистор при нажатии кнопки вообще закроется.
+1
  • avatar
  • Vga
  • 13 сентября 2013, 02:39
Блин! Точно! Посыпаю голову пеплом… Возня с полевиками сделала своё чёрное дело… :) Инерция мышления, да…
0
Я как всегда встряну))
Почему-то мне кажется, что вот эта строка в прерывании ADC
TIFR0 |= (1<<OCF0A); // Clear Output Compare Flag 0 A
сбросит вместе с OCF0A также и неожиданно вставший флаг TOV0.
Соответственно, прерывание по переполнению пропадет.
+1
Нет, в этом регистре биты очищаются записью единиц
0
Я об этом же.
Представите, что TOV0 уже встал. Во время обработчика ADC. Может такое быть? Да запросто!

Тогда операция |= аккуратно прочитает его в рабочий регистр, добавит туда бит OCF0A, и… аккуратно этой же единичкой его же и убьёт!
Вот как.
0
Забыл. Оба раза забыл написать как принято сбрасывать этот бит.
Просто TIFR0 = (1<<OCF0A);
0
Да, действительно именно в этом контроллере адрес TIFR0 выходит за 1F и команда битовой установки (SBI) не работает.
Но в любом случае программа работает правильно. Даже если учесть, что флаг OCF0A обрабатывается раньше TOV0, есть еще 13 циклов ADC до вызова прерывания ADC Conversion Complete.
0
Не понял где там у Вас обрабатывается флаг OCF0A, я-то имею в виду когда TOV0 встанет прямо в обработчике прерывания ADC и тут же сбросится операцией ReadModifyWrite. Разве это не может произойти? Но я предупредил — а Вам виднее. Только еще скажу — далеко не у всех AVR операция SBI безобидна для TIFR(только для «новых»). Об этом четко написано в даташите. Я б не рисковал и просто записывал в TIFR число, где «1» стояла б в только подлежащий очистке позиции.
+1
TOV0 не сможет прям в обработчике «встать». Потому как обработчик ADC вызывается по тику таймера спустя 25/13 тиков ADC.
0
диодный мост в цепи конденсаторного питания оправдан?
0
Вообще мост лучше туда ставить, используем оба полупериода. Да и с нынешним их размером почему бы и нет. Мне вот интереснее зачем ёмкость балластная такая большая. И зачем там МОС если с симистором вполне может управится сам МК.
0
при данной емкости получается не более 12мА. Если отказаться от моста в два раза меньше.
От оптосимистора при использовании токового трансформатора отказаться нельзя.
Можно сделать вот так, но тогда контроллер постоянно запитан:
Без оптосимистора
0
А можно прошивку для этого проекта попросить? или подскажите пожалуйста как в данной схеме управляется симистор (какими сигналами) у меня в протеусе так не получается.
0
За идею ставлю "+". Но есть и замечания.
Намоточные элементы считаются злом — нетехнологичны и дороги. Хотя в домашних самоделках это не так критично, но всё же лучше обойтись без транса. Представьте, что юзер вместо энергосберегайки вкрутит в патрон лампу накаливания, скажем, 100 95 Вт. Будем иметь нехилый пусковой ток, протекающий через кнопку в момент её нажатия (думаю, многим знакома ситуация, когда включение света сопровождается срабатыванием автомата на лестничной клетке). Т.е. эта кнопка должна быть силовой с соответствующими габаритами. А можно кнопкой открывать, скажем, оптотиристор. Либо подавать питание на контроллер через 2 дополнительных диода, параллельных левому плечу выпрямительного моста. И кнопка нужна будет слаботочная. А в дополнение сможем реализовать плавный пуск.

И замечание-брюзжание: таким символом (три штриха) принято отображать заземление, т.е. цепь, тем или иным образом связанную с землёй. Но мы же не собираемся схему заземлять? Поэтому лучше заменить символ «земля» на символ «общий» (если он конечно есть в базе компонентов).
+2
думаю, многим знакома ситуация, когда включение света сопровождается срабатыванием автомата на лестничной клетке
думаю такая ситуация не должна быть знакома никому. в нормальных условиях автомат не даст отсечку при токах не превышающих 2-3 номинальных. а тепловой выключатель это вообще долгая история.
адекватная кнопка вариант №1 — звонок дверной. адекватная кнопка №2 — специальные кнопки в форме выключателя для цепей с автоматическим выключением.
0
  • avatar
  • xar
  • 13 сентября 2013, 10:08
Безусловно, пусковым током лампы накаливания нормальный автомат не вырубишь. Но этот ток иногда бывает настолько большим, что плавится проводник между цоколем и колбой, и возникает дуговой разряд с соответствующим сверхтоком. Неужели только в моей семье такое бывает: жмёшь на выключатель, видишь яркую вспышку, в квартире становится темно, а по столу зловеще к краю катится стеклянная колба, собираясь упасть на пол и засыпать его осколками стекла?
0
Это нештатная ситуация. Перегорает нить накала, возникает дуговой разряд, от сверхтока плавится один из вводов, который специально делают тоньше.
0
Согласен, наоборот: сначала возникает дуга, а затем плавится проводник… Но тем не менее «факт имеет место быть».
0
после яркой вспышки и на солнце может темно стать ;) а так — рееедкий случай.
0
  • avatar
  • xar
  • 13 сентября 2013, 16:22
Не могу разглядеть схему, добавь в большем разрешении.
0
  • avatar
  • Aneg
  • 13 сентября 2013, 17:07
В архиве есть
0
я сегодня только пришел с работы и сожрал 3 груши за весь день
может быть я от голода отупел, но в чем прикол схемы?
нахера там трансформатор, если контроллер и так питается от выпрямителя?
что мешало повесить кнопку на выход контроллера напрямую?

что ты там пишеш, что контроллер не питает при выключенной лампе
у тебя же стабилитрон включен и ток через него больше тока контроллера
0
Действительно, есть нужно вовремя :-). Во первых, автор рассказывает на про работоспособное устройство. Возможно наличие некоторых косяков, но это не важно.
Во вторых, имеется некоторое количество опробованных наработок, поэтому схема выглядит именно так, а не иначе.
Диодный мост подключен параллельно лампе. Если она выключена, то и питания у контроллера не будет, и тока через стабилитрон тоже не будет.
Не стоит кричать: схема-то нерабочая! У автора же работает. Или я ошибаюсь?
+1
Решил попробовать токовый трансформатор, вот и родилась данная схема…
Поставил в кладовку, работает.
0
Диодный мост подключен параллельно лампе.
протеус никогда не славился хорошим схемным редактором и еще автор нарисовал через жопу

если так, то таки да, схема имеет применение в моем горшочке сыроеда
горшочек должен варить часами и должна быть защита от сбоя в прошивке через собаку и при глюке цепь должна разорваться автоматом
я думал на реле сделать, но наверное токовый транс будет лучше
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.