Это не сбой прошивки, а некорректность работы I2C под "просаженным" аккумулятором.
при полностью зараженном и при 5 вольтовом питании такого не будет, а вот на несколько разряженном имеет место. Надо будет все же поставить контроль работы обмена с RTC...
В принципе там обмен данными с RTC идет только при включении питания и при записи новых значений. Остальное время работает внутренний счетчик в меге (по прерываниям от RTC). Посему и обнаружить сбой сложнее - запуск делается при нормальном питании, затем через время акум проседает, а при напружке на батарейке RTC выше напряжения питания или как повезет - зависит от микросхемы RTC...
Предположительно...
Согласен с выводами.
Как раз мучал соленоид и видимо прилично посадил аккум.
Похоже от одного аккума не запитать.Соленоид сильно садит напряжение .Еще подумаю, но похоже лучше 2 аккума, один ~200-300 мачей для Андкурины и чуть больше , отдельныйна соленоид.Ему только долю секунды щелкнуть.Планировал один на 1000мач, но не выходит.
У меня кормушка в ванной стоит подводить туда сетевое, категорически нельзя.Хоть и есть розетки под фен, стиралку и пр.Воздушный провод -нельзя!
Прошлый раз на К145 ставил нижний предел аварийного отключения примерно 3,05 вольта и "возврат к работе" после подключения зарядного и достижения уровня не ниже 3,15 вольта (но там была DS3231)... Плюс чуток измененные значения блока BOD меги (надо с фузами работать с "внешнего программатора").
Так помимо литиевых есть и свинцовые акумы под "силу"...
Второе - можно датчик открытия поставить - тогда длительность импульса будет автоматически определяться - от момента запуска до момента обнаружения датчиком открытого состояния - лишнего из батареи не сожрет...
Вероятно по той же причине в исходном проекте просто движок с заслонкой - такое решение более энергоэффективно.
Забавное произошло.Вдруг "сошла с ума" кнопка L.Перестала включать сработку таймера с трелью.Было посчитал, что опять сбой в прошивке.Перепрошивка не помогла.Выяснил, что пробило защитный диод в цепи полевика.Соленоид создает приличную самоиндукцию.Заменю 4148 на 4007.
L как "ручное управление" дозатором не будет работать если индикатор показывает время будильника (без мигания точек), а также в случае, если индикатор будет погашен, оставаясь в этом же статусе. Т. Е. если к примеру забыл вернуться в режим индикации текущего времени из режима просмотра параметров уставки будильника до автоотключения индикации.
Ну и соответственно при любом из режимов настройки параметров - в этих режимах L только для инкремента позиции "десятки и единицы часов".
Судя по прошедшим тестам прожку следует таки доработать...
Примерно по нижеприведенному списку:
1. Блокировать многократное исполнение для кнопки L в режиме ручного управления автодозатором.
2. Автовозврат в режим индикации главных часов при ситуации гашения дисплея в режиме индикатора параметров уставки будильника
(склерозник запроса).
3. Разделение обработки счетчиков главных часов и вывода показаний на индикацию.
4. Контроль работоспособности обмена по I2C и линии прерывания (генератора секунды) модуля RTC с выводом соответствующих сообщений на дисплей и блокировкой работы до перезапуска устройства (устранения причин).
5. Контроль напряжения батареи питания с выдачей сообщения и блокировкой работы до подключения зарядного устройства и последующем частичном повышении напряжения питания (возможно до конца зарядки?).
(Может еще чего для своих мурмуаров архивных... )
Однако ЖАРЫНЬ + ЛЕЕНЬ...
))L не работает при пробитом защитном диоде на ключе.Впервые такой защитный диод пострадал.
Особо вроде и дорабатввать нечего.Основное все работает.Сейчас попробую с реле запускать соленоид.Два аккума-это перебор.)
https://sl.aliexpress.ru/p?key=04hn3Bt ).Срабатывает четко, времени импульса достаточно.
Сейчас соленоид не оказывает влияние на Андурину,.Все, корпус подготовлен, собираю "в кучку"."Режим на столе" закончен.
Более - менее чистовичек.
Учтены почти все намеченные доработки кроме контроля напряжения питания - библиотека привязана к АЦП именно меги, а я задумывал одинаковую что для АВР, что для LGT - там чуток не так, в то же время цеплять лишние деталюшки пока неохота.
ВВеден контроль отказа тактирования секундой от RTC - индикация "ECLC" с непрерывным писком (блокирующая, до устранения причины неисправности). Контроль обмена (ошибки I2C RTC) только сообщение "ErLd" с соответствующим писком с минутку/пол минутки после обращения к RTC. Затем снимается автоматически (до следующего обращения к RTC, завершающегося ошибкой).
Разводка соответствует схемке в папке проекта (макетная версия).
Пока занимаюсь установкой в корпус.Есть у него небольшой минус, не удобно разместить отверстие(его нужно делать по размеру корпуса штекера, т.е. большим) для Usb type C для прошивки, пока приходится полностью извлекать плату из корпуса, она закреплена "термосоплями", они снимаются за пару секунд. с помощью спирта.Есть такой хороший способ.Увлажнить термосоплю спиртом, через секунду она отвалится.
Пока некогда вплотную заниматься."Переезжаю" на новый телефон, второй переезд -это свой старый перевожу и готовлю жене.А Два переезда, по хлопотам равны Одному пожару))!.
Вариантов существует много.
НО...
В данном случае ставилась исходная задача вписаться в аналогию функционала устройства автора статьи.
О чем либо большем речь не шла.
Нужно вписаться в пользовательский интерфейс из заданного индикатора на 4 позиции и трёх кнопок ввода данных.
Плюс задача на перспективу использование модуля с LGT аналогом про-мини.
Не хотел бы я иметь дома такое.Но лишь бы кот был сыт.
Уже приводил простое устройство, которым сейчас пользуюсь.Избавился от ранне-утреннего пробуждения кормить.Если нужно кормить два, три раза в день просто такие кормушки стыкуются рядом 2-3 и т.д. https://rutube.ru/video/86b3d80c290660f ... d811/?r=a/
У кормушки есть Большой плюс.У нее под чашкой есть аккумулятор холода, можно мягкие корма ложить!
Делаю сейчас этот Таймер на Андурине, т.к. не расчитываю на долговечность китайского встроенного таймера.
Добавлено after 2 hours 34 minutes 22 seconds: BOB51,
В корпус, в основном собрал, осталось врезать пьезоизлучатель.Размеры корпуса 30х50х80, меньше не получилось подобрать, из готовых.Соленоид выносной.Вмонтирую в кормушку при общей сборке.
BOB51,А вот это уже система!Слетает прошивка.
Исчезает мигающее двоеточие.Пропадает сохранение настроек часов и будильника.
Лечится перепрошивкой и повторной инициализацией DS. Но лечится!
Похоже есть сброс настроек при пониженном напряжении.У меня питется через +5в , может использовать 3.3в, через доп.стаб с 4.2в на 3.3в?