Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 21:59

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 12:37 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
Всем привет. Зашел в тупик: устройство, питаться будет от батарейки CR2032 3V, тактирование - внешний кварц 8MHz.
Пишу на асм.
Общий алго программы в словах:
1) ATmega принимает по RFID данные для записи в свой еепром
2) отправляет ответ, в котором принятые данные - подтверждение правильного приема
3) сравнивает с содержимым своего еепром, если различия - переписывает принятыми значениями(запись еепром по прерываниям)
4) отправляет новое обновленное содержимое еепром, вне зависимости обновилось или нет

Всё работало, как надо, пока батарейка была новая ~ 3.2V. Но при снижении уже до 2.98V начало глючить именно на запись еепром.
То есть все пункты 1,2,3,4 работают, но прием и перезапись байта еепром любым новым значением, вместо нужного, ячейка еепром всегда 0xFF.
Не могу отловить в чем засада, думаю, что алгоритм отпадает, а ячейка FF похожа на выполнение только стирания?
WD активен, понимаю, что его интервал зависит от напряжения, но должен наоборот быть больше при меньшем напряжении...

Там ведь запись ячейки еепром происходит в 2 этапа, сначала стирание, а потом запись? Неужели напруги не хватает ? Думал, что уж хотя бы до 2.7V проблем не должно быть, а то и вовсе до 1.8V этот МК должен работать...

Запись еепром тактируется ведь от внутреннего генератора, не может занимать большее время при понижении напряжения ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 13:58 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
Цитата:
• Operating Voltage:
– 1.8 - 5.5V for ATmega48PV/88PV/168PV
– 2.7 - 5.5V for ATmega48P/88P/168P


Цитата:
до 2.98V
- и учитывая погрешность неизвестного измерителя - похоже Вы совсем на пределе ее возможностей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 14:20 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
ILYAUL писал(а):
Цитата:
• Operating Voltage:
– 1.8 - 5.5V for ATmega48PV/88PV/168PV
– 2.7 - 5.5V for ATmega48P/88P/168P


Цитата:
до 2.98V
- и учитывая погрешность неизвестного измерителя - похоже Вы совсем на пределе ее возможностей


Спасибо за ответ!
Если быть точным, то использую ATmega168PA-AU из Чипа и Дипа. Если верить их описанию к нему, то
Цитата:
Напряжение питания 1.8…5.5 в


Интересно, что более затратно для МК, цикл стирания ячейки еепром или её последующая запись? Но если судить по происходящему, что ячейка становится FF, значит стирание таки проходит...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 16:48 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 380
Гляньте осциллом напряжение питания в момент записи. Скорей всего там просадка, которую в некоторой степени можно уменьшить доп кондером (надеюсь, обвязка МК сделана по докам, а то всякое видели).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 17:10 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
sva_omsk писал(а):
Гляньте осциллом напряжение питания в момент записи. Скорей всего там просадка, которую в некоторой степени можно уменьшить доп кондером (надеюсь, обвязка МК сделана по докам, а то всякое видели).


Из обвязки питания МК, в связи с питанием только от батарейки, убрал все причитающиеся стандартные ёмкости. На новой батарейке работает отлично, на почти свежей - вышеописанная ситуация. Для эксперимента вернул на место тантал, который всегда вставлю при питании не от батарейки, на ситуацию не повлияло никак.
p.s. отметил дополнительные детали глюков, закралась мысль всё таки на какую-то заковырку в алгоритме, в частности обработчик прерывания готовности еепром. Есть подозрения что косяк мой и программный, и дело не в питании, проверю - отпишусь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 22:28 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
sva_omsk писал(а):
Гляньте осциллом напряжение питания в момент записи. Скорей всего там просадка, которую в некоторой степени можно уменьшить доп кондером (надеюсь, обвязка МК сделана по докам, а то всякое видели).


+1 за правильный пинок! Проблема с просадкой напряжения действительно имеет место быть! Я по алгоритму программы я пишу еепром блоками по 4 байта. Поставил 1 танталовый конденсатор, который обычно ставлю на 10мкФ - 1 байт из 4х пишется нормально, остальные нет. Нашел конденсатор на 45мкФ - стало нормально писаться от 2 до 3 байтов из 4 !
Осцил показал:
Просадка во время записи еепром составляет от 500(1 байт) до 900мВ(если писать подряд все 4 байта). Напряжение от изначальных 2.98 вольт падает до 2.0хх! Видимо это предел.
Отсюда вопрос: какой из опыта можно поставить конденсатор максимально на цепь питания?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 04 дек 2019, 22:48 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
https://www.chipdip.ru/catalog-show/li- ... -batteries


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 00:00 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
ILYAUL писал(а):
https://www.chipdip.ru/catalog-show/li-ion-rechargeable-batteries


Задача питаться от элемента CR2020 или CR1620 - больше просто физически не влезет в устройство...
Вопрос остается открытым: на сколько мкФ можно вкорячить конденсатор в цепь питания, для компенсации провалов напряжения при записи еепром? 100мкФ ?

Пока пришло в голову запись еепром не по 4 байта подряд, а как-то разнести по времени и писать 4 раза по 1 байту... От записи 1 байта напруга не успевает просесть до критического уровня... Мозговой штурм продолжается :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 00:15 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
Уменьшить частоту


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 00:53 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
ILYAUL писал(а):
Уменьшить частоту


низя :), итак еле прохожу... Придумал ещё изврат: "раздербанить" запись еепром на 2 этапа: сначала только стирание, а потом отдельно запись...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 00:57 
Старожил

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2745
Откуда: Москва
https://habr.com/ru/post/465393/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 07:41 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 380
Керамику ставьте, не тантал. Опытным путем определите необходимую емкость. Может быть и 1 мкФ хватит.
Кондеры в обвязке МК надо ставить всегда, независимо от источника питания.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 07:45 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 380
Очень хорошая статья на тему конденсаторов

Изменение ёмкости керамических конденсаторов от температуры и напряжения, или как ваш конденсатор на 4,7мкФ превращается в 0,33мкФ


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 08:01 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 сен 2011, 11:02
Сообщения: 71
Откуда: Бурятия
А что с BODом ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 10:36 
Старожил

Зарегистрирован: 10 мар 2012, 11:11
Сообщения: 220
Так ребутилось бы, если бы BOD был завышен, не?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 10:47 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
DPANYTA писал(а):
А что с BODом ?


Snake писал(а):
Так ребутилось бы, если бы BOD был завышен, не?



BOD не включен, сознательно.

Не ребутится, проблема касается только записи еепром подряд(насколько позволяет готовность самого еепром) более, чем 1 байта.
По крайней мере на текущем напряжении батарейки, возможно, если она просядет с нынешних 2.98 до 2.7, будет проблема с записью и 1 байта...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 10:49 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
sva_omsk писал(а):


Спасибо за ссыль, ознакомлюсь подробнее.

sva_omsk писал(а):
Керамику ставьте, не тантал.


А можно обоснование, почему тантал хуже керамики?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 11:03 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 сен 2011, 11:02
Сообщения: 71
Откуда: Бурятия
А поменять на PV ?
Не...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 11:46 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
DPANYTA писал(а):
А поменять на PV ?
Не...


пошел в Чип и Дип :) сейчас возьму контроллер, который питается только святым духом:), и кондёры керамические, да помясистее, глядишь что-нибудь за уши и вытяну...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 11:53 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 сен 2011, 11:02
Сообщения: 71
Откуда: Бурятия
Ну и разбивать процесс на несколько этапов по времени, тоже вариант.
Неплохой...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 13:12 
Старожил

Зарегистрирован: 20 окт 2015, 18:14
Сообщения: 380
ИммоБокс писал(а):
А можно обоснование, почему тантал хуже керамики?
У керамики наименьшее последовательное сопротивление (ESR), поэтому она лучше сглаживает резкие просечки. Поэтому и рекомендуют ее ставить рядом с выводами питания у всех микросхем.

Тантал применяется для сглаживания низкочастотных пульсаций, как и электролит, только не высыхает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 14:08 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
sva_omsk писал(а):
ИммоБокс писал(а):
А можно обоснование, почему тантал хуже керамики?
У керамики наименьшее последовательное сопротивление (ESR), поэтому она лучше сглаживает резкие просечки. Поэтому и рекомендуют ее ставить рядом с выводами питания у всех микросхем.

Тантал применяется для сглаживания низкочастотных пульсаций, как и электролит, только не высыхает.


Ок. принято.

Сбегал купил керамические конденсаторы.
Прицепляю 2 скрина осциллограмм, с моментом записи 1ого байта еепром. Atmega168P, питание от батарейки с почти 3V, конденсаторы на 47мкФ танталовый
Вложение:
Комментарий к файлу: Atmega168P,3V,тантал 47мкФ
168P_47мкФ_Тантал.jpg
168P_47мкФ_Тантал.jpg [ 78.69 Кб | Просмотров: 649 ]


и керамика 47мкФ.
Вложение:
Комментарий к файлу: Atmega168P,3V,керамика 47мкФ
168P_47мкФ_Керамика.jpg
168P_47мкФ_Керамика.jpg [ 79.38 Кб | Просмотров: 649 ]

Так же есть третий скрин, на котором так же запись 1ого байта еепром, поменял контроллер на Atmega168V, условия те же: батарейка ~3V, конденсатор 47мкФ керамика.
Вложение:
Комментарий к файлу: Atmega168V,3V,керамика 47мкФ
168V_47мкФ_Керамика.jpg
168V_47мкФ_Керамика.jpg [ 74.3 Кб | Просмотров: 649 ]


Чет грустно стало, разницы какой-то существенной нет, жрет еепром не по детски. Походу не обойтись без разноса во времени записи байтов, т.к. 1 байт в 99.99% случаев пишется успешно. Но! что-то сильно проседает питание и в части работы программы ещё до записи еепром, не фатально конечно, но..... видимо питаться от батарейки тупиковая идея?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 14:30 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 7239
Снижайте частоту.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 14:43 
Заглядывает иногда

Зарегистрирован: 04 дек 2019, 12:12
Сообщения: 38
u37 писал(а):
Снижайте частоту.


viewtopic.php?p=620073#p620073


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ATmega168 P питание от батарейки и запись eeprom проблема...
СообщениеДобавлено: 05 дек 2019, 15:11 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 17 сен 2011, 11:02
Сообщения: 71
Откуда: Бурятия
Провалы до записи, полагаю, RFID.
Тот тоже кушает малмал...

У V провал тот же, это норм. Но V при этом должна не сбоить, она ж 1.8.

Мож делать паузу после работы RFIDа...

Ещё. Стесняюсь спросить... :)
Как определял, что тот провал именно в момент работы с EEPROM ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу 1, 2, 3  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB