Сохранение данных в EEPROM при пропадании питания

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Вс мар 15, 2015 16:37:13

Сообщение Vиталий »

Здравствуйте.
В моей поделке (на Ардуино) появилась нужда сохранять переменную (координату) при выключении питания (неважно сам выключил или свет пропал). Долго мучился, пока появилось такое решение. На 2м выводе настроил прерывание на фронт, в функции запись в EEPROM. Вывод 2 через делитель напряжения (270к и 360к) мониторит лог.уровень на конденсаторе 1000мкФ, подключенному через диод Шотки к питанию 5В. В нормальном состоянии на выводе 2 ноль, при отключении питания напряжение падает, выв.2 переходит в "1" и срабатывает прерывание. Пока есть напряжение Ардуина успевает записать.
Может есть способы проще, удобнее или надежнее?
Реклама
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Уже много раз поднимался этот вопрос.
Не совсем корректно ловить прерывание от цифрового входа с таким примитивным детектором. Дело в том, что напряжение срабатывания будет зависеть от напряжения питания цифровой части и в какой-то мере температуры. Здесь уместнее использовать встроенный аналоговый компаратор.
Или применить монитор питания вроде MC33064. Его как раз можно завести на цифровой вход.
Реклама
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Вс мар 15, 2015 16:37:13

Сообщение Vиталий »

uk8amk спасибо! Не знал про такие элементы. Изучу.
А про встроенный аналоговый компаратор можно подробнее.

Нашел про компаратор, он на выводах 6 и 7. Получается на 7й вывод надо повесить резистор и стабилитрон, а на 6й просто делитель? И настроить прерывание по этому компаратору. Я правильно понял?

Добавлено after 1 hour 27 minutes 37 seconds:
Наверно правильней будет мониторить сетевое напряжение через оптопару по схеме: шунтирующие резисторы - диод - конденсатор - оптопара, конденсатор подобрать, чтобы прерывание срабатывало при пропуске 2х-3х полупериодов. Все равно у меня будет плата с тиристорами, там и разместить этот детектор.
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

в МК обычно есть встроенный источник опорного напряжения и один из входов компаратора можно подключить к нему прямо внутри микросхемы (тут ДШ читать надо), а меги могут и своё питание померять (тоже без лишних проводов) при помощи встроенного АЦП (но, это конечно медленнее чем компаратор)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Если речь идёт про сетевое напряжение, то достаточно определять пропуск импульсов самим МК. И для этого не нужен конденсатор.
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

uk8amk писал(а):достаточно определять пропуск импульсов самим МК
Да Вы что, в документации на абдурину нет же такой команды "Пропустить период сетевого напряжения" :)
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Если вопрос с внезапностью пропажи питания - наиболее просто использование константы в ОЗУ DS1307.
В других случаях исключительно резервное питание с достаточным запасом по мощности.
8)
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

если писать в асме — можно ячейки заранее очищенными держать, тогда запись пройдёт быстрее и потребует меньше энергии.
хотя о чём это я где асм, а где ардуина... :)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Воть потому и предлагается использование I2Cшных ОЗУ (или spi).
8)
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Я в одном проекте реализовал так: + 5 V подается через резистор 10 Ом, диод Шоттки на МК, параллельно питанию МК ионистор. Емкость ионистора подбирается из расчета: запись 1 байта EEPROM длится 8 мс. Емкость брать с запасом по времени. Плата запитывается от 24 V. Стоит DC-DC преобразователь 24-5 V. Один пин МК через оптрон следит за питанием 24 V. Эта схема уже несколько лет исправно работает.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Как вариант при малом энергопотреблении ВСЕЙ конструкции вполне уместно.
8)
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

[uquote="BOB51",url="/forum/viewtopic.php?p=3125004#p3125004"]Как вариант при малом энергопотреблении ВСЕЙ конструкции вполне уместно.
8)[/uquote]
Причем тут ВСЯ конструкция ? Ионистор висит на ногах МК через диод.
IVL ex UA6PJ
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

А выводы МК не имеют дополнительных в данном применении "паразитных" цепей?
:wink:
Вроде пока окромя "открытый коллектор/открытый сток" схемотехники разделяемых с достаточной степенью защиты от утечек с энергонезависимой части RTC на "окружающее схемное пространство" не придумано.
Были правда попытки рвать "общий корпус" - но настолько "кривоработающие", что даже батарейки пальчиковые через пол-года менять приходилось.
8)
На сегодня есть альтернатива в виде специальных режимов в навороченных МК - но такой режим касается исключительно аппартной начинки самого МК, а не внешних, по отношению к нему аппаратных устройств. Вдобавок программисту головная боль в отслеживании состояния критичных регистров как при переходе в режим "заторможенности" так и для корректного выхода из него. Для начинающего весьма болезненный вопрос.
:tea:
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

меги могут и своё питание померять (тоже без лишних проводов) при помощи встроенного АЦП (но, это конечно медленнее чем компаратор)
А можно подробнее? Потому что я нашел только функцию измерения встроенного постоянного напряжения 1.1, 1.22 В или нуля. Можно, конечно, мерить его относительно AVCC, но придется инвертировать показания, то есть немного не то что вы описали.
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Относительно внутреннего опорного напряжения...
:roll:
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

COKPOWEHEU, да, замер опоры относительно питания, но инвертировать не надо, просто запомнить пороги и по их превышению срочно сохраняться.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 15600
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Вообще-то там еще и контроль питания по схеме Brown-out Detector имеется...
:roll:
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

так он же ресет...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1525
Зарегистрирован: Чт июн 10, 2010 20:11:19

Сообщение COKPOWEHEU »

[uquote="BOB51",url="/forum/viewtopic.php?p=3142304#p3142304"]Относительно внутреннего опорного напряжения...
:roll:[/uquote]
Я боюсь представить для каких целей может понадобиться мерить одну опору относительно другой :shock:
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

есть поделки, измеряющие таким образом состояние своей батареи (Li-Ion фонарик) опора стабильна по напряжению, но растет относительно питания при снижении последнего

Добавлено after 3 minutes 26 seconds:
я делал фонарик на тиньке - там нет ADC поставил конденсатор на минус и резистор на плюс и замерял время заряда конденсатора - чем больше питающее напряжение, тем быстрее заряжается конденсатор (только сам кондей надо термостабильный).
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ответить

Вернуться в «AVR»