роботы робототехника микроконтроллеры


 Страниц (2): « 1 [2]   

> Без описания
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Можно еще проще .

Два мк одновременно отрабатывают одну и ту же "программу полета" (Ноги основного МК
подключены к исполнительному устройству а ноги резервного к GND).
Каждый из них передает другому постоянный сигнал и каждый из них
одновременно принимает сигнал другого.
Если сигнал пропал то тот МК который не нашел сигнал , сначала
определяп : кто он (основной , резервный).Например если на всех его входах
будет лог0 ,значит он резервный. И переключает управление исполнительным
устройством на себя (релюшки, транзисторы и т.д.).
Если другой МК "оживет " то резервным станет он (это логично т.к. глючащий МК
нельзя ставить основным).
(Добавление)
Цитата:
Два мк одновременно отрабатывают одну и ту же "программу полета"

МК синхронизированы и выполняют программу одновременно .
 
 Top
killgur Post Id



Гуру


Сообщений всего: 1189
Дата рег-ции: Февр. 2010  



Резервирование методом голосован ия

(Отредактировано автором: 17 Апреля, 2011 - 22:20:58)

 
 Top
яхе Post Id



Рядовой


Сообщений всего: 7
Дата рег-ции: Апр. 2011  



nestandart, если первоначально
Цитата:
МК синхронизированы и выполняют программу одновременно .

то после зависания как синхронизировать параметры управления
Цитата:
Если другой МК "оживет " то резервным станет он (это логично т.к. глючащий МК
нельзя ставить основным).

у одного мк же будет "программу полета" действительная, а у того, что после глюка отошел - просроченная.
и тут он снова "оживает" ...

killgur, спасибо, информативный ресурс
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Цитата:
то после зависания как синхронизировать параметры управления


Резервный МК включится в работу сразу же после потери сигнала.
Единственная возможная задержка это скорость переключения исполнительного механизма.

Цитата:
у одного мк же будет "программу полета" действительная, а у того, что после глюка отошел - просроченная.
и тут он снова "оживает" ...


Резервный , МК после перевода управления на себя , в конце каждого цикла
"нажимает" reset основного МК и если он включиться , то начала циклов обоих МК
будут синхронизированными (или будет некоторая разница во времени которую не сложно
подогнать программно).
 
 Top
lamakazzz Post Id



Главнокомандующий


Сообщений всего: 328
Дата рег-ции: Янв. 2010  



Пусть есть два МК: PRIMARY и BACKUP.
PRIMARY после старта инициализируется и если всё хорошо, то берет управление на себя, делает программу и заполняет собственную диагностику и передаёт её в BACKUP.
BACKUP после старта инициализируется и если всё хорошо,начинает выполнять такую же программу как и PRIMARY, но не управлять, и еще прослушивать диагностику PRIMARY.

Соответственно, если диагностика не была принята, то BACKUP становится PRIMARY, это значит что первый МК завис и его нужно сбросить.

Выбор между PRIMARY и BACKUP по первому старту, например, сделать с помощью задержки, а аппаратно (с помощью перемычки на ножках) определить это первый МК или второй.

А если МК взлетел после сброса, то нужно прослушать, есть ли диагностика. Если есть, то мы BACKUP, если нет - PRIMARY.

Синхронизация двух МК получится за два цикла основной программы.
ПО в обоих МК будет одинаковое.
 
 Top
nestandart Супермодератор Post Id



Супер-модератор


Сообщений всего: 1490
Дата рег-ции: Сент. 2010  



Основной МК вначале каждого цикла будет посылать резервному
команду на интерацию (обновление) цикла.

В этом случае резервный МК будет синхронизироваться с основным постоянно , а не в только при включении.

В аварийной ситуации они просто поменяются ролями.

В любом случае все резервные МК должны отрабатывать одну и ту же программу
и постоянно синхронизироваться . Отталкивайтесь от этого.
 
 Top
lamakazzz Post Id



Главнокомандующий


Сообщений всего: 328
Дата рег-ции: Янв. 2010  



Если делать по примеру, как я описал выше, то синхронизация будет происходить во время приёма диагностики, поэтому еще один сигнал можно не подавать.
Если диагностика не предусмотрена, тогда конечно можно использовать такой сигнал и если он не получен, то сбрасывать оппонента.
 
 Top
troll Post Id


Майор


Сообщений всего: 65
Дата рег-ции: Май 2010  



Возник вопрос: предположим, есть резервирование голосованием "2 из 3". Как быть в том случае, если по "программе полета" надо сгенерировать случайное число?
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



troll пишет:
вопрос: предположим, есть резервирование голосованием "2 из 3". Как быть в том случае, если по "программе полета" надо сгенерировать случайное число?
А что смущает?
 
 Top
-dead- Post Id


Президент


Сообщений всего: 966
Дата рег-ции: Февр. 2009  



Видимо он не предполагает, что генератор может быть внешним Улыбка
 
 Top
Белый Волк Супермодератор Post Id



Супермодератор


Сообщений всего: 648
Дата рег-ции: Февр. 2007  



Необходимо озвучить критерии выхода из строя главного микроконтроллера, иначе возможно придумать случай, который неверно обработается в любом из решений.
При этом необходимы некоторые допущения относительно системы в целом. Например, допущение, что поломка микроконтроллеров возможна только в порядке иерархии и выход из строя одновременно двух микроконтроллеров невозможен (или, хотя бы, такой вариант не рассматривается).
 
 Top
яхе Post Id



Рядовой


Сообщений всего: 7
Дата рег-ции: Апр. 2011  



всем спасибо за ответы и предложения, буду разбирать
 
 Top
Страниц (2): « 1 [2]
« Микроконтроллеры »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru