реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Closed TopicStart new topic
> Счетчик переключения реле., Как сделать счетчик, который будет хранить кол-во переключений реле.
Олег Гаврильченк...
сообщение Aug 23 2016, 13:19
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 10-02-15
Пользователь №: 85 052



Делается схема с микроконтроллером общего назначения(STM32F4x). В схеме есть реле, и нужно хранить кол-во его переключений так, чтобы между выключениями устройства это число сохранялось. Как лучше всего реализовать это.
Очевидное решение - поставить подходящую EEPROM и писать в нее. Но нужно корректно обрабатывать ситуацию, когда во время записи в EEPROM теряется питание, и соответственно портиться записанное
Конденсатор емкости больше 1 мФ поставить нельзя, из-за ограничений по корпусу.
Спасибо всем за ответы.

Сообщение отредактировал Олег Гаврильченко - Aug 23 2016, 13:45
Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Aug 23 2016, 13:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



Примените космические технологии:
Делайте запись три раза в три разных "сектора".
При чтении сравнивайте. Если хотя бы 2 одинаковые - работаете. Если ни одного совпадения - или "ошибка", или "инициализация".


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post
Lerk
сообщение Aug 23 2016, 13:35
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 339
Регистрация: 5-05-11
Пользователь №: 64 797



Цитата(Mikle Klinkovsky @ Aug 23 2016, 16:27) *
Примените космические технологии:
Делайте запись три раза в три разных "сектора".
При чтении сравнивайте. Если хотя бы 2 одинаковые - работаете. Если ни одного совпадения - или "ошибка", или "инициализация".


Первое записалось, второе повредилось при записи, третье не успело записаться. Что делаем?) Надо все же более "сложную" логику написать, а то вдруг автор буквально вас поймет... (на всякий случай - это же счетчик, если все разные, то можно сравнить меж собой и сделать выводы)

PS. Есть такая штука, BOD(встроенный монитор питания) называется. Если на МК есть хоть небольшой электролит и МК не жрет, как паравоз, то возможны множественные варианты применения.
Go to the top of the page
 
+Quote Post
iosifk
сообщение Aug 23 2016, 14:10
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Mikle Klinkovsky @ Aug 23 2016, 16:27) *
Примените космические технологии:
Делайте запись три раза в три разных "сектора".
При чтении сравнивайте. Если хотя бы 2 одинаковые - работаете. Если ни одного совпадения - или "ошибка", или "инициализация".

или поставить FRAM, у нее никаких хитростей нет...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Mikle Klinkovsky
сообщение Aug 23 2016, 14:56
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 972
Регистрация: 10-10-05
Из: 54°36'41.81" 39°43'6.90"
Пользователь №: 9 445



Цитата(Lerk @ Aug 23 2016, 16:35) *
Первое записалось, второе повредилось при записи, третье не успело записаться. Что делаем?) Надо все же более "сложную" логику написать, а то вдруг автор буквально вас поймет... (на всякий случай - это же счетчик, если все разные, то можно сравнить меж собой и сделать выводы)

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

Ну и анализировать данные для поиска ошибки тоже можно...
Типа: "отличаться больше чем на 1 не должны" т.е. выпригивающие значения отбрасываем и т.д.

Но всё равно надо продумать ветки "ошибка" (если eeprom сдохла совсем) и "первоначальная инициализация"


--------------------
Подвиг одного - это преступление другого! (с) Жванецкий
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 23 2016, 15:27
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



в природе есть память, в которую можно записать число большее предыдущего
Go to the top of the page
 
+Quote Post
krux
сообщение Aug 23 2016, 16:25
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 700
Регистрация: 2-07-12
Из: дефолт-сити
Пользователь №: 72 596



предложение следующее
в EEPROM обнулять по 1 биту за раз. стирание не выполнять вообще. только запись в ту же ячейку, пока все 8 бит одного байта в ноль не уйдут.
количество срабатываний - равно количеству нулей.


--------------------
провоцируем неудовлетворенных провокаторов с удовольствием.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 23 2016, 16:48
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Процессор питать через диод. После диода конденсатор. Напряжение до диода отслеживать компаратором. Счетчик хранить в ОЗУ, в прерывании компаратора все ноги переводть в состояние, при котором внешние цепи потребляют меньше всего, после чего на оставшемся в конденсаторе питании записывать во флеш или ЭСППЗУ или что там еще есть.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Aug 23 2016, 17:07
Сообщение #9





Guests






Цитата(Олег Гаврильченко @ Aug 23 2016, 16:19) *
Делается схема с микроконтроллером общего назначения(STM32F4x). В схеме есть реле, и нужно хранить кол-во его переключений так, чтобы между выключениями устройства это число сохранялось.


Шаговый двигатель + СКВТ.
P.S.
Вы шо думаете, тогда были проектанты-идиоты, когда техника должны была оставаться работоспособной + смена сгоревшего экипажа?
Go to the top of the page
 
+Quote Post
adnega
сообщение Aug 23 2016, 17:31
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Олег Гаврильченко @ Aug 23 2016, 16:19) *
и нужно хранить кол-во его переключений

Не нужно дергать перезапись после каждого срабатывания.
Обнуляйте цепочку из битов во флеш исходя из: "1 бит = 100 срабатываний".
При этом нужно прикинуть общий ресурс срабатываний. 10 миллионов достаточно?
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Aug 23 2016, 17:47
Сообщение #11





Guests






Осталось выяснить - что нужно хранить: число реальных переключений реле или число виртуальных действий.
Go to the top of the page
 
+Quote Post
Plain
сообщение Aug 23 2016, 20:58
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



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

Тогда заряженный до данного уровня конденсатор 22 мкФ сможет, посредством обыкновенного линейного стабилизатора, 50 мс, достаточные для записи пары байт в стандартное ЭСППЗУ, питать его стандартным током 1 мА его и вменяемый для таких задач микроконтроллер, т.е. прокачанный до обладания такими частями тела, которые позволят ему бросить всё, что его занимало до того и потребляло 10 А, и перейти по данному факту на вменяемый ток потребления 1 мА.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Aug 23 2016, 21:09
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(TSerg @ Aug 23 2016, 17:07) *
Шаговый двигатель + СКВТ.

эклз

Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Aug 23 2016, 21:43
Сообщение #14





Guests






Цитата(Огурцов @ Aug 24 2016, 00:09) *
эклз

А, че? Нормально, так. Экипаж вымер ( ну, там - по разным обстоятельствам). Вдруг - завезли новый, а, координаты и углы - стоят как вкопанные, на механике.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Aug 24 2016, 07:54
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(Plain @ Aug 23 2016, 23:58) *
В качестве ТЗ традиционно шиш, поэтому традиционно же придётся применять стандартный метод дедукции — наличие реле вменяемо означает наличие 12 В для управления им — следовательно, речь о пропаже именно данного напряжения.


Реле и 3-х вольтовые есть.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 22:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01466 секунд с 7
ELECTRONIX ©2004-2016