Обсуждаем цифровые устройства...
Ответить

Очередной термостат на Tiny2313 сбрасывает данные еепром

Пн янв 07, 2019 18:40:39

Доброго времени суток! собрал данное устройство,Очередной термостат на Tiny2313 и DS18B20, все работает замечательно, показывает, щелкает нагрузкой, но, со временем, записанное еепром температура сбрасывается на изначальную, как при первом включении, будто ничего не выставлял. в программировании не силен, только учусь... питание пробовал и сеть и батарею, электролит и керамика стоят, результат один. прошу помощи!!!

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Пн янв 07, 2019 23:56:13

Ни схемы, ни программы, ни чего ... Какой помощи Вы ждёте ? Экстрасенсов Вы тут вряд ли встретите.

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Вт янв 08, 2019 14:49:32

Автор: СКАЗОЧНИК Опубликовано 16.01.2017 Очередной термостат на Tiny2313 и DS18B20. в конце статьи по вопросвм отправка на форум, но ветки не нашел... к сожалению из за скорости интернета не получается загрузить схему и тем более архив с прогой.... :cry: что поделать, 21 век.....

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Вт янв 08, 2019 16:34:05

Ну, не можете загрузить- не надо, но ссылку на публикацию можно было бы дать!
https://www.radiokot.ru/circuit/digital/home/242/
:))

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Вт янв 08, 2019 17:31:18

Спасибо огромное! чтото не догадался :oops:
А если данные писать во флэш(програмную память), как думаете, ситуацию должно исправить или тут причина еще в чем то может крыться?

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Вт янв 08, 2019 19:32:50

Похоже вопрос в подпрограмме записи новых данных.
Разрешение прерываний задается ДО завершения цикла записи.
:roll:
Как вариант проверки предположения вместо

поставить

:roll:

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Вт янв 08, 2019 21:21:53

TOMIKC а заменить саму ATiny2313 не пробовал? Прошивку слей со старой

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 11:47:16

"Убитая" ячейка всегда будет "убитой".
При случайном сбое раз на многочисленное правильное состояние...
:roll:
Хотя... все возможно...
:dont_know:

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 14:47:58

серии 2313 к сожалению последняя в заначке, скрутить неоткуда, а ошибка такая раз за разом, чуть ли не закономерность...
Спасибо за код, за одно и сам асм покурю с даташитом.
ошибка так же всплывает, имеет хаотичный характер, все работает как надо и, все работает как надо, делаешь уставку, работает, начинаешь ее изменять, все начинается с произвольного значения сохраненой температуры.. :o

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 17:30:12

Было такое на другом АВР. За давностью точно не вспомню, но вроде при плавном нарастании питания затирались начальные ячейки EEPROM. Когда поставилл супервизор питания и область записи перенес немного выше, вроде как исчезло.
Давно это было, в прошлом тысячелетии. Но - как вариант...

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 18:22:40

Ну и адрес ячейки изменить... на новый - места там достаточно...
:roll:

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 18:53:09

С супервизорами пока напряг, но наверное при использовании еепром желательно, хотя свежая батарея, индикатор на минимуме питания, нагрузочные на 1кОм, вместо реле тоже светик,просадка как бы не критична я думаю, и в 10 ую ячейку данные идут, попробовать глубже..?

ldi temp, 10
out EEAR, temp ; Загружаем адрес нужной ячейки

буду пытаться епром на память програм заменить, уставкой не так уж и часто пользоваться буду, буду осваивать, потом на суд код. :facepalm:

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 09, 2019 19:12:31

ЕЕПРОМ - программируется обычной программой пользователя.
Флеш-ПЗУ требует спецрежима самопрограммирования, который по сложности и пакостности намного превосходит работу с ЕЕПРОМ (особо на столь мелком МК, как тинька2313).
Лучше уж проработать применение схемы BOR - детектирования пониженного напряжения.
:dont_know:
А так надо всю программу со схемой анализировать... ЛЕЕЕНЬЬЬ...
:(
Кстати... значение уставки можно и в самом DS18DB20 хранить...
Что и делалось в те времена, когда о ЕЕПРОМке в МК только мечталось (АТ89С2051 к примеру).
:roll:

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Чт янв 10, 2019 10:20:09

С супервизорами пока напряг

Ну это у нас было на старых AVR, не Mega, у них не было встроенного BOD. Можно попробовать экспериментнуть с BOD level . Или писать несколько раз уставку в разные ячейки и определять истинную по контр. сумме или мажоритарно, хотя это уже костыли, маскирующие, а не устраняющие проблему.
А писать программно во флеш действительно требует определенных танцев с бубном. Мне не понравилось. :(

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Пт янв 11, 2019 19:41:49

Хренасе, даже не думал, что эту лабуду кто-нибудь будет собирать...
Прошу прощения, конечно, но этот термостат был придумал, как лишь цель обучения протоколу 1-Ваер... Остальное так, по ходу зацепил. Конечно, до вас еще жалоб не было на уставки занчений в ЕЕПРОМ.
Может реально для начала заменить 10 ячейку на чего-нибудь побольше. ? И проверить, как оно отзовется.
Да, в фьюзах я БОД настраивал на детектирование в 4,3 Вольта.

Программа там к нему написана абсолютно рукожопо. Ну, так у меня руки растут. )))))


Также да. Можно совсем выбросить ЕЕПРОМ и записать значение сразу во Флеш. Тогда его невозможно будет изменить, но и не затрется. Только надо программу править.

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Ср янв 16, 2019 17:38:35

Управлять насосом отопления хотелось, чтоб при снижении температуры его автоматом гасило.
другие схемы пробовал на 2313, но там так же почему то епром слетает, и исходника нет, только хексы... тут хоть можно что-то поколупать, поучиться, и на этом спасибо!
по какой то причине, замена адреса на больший епром совсем не пишет установленные значения, все больше на ноль, -4 сбрасывается.
Пока только код пытаюсь разобрать с настройками МК в свободное время, так может до датчика доберусь еще...и хранений в нем данных.

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Чт янв 17, 2019 10:52:45

Если надо, могу выложить проект на тини2313 с поверхностным монтажем - отличается разводка дисплея (написано на С в кодевижне), у меня несколько штук работает, проблем с еепром не было ни разу

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Чт янв 17, 2019 12:35:58

Выложите пожалуйста. Я сам тоже поизучаю.

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Чт янв 17, 2019 14:00:27

Выкладываю, хотя по записи в еепром там изучать нечего...принцип такой: т.к. запись по меркам мк идет долго (для программиста это выглядит как простое присвоение, но на самом деле, если глянуть листинг ассемблера - там цикл ожидания), чтобы не вызвать срыв индикации, прерывания я не запрещаю, но сам гарантирую отсутствие взаимодействия с еепром - если меню==10 то пользовательское меню блокируется (для человека это миг), а остальная часть с еепром не взаимодействует.
Дополнения: третья кнопка = одновременное нажатие двух - вход в установку границ, длительное удержание - служебное меню (коррекция температуры и яркость индикатора).
нажатие одной кнопки в основном экране - показ уставок, в настройках - изменение величины.
постарался сделать пользовательский интерфейс максимально удобным - отработка кнопок позволяет нажимать кнопки немного неодновременно (мы же не роботы)
часть хотелок не влезла... флеша в тиньке маловато.
файлы проекта называются насос, это потому что данная платка и была спроектирована как блок управления насосом - следила за давлением и состоянием проводов до ЭКМа, всё с нуля писать было лень... как говорится ничего не бывает настолько постоянным как временное.
Вложения
термостат.rar
(296.04 KiB) Скачиваний: 330

Re: Очередной термостат на Tiny2313 сбрасывает данные еепром

Пт янв 18, 2019 11:58:11

чтобы не вызвать срыв индикации, прерывания я не запрещаю

Может, в этом и есть причина ?

5. Within four clock cycles after setting EEMWE, write
a logical one to EEWE. (стр. 30 PDF)

Не знаю, какой код записи в EEPROM в библиотечной функции, сам с EEPROM всегда работал через ассемблер,
но если и в ней прерывания не запрещаются и они попадают именно на эти 4 цикла, то гарантии правильной записи - никакой.
А миллисекундный срыв индикации, думаю, не такя уж беда, чтобы из-за него рисковать сбоем при записи.
Ответить