Зачем ему сверхяркий? Там и АЛ307 с током около 5 мА за глаза для визуального контроля.
А в чём сакральный смысл при одинаковой яркости свечения ставить диод с током 5 мА вместо 75 мкА?
Zabor писал(а):
Не годится, "пороговый" принцип в условиях помех не айс, а тут практически прямое включение в сеть.
Ну так а эмиттерный повторитель в данном случае – это что будет, не пороговое устройство? И кстати именно поэтому отсчёт времени у меня и ведётся без привязки к мусору, который прёт из сети. А для детекции наличия 100Гц помехи не принципиальны, т.к. детект делается по таймауту.
Да, я тоже не вижу смысла в оптроне. Диод VD4 и конденсатор C3 я бы всё же поставил, нагрузил бы резистором и на вход. Подтягивать к питанию в этом случае не нужно. Смысла в эмиттерном повторителе тоже не вижу. Можно, конечно, и без конденсатора обойтись, и считать время от последнего превышения порога до конца таймаута, но, думаю, конденсатор какие-то помехи сгладит. Кстати, тут не 100 Гц, а 50 Гц, раз однополупериодное выпрямление. С другой стороны, конденсатор затягивает фронты, а особенно спады. Без него можно, например, отсчитать 250 миллисекунд, принять решение, что сеть отключилась, и эти самые милисекунды вычесть из времени горения лампочки (в погоне за точностью). А сколько конденсатор будет разряжаться - уже не так предсказуемо.
Что касается точности, думаю что вполне достаточно будет учитывать только целые минуты. Впоследствии, получив итоговые данные скажем X минут наработки при Y включениях, можно даже учесть возникающую погрешность по формуле Общая наработка = X + (Y/2). Хотя наверняка даже при нескольких тысячах часов это уже будет несущественно.
Эмиттерный повторитель просто формирует последовательность сети, есть/нет, заменяя оптопару, ибо её основное назначение гальваническая развязка в схеме не используется. Можно и напрямую, но это кхм... дешевка какая-то получается короче.
Прут из сети периоды или мусор при отсчете таймаута с последнего импульса совершенно не важно, важно, что ни того ни другого нет определенное время, а не пороговое значение напряжения, как раз подверженное помехам.
Прут из сети периоды или мусор при отсчете таймаута с последнего импульса совершенно не важно, важно, что ни того ни другого нет определенное время, а не пороговое значение напряжения, как раз подверженное помехам.
Не понял. Наличие сети или мусора как раз и определяется по порогу, или тебе известен другой способ? И совершенно верно, для отсчёта таймаута абсолютно по барабану, что вызвало превышение – синус 50Гц или иголка помехи. Если сеть вдруг пропадёт, помехи по любому пропадут вместе с ней.
Возможно друг друга не поняли, я имею в виду временной порог, точнее отсчет времени с последнего импульса, это обычный счетчик, обнуляемый поступающими импульсами и тактируемый временнымИ отсчетами, если же он досчитается до определенного числа - значит сети нет.
Под непосредственно "пороговый" обычно понимается вход, потенциал на котором должен достичь/понизиться против определенного порога (значения) для регистрации события, например, компаратор или вход процессора запрограммированный оным, что в данном случае плохое решение.
Речь шла о том, что наличие импульсов как раз фиксируется типа компаратором. Как это сделать по-другому, у меня лично идей нет – городить АЦП точно смысла никакого.
По первой схеме не скажешь, что там будут импульсы , отсюда и непонятка, что есть "пороговый", я так и понял дословно, глядя на С3, вполне способный оставить фототранзистор засвеченным между периодами сети, а ловить слабые пульсации его коллекторного тока опять не айс по помехам, гораздо надежнее заслать пульсации с выхода выпрямителя на обработку через повторитель или на худой конец напрямую, но это мне откровенно не нравится.
Оргвывод: для полноценного обсуждения схемы девайса нужен еще и планируемый алгоритм работы процессора, чтобы не играть в угадайку он по 3 ноге сечет некий порог, наличие лог 0 или компаратором пытается отловить импульсы тока в цепи подвязки, оставшиеся после С3.
В первоначальной схеме детекция сети была сделана не по импульсам, а по уровню (дабы не использовать прерывания). С3 был нужен для получения постоянной засветки фототранзистора, пока есть сеть, и нарочно был выбран намного меньшей ёмкости, чем С2, дабы МК успел отработать пропадание сети до пропадания собственного питания.
Такое решение убивает двух зайцев: освобождает нас от необходимости подсчитывать импульсы (что может помешать счёту времени, ведущемуся "рядом" от другого опорного сигнала) и делает ненужной программную обработку таймаута – эту функцию берёт на себя именно С3.
С3 может и высохнуть... А зачем считать импульсы, достаточно просто считать время - обычным счетчиком с тактом хоть 100Гц, сброс от импульсов сети по 3 ноге, на его выходе будет число 0...1. если сети нет и досчитался, например, до 16 (1111), это мы пропустили 15-16 периодов сети, всё, запускаем алгоритм отключения, до его окончания блокируем старт и дальнейший счет.
Думаю в МК можно реализовать простейший двоичный счетчик с R на 3 ноге и нужным тактом на C.
Кстати про блокировку, при любом решении понадобится предусмотреть перезапуск, когда запись данных завершилась, а напряжение питания к этому моменту уже есть и не пропадет, соответственно не появится для выполнения "штатного" запуска (кратковременное отключение).
Ну с тем же успехом С2 может высохнуть быстрее. МК этот маленький и дешёвенький, места под программу всего 1 килограмм, ОЗУ и вовсе всего 64 байта – короче говоря, чем меньше от него хотеть, тем лучше. Если какую-то функцию с успехом может выполнить внешняя цепочка, лучше пусть выполняет.
Кстати да, возможен такой вариант, что запись в ЕПРОМ уже сделана, а питание МК так и не прервалось – видимо всё же придётся использовать прерывание на 3 ноге.
Вариант - увеличивать значение минут на 1 каждую минуту т.е. записывать каждую минуту, тогда останется только отловить момент отключения для того, чтобы исключить запись очередной минуты в момент начала спада питания (так можно туда полный бред записать), заодно этот-же узел может регистрировать включения.
МК останется только записать его информацию по включению, опять же тупо увеличив счетчик - питание подано, выше порога например 4,5В и безопасно выключится, прекратив любые действия с памятью по его же сигналу питание ниже 4,5, т.е. падает, гасимся.
Вариант - увеличивать значение минут на 1 каждую минуту т.е. записывать каждую минуту
А вот этот вариант совсем плохой и был отметён ещё на предварительной стадии, с учётом что максимальный ресурс EEPROM – около 100000 операций записи.. что примерно равно 1600 часам учёта наработки (и это без учёта записи счётчика включений). Этого даже не для всякой ЛОНки хватит.
Дык вот от чего они иногда дохли!
Тогда тем более нужен компаратор самостоятельно определяющий момент когда записывать, чтобы успеть и под пропадание питания при записи не попасть, и он же делает запуск/перезапуск с задержкой, чтобы МК успел завершить запись и снова отработать старт.
Вот кстати сколько у меня было АОНов с этими флешками, ни один не сдох! При том, что программа туда по идее пишет часы каждую минуту, ну и ещё кучу всего. Удивительно, в общем, какие живучие были, заразы . Но на нынешние МК я бы так не рассчитывал.
С программой всё проще, чем ты себе представляешь. По пропаданию напруги на 3 ноге записываем данные и засыпаем. А пробуждение либо по прерыванию на той же 3 ноге (сеть вернулась), либо по холодному старту. Очень легко всё это реализуется.
По программе то понятно, но используя "Лог 0" ты "выдавливаешь" помехозащищенность, включая при кратковременных отключениях в аппаратную часть. Раз так, то опять-же компаратор с гистерезисом (ОС), например снимает лог 1 при 3В (или когда там еще можно спокойно записать), а возвращает при 4,5В, причем после заряда конденсатора в цепи обратной связи (0,1 мКф).
По программе то понятно, но используя "Лог 0" ты "выдавливаешь" помехозащищенность, включая при кратковременных отключениях в аппаратную часть.
Переведи плиз, ничего не понял
Ещё раз, навороты ни к чему: у нас есть 2 состояния, либо сеть есть, либо её нет. Высокий уровень на 3 ноге сигнализирует нам о наличии сети, а пропадает он с задержкой, сглаживающей кратковременные пропадания. Т.е. можно настроить так, что скажем провалы до 1 секунды не будут "замечаться". Для программы больше ничего и не надо знать.
Ну вот смотри, при кратковременном пропадании сети начнется разряд С3 (по новой схеме) в какой-то момент МК регистрирует логический ноль на 3 ноге, а сеть уже появилась снова и С3 заряжается, будет лог 1, что произойдет, если МК зарегистрирует логический ноль на 3 ноге на время всего в такт, 2 такта, 3 ?
Зачем джампер, если предполагается снятие показаний стационарным или переносным программатором? Задел случайно вывод джампера, даже статикой и МК всё забыл, лучше эту ногу подвязать на корпус и вывести в разъем к программатору, где ты уже точно сняв показания осознанно нажимаешь кнопку обнуления.
Ну вот смотри, при кратковременном пропадании сети начнется разряд С3 (по новой схеме) в какой-то момент МК регистрирует логический ноль на 3 ноге, а сеть уже появилась снова и С3 заряжается, будет лог 1, что произойдет, если МК зарегистрирует логический ноль на 3 ноге на время всего в такт, 2 такта, 3 ?
И что? Важен сам факт, что он это зафиксировал. Дальше отрабатывает подпрограмма сохранения "на диск", а дальше уже по ситуации.
Zabor писал(а):
Зачем джампер, если предполагается снятие показаний стационарным или переносным программатором? Задел случайно вывод джампера, даже статикой и МК всё забыл, лучше эту ногу подвязать на корпус и вывести в разъем к программатору, где ты уже точно сняв показания осознанно нажимаешь кнопку обнуления.
А если я хочу обнулить показания без использования программатора? Тем более что последний при стирании EEPROM записывает во все ячейки &FFh.
Zabor писал(а):
R1 всего 47 Ом, С2 уже вырос до 680 мкФ, VD3 не офигеет от прямого тока при включении после полного разряда С2 и разряженном С1?
Это всё равно пока прикидки, С1 только предстоит рассчитать. С чего бы VD3 офигеть, если ток ограничен R1, С1??
При 310В 47 Ом ему мало чем поможет, а если искрение и С1 окажется подключенным к сети будучи заряженным в противополярности текущему периоду сети?
Пример ситуации, когда требуется обнулить без снятия показаний? Ведь при этом теряется смысл устройства.
По короткому импульсу - зафиксировал, записал данные в ЗУ, дальше по программе...
1. Резюк 47Ом рекомендуют ставить для ограничения броска тока при включении. Поможет или нет – не знаю, но без него всяко будет хуже, чем с ним.
2. Пример – да пожалуйста. Запрограммировали контроллер в программаторе, и он сразу "насчитал" одно включение и 1 минуту работы. После установки в светильник желательно это обнулить.
3. По короткому импульсу всё так и есть, просто алгоритм обработки от длины импульса никак не зависит
1. Нужно не без него, а больше 47 Ом, рассчитать по потреблению всего устройства на допустимое по мощности резистора (например 0,25 Вт) падение напряжения /2.
2. Так ведь в программаторе, а там на "личном" шлейфе этого девайса имеется кнопочка, про которую я писал, запрограммировали - нажали, обнулился, готов к работе.
3. Дык какой алгоритм то, при заданных выше условиях?
1. Все равно при первом включении его сопротивление равно нулю, при любой емкости, пикофарады ему не грозят .
2. Кнопочку можно установить на специализированном шлейфе программатора для снятия показаний со счетчиков.
3. Не сеть, а именно сигнал об этом на входе МК. Я тебя подвожу к перезапуску, а ты упираешься , допустим он корректно зарегистрировал сигнал длительностью в 5 тактов и начал исполнять подпрограмму записи в память, при этом счетчик д.б. предварительно остановлен, чтобы данные не изменились в момент записи, записал, подпрограмма выполнена. Вот дальше что происходит? Сеть есть, сигнал об этом тоже есть (ведь "пропажа" была лишь на 5 тактов), что делает в этом случае МК и каков программный алгоритм запуска при подаче напряжения?
1. И что? Как же тогда бедняжки компенсирующие кондёры на 10-15-20мкФ включают напрямую в сеть?
2. Не вижу смысл курочить программатор ради единственного вида девайсов, всяко логичнее поставить копеечные джамперы на самих девайсах и заодно отвязать сброс от программатора.
3. О каком счётчике вообще речь? Моя версия устройства ничего не считает, кроме времени и запусков.
1. Между ними зажат не КД522, а КС147, вдобавок в обратном включении. А вместо КД522 недолго применить какой-нить 1N4148 с пиковым током 4А. Кстати, в схеме без R1 со значительно большей вероятностью вынесет именно сам С1, а не полупроводники – проверено на собственном опыте
2. Вот именно, при чём тут программатор и его шлейфы? Если функция нужна одному конкретному девайсу. И как будем "объяснять" программатору, что обнулять надо только EEPROM, причём именно нулями, а не стандартными единицами (FF)? Предлагаешь заодно переписать его софт?
3. Минуты считает встроенный таймер, и ему глубоко фиолетово, на сколько там тактов пропала сеть или сигнал о её наличии. Важен сам факт, что оно зафиксировалось. После записи значений в ЕПРОМ уходим в режим сна, из которого выход по возобновлению сети (прерывание на 3 ноге) либо по холодному перезапуску. Впрочем, я это уже писал.
4. 4% в интервале температур от -20°С до +40°С – это "трамвайная остановка"? Что касается точности самой частоты, также обещают 4%, к тому же никто не мешает сделать дополнительную калибровку хоть до 1%, это предусмотрено.
1. До напряжения пробоя стабилитрона всё достанется КД522, я про прямой ток писал, причем тут обратное включение.
2. Проехали.
3. Ему как раз фиолетово и если он совсем независимый его нужно программно остановить перед записью данных в память. * - может быть уже реализовано в структуре МК. Тут есть подводный камень в коде, обрати на него внимание - к моменту ухода в спящий режим сеть присутствует, не будет возобновляться, она уже есть, прерывание было только на время достаточное для регистрации записи значений.
Здесь тоже требуется таймер для возобновления т.к. сеть может еще как пропасть снова, (первый зарегистрированный импульс просто от искрения в выключателе), а вот МК то уже спит...
4. 4+4 8% это же фактически точность ученного времени, калибровать с частотомером однозначно.
До напряжения пробоя стабилитрона всё достанется КД522
Ну так до пробоя и напряжение наверно не превысит 4,7 вольт, что не так-то? Тем более что оба КД522 имеют нагрузку. Чего ты так испугался-то?
к моменту ухода в спящий режим сеть присутствует, не будет возобновляться, она уже есть, прерывание было только на время достаточное для регистрации записи значений.
Глубоко пофиг, сам факт возникновения прерывания автоматом фиксируется установкой соответствующего флага, который и будет отработан сразу же после выхода в спящий режим.
Здесь тоже требуется таймер для возобновления т.к. сеть может еще как пропасть снова
Не нужен здесь никакой таймер. Максимум, чем это нам грозит – число записей в EPROM будет равно числу этих кратковременных пропаданий сети. Ну и фиг с ними.
4+4 8% это же фактически точность ученного времени
Откуда 4+4-то? Девайс будет работать при комнатной температуре, а не на улице с размахом в 60°С. Соответственно первую часть выкидываем. Даже если оставить вторые 4% как есть, это более чем достаточно для данной цели.
Кстати, кварц тоже придётся калибровать – у меня на одном девайсе со специальной микросхемой RTC и часовым кварцем уход времени довольно приличный. Так что не стОит оно того здесь однозначно.
Мне то чего бояться, девайс, который будет работать часто без присмотра в сети создаю не я , причем тут напряжение, я тебе толкую про прямой ток (это когда от анода к катоду, а ток это тот, который в Амперах, милиАмперах и т.д.) через VD3 будет протекать какое-то время по цепи сеть - R1 - C1 - VD3 - С2 - сеть, когда конденсаторы полностью разряжены, его нужно сверить с предельным пиковым током для КД522, а не
недолго применить какой-нить 1N4148 с пиковым током 4А
Т.е. запоминаем ситуацию с уходом в спящий режим флагом? И что это изменило, когда МК спит от короткого импульса, а сеть и не думает пропадать дальше, как и появляться, ибо она есть, лампа горит, МК дрыхнет, флаг висит?
Угу, в закрытом светильнике от +15 (если еще отпливается помещение) и до? Положи-ка термометр в закрытый светильник, в место планируемой установки девайса... кварцы бывают кривыми от рождения, бывает не подобрана емкость, это все решается частотомером, зато потом схема термостабильна. Хотя я бы сначала потестил счетчик МК (в коде таймер) на предмет точности, просто отдельно от всего запустить на 24 часа (например, ровно 00 час), пусть даже от стендового источника питания с записью значения до чего он там досчитался в момент выключения (ровно в 00 час, например).
А вообще зачем усложнять, что мешает создать в МК делитель на 50 и записывать число периодов сети /50 (брать, разумеется, через интегрирующую цепочку, чтобы не насосать помех), это будут тупо секундные отсчеты, суммируемые с результатом в памяти. Точность частоты сети у нас всяк выше 4%, там даже вроде еще более жесткий допуск.
Add
Нашел, Согласно ГОСТ 13109-97, частота должна находиться в пределах 50±0,2 Гц не менее 95% времени суток, не выходя за предельно допустимые 50±0,4 Гц.
ток это тот, который в Амперах, милиАмперах и т.д.
Правда что ли? Ну так может расскажешь тогда, сколько ампер у нас будет ток от 4 вольт по цепи сеть - R1 - C1 - VD3 - С2 - сеть, даже если оба кондёра разряжены?
что это изменило, когда МК спит от короткого импульса, а сеть и не думает пропадать дальше
В смысле? "Короткий импульс" – это и есть пропадание сети, в результате чего происходит запись в ЕПРОМ, и её возобновление, что влечёт установку флага прерывания. Что ещё надо-то?
в закрытом светильнике от +15 (если еще отпливается помещение) и до? Положи-ка термометр в закрытый светильник
А непременно пихать девайс внутрь светильника, да ещё и закрытого – не иначе, религия велит?
Точность частоты сети у нас всяк выше 4%
Вот только про точность сети мне рассказывать точно не надо . Кетайские настольные часы с синхронизацией от 50Гц у нас гуляют в пределах ±20 минут в сутки! Может конечно дело и не в самой точности частоты, а ещё в чём-то, но я бы точно не взялся на коленке сделать более помехозащищённый девайс. Тем более что устройство должно быть максимально простым, компактным и дешёвым.
"4В" там будет после заряда С2 до напряжения 4,7+0,6В, который аж в 680 мкФ. До этого С2 шунтирует стабилитрон через VD3 и стабилитрон в "положительные" периоды ни на что не влияет, спасибо Кэпу! Еще проще - весь ток заряда С2 течет через VD3, что при требуемом фронте подачи питания исключает его (тока) ограничение R1 (будет слишком велик), оргвывод - КД522 требует замены, иначе это заведомо слабое звено, работающее на пределе возможностей.
"4В" там будет после заряда С2 до напряжения 4,7+0,6В, который аж в 680 мкФ. До этого С2 шунтирует стабилитрон через VD3 и стабилитрон в "положительные" периоды ни на что не влияет, спасибо Кэпу!
Ну так не томи нас тогда, поведай уже, какой же бешеный ток (в цЫферках!) потечёт через бедненький VD3 от напряжения ≤4,7В через резистор R1=47Ом?? Закон Ома, если что, напомним
Самоуверенно судить о частоте в синхронных зонах (link is external) по кЕтайсаим часам это сильно!
Самоуверенно считать, что сделаешь лучше, чем сделано в заводских, пусть даже кетайских, часах – это ещё сильнее!!
А почему не сделать простейший счётчик с ЖКИ, чтобы не париться со считыванием? И МК выбрать с микропотреблением, что позволит питать его через гасящий резистор. Дело видимо в стоимости таких МК - они дорогие?
КД522 замены не требуют, они допускают импульсный ток до 2А, поэтому достаточно увеличить R1 до 200Ω. У меня в ночнике такие и работают уже давно, только резистор 470Ω.
AVR и так с небольшим потреблением, но гасящий резистор не выйдет – кристаллу нужно от 3 до 5 вольт, не больше и не меньше. Стоимость критична больше не для МК, а для ЖКИ.
А в чём вообще прелесть резистора перед конденсатором? С учётом что после него всё равно надо как-то стабилизировать напряжение.
Мало потребляют ЖКИ без встроенного контроллера, управлять ими – задача не очень тривиальная (с учётом, что им нужно двуполярное напряжение для "раскачки"). А модели с контроллером кушают больше, чем вся остальная схема.
Резистор хорош тем, что кроме него больше ничего не надо (разумеется не считая выпрямителя, сглаживающего конденсатора и стабилитрона). А конденсатору ещё нужен токоограничительный резистор (разрядный резистор не обязателен, если схема не включается в сеть вилкой).
Поэтому при токе до 5-7 мА нет смысла ставить конденсатор.
Т.е. выигрыш от схемы с конденсатором всего в одном мелком резисторе, зато получаем геморрой с нагревом балластного сопротивления. Который даже при токе 5мА может вынудить ставить резистор мощностью не менее 1Вт и ещё думать, где всё это можно размещать, а где нельзя. Про то, что это дополнительная бесполезно расходуемая через счётчик мощность, даже можно и не упоминать
Кстати, последовательный резистор ставится с конденсатором в основном для подстраховки, я встречал много схем, где его вообще не было.
Ну 1Вт в сравнении с мощностью светильника это почти ничего. Правда, если светильников много, то другое дело.
Зато схема с резистором надёжнее, а конденсатор может пробить при запуске или выключении светильника, особенно если конденсатор китайский. Плёночные хоть и восстанавливаются после пробоя, но тем не менее, риск есть.
Выпрямитель может быть однополупериодным, что вдвое снижает рассеиваемую на резисторе мощность.
А если потребление контроллера 1 мА то и подавно лучше резистор.
Схемы без ограничительного резистора - это уже совсем кЕтайские, искрение на контактах выключателей бывает всегда, плохой контакт тоже может быть. Это как сберегайки без предохранителей.
А в чём сакральный смысл при одинаковой яркости свечения ставить диод с током 5 мА вместо 75 мкА?
Ну так а эмиттерный повторитель в данном случае – это что будет, не пороговое устройство? И кстати именно поэтому отсчёт времени у меня и ведётся без привязки к мусору, который прёт из сети. А для детекции наличия 100Гц помехи не принципиальны, т.к. детект делается по таймауту.
Да, я тоже не вижу смысла в оптроне. Диод VD4 и конденсатор C3 я бы всё же поставил, нагрузил бы резистором и на вход. Подтягивать к питанию в этом случае не нужно. Смысла в эмиттерном повторителе тоже не вижу. Можно, конечно, и без конденсатора обойтись, и считать время от последнего превышения порога до конца таймаута, но, думаю, конденсатор какие-то помехи сгладит. Кстати, тут не 100 Гц, а 50 Гц, раз однополупериодное выпрямление. С другой стороны, конденсатор затягивает фронты, а особенно спады. Без него можно, например, отсчитать 250 миллисекунд, принять решение, что сеть отключилась, и эти самые милисекунды вычесть из времени горения лампочки (в погоне за точностью). А сколько конденсатор будет разряжаться - уже не так предсказуемо.
Что касается точности, думаю что вполне достаточно будет учитывать только целые минуты. Впоследствии, получив итоговые данные скажем X минут наработки при Y включениях, можно даже учесть возникающую погрешность по формуле Общая наработка = X + (Y/2). Хотя наверняка даже при нескольких тысячах часов это уже будет несущественно.
Не понял. Наличие сети или мусора как раз и определяется по порогу, или тебе известен другой способ? И совершенно верно, для отсчёта таймаута абсолютно по барабану, что вызвало превышение – синус 50Гц или иголка помехи. Если сеть вдруг пропадёт, помехи по любому пропадут вместе с ней.
Речь шла о том, что наличие импульсов как раз фиксируется типа компаратором. Как это сделать по-другому, у меня лично идей нет – городить АЦП точно смысла никакого.
По первой схеме не скажешь, что там будут импульсы , отсюда и непонятка, что есть "пороговый", я так и понял дословно, глядя на С3, вполне способный оставить фототранзистор засвеченным между периодами сети, а ловить слабые пульсации его коллекторного тока опять не айс по помехам, гораздо надежнее заслать пульсации с выхода выпрямителя на обработку через повторитель или на худой конец напрямую, но это мне откровенно не нравится.
Оргвывод: для полноценного обсуждения схемы девайса нужен еще и планируемый алгоритм работы процессора, чтобы не играть в угадайку он по 3 ноге сечет некий порог, наличие лог 0 или компаратором пытается отловить импульсы тока в цепи подвязки, оставшиеся после С3.
В первоначальной схеме детекция сети была сделана не по импульсам, а по уровню (дабы не использовать прерывания). С3 был нужен для получения постоянной засветки фототранзистора, пока есть сеть, и нарочно был выбран намного меньшей ёмкости, чем С2, дабы МК успел отработать пропадание сети до пропадания собственного питания.
Такое решение убивает двух зайцев: освобождает нас от необходимости подсчитывать импульсы (что может помешать счёту времени, ведущемуся "рядом" от другого опорного сигнала) и делает ненужной программную обработку таймаута – эту функцию берёт на себя именно С3.
С3 может и высохнуть... А зачем считать импульсы, достаточно просто считать время - обычным счетчиком с тактом хоть 100Гц, сброс от импульсов сети по 3 ноге, на его выходе будет число 0...1. если сети нет и досчитался, например, до 16 (1111), это мы пропустили 15-16 периодов сети, всё, запускаем алгоритм отключения, до его окончания блокируем старт и дальнейший счет.
Думаю в МК можно реализовать простейший двоичный счетчик с R на 3 ноге и нужным тактом на C.
Кстати про блокировку, при любом решении понадобится предусмотреть перезапуск, когда запись данных завершилась, а напряжение питания к этому моменту уже есть и не пропадет, соответственно не появится для выполнения "штатного" запуска (кратковременное отключение).
Ну с тем же успехом С2 может высохнуть быстрее. МК этот маленький и дешёвенький, места под программу всего 1 килограмм, ОЗУ и вовсе всего 64 байта – короче говоря, чем меньше от него хотеть, тем лучше. Если какую-то функцию с успехом может выполнить внешняя цепочка, лучше пусть выполняет.
Кстати да, возможен такой вариант, что запись в ЕПРОМ уже сделана, а питание МК так и не прервалось – видимо всё же придётся использовать прерывание на 3 ноге.
Вариант - увеличивать значение минут на 1 каждую минуту т.е. записывать каждую минуту, тогда останется только отловить момент отключения для того, чтобы исключить запись очередной минуты в момент начала спада питания (так можно туда полный бред записать), заодно этот-же узел может регистрировать включения.
МК останется только записать его информацию по включению, опять же тупо увеличив счетчик - питание подано, выше порога например 4,5В и безопасно выключится, прекратив любые действия с памятью по его же сигналу питание ниже 4,5, т.е. падает, гасимся.
А вот этот вариант совсем плохой и был отметён ещё на предварительной стадии, с учётом что максимальный ресурс EEPROM – около 100000 операций записи.. что примерно равно 1600 часам учёта наработки (и это без учёта записи счётчика включений). Этого даже не для всякой ЛОНки хватит.
Угу, при том что у них был заявлен ещё меньший ресурс
Вот кстати сколько у меня было АОНов с этими флешками, ни один не сдох! При том, что программа туда по идее пишет часы каждую минуту, ну и ещё кучу всего. Удивительно, в общем, какие живучие были, заразы . Но на нынешние МК я бы так не рассчитывал.
С программой всё проще, чем ты себе представляешь. По пропаданию напруги на 3 ноге записываем данные и засыпаем. А пробуждение либо по прерыванию на той же 3 ноге (сеть вернулась), либо по холодному старту. Очень легко всё это реализуется.
В общем, текущий вариант схемки на данный момент вырисовывается следующий:
Убрал оптрон, добавил джампер обнуления счётчиков, в остальном всё по-прежнему.
Переведи плиз, ничего не понял
Ещё раз, навороты ни к чему: у нас есть 2 состояния, либо сеть есть, либо её нет. Высокий уровень на 3 ноге сигнализирует нам о наличии сети, а пропадает он с задержкой, сглаживающей кратковременные пропадания. Т.е. можно настроить так, что скажем провалы до 1 секунды не будут "замечаться". Для программы больше ничего и не надо знать.
И что? Важен сам факт, что он это зафиксировал. Дальше отрабатывает подпрограмма сохранения "на диск", а дальше уже по ситуации.
А если я хочу обнулить показания без использования программатора? Тем более что последний при стирании EEPROM записывает во все ячейки &FFh.
Это всё равно пока прикидки, С1 только предстоит рассчитать. С чего бы VD3 офигеть, если ток ограничен R1, С1??
1. Резюк 47Ом рекомендуют ставить для ограничения броска тока при включении. Поможет или нет – не знаю, но без него всяко будет хуже, чем с ним.
2. Пример – да пожалуйста. Запрограммировали контроллер в программаторе, и он сразу "насчитал" одно включение и 1 минуту работы. После установки в светильник желательно это обнулить.
3. По короткому импульсу всё так и есть, просто алгоритм обработки от длины импульса никак не зависит
1. Нужно не без него, а больше 47 Ом, рассчитать по потреблению всего устройства на допустимое по мощности резистора (например 0,25 Вт) падение напряжения /2.
2. Так ведь в программаторе, а там на "личном" шлейфе этого девайса имеется кнопочка, про которую я писал, запрограммировали - нажали, обнулился, готов к работе.
3. Дык какой алгоритм то, при заданных выше условиях?
1. Я уже писал, что точные номиналы пока не рассчитаны/подобраны. Тебя не смутило, что кондёр С1 пока "безымянный"?
2. Не знаю, про какой программатор речь – на моём никаких "кнопочек" нет. Да и сбрасывают они, как я уже говорил, не на ноль, а на значение FF.
3. Озвучь ещё раз "условия", желательно тоже в алгоритмическом виде Сеть пропадает ровно на 1 такт микроконтроллера? Или что?
1. Все равно при первом включении его сопротивление равно нулю, при любой емкости, пикофарады ему не грозят .
2. Кнопочку можно установить на специализированном шлейфе программатора для снятия показаний со счетчиков.
3. Не сеть, а именно сигнал об этом на входе МК. Я тебя подвожу к перезапуску, а ты упираешься , допустим он корректно зарегистрировал сигнал длительностью в 5 тактов и начал исполнять подпрограмму записи в память, при этом счетчик д.б. предварительно остановлен, чтобы данные не изменились в момент записи, записал, подпрограмма выполнена. Вот дальше что происходит? Сеть есть, сигнал об этом тоже есть (ведь "пропажа" была лишь на 5 тактов), что делает в этом случае МК и каков программный алгоритм запуска при подаче напряжения?
1. И что? Как же тогда бедняжки компенсирующие кондёры на 10-15-20мкФ включают напрямую в сеть?
2. Не вижу смысл курочить программатор ради единственного вида девайсов, всяко логичнее поставить копеечные джамперы на самих девайсах и заодно отвязать сброс от программатора.
3. О каком счётчике вообще речь? Моя версия устройства ничего не считает, кроме времени и запусков.
1. Я не за кондюк беспокоюсь, а пиковый прямой ток "зажатого" между ними КД522.
2. Причем тут программатор, когда речь про шлейф с двумя розетками, изготовляемый из компьютерного шлейфа от флопа за 30 минут.
3. А минуты кто считает? Чубайс?
И кстати, а где кварц? МК работает на встроенной RC цепочке с разбросом частоты от экземпляра и температуры в трамвайную остановку?
1. Между ними зажат не КД522, а КС147, вдобавок в обратном включении. А вместо КД522 недолго применить какой-нить 1N4148 с пиковым током 4А. Кстати, в схеме без R1 со значительно большей вероятностью вынесет именно сам С1, а не полупроводники – проверено на собственном опыте
2. Вот именно, при чём тут программатор и его шлейфы? Если функция нужна одному конкретному девайсу. И как будем "объяснять" программатору, что обнулять надо только EEPROM, причём именно нулями, а не стандартными единицами (FF)? Предлагаешь заодно переписать его софт?
3. Минуты считает встроенный таймер, и ему глубоко фиолетово, на сколько там тактов пропала сеть или сигнал о её наличии. Важен сам факт, что оно зафиксировалось. После записи значений в ЕПРОМ уходим в режим сна, из которого выход по возобновлению сети (прерывание на 3 ноге) либо по холодному перезапуску. Впрочем, я это уже писал.
4. 4% в интервале температур от -20°С до +40°С – это "трамвайная остановка"? Что касается точности самой частоты, также обещают 4%, к тому же никто не мешает сделать дополнительную калибровку хоть до 1%, это предусмотрено.
1. До напряжения пробоя стабилитрона всё достанется КД522, я про прямой ток писал, причем тут обратное включение.
2. Проехали.
3. Ему как раз фиолетово и если он совсем независимый его нужно программно остановить перед записью данных в память. * - может быть уже реализовано в структуре МК. Тут есть подводный камень в коде, обрати на него внимание - к моменту ухода в спящий режим сеть присутствует, не будет возобновляться, она уже есть, прерывание было только на время достаточное для регистрации записи значений.
Здесь тоже требуется таймер для возобновления т.к. сеть может еще как пропасть снова, (первый зарегистрированный импульс просто от искрения в выключателе), а вот МК то уже спит...
4. 4+4 8% это же фактически точность ученного времени, калибровать с частотомером однозначно.
Ну так до пробоя и напряжение наверно не превысит 4,7 вольт, что не так-то? Тем более что оба КД522 имеют нагрузку. Чего ты так испугался-то?
Глубоко пофиг, сам факт возникновения прерывания автоматом фиксируется установкой соответствующего флага, который и будет отработан сразу же после выхода в спящий режим.
Не нужен здесь никакой таймер. Максимум, чем это нам грозит – число записей в EPROM будет равно числу этих кратковременных пропаданий сети. Ну и фиг с ними.
Откуда 4+4-то? Девайс будет работать при комнатной температуре, а не на улице с размахом в 60°С. Соответственно первую часть выкидываем. Даже если оставить вторые 4% как есть, это более чем достаточно для данной цели.
Кстати, кварц тоже придётся калибровать – у меня на одном девайсе со специальной микросхемой RTC и часовым кварцем уход времени довольно приличный. Так что не стОит оно того здесь однозначно.
Мне то чего бояться, девайс, который будет работать часто без присмотра в сети создаю не я , причем тут напряжение, я тебе толкую про прямой ток (это когда от анода к катоду, а ток это тот, который в Амперах, милиАмперах и т.д.) через VD3 будет протекать какое-то время по цепи сеть - R1 - C1 - VD3 - С2 - сеть, когда конденсаторы полностью разряжены, его нужно сверить с предельным пиковым током для КД522, а не
Т.е. запоминаем ситуацию с уходом в спящий режим флагом? И что это изменило, когда МК спит от короткого импульса, а сеть и не думает пропадать дальше, как и появляться, ибо она есть, лампа горит, МК дрыхнет, флаг висит?
Угу, в закрытом светильнике от +15 (если еще отпливается помещение) и до? Положи-ка термометр в закрытый светильник, в место планируемой установки девайса... кварцы бывают кривыми от рождения, бывает не подобрана емкость, это все решается частотомером, зато потом схема термостабильна. Хотя я бы сначала потестил счетчик МК (в коде таймер) на предмет точности, просто отдельно от всего запустить на 24 часа (например, ровно 00 час), пусть даже от стендового источника питания с записью значения до чего он там досчитался в момент выключения (ровно в 00 час, например).
А вообще зачем усложнять, что мешает создать в МК делитель на 50 и записывать число периодов сети /50 (брать, разумеется, через интегрирующую цепочку, чтобы не насосать помех), это будут тупо секундные отсчеты, суммируемые с результатом в памяти. Точность частоты сети у нас всяк выше 4%, там даже вроде еще более жесткий допуск.
Add
Нашел, Согласно ГОСТ 13109-97, частота должна находиться в пределах 50±0,2 Гц не менее 95% времени суток, не выходя за предельно допустимые 50±0,4 Гц.
Годится! =)
Правда что ли? Ну так может расскажешь тогда, сколько ампер у нас будет ток от 4 вольт по цепи сеть - R1 - C1 - VD3 - С2 - сеть, даже если оба кондёра разряжены?
В смысле? "Короткий импульс" – это и есть пропадание сети, в результате чего происходит запись в ЕПРОМ, и её возобновление, что влечёт установку флага прерывания. Что ещё надо-то?
А непременно пихать девайс внутрь светильника, да ещё и закрытого – не иначе, религия велит?
Вот только про точность сети мне рассказывать точно не надо . Кетайские настольные часы с синхронизацией от 50Гц у нас гуляют в пределах ±20 минут в сутки! Может конечно дело и не в самой точности частоты, а ещё в чём-то, но я бы точно не взялся на коленке сделать более помехозащищённый девайс. Тем более что устройство должно быть максимально простым, компактным и дешёвым.
"4В" там будет после заряда С2 до напряжения 4,7+0,6В, который аж в 680 мкФ. До этого С2 шунтирует стабилитрон через VD3 и стабилитрон в "положительные" периоды ни на что не влияет, спасибо Кэпу! Еще проще - весь ток заряда С2 течет через VD3, что при требуемом фронте подачи питания исключает его (тока) ограничение R1 (будет слишком велик), оргвывод - КД522 требует замены, иначе это заведомо слабое звено, работающее на пределе возможностей.
...
Самоуверенно судить о частоте в синхронных зонах(link is external) по кЕтайсаим часам это сильно!
Мну устал от темы .
Ну так не томи нас тогда, поведай уже, какой же бешеный ток (в цЫферках!) потечёт через бедненький VD3 от напряжения ≤4,7В через резистор R1=47Ом?? Закон Ома, если что, напомним
Самоуверенно считать, что сделаешь лучше, чем сделано в заводских, пусть даже кетайских, часах – это ещё сильнее!!
Аналогично. Как-то ни о чём последнее время.
А почему не сделать простейший счётчик с ЖКИ, чтобы не париться со считыванием? И МК выбрать с микропотреблением, что позволит питать его через гасящий резистор. Дело видимо в стоимости таких МК - они дорогие?
КД522 замены не требуют, они допускают импульсный ток до 2А, поэтому достаточно увеличить R1 до 200Ω. У меня в ночнике такие и работают уже давно, только резистор 470Ω.
AVR и так с небольшим потреблением, но гасящий резистор не выйдет – кристаллу нужно от 3 до 5 вольт, не больше и не меньше. Стоимость критична больше не для МК, а для ЖКИ.
Зато гораздо проще считывание - посмотрел и всё.
А сколько потребляет данный АВР по току?
А так ли это часто будет нужно – просто посмотреть и всё?
Tiny13А кушает от 0,1 до 0,8мА, но это при низкой тактовой частоте (<1МГц). При высокой (до 10МГц) – до 3мА.
Идеально для запитки через резистор. ЖКИ практически ничего ведь не потребляет.
С ЖКИ оперативнее - можно и почаще заглядывать из любопытства. Не так уж они и дороги - видел в инете по 70 с копейками, сравнимо с МК.
А в чём вообще прелесть резистора перед конденсатором? С учётом что после него всё равно надо как-то стабилизировать напряжение.
Мало потребляют ЖКИ без встроенного контроллера, управлять ими – задача не очень тривиальная (с учётом, что им нужно двуполярное напряжение для "раскачки"). А модели с контроллером кушают больше, чем вся остальная схема.
Резистор хорош тем, что кроме него больше ничего не надо (разумеется не считая выпрямителя, сглаживающего конденсатора и стабилитрона). А конденсатору ещё нужен токоограничительный резистор (разрядный резистор не обязателен, если схема не включается в сеть вилкой).
Поэтому при токе до 5-7 мА нет смысла ставить конденсатор.
Т.е. выигрыш от схемы с конденсатором всего в одном мелком резисторе, зато получаем геморрой с нагревом балластного сопротивления. Который даже при токе 5мА может вынудить ставить резистор мощностью не менее 1Вт и ещё думать, где всё это можно размещать, а где нельзя. Про то, что это дополнительная бесполезно расходуемая через счётчик мощность, даже можно и не упоминать
Кстати, последовательный резистор ставится с конденсатором в основном для подстраховки, я встречал много схем, где его вообще не было.
Ну 1Вт в сравнении с мощностью светильника это почти ничего. Правда, если светильников много, то другое дело.
Зато схема с резистором надёжнее, а конденсатор может пробить при запуске или выключении светильника, особенно если конденсатор китайский. Плёночные хоть и восстанавливаются после пробоя, но тем не менее, риск есть.
Выпрямитель может быть однополупериодным, что вдвое снижает рассеиваемую на резисторе мощность.
А если потребление контроллера 1 мА то и подавно лучше резистор.
Схемы без ограничительного резистора - это уже совсем кЕтайские, искрение на контактах выключателей бывает всегда, плохой контакт тоже может быть. Это как сберегайки без предохранителей.
Предохранитель, кстати, тоже по любому нужен – дабы пробой конденсатора или прошитый резистор не оказались фатальными.
Страницы