Добрый день. Подскажите а данные в еепром портятся от пропажи питания, так что потом фиг в эти ячейки запишешь? Или просто перезаписать можно появившийся мусор. Я хочу раз в месяц писать в еепром меги 8 или 16 длинную стоковую переменную(50 символов). В чем минусы юзанья внутреней еепром для таких размеров переменной? И мне бы желательно тоже ставить внешний компаратор и проверять питание, дабы не начать запись в момент его пропажи? Или бода достаточно? (Запись в момент пропажи питания мне если кто не понял, не нужна). Заранее тенкс. БП обычный транс 12вольт
_________________ Имею 9 жизней ---------- Прошу не путать меня с тёзкой - "radio-kot"
Данные в EEPROM-памяти можно будет перезаписать. Испортится (возможно(!)) - содержимое ячеек. Но этот мусор можно будет перезаписать новыми правильными данными. Время записи в EEPROM-память довольно большое (по крайней мере в AVR), поэтому я бы позаботился в внешнем слежении за уровнем питающего напряжения. С помощью аналогового компаратора например (как это делается в большинстве случаев), ну или тем же BOD-ом (как предложили Вы).
_________________ Не умеешь - не берись, но не взявшись не научишься...
Должно быть не сложно, если раз в месяц писать. Сложно, если "перед отключением", тут надо огород городить, и были дискуссии, как правильно, а как - нет. Но надо предотвратить порчу данных в ЕЕПРОМ при выключении питания. Тут есть известные стандартные рекомендации, а некоторые советуют ставить и внешний монитор питания.
Здравствуйте, многоуважаемые. Нарисовал вот схемку, с LM393. Первый компаратор при отключении питания должен вызвать прерывание, по которому МК запретит прерывания, переведёт все порты в z-состояние, считает eeprom, сравнит и, по необходимости, запишет в eeprom 10 байт. Второй компаратор должен определить, что питание МК упало до 2,8V, и прижать ресет к земле, открыв транзистор Q1. По плану, ресет там и останется до полного обесточивания схемы. Питание от компового БП. МК tiny2313a, тактируется от внутреннего генератора 1МГц. Диоды Шоттки. А вопрос, собственно, такой: Достаточно ли будет кондёров 330, 220, 150 мкф для корректной работы схемы, на Ваш взгляд?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Откуда же известно, с какой скоростью будет уменьшаться напряжение питания? Выход LM393 уже с открытым коллектором, ни к чему ставить транзистор еще на выход. Микросхемы-мониторы питания предпочтительнее, есть разные, на разные напряжения. Они "додержат" сброс до предельного уменьшения напряжения питания, а LM393 ниже 3В работать не будет (ну может и будет, но не до 1,5В точно), и что выдаст - неизвестно. Если оставить компаратор, то следить лучше за напряжением +12В, которое является источником для схемы. Через обычный резистивный делитель... в этой теме уже про это писали, и обходились без компаратора.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
12В пропадут первыми. А для того, чтобы ресет остался на земле, как раз и использован транзистор. Когда 393 перестанет работать, база транзистора останется подтянутой к остаткам от 3,15В. Транзистору, чтобы быть открытым, достаточно 0,7В
Это отдельный вопрос, очень важный. Он тут, в этой теме, обсуждался, правда, в другом контексте - как сделать, чтобы МК успел записать данные при пропадании напряжения питания.
Легко посчитать время, которое для этого нужно, и подобрать конденсатор нужной емкости. Зная тактовую частоту и тип МК - знаем ток (учесть, что ток может увеличиваться при записи в ЕЕПРОМ). - это все в даташите. Зная ток, подбираем емкость конденсатора, чтобы с запасом. У меня для АТмеги8 с 8МГц, для записи 4 байт, достаточно было около 300 мкФ. Еще зависит, стоит конденсатор до стабилизатора (по цепи 12В) или после. Первый вариант считается более грамотным, т.к. входное напряжение проседает, а выходное еще стабильно. Но и мониторить тогда надо входное напряжение, до стабилизатора.
В общем, все постоянные времени рассчитываются, а для бОльшей уверенности можно схемку в Микрокапе нарисовать и посмотреть.
SmarTrunk, а Вы схемку-то мою не смотрели, поди?)) Там вот как раз всё это и мониторится. И вопрос у меня про кондёры как раз... viewtopic.php?p=1649321#p1649321 Я посчитал примерно, исходя из того, что тинька будет жрать 1,5 мА, и 393 1,5 мА. В даташите очень расплывчато потребление описано, да и моё знание буржуинского языка добавляет этим описаниям расплывчатости, ох как добавляет))
Смотрел-смотрел, но сам бы все по-другому сделал, как обычно.
Например, зачем компаратор, для которого своих конденсаторов нужна куча, когда можно напряжения подавать, через делители, на ножки МК (в т.ч. на встроенный аналоговый компаратор, возможно, подключенный к встроенному источнику опорного напряжения).
С внутренним компаратором разбираться долго - я первую свою программу в жизни написал, новичок в этом деле, плату вот готовлю... свободных ног у МК не осталось, а подтяжка к внутреннему Vref решит только задачу прерывания по внутреннему компаратору, ресет же прижать будет некому... LM393 вроде как подходит для решения обеих задач. Ладно, завтра соберу, посмотрим, правильно ли я насчитал этих чёртовых микрофарад и микросекунд)))
Кондёры поставил. Проверил. С кондёром 100мкф на второй компаратор я переборщил, конечно)) Заряжается долго. Заменил на 10мкф. Ну а в основном, схема работает, как задумано. Ресет прижимается через 190мс после вызова прерывания. Тинька за это время чёрта лысого сосчитает и запишет... Я надеюсь)) Тестил с резюком 2К в качестве нагрузки. Щас буду с МК тестить
Заголовок сообщения: Re: Как записать в EEPROM перед отключением питания
Добавлено: Ср мар 15, 2017 11:44:35
Первый раз сказал Мяу!
Зарегистрирован: Пн мар 29, 2010 12:19:06 Сообщений: 38
Рейтинг сообщения:0
Flasher писал(а):
это из даташита на Вашу супер-пупер микросхему.
Давно ломали копья , но думаю никога не поздно внести ясноть. Уважаеммый, флешер, вы любите всех посылать в датащит, но сими то не особо углуюляетесь. Если вы внимательно прочитаете суть написанного в приведенной вами выдержке , то станет ясно, что опасность спада напруги на входе быстрее чем на выходе есть только тогда, когда напряжение выхода более 7вольт. Притание же процессоров в 99% процентах случаев не превышает 5 вольт. Поэтому плюсов в диодной защите нет никаких , только нминусы. И если ваш стаб выдает на выходе не более 5 вольт, то можно смело на выходе ставить емкость больше, чем на входе не опасаясь за выход схемы из строя, а вот если больше, тоди все сказанное флешером имеет место быть и диод нужен и кондер на входе не меньше чем на выходе ,а лучше больше.
прочитал всю ветку ... так и непонял что сделать надо чтобы записать в EEPROM перед отключением питания
если поставить от блока питания на плюсовой вывод диод и на +5 v ардуино. и конденсатор на 470мкф адуино по питанию , остальнее потребители просто от блока питания запитать.
задействовть пин N как вход. digitalWrite(N, HIGH); // высокий сигнал
От плюсового вывода блока питания через сопротивление на 10кОм к пин N. А в loop скече написать if (пин N==0) записать eeprom;
А зачем столько сложностей? Не проще на входе перед кренкой поставить Диод, до диода питание оптопары, а ключ оптопары на ногу МК для прерывания и перехода к записи eeprom? Ну соответственно до кренки, но после диода кондёр мкФ так на 1100 или 2200
Существует множество вариантов исполнения… всё зависит от схемотехники и от алгоритма в целом… один из простых вариантов, это желательно задействовать пин внешнего прерывания (INT0; INT1)… перед диодом установите делитель верхний допустим 1 кОм, нижний резистор 4,7 кОм и с выхода делителя уже на вывод внешнего прерывания. Условие для прерывания выбрать переход с 1 в 0. При возникновении прерывания записывайте необходимые значения в EEPROM. Не забудьте фьюзами включить контроль питания. Если нет возможности задействовать внешнее прерывание, то можно задействовать АЦП, хоть это уменьшит быстродействие отслеживания исчезновения питания…
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения