Последний вариант (kotum) имеет контроль обмена с RTC, - по сути некоторая аналогия контроля питания. Там два параметра под контролем - сигнал на линии прерываний меги и обмен по I2C Вопрос не в сбое прошивки, а в записи "мусора" в RTC при пониженном напряжении питания (или возврат из RTC того же мусора при включении питания) Аварийная сигнализация эти случаи блокирует. При питании от сети (гарантированная постоянно 5 вольт для ардуинки) сбоев быть не должно. Разве что "рывок" тока при включении электромагнита - но то больше от разводки платы и дополнительных страховочных ёмкостей зависит. Возможно ещё есть смысл глянуть на фузы меги относительно уровня BOD - я с ними для акума что то проверял - позже гляну, что там установлено. То ли менял, то ли осталось "по умолчанию" уже подзабыл, что в "подопытном" оставил.
Сейчас попробую самую последнюю, доработал корпус, сейчас прошить не проблема. Похоже есть проблема питания именно от аккума, в обычной прошивке можно фьюзами. Питать от БП нельзя, у меня "столовая"кота в ванной, бывает влажность.
Добавлено after 21 minute 52 seconds: Попробовал последнюю kotum Полное ощущение, что она работает стабильней.Режим часов с мигающим двоеточием не сбивается от многочиленных запусков соленоида кнопкой L.Также есть сохранение значение часов и будильника. Они слетали в предыдущей от одного , двух нажатий L. Но хуже стал слышать пьезоизлучатель, вы похоже изменили частоту?
К сожалению там только фиксация факта ошибки, но не устранение их причин. А вот нарисовать то, что должно быть по плате мне сейчас жара мешает. Кондиционер включать дороговато будет, а при +29 вечером комп гонять рискованно... Хотя со временем все равно в планах была платка под LGTшку китайскую (она же по раскладке лапок аналог ардуинки про-мини) разве что внешняя платка для прошивки "переворота" требует - но ту все равно только для прошивки подстыковывать нужно(разок/дав за всю эксплуатацию устройства) - там и разъёма достаточно. Надеюсь в мои края когда- нибуть в этом году хоть разок нормальный дождик пришлют - африканская жара таки достала. Да вроде частота там та же была... Или таки чего поменял... Шклероз - смотреть надо... Моя пищалка паршиво воспроизводила лёжа задней стороной прямо на столе - поднял так, чтоб обе стороны в воздухе были открыты и совсем другое звучание (корпус с двусторонними открытыми поверхностями пьезопластины). Да и выше 3кГц не слишком удобны. А вот кнопы там "чуток замедленны" - другой принцип опроса/ захвата данных под большее соответствие "референсу" (переносимость на другие платформы).
Последний раз редактировалось BOB51 Сб июл 19, 2025 14:15:07, всего редактировалось 1 раз.
есть плохие новости.При отключении питания, слетело время, значение будильника сохранилось.
Добавлено after 8 minutes 57 seconds: Еще уточнение При выключении питания, слетает время часов , при новом включении 00-24 , время будильника сохраняется не правильно.
Значит таки надо смотреть монтаж/схему ключа особо внимательно. И/или корректировать BOD... (Версия фальшзапуска ключа при снижении питания во время отключения питания). Позже гляну старые рекомендации...
Слетает время часов и будильника при отключении питания, ключ на это не влияет.Он отлично включает соленоид при нажатии L
Добавлено after 7 minutes 42 seconds: Выводы: 1.Прошивка swiob2rm a)Отлично сохраняет значения часов и будильника при выключении питания б)При нажатии L сбрасывает настройки в)звук будильника неплохо слышен. 2.Прошивка kotum a)Отлично настраивает и сохраняет время часов, будильника, даже при многочисленных нажатия L б)При отключении питания сбрасываются значения врнмя и будильника в).Хуже слышно звук будильника.Промежуточные звуки настроек слышны лучше. Вывод: Для пользования предпочтительней swiob2rm, оно более работоспособна!
Добавлено after 2 hours 31 minute 35 seconds: Т.е. Если в прошивке swiob2rm сделать функцию срабатывания соленоида по кнопке L, как в прошивке kotum-это и будет наиболее работоспособная прошивка. Похоже лучше довести до ума прошивку swiob2rm.Почему в ней слетают настройки при использовании L для пуска соленоида-ответ в прошивке kotum, в ней эта функция работает отлично
BOB51, И еще хуже! Попробовал откатиться на swiob2rm, но она стала работать как и kotum , , без сохранения значений часов и будильника. Нет сохранения, при отключения питания на обоих прошивках! Или еергом забита мусором у Андурины?Как ее очистить? DS1307,можно почистить или требует замены?
Сама IDE обычно нормально перезапись проводит (ли выдается соответствующая ошика). Бывает редко сбой - но тогда надо заметно поколдовать при помощи "сторонних" софт- оболочек программаторов (обычных при работе с АВРками из других сред разработки) плюс какое- нибуть соответствующее "железо". У меня и старого полно (Si Prog) и arduinoISP железяка из нанки. Пользуюсь тем, что более универсально - чаще таки arduinoISP железо из-под самой ардуиноIDE или из под avrdudess 2.17 (сегодня уже есть 2.19*) или SinaProg 2.1 - для них ограничений на СОМ порт нет (подключение по USB с созданием виртуального СОМ порта). Обычно общее стирание под "внешним" софтом и затем прошивка фузов с бутлоадером из ардуиноIDE через arduinoISP железко. Только вот проблема похоже где-то в железе - мой то макет с чудовищной "паутиной" обе прошивки прекрасно отрабатывает... А kotum еще и блокирует ошибки чтения/записи в RTC при всяких некорректностях с выдачей сообщения на дисплей и писком... Единственно соленоида в качестве нагрузки силового выхода нету... Попробую чего нибудь прицепить для корректной полноты теста... Добавлю типичную схемку для полевичка https://img.radiokot.ru/files/20529/3sdmmpof0f.GIF и пару картинок с фузами нанок
Железо-оно или работает или нет!Там ошибок не может быть, негде!.Давайте про ключ не будем-реле работает , соленоид подключает, была бы команда. Явно еергом Меги забита мусором.
Добавлено after 2 minutes 19 seconds: Не вижу фьюза Eesаve?
Добавлено after 2 minutes 13 seconds: Как средствами Андурины почистить Еeeprom?
Добавлено after 3 minutes 20 seconds: После прошивок исчезло сохранение значения часов и будильника.Еще вчера было на прошивке swiob2rm.Оно было и исчезло.Значит дело не в железе !
Добавлено after 35 minutes 41 second: Выговорили , что запись данных ведется и в еергом Меги и в DS1307.Тогда и DS, может заглючить?
Добавлено after 15 minutes 13 seconds: Еще раз привожу результат теста прошивки swiob2rm: 1.Сделал инициализацию-успешно 2.Сделал настройки часов и сохранил-успешно 3.а)Сделал настройки будильника и сохранил б)Есть успешное срабатывание будильника:звук+соленоид 4.Раз пять заставил сработать соленоид кнопкой L-успешно! 5.Фактически весь функционал Таймера работает штатно!Это означает, что все железо отрабатывает успешно и без ошибок.Пока подключен аккумулятор и идет питание от него. 6.!!! Теперь о главном.Услышьте меня. Отключаю питание устройства.Сразу сбросились значения Часов и будильника. По часам вообще странно.Должна же CR2032 сохранять.
Добавлено after 2 hours 13 minutes 51 second: вы дали установленные вами фьюзы? BOD =2.7v, это слишком низкий порог для литевого аккума?Ниже 3.5в не нужно. Вы не программировали EeSave? Тогда при обычной прошивке-очистка кристалла очищаеет еергом.
Добавлено after 6 minutes 10 seconds: У вас по схеме, в цепи питания 5в , был кондер 22мкф, потом вы увеличили его до 680. Не для того, чтобы Мега успела сохранить данные?У меня сейчас стоит 220 мкф
Значит таки возможна проблема с монтажем возле RTC... Железо имеет одну особенность - может работать в нормальных режимах и внезапно выдать сбой при переходных процессах (подача питания и снятие питания, случайное включение нагрузки - вернее это будет попытка включения). Собственно мега обращается к регистрам 1307 только в трех случаях: После подачи питания и активации начальной части программы проводится чтение содержимого счетчиков из RTC в ОЗУ меги. Далее счет и контроль до отключения питания ведет только сама мега. Из RTC лишь поступают 1 секундные импульсы для приращения счетчиков меги (а в RTC идет свой независимый счет). Второй случай - когда мы вносим изменения в содержимое счетчиков - это момент нажатия L+P в режиме ввода параметров с изменением их значения. Третий случай - активация начального значения (и режима счета) RTC - в этом режиме записывается начальное содержимое и регистры режима работы RTC. ЕЕПРОМ меги в данной конструкции НЕ ИСПОЛЬЗУЕТСЯ. Как возможный вариант - при отключении(и/или включении) питания происходит заброс мусора в регистры RTC. Возможные источники - некорректность блокировки выводов меги (но оно бы и у меня появилось), импульс по питанию (или иным выводам, включая "земляной") RTC типа какой-то случайной ситуации... Там простейшее лечение - переинициализация содержимого RTC. А уж затем дальше смотреть на поведение схемы. Просмотреть поставлены ли конденсаторы у линии питания +5 RTC - там два параллельно включенных нужны электролит или полупроводниковый 100-270 микрофарад и керамика 0,1 -0,15 микрофарад (на схеме они указаны были)... Посмотрю еще на поведение макета с различными издевками... kotum проверялся и на сбой по линиям интерфейса I2C и по обрыву линии секундного импульса - оба случая четко отрабатывают сигнализацию соответствующей ошибки.
Инициализации , повторные, делал несколько раз.Ноли появлялись . Куда сохраняются введенные значения часов и будильника? В схеме по питанию у вас стоит аж 680 мкф!
Добавлено after 26 minutes 19 seconds: Если еергом Меги не используется, куда сохраняются данные часов и будильника в DS1307? Похоже ее проще заменить , чем почистить. Линия секундного импулься видимо исправна, раз мигает двоеточие, примерно раз в секунду.Отсчет времени , пока не отключен аккум, идет правильный.Значение теряется при отключении питания.
DS1307 это набор счетчиков со специальными схемами дешифрации по константам максимального пересчета интервалов времени и календаря плюс некоторое количество ячеек обычного статического ОЗУ. Счетчики допускают как чтение так и запись в любой момент времени. ну и какая - то схема генерации и управления всей начинкой (цифровой автомат). Весьма удобна как (сверх)оперативное энергонезависимое ОЗУ (нет задержек при записи/стирании). В любом МК для сохранения данных программы используется ОЗУ - оперативная память. Частный случай -набор основных регистров. Раньше было явно выраженное в микропроцессорах, на сегодня эти регистры совмещены с пространством ОЗУ (как пример те же АВРки).. В случае редкоменяемых констант можно использовать ЕЕПРОМ или прямое хранение в ПЗУ (к примеру данные таблиц перекодировок). В нашей схеме во время записи новых значений (часов-минут) что для основных часов, что для уставки будильника данны сохраняются как в регистрах мк, так и в регистрах RTC (практически одновременно и там и там). Т.е. запись идет и в соответствующие рабочие регистры счетчиков секунд, минут и часов МК и по I2C в соответствующие ячейки ОЗУ RTC. При записи текущего времени проводится обнуление счетчиков секунд (нажатие кнопок L+P равноценно запуску счета с 00 секунд). Для уставки будильника используются только регистры часов и минут (опять же одна пара в МК и другая в RTC). Но все это и в исходнике почитать можно более детально - текст проекта открытый. Номинал я взял с моей макетной платки - а ей...лет побольше десятка похоже уже будет. Скорее перестраховка, там и 220-270 микрофарад должно хватить. И то - длина "хвоста" может быть 10-15 сантиметров для возможности применения в составе "макетных кубиков". А вот разводка на платках кубиков и самих шлейфов довольно навороченная - с учетом как удобства для сигнальных цепей, так и для цепей питания...
Тем более странно.Сохраняется и там и там, а по факту нигде. Произошло как то непонятно, после последней прошивки. . Мое мне мнение такое.Мега 328Р-это совершенный, отработанный микроконтроллер, почти неубиваемый.Вряд ли она создала проблемы. DS1307 микросхема простенькая, дешовая и не совершенная.Грешу на нее.Поменять ее не сложно, много разбирать , уже собранного, ну да ничего.Наметил план, буду делать.
Погодите - буду под про-мини схемку и платку чертить - там кой чего и прояснится. Единственно ставить буду DIP корпс для 1307 и возможно обычные резисторы (не СМД), если повышают удобство монтажа.
Извините, новую плату под Промини и ему подобные делать не буду.Это мой последний Андурина.Не зря я интуитивно избегал его.Как В.С. Высоцкий пел "… Я это никогда не полюблю!" Я давно закончил делать Дип проекты, в моем обиходе только смд, размером до 0603, но обычно ограничиваюсь 0805.
Добавлено after 1 hour 52 minutes 37 seconds: "… А ларчик просто открывался!" Победил существующую проблему.Как и предпологал, виновником оказалась копеечная китайская DS1307."Чистить ей мозги" не стал, банально заменил.Провел инициализацию.Отлично сохраняется время часов и будильника.Есть четкое срабатывание соленоида в назначенное время .Многократно вызывал его срабатывание кнопкой L.При отключении питания, все данные сохраняются.Что и требовалось доказать! Прошивка swiob2rm, как и предсказывал, оказалась наиболее работоспособной.На ней и остановлюсь.Тем более, что в ней наиболее различимый звук. Таймер упакован в корпус, как и обещал, сделаю обзорное видео на своих каналах Рутубе и Ютубе , с указанием автора проекта на Андурине.
Вот и хорошо, что все получилось! Тогда положу пока в архивчик. В котуме диагностика все таки поудобнее, а вставку звука и времени вполне можно перенести с предыдущего удачного варианта. Да и цели там уже несколько иные ставил - работа с "особенностями программы", то больше уже из моих интересов. Плюс и для тех, кому адуринка да её вариант Си интересен.
BOB51, )Лучшее-враг хорошего!Если есть рабочий вариант-пусть он и будет Рабочим. Штатный таймер моей китайской кормушки пока работает, не мешаю ему это делать.)Сделал "на всякий пожарный", под первый отказ китайчонка.
Ramm-SD, Рутубе временная посадочная площадка, пока опять не заработает Ютубе. Эту ссылку, я дал лично BOB51, на память Я завершил работу с этим проектом.
Последний раз редактировалось pin1000 Ср июл 23, 2025 07:43:41, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения