Как записать в EEPROM перед отключением питания

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Мастер Ломастер »

ну так это совсем не то время, которое на запись тратится... изъясняетесь непонятно. компаратор может генерировать прерывание, а АЦП удобно тем, что позволяет не задействовать ни одного порта МК вообще. можно выбирать.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

Дабы народ не рисовал всякие бредовые схемы, приведу рабочий адекватный вариант.
Вложения
rezerv.JPG
(26.58 КБ) 1893 скачивания
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение clawham »

класс...после транса и диодного моста - ещё диод и кондер :))
на эту схему надо идеальных фильтрованных 12 вольт и ЛДО кренку которая при 6-ти вольтах сможет 5 выдать...обычно они уже при 7-ми выдают 4.5...
короче снова...на 1-2 миллисекунды может и хватить...но если надо чтото серьёзное записать + перепроверить + переписать "предупреждающую" переменную
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

Уважаемый, у автора импульсный БП 12 вольт на выходе со встроенным конденсатором.
LDO не помешает. А кренки, если Вы соизволите заглянуть хоть раз в документацию, требуют на входе напряжение на 2,5 вольта выше выходного. Итого 7,5 вольт. А дальше расчет скорости разряда от потребляемого тока.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

А по-моему, у Flasher все грамотно, и будет работать. И Low Drop стабилизатор тут не нужен, т.к. запас по напряжению приличный. Правда, сама по себе 7805 может потреблять несколько миллиампер (через регулирующий вывод), что уменьшит время на сохранение в EEPROM, ну так можно поставить другой стабилизатор.

АЦП хорошо использовать для экономии выводов, наверно. Если, например, АТмега8А в планаре, у нее два вывода могут быть только АЦП.. Кажется, Мастер Ломастер об этом писал. Только нельзя будет сделать прерывание по пропаданию питания.

Аналоговый компаратор, по-моему, хорош для перевода в спящий режим, и отслеживания появления напряжения. В схемах часов часто такое вижу.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Как записать в EEPROM перед отключением питания

Сообщение ELcat »

Flasher писал(а):Уважаемый, у автора импульсный БП 12 вольт на выходе со встроенным конденсатором.
LDO не помешает. А кренки, если Вы соизволите заглянуть хоть раз в документацию, требуют на входе напряжение на 2,5 вольта выше выходного. Итого 7,5 вольт. А дальше расчет скорости разряда от потребляемого тока.

2,5В при 1,5А, при 100мА и 1,5В хватит. Кроме того, никто не учитывает, что когда напряжение опустится ниже уровня стабилизации КРЕНка всё равно продолжает потреблять до 4мА на питание самой себя. Свой вариант с использованием встроенных ИОН, компаратора и внешнего резистивного делителя считаю идеальным.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

ELcat писал(а):2,5В при 1,5А, при 100мА и 1,5В хватит.


Это Вы микросхему гипнотизируете, убеждая ее, что и 1,5В хватит?
По даташиту 78L05 7 вольт- 2 вольта.
RVL
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт окт 14, 2008 23:47:09

Re: Как записать в EEPROM перед отключением питания

Сообщение RVL »

Мне тоже почему-то больше доверяется варианту со встроенным компаратором. Честно говоря, я про него изначально не подумал - поэтому сделал на lm339 (к тому же в схеме одна её половинка использована, а вторая - свободна).
К примеру, используем внутренний ИОН. Только никак не пойму (ни разу не работал с ним) - какое опорное выдает ИОН: 1,23 или 2,56 ?

Кстати, если прямой вход (AIN0) программно подключить к ИОНу, можно ли юзать этот порт как вход/выход? Если нет, то что с ним делать? подцепить через керамику 0,1 мкф на общий, видимо?

На инверсный вход (AIN1) подводим через делитель на резисторах входное напряжение (от точки подключения БП12в к схеме).
Правильно ли я понимаю, что делитель нужно подобрать, чтобы когда "все ок" он выдавал напряжение чуток выше, чем ИОН на прямой вход (на выходе компаратора - "0") ?
Когда питание начнет пропадать, через делитель (именно на резисторах) оно начнет ПРОПОРЦИОНАЛЬНО уменьшаться. А поскольку делитель подобран с небольшим превышением над ИОНом, то практически сразу же компаратор опрокинется в "1". По прерыванию компаратора - отключаем нагрузку, пишем в ЕЕПРОМ, проверяем, пишем любое значение ЕЕПРОМ опять (по другому адресу).
Записать нужно от 4х до 8ми байт.

