Как детектировать контроллером ток а не напряжение или детектор наличия 220В
- Войдите на сайт для отправки комментариев
Понадобилось ставить сушилку, управляемую контроллером, на паузу автоматически при пропадании в сети 220В.
Спаял детектор 220В отсюда, работает.
Т.е. диод горит, если есть 220В в проводке (снаружи на провод 220В намотан тонкий провод идущий к базе первого транзистора).
Теперь, хочется вместо горящего диода получать 1 и 0 на пине ардуино.
Пробовал подавать 5В на аналоговый пин и с этого пина через резисторы разного номинала на коллектор транзистора и через нег на землю.
Токи текут большие при наличии/пропадании 220В, а напряжение падает на десятые вольта :( Так что трудно различать значения из analogRead.
Т.е. я не соображу, как ток преобразовать в напряжение.
Подскажите, пожалуйста, что почитать или как сделать?
Так, сделал маленький шаг : резистор оставил, диод убрал (на рисунке он неправилно по полярности нарисован). Резистор пусть будет шунт. Теперь как измерить с помощью ардуино падение напряжения на этом резисторе?
Так, сделал маленький шаг : резистор оставил, диод убрал (на рисунке он неправилно по полярности нарисован). Резистор пусть будет шунт. Теперь как измерить с помощью ардуино падение напряжения на этом резисторе?
давал же правильное направление в хугл - нахрена городить веловипеды?
Мне нужно измерить с помощью ардуино падение напряжения на резисторе.
Через этот резистор течет либо 1,2mA либо практически 0.
Туплю. Уже и оптрон пробовал, не выходит.
Т.е. надо на ардуино как-то получить два разных сигнала: один когда ток течет, второй, когда ток около 0.
Как?
Т.е. надо на ардуино как-то получить два разных сигнала: один когда ток течет, второй, когда ток около 0.
Как?
ну, а я тебе что даю? https://www.google.com/search?q=arduino+датчик+тока
Для определения наличия&&отсутствия напряжения в сети достаточно
подключить к сети неонку||светодиод (схемы подключения просты и легко находимы),
прицепить к нему||к ней фоторезистор, достаточно куска непрозрачной термоусадки,
завести выходы терморезистора на землю и аналоговый вход Ардуино (подтянутый||через делитель от пяти Вольт)
и читать состояние аналогового входа.
Правильно ! Строим опртрон! Или берём готовый. Или ставим реле.
Если Вы о схеме детектора на 3 транзисторах из первого поста,то там все просто.Батарею питания от 3 до 5 вольт, выбрасываете светодиод, тоесть вместо него перемычка. К Дуне цепляете из точки соединения этого резистора 220 Ом и коллектора транзистора. Резистор можно увеличить Ом до 500 примерно , чтоб снизить ток коллектора. Когда транзистор откроется, тоесть есть напряжение, в этой точке будет практически ноль, когда за кроется, напряжение питания. Читайте Дуней состояние порта, если 1 есть напряжение, если 0, то 220 вольт нет. Минус Дуни естественно должен быть соединён с минусом детектора, записать все можно от 5 вольт Дуни. Только позаботтесь о хорошей изоляции схемы от сетевых 220 вольт.
Дык, и я так думал!
Повторил еще раз то, что вы описали, 500K, питание 5V от arduino, транзисторы c945.
Есть 220В, ток, который течет на землю 2.5ma, analogread раз в 300ms:
Нет 220В, ток плавает 0-0.3ma (рука рядом и тп наводки):
Что это значит? Пульсации? Осцилла у меня нет.
Т.е. ток-то течет постоянный, а вот напруга скачет.
С оптроном тоже пока неудачно: нужно подобрать резистор, чтобы он открывал транзистор при токе 2mA.
Напряжение переменное, следовательно частота 50 герц, тоесть полярность меняется переходя через ноль, мерцание светодиода Вы просто не видите. Не нужно Вам аналоговое напряжение считывать, есть ТТЛ уровни цифровые. Но, есть одно НО, переходы через ноль! Придётся усреднять считанные значения, тоесть время срабатывания устройства снижается. Тоесть, например Вам нужно считывать значение в переменную суммируя его в цикле, переход через ноль 50 раз в секунду. Скажем считываете и суммируете цифровое значение в течении четверти секунды, если оно не равно нулю, значить есть напруга, если нет, её нет. Если хотите измерять ток, то для переменки нужно ставить трансформатор тока, для постоянки - шунт, и измерять на них все также напряжения.
Благодарю. Попробую на прерывание по изменению сигнала с внешнего источника повесить. Т.е. , если надо узнать наличие 220В, тогда подключаем прерывание, через сеунду смотрим, сколько натикало, отключаем прерывание. Если натикало - есть 220.
В общем да. Это всего лишь один из способов решения, можно переделать и Ваш готовый скетч, посмотрите свои полученные данные выводимые в сериал, они отличаются, можно программно обработать эти данные и сравнить их.
Вот что получилось.
скетч
Потребляет макс 180ua.
Результат:
0 - чисто, >=2000 если есть 220Вольт, >=1500 если щуп взял человек.
p.s. чтобы еще чуть уменьшить потребление:
- вместо 47k поставил 100k ;
- добавил 10k после входа 5В.
Результат : >4000 - есть 220В (arduino pro mini 16Mhz 5B).
Самая большая прелесть, что датчик бесконтактный.
В SMD варианте он выглядел бы еще красивей :)
Всем большое спасибо!