Как записать в EEPROM перед отключением питания
-
Мастер Ломастер
- Поставщик валерьянки для Кота
- Сообщения: 1995
- Зарегистрирован: Ср май 11, 2011 21:37:45
- Откуда: Цветочный город
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
ну так это совсем не то время, которое на запись тратится... изъясняетесь непонятно. компаратор может генерировать прерывание, а АЦП удобно тем, что позволяет не задействовать ни одного порта МК вообще. можно выбирать.
битва с дураками проиграна, победители торжествуют. слава победителям!
Re: Как записать в EEPROM перед отключением питания
Дабы народ не рисовал всякие бредовые схемы, приведу рабочий адекватный вариант.
- Вложения
-
- rezerv.JPG
- (26.58 КБ) 1893 скачивания
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
класс...после транса и диодного моста - ещё диод и кондер 
на эту схему надо идеальных фильтрованных 12 вольт и ЛДО кренку которая при 6-ти вольтах сможет 5 выдать...обычно они уже при 7-ми выдают 4.5...
короче снова...на 1-2 миллисекунды может и хватить...но если надо чтото серьёзное записать + перепроверить + переписать "предупреждающую" переменную
на эту схему надо идеальных фильтрованных 12 вольт и ЛДО кренку которая при 6-ти вольтах сможет 5 выдать...обычно они уже при 7-ми выдают 4.5...
короче снова...на 1-2 миллисекунды может и хватить...но если надо чтото серьёзное записать + перепроверить + переписать "предупреждающую" переменную
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Как записать в EEPROM перед отключением питания
Уважаемый, у автора импульсный БП 12 вольт на выходе со встроенным конденсатором.
LDO не помешает. А кренки, если Вы соизволите заглянуть хоть раз в документацию, требуют на входе напряжение на 2,5 вольта выше выходного. Итого 7,5 вольт. А дальше расчет скорости разряда от потребляемого тока.
LDO не помешает. А кренки, если Вы соизволите заглянуть хоть раз в документацию, требуют на входе напряжение на 2,5 вольта выше выходного. Итого 7,5 вольт. А дальше расчет скорости разряда от потребляемого тока.
Re: Как записать в EEPROM перед отключением питания
А по-моему, у Flasher все грамотно, и будет работать. И Low Drop стабилизатор тут не нужен, т.к. запас по напряжению приличный. Правда, сама по себе 7805 может потреблять несколько миллиампер (через регулирующий вывод), что уменьшит время на сохранение в EEPROM, ну так можно поставить другой стабилизатор.
АЦП хорошо использовать для экономии выводов, наверно. Если, например, АТмега8А в планаре, у нее два вывода могут быть только АЦП.. Кажется, Мастер Ломастер об этом писал. Только нельзя будет сделать прерывание по пропаданию питания.
Аналоговый компаратор, по-моему, хорош для перевода в спящий режим, и отслеживания появления напряжения. В схемах часов часто такое вижу.
АЦП хорошо использовать для экономии выводов, наверно. Если, например, АТмега8А в планаре, у нее два вывода могут быть только АЦП.. Кажется, Мастер Ломастер об этом писал. Только нельзя будет сделать прерывание по пропаданию питания.
Аналоговый компаратор, по-моему, хорош для перевода в спящий режим, и отслеживания появления напряжения. В схемах часов часто такое вижу.
Re: Как записать в EEPROM перед отключением питания
Flasher писал(а):Уважаемый, у автора импульсный БП 12 вольт на выходе со встроенным конденсатором.
LDO не помешает. А кренки, если Вы соизволите заглянуть хоть раз в документацию, требуют на входе напряжение на 2,5 вольта выше выходного. Итого 7,5 вольт. А дальше расчет скорости разряда от потребляемого тока.
2,5В при 1,5А, при 100мА и 1,5В хватит. Кроме того, никто не учитывает, что когда напряжение опустится ниже уровня стабилизации КРЕНка всё равно продолжает потреблять до 4мА на питание самой себя. Свой вариант с использованием встроенных ИОН, компаратора и внешнего резистивного делителя считаю идеальным.
Re: Как записать в EEPROM перед отключением питания
ELcat писал(а):2,5В при 1,5А, при 100мА и 1,5В хватит.
Это Вы микросхему гипнотизируете, убеждая ее, что и 1,5В хватит?
По даташиту 78L05 7 вольт- 2 вольта.
Re: Как записать в EEPROM перед отключением питания
Мне тоже почему-то больше доверяется варианту со встроенным компаратором. Честно говоря, я про него изначально не подумал - поэтому сделал на lm339 (к тому же в схеме одна её половинка использована, а вторая - свободна).
К примеру, используем внутренний ИОН. Только никак не пойму (ни разу не работал с ним) - какое опорное выдает ИОН: 1,23 или 2,56 ?
Кстати, если прямой вход (AIN0) программно подключить к ИОНу, можно ли юзать этот порт как вход/выход? Если нет, то что с ним делать? подцепить через керамику 0,1 мкф на общий, видимо?
На инверсный вход (AIN1) подводим через делитель на резисторах входное напряжение (от точки подключения БП12в к схеме).
Правильно ли я понимаю, что делитель нужно подобрать, чтобы когда "все ок" он выдавал напряжение чуток выше, чем ИОН на прямой вход (на выходе компаратора - "0") ?
Когда питание начнет пропадать, через делитель (именно на резисторах) оно начнет ПРОПОРЦИОНАЛЬНО уменьшаться. А поскольку делитель подобран с небольшим превышением над ИОНом, то практически сразу же компаратор опрокинется в "1". По прерыванию компаратора - отключаем нагрузку, пишем в ЕЕПРОМ, проверяем, пишем любое значение ЕЕПРОМ опять (по другому адресу).
Записать нужно от 4х до 8ми байт.
По входу питания, суммируя что я понял: КРЕНку питаем через диод Шоттки (из-за меньшего падения напряжения?). После диода параллельно входу - конденсатор (1000 х 25в). На выходе КРЕНки тоже стоит конденсатор (1000 х 10в). Вся логика питается от КРЕНки (в том числе и МК). Да и не так много там логики. На резисторный делитель подаем от БП12в.
Ну и второй вариант: RTC.
В схеме он и так есть, также есть резервная батарейка (В устройстве нужен календарь). Может не мусолить хвост, а просто писать в ОЗУ RTC ? Писать надо будет 1 раз в секунду.
К примеру, используем внутренний ИОН. Только никак не пойму (ни разу не работал с ним) - какое опорное выдает ИОН: 1,23 или 2,56 ?
Кстати, если прямой вход (AIN0) программно подключить к ИОНу, можно ли юзать этот порт как вход/выход? Если нет, то что с ним делать? подцепить через керамику 0,1 мкф на общий, видимо?
На инверсный вход (AIN1) подводим через делитель на резисторах входное напряжение (от точки подключения БП12в к схеме).
Правильно ли я понимаю, что делитель нужно подобрать, чтобы когда "все ок" он выдавал напряжение чуток выше, чем ИОН на прямой вход (на выходе компаратора - "0") ?
Когда питание начнет пропадать, через делитель (именно на резисторах) оно начнет ПРОПОРЦИОНАЛЬНО уменьшаться. А поскольку делитель подобран с небольшим превышением над ИОНом, то практически сразу же компаратор опрокинется в "1". По прерыванию компаратора - отключаем нагрузку, пишем в ЕЕПРОМ, проверяем, пишем любое значение ЕЕПРОМ опять (по другому адресу).
Записать нужно от 4х до 8ми байт.
По входу питания, суммируя что я понял: КРЕНку питаем через диод Шоттки (из-за меньшего падения напряжения?). После диода параллельно входу - конденсатор (1000 х 25в). На выходе КРЕНки тоже стоит конденсатор (1000 х 10в). Вся логика питается от КРЕНки (в том числе и МК). Да и не так много там логики. На резисторный делитель подаем от БП12в.
Ну и второй вариант: RTC.
В схеме он и так есть, также есть резервная батарейка (В устройстве нужен календарь). Может не мусолить хвост, а просто писать в ОЗУ RTC ? Писать надо будет 1 раз в секунду.
Re: Как записать в EEPROM перед отключением питания
Пиши в ОЗУ часов, тогда вообще никаких лишних телодвижений.
Re: Как записать в EEPROM перед отключением питания
Эта величина зависит от протекающего тока и указана для максимального тока в 1,5А.Flasher писал(а):ELcat писал(а):2,5В при 1,5А, при 100мА и 1,5В хватит.
Это Вы микросхему гипнотизируете, убеждая ее, что и 1,5В хватит?
По даташиту 78L05 7 вольт- 2 вольта.
Re: Как записать в EEPROM перед отключением питания
RVL
Внутри AVR есть Bandgap Voltage 1,23В, именно к нему можно (программно) подключить один из входов компаратора. Тогда будет задействована только одна ножка AIN1, а вывод МК AIN0 будет отключен от компаратора, и его можно использовать для других целей.
Из Bandgap Voltage формируется опорное напряжение 2,56В, которое используется для АЦП, например. К аналоговому компаратору не имеет отношения. Выводится на вывод AREF, когда внутренний источник опорного напряжения включен. В принципе, к нему можно подключить аналоговый компаратор, соединив выводы AREF и AIN0 снаружи, но это неэкономичное использование выводов МК.
А что касается КРЕНок и диодов, то тут по-разному можно сделать, кому как нравится, главное - рассчитать, чтобы все работало.
Внутри AVR есть Bandgap Voltage 1,23В, именно к нему можно (программно) подключить один из входов компаратора. Тогда будет задействована только одна ножка AIN1, а вывод МК AIN0 будет отключен от компаратора, и его можно использовать для других целей.
Из Bandgap Voltage формируется опорное напряжение 2,56В, которое используется для АЦП, например. К аналоговому компаратору не имеет отношения. Выводится на вывод AREF, когда внутренний источник опорного напряжения включен. В принципе, к нему можно подключить аналоговый компаратор, соединив выводы AREF и AIN0 снаружи, но это неэкономичное использование выводов МК.
А что касается КРЕНок и диодов, то тут по-разному можно сделать, кому как нравится, главное - рассчитать, чтобы все работало.
Re: Как записать в EEPROM перед отключением питания
ELcat писал(а):Эта величина зависит от протекающего тока и указана для максимального тока в 1,5А.
Я привел данные из даташита 78L05- у нее максимальный ток 100 мА. И не стоит придумывать сколько ей хватит и чего ей надобно. В даташите все четко сказано.
RVL, ты все верно описал, только на вЫходе кренки большую емкость нельзя ставить- иначе она ничего регулировать нормально не сможет.
Re: Как записать в EEPROM перед отключением питания
Спасибо всем за разъяснения, ответы и советы.
Думаю, что в схеме предусмотрю возможность мониторинга питания встроенным компаратором - через R-делитель. Выходов все равно с запасом.
А писать в RTC в любом случае буду. На опыте будет понятно, как лучше.
Думаю, что в схеме предусмотрю возможность мониторинга питания встроенным компаратором - через R-делитель. Выходов все равно с запасом.
А писать в RTC в любом случае буду. На опыте будет понятно, как лучше.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
ELcat писал(а):Кроме того, никто не учитывает, что когда напряжение опустится ниже уровня стабилизации КРЕНка всё равно продолжает потреблять до 4мА на питание самой себя.
Почему только для самой себя? Она и нагрузку питает, правда, пониженным нестабилизированным напряжением.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
кстати надо смотреть чтоб на компараторе не получилось 100 герц из выпрямленного напряжения переменки 12-вольт....тоесть на 12-тивольтовом источнике должно быть достаточно кондеров для сглаживания пульсаций
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Как записать в EEPROM перед отключением питания
clawham, Вы, определенно, ничего не читаете. Сказано же, у автора:"Входное питание - 12в (от импульсника). "
Re: Как записать в EEPROM перед отключением питания
RVL, способы нужно совмещать. Питание может пропасть и в процессе обмена.
Рекомендую следующий формат записи:
номер записи , данные, контрольная сумма всей записи вместе с номером.
Писать, в зависимости от номера записи (четный или не четный ), в две разные области RAM.
При включении считывать обе и выбирать с наибольшим номером и правильной контрольной суммой.
Рекомендую следующий формат записи:
номер записи , данные, контрольная сумма всей записи вместе с номером.
Писать, в зависимости от номера записи (четный или не четный ), в две разные области RAM.
При включении считывать обе и выбирать с наибольшим номером и правильной контрольной суммой.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
Flasher писал(а):Питание может пропасть и в процессе обмена.
Если процесс инициировать только по срабатыванию детектора питания, то не может. От срабатывания детектора до пропадания питания есть гарантированное время для записи. А если нужно записывать в EEPROM и в другое время, то можно просто запретить начало записи при сработавшем детекторе.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
дак даж если и импульсник - компаратору-то всёравно...он и мегагерцы будет отрабатывать клацая нерперывно прерывание...я на этом попадался потому и указываю...на компараторе должно быть тоже рафинированное напряжение...без пульсаций
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Как записать в EEPROM перед отключением питания
И схему мою тоже не смотрели- там 0,1 мкФ на компараторе.