Счетчик отработанного времени на Arduino или ESP
- Войдите на сайт для отправки комментариев
Втр, 25/08/2020 - 16:45
Требуется декрементный счетчик времени работы устройства (отработанных часов). Питание от сети 220, которое отрубается при выключение устройства.
Первое что приходит на ум - RTC с батарейкой, где выставляется время первого включения, а потом оно сравнивается с текущем (вопрос где его взять, но допустим из инета).
Может кто сталкивался с такой задачей и есть более элегантное решение?
А зачем для счетчика отработанного времени нужно абсолютное время?
Просто дуня с батарейкой. Снять лишнее с платы и считать хоть до посинения.
Хотелось бы сохранять при выключении устройства значение счетчика в какой-то "энергонезависимой" памяти.
Ну сохраняй
Хотелось бы сохранять при выключении устройства значение счетчика в какой-то "энергонезависимой" памяти.
А EEPROM на што?
Может кто сталкивался с такой задачей и есть более элегантное решение?
Сталкивался. ЕЕПРОМ без батарейки.
Хотелось бы сохранять при выключении устройства значение счетчика в какой-то "энергонезависимой" памяти.
С какой точностью надо измерять? Минуты достаточно? Ну так увеличивай счетчик в EEPROM каждую минуту. Данные там сохраняются при отключении питания.
Просто дуня с батарейкой. Снять лишнее с платы и считать хоть до посинения.
Нахер там батарейка если есть 220В?
Прочитай тз внимательно.
220 может в любой момент отключится.
Да, наверное лучший вариант сохранять периодически в EPROM (сколько там циклов перезаписи?).
Либо на ум приходит вариант с DS3231 - хранение времени начала работы в регистре будильника и сравнение с текущем временем.
Ключевое слово "периодически". От него все пляски.
Прочитай тз внимательно.
Ты то сам читал? Вот попробуй вникнуть:
И зачем нам батарейка? Пока питание есть считаем минуты работы и записывам раз в минуту в ЕЕPROM. Когда питание вырубилось нам, соответственно время работы считать не надо.Врубилось опять, ардуина считала последнее сохраненное значение счетчика минут и продолжило его увеличивать и сохранять.
220 может в любой момент отключится.
Ну и пусть себе отключается. При записи каждую минуту в худшем случае ты минуту и потеряешь. А в среднем будет полминуты на отключение. Такая точность устраивает?
Гарантируют 100000. При поминутной записи это на 1600 часов. Но кто мешает перейти на следующие ячейки когда для предыдущих рессурс оказался близким к исчерапанию? Если исплользовать по 2 байта и переходить на следующие когда подошло к 0xFFFF то хватит на пол миллиона часов. Устроит?
Ну можно типа RTC на Ардуино. Только стрёмно - "одно неловкое движение..."
Ну можно типа RTC на Ардуино. Только стрёмно - "одно неловкое движение..."
Зачем Real Time? Нужен счетчик отработанных часов. К Real Time это никакоо отношения не имеет.
Не доводилось видеть механические счетчики отработки на станках?
Гарантируют 100000. При поминутной записи это на 1600 часов.
Делал посекундную. 100000 циклов хватает за 11 лет. Реально запас на порядок больше.)
Зачем Real Time? Нужен счетчик отработанных часов. К Real Time это никакоо отношения не имеет.
"Типа". Важно что бы у устройства было резервное питание для хранения данных в ОЗУ.
"Типа". Важно что бы у устройства было резервное питание для хранения данных в ОЗУ.
Не, не, не. Батарейку предложил не я.) Я рассматриваю как один из вариантов.
Кстати, не известна ни точность измерения времени наработки, ни разрешение, ни максимальное значение.)
про RTC с батарейкой - это идея ТС.
Antsanv - не нужна тут RTC никоим боком, поверьте. Используйте то, что описал Asam - хватит надолго.
К примеру нужна точность подсчёта +/- 3 сек в сутки. Нужен тут RTC или достаточно керамического резонатора?
Ну и сохранять в ОЗУ проще, нежели посекундно изгаляться с ЕЕПРОМ. Но это уже к ТС.
И зачем нам батарейка?
Чтобы время наработанное было видно всегда, зачем.
Чтобы время наработанное было видно всегда, зачем.
Ну прочитай начальный пост, наконец. Там такого требования нет.
да тут часиков на миллис думаю вполне достаточно, если не зашивать лодыря, то точности должно хватить
Офигеть! В огороде бузина - в Киеве дядько.(
Чтобы время наработанное было видно всегда, зачем.
Ну прочитай начальный пост, наконец. Там такого требования нет.
И что? Если нет требования сделать лучше, то нужно обязательно сделать хуже?
про RTC с батарейкой - это идея ТС.
Antsanv - не нужна тут RTC никоим боком, поверьте. Используйте то, что описал Asam - хватит надолго.
Там в любом случае RTC будет для установки вкл/выкл по расписанию.
Там в любом случае RTC будет для установки вкл/выкл по расписанию.
все равно для задачи "счетчика моточасов" данные RTC совершенно не нужны, ИМХО...
Там в любом случае RTC будет для установки вкл/выкл по расписанию.
все равно для задачи "счетчика моточасов" данные RTC совершенно не нужны, ИМХО...
это да, выходит что нужен таймер
Там в любом случае RTC будет для установки вкл/выкл по расписанию.
О, что-то новенькое. Вы бы изложили все требования к функциональности устройства, плюс, как тут уже не раз спрашивали, требования к точности отсчета времени. Иначе обсуждение особого смысла не имеет.
Часы реального времени в устройстве нужны для других задач (вкл/откл по расписанию).
Сделал сохранение в EEPROM (ESP8266), но как-то смущает количество циклов перезаписи.
Ресурс работы одной детали 9000 часов т.е. 540000 минут. Если записывать каждую минуту вылезаем далеко за 100000. Потом деталька меняется и опять 9000 часов...
Сделал сохранение в EEPROM (ESP8266), но как-то смущает количество циклов перезаписи.
Ресурс работы одной детали 9000 часов т.е. 540000 минут. Если записывать каждую минуту вылезаем далеко за 100000. Потом деталька меняется и опять 9000 часов...
возьмите внешнюю ЕЕПРОМ типа FRAM - гарантируют 10**14 (десять в 14 степени) перезаписей. Даже если в 10000 раз наврали - все равно это около 20 тыс лет, если раз в минуту записывать..
Цена на Али - 15 -20 руб за корпус
Такую?
https://www.aliexpress.com/item/4000112954235.html
Часы реального времени в устройстве нужны для других задач (вкл/откл по расписанию).
А RTC на базе чего?
Такую?
https://www.aliexpress.com/item/4000112954235.html
лучше поменьше, куда вам 64 кбита, вам же одну единственную переменную сохранять :)
Вот например FM24C04 - да и подешевле
https://aliexpress.ru/item/33036790378.html
А RTC на базе чего?
кстати да, во многих RTC есть встроенная ЕЕПРОМ с кучей циклов
Более того, в некоторых ещё и куча RAM питаемой от батарейки.
Более того, в некоторых ещё и куча RAM питаемой от батарейки.
не, это ненадежно - батарейка сдохла или вывалилась - и весь счетчик обнулился...
DS3231. В даташите не нашел никакой памяти кроме двух будильников.
На модуле с 3231 часто устанавливают епромку отдельную. Батарейный срам есть на 1302 и 1307. Однако фрам - более безгеморройное решение.
DS3231. В даташите не нашел никакой памяти кроме двух будильников.
Как раз будильники для вас самое то. 7 байт вполне.
Так я изначально писал про идею с будильниками, но отсоветовали :)
Ну и да, батарейка может разрядится, выпасть.... В EEPROM, видимо, надежней.