По входу питания, суммируя что я понял: КРЕНку питаем через диод Шоттки (из-за меньшего падения напряжения?). После диода параллельно входу - конденсатор (1000 х 25в). На выходе КРЕНки тоже стоит конденсатор (1000 х 10в). Вся логика питается от КРЕНки (в том числе и МК). Да и не так много там логики. На резисторный делитель подаем от БП12в.

Ну и второй вариант: RTC.
В схеме он и так есть, также есть резервная батарейка (В устройстве нужен календарь). Может не мусолить хвост, а просто писать в ОЗУ RTC ? Писать надо будет 1 раз в секунду.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Как записать в EEPROM перед отключением питания

Сообщение ELcat »

Пиши в ОЗУ часов, тогда вообще никаких лишних телодвижений.
Аватара пользователя
ELcat
Друг Кота
Сообщения: 3258
Зарегистрирован: Вт май 19, 2009 09:27:30
Откуда: Украина

Re: Как записать в EEPROM перед отключением питания

Сообщение ELcat »

Flasher писал(а):
ELcat писал(а):2,5В при 1,5А, при 100мА и 1,5В хватит.


Это Вы микросхему гипнотизируете, убеждая ее, что и 1,5В хватит?
По даташиту 78L05 7 вольт- 2 вольта.
Эта величина зависит от протекающего тока и указана для максимального тока в 1,5А.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

RVL
Внутри AVR есть Bandgap Voltage 1,23В, именно к нему можно (программно) подключить один из входов компаратора. Тогда будет задействована только одна ножка AIN1, а вывод МК AIN0 будет отключен от компаратора, и его можно использовать для других целей.

Из Bandgap Voltage формируется опорное напряжение 2,56В, которое используется для АЦП, например. К аналоговому компаратору не имеет отношения. Выводится на вывод AREF, когда внутренний источник опорного напряжения включен. В принципе, к нему можно подключить аналоговый компаратор, соединив выводы AREF и AIN0 снаружи, но это неэкономичное использование выводов МК.

А что касается КРЕНок и диодов, то тут по-разному можно сделать, кому как нравится, главное - рассчитать, чтобы все работало.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

ELcat писал(а):Эта величина зависит от протекающего тока и указана для максимального тока в 1,5А.

Я привел данные из даташита 78L05- у нее максимальный ток 100 мА. И не стоит придумывать сколько ей хватит и чего ей надобно. В даташите все четко сказано.

RVL, ты все верно описал, только на вЫходе кренки большую емкость нельзя ставить- иначе она ничего регулировать нормально не сможет.
RVL
Открыл глаза
Сообщения: 43
Зарегистрирован: Вт окт 14, 2008 23:47:09

Re: Как записать в EEPROM перед отключением питания

Сообщение RVL »

Спасибо всем за разъяснения, ответы и советы.
Думаю, что в схеме предусмотрю возможность мониторинга питания встроенным компаратором - через R-делитель. Выходов все равно с запасом.
А писать в RTC в любом случае буду. На опыте будет понятно, как лучше.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Леонид Иванович »

ELcat писал(а):Кроме того, никто не учитывает, что когда напряжение опустится ниже уровня стабилизации КРЕНка всё равно продолжает потреблять до 4мА на питание самой себя.


Почему только для самой себя? Она и нагрузку питает, правда, пониженным нестабилизированным напряжением.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение clawham »

кстати надо смотреть чтоб на компараторе не получилось 100 герц из выпрямленного напряжения переменки 12-вольт....тоесть на 12-тивольтовом источнике должно быть достаточно кондеров для сглаживания пульсаций
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

clawham, Вы, определенно, ничего не читаете. Сказано же, у автора:"Входное питание - 12в (от импульсника). "
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

RVL, способы нужно совмещать. Питание может пропасть и в процессе обмена.
Рекомендую следующий формат записи:
номер записи , данные, контрольная сумма всей записи вместе с номером.
Писать, в зависимости от номера записи (четный или не четный ), в две разные области RAM.
При включении считывать обе и выбирать с наибольшим номером и правильной контрольной суммой.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Леонид Иванович »

Flasher писал(а):Питание может пропасть и в процессе обмена.


Если процесс инициировать только по срабатыванию детектора питания, то не может. От срабатывания детектора до пропадания питания есть гарантированное время для записи. А если нужно записывать в EEPROM и в другое время, то можно просто запретить начало записи при сработавшем детекторе.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение clawham »

дак даж если и импульсник - компаратору-то всёравно...он и мегагерцы будет отрабатывать клацая нерперывно прерывание...я на этом попадался потому и указываю...на компараторе должно быть тоже рафинированное напряжение...без пульсаций
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

И схему мою тоже не смотрели- там 0,1 мкФ на компараторе.
Ответить

Вернуться в «Разные вопросы по МК»