Страница 1 из 2
Сохранение данных о настройке в eeprom
Добавлено: Пн сен 29, 2008 11:35:34
Krik99
Подскажите как сохранить значение настройки температуры в eeprom после выклю питания. Есть программа терморегулятора, всё выводится на 3-х разрядный 7-ми сегментный LED. Программа меряет температуру через датчик ds18b20, потом сравнивает через деферинциал. Опрашуются две кнопки "+" и "-", кнопками настраивается задаваемая температура. Работает таймер на 7 часов и 20 минут стоит. Подскажите как сохранить значение задаваемой температуры после выкл., чтобы после подачи питания, задаваемая температура была таже. И чтобы так сделать, чтобы ресурсы eeprom расходавались по минимуму. За ранние спасибо!
Добавлено: Пн сен 29, 2008 13:17:57
megasvintus
А если просто завести соотв. переменные в еепроме, или массив для настроек? eeprom unsigned char peremannaya
Завел просто переменную в еепроме, в теле программы добавил значение. Потушил контроллер. Включил, прочлось то значение, которое записала программа.
Re: Сохранение данных о настройке в eeprom
Добавлено: Пн сен 29, 2008 13:55:49
tych
Krik99 писал(а): чтобы ресурсы eeprom расходавались по минимуму.
Для этого нужен хитрый алгоритм равномерного расходования памяти.
Есть апноут по EEPROM
Добавлено: Пн сен 29, 2008 14:13:15
Krik99
Ок, апноут я посмотрю. А вот второй вопрос, когда сохранять значение в eeprom, после изминения заданой температуры, или может есть какойто другой способ сохранять при неожиданом выкл, питания?
Добавлено: Пн сен 29, 2008 14:15:59
tych
Krik99 писал(а): или может есть какойто другой способ сохранять при неожиданом выкл, питания?
ОЧЕВИДНО
МК должен узнать о выключении питания за время достаточное для сохранения данных. И во время сохранения он должен питаться запасенной где-то энергией - например в конденсаторе, ионисторе, батарейке.
Добавлено: Пн сен 29, 2008 14:38:19
Секретный кот
А я бы применил "софтовое" выключение питания, кнопочкой, которая подключена к одному из портов. При нажатии этой кнопочки МК бы спокойно сохранил все данные в eprom и выключился. Вариантов управления питанием масса, от банального транзисторного ключа до разных спящих режимов.
Добавлено: Пн сен 29, 2008 15:20:47
Krik99
Вот "софтовое" заинтересовало... Можна например когда настроил температуру нажимаеш две кнопки одновременно, и МК сохраняет значение в eeprom. Только теперь скажите как записать переменную в eeprom и как её от туда прочитать? За ранние извеняюсь за глупый вопрос.

Добавлено: Пн сен 29, 2008 16:00:49
megasvintus
в CVAVR объявляешь переменную так: eeprom unsigned char peremannaya
И какое значение запишешь, то не пропадет при отключении питания. Можно сделать так:
peremannaya=35;
В нее запишется число 35
После включения питания читаешь ее значение-вот тебе и сохраненные данные. Работаешь как с обычной переменной
Добавлено: Чт окт 09, 2008 09:38:23
Rubin
По поводу сохранения в еепромке после вуключения питания. Я испльзую аналоговый компаратор МК. На один вход +5В подаем, на другой - через делитель напряжение до стабилизатора питания +5В. Емкость электролита на питании МК должна быть достаточно большой чтобы обеспечить необходимое напряжение пока по прерыванию АК не прекратится запись в еепром.
Добавлено: Чт окт 09, 2008 09:40:23
Rubin
to Krik99
напиши на аську, вышлю кусок кода чтения и записи еепром.
Добавлено: Чт окт 09, 2008 09:41:24
tych
А я советую диод ставть до элетролита перед стабилизатором. Тогда после исчезновения питания электроллит разряжается а на МК остается полная напруга в течении времени завершения записи.
Добавлено: Чт окт 09, 2008 11:12:44
kent.a
tych писал(а):А я советую диод ставть до элетролита перед стабилизатором. Тогда после исчезновения питания электроллит разряжается а на МК остается полная напруга в течении времени завершения записи.
А как расчитать на сколько времени хватит конденсатора определенной емкости???
Добавлено: Чт окт 09, 2008 11:15:30
tych
kent.a писал(а):А как расчитать на сколько времени хватит конденсатора определенной емкости???
ИМХО проще
И ПРАВИЛЬНЕЙ ! практически замерить.
Наврено вот так:
(допустимое снижение напряжения на конденсаторе за время записи) * на емкость = ток потребления * время записи
время записи с запасом нужно конечно брать.
Добавлено: Чт окт 09, 2008 11:19:56
kent.a
А нету формулы по которой можно расчитать за какой время напряжение на конденсаторе емкостью С микрофарад упадет с U1 вольт до U2 вольт при нагрузке R ом?
Добавлено: Чт окт 09, 2008 11:21:03
tych
kent.a писал(а):А нету формулы
Есть конечно.
Я бы в симуляторе
PROTEUS схемку сделал из конденсатора и резистора да посмотрел время.
Учтите что у электролитов разброс емкости АФИГИТЕЛЬНЫЙ обычно.
Добавлено: Вс окт 26, 2008 16:40:35
sachok
Можно сохранять даные в eeprom по переполнению таймера?
Добавлено: Вс окт 26, 2008 18:42:23
tych
sachok писал(а):Можно сохранять даные в eeprom по переполнению таймера?
Да.
Добавлено: Вс окт 26, 2008 18:50:34
ARV
tych писал(а):sachok писал(а):Можно сохранять даные в eeprom по переполнению таймера?
Да.
при условии, что запись в EEPROM завершится до очередного переполнения таймера
Добавлено: Вс окт 26, 2008 19:17:04
sachok
Спасибо! А какое примерно время нужно для записи в eeprom.
Добавлено: Вс окт 26, 2008 19:27:55
Migray
Зависит от типа конкретного eeprom/MK.
Берется как всегда из даташита.