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


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

> Без описания
яхе Post Id



Рядовой


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



здравствуйте. требуется резервирование управляющего МК. atmega8 выполняет программу, если происходит зависание или отказ в работе, то данный МК отключается от управление и управление переходит на резервный МК. какие идеи предложите, как можно реализовать синхронизацию программной части в таком случае ?
с уважением
 
 Top
-dead- Post Id


Президент


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



Методология резервирования систем не связана с конкретным МК и вообще достаточно развесистая отдельная от робототехники область знаний.
 
 Top
nest Администратор Post Id



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


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



яхе пишет:
здравствуйте. требуется резервирование управляющего МК. atmega8 выполняет программу, если происходит зависание или отказ в работе, то данный МК отключается от управление и управление переходит на резервный МК. какие идеи предложите, как можно реализовать синхронизацию программной части в таком случае ?
в простейшем случае можно так:
берём три МК, тактируем их от одного источника (синхронизацию при старте не забыть), выходные ноги объеденяем мажоритарными элементами и имеем счастье.

яхе, а в чём проблема? Вы в космической или военной отрасли?
Практически все МК при правильной разводке, питании и программисте - вещи достаточно устойчивые.
 
 Top
яхе Post Id



Рядовой


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



да, читал про мажоритарный клапан, но в схеме должно быть 2 контроллера
задание по диплому это такое у меня
да и самому стало интересно по данной теме - примеров реализации не нашел, только упоминания про сферы применения - атомная энергетика, авиация и тд. многократное резервирование + ПО от разных производителей. а там устройства гораздо сложнее
 
 Top
-dead- Post Id


Президент


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



Сдается мне, что при не стабилизирующихся алгоритмах управления мажоритарный клапан пролетит мгновенно при любых граничных состояниях на входах системы. Когда один МК примет этот вход за 0, а другой за 1 - тут у них алгоритмы и разойдутся, а через некоторое время еще и у третьего так же образуется "свой путь" и куда они так уведут в итоге систему - думаю никто не знает.
 
 Top
nest Администратор Post Id



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


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



-dead- пишет:
Когда один МК примет этот вход за 0, а другой за 1 - тут у них алгоритмы и разойдутся, а через некоторое время еще и у третьего так же образуется "свой путь"
не разойдутся. Возмётся наибольшее число. А если и третий врёт - то всё равно киллотонны летят не туда куда надо Улыбка

яхе пишет:
в схеме должно быть 2 контроллера
задание по диплому это такое у меня
а спросите у преподавателя, откуда появляются и как опознаются "зависание или отказ в работе". Он, как источник ТЗ должен предоставить вам эту информацию. А исходя из неё уже и резервирование можно придумать Улыбка
 
 Top
яхе Post Id



Рядовой


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



ну ведь не зря придумали сторожевой таймер, и помехи внешние никто не отменял.
чтоб работу исполнительного устройства не прерывать
p.s. у нас экспериментировали как-то с магнитным полем высокой частоты, дак ноутбук рядом стоял и 30 одинаковых вай-фай сетей определил , а в мак-адресе присутствовала цифра 257 Улыбка
 
 Top
mihail Post Id



Гуру


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



яхе пишет:
в мак-адресе присутствовала цифра 257
Полагаю, если поставить рядом еще один ноутбук, то это не сильно улучшит ситуацию Помираю со смеху
 
 Top
cjA Post Id



Генерал


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



слышал звон, да не знаю где он,
можноли одновеменно програмить два МК?

у меня вот не получаетя, может какую стабилизацию...
 
 Top
-dead- Post Id


Президент


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



nest пишет:
А если и третий врёт - то всё равно киллотонны летят не туда куда надо

Не обязательно. Я же говорю - сходящиеся алгоритмы могут так работать. А допустим у нас есть на пути 2 сосны - из-за небольшой разности в восприятии датчиков 1 алгоритм решает пролететь между ними, второй - слева, а третий справа - если слушать любого из них в отдельности - всё будет окей. А вот если перемешать их управляющие сигналы через какой-то фильтр - скорее всего соберём какую-нибудь сосну Улыбка
 
 Top
killgur Post Id



Гуру


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



А узнать у препода критерии отказа неужели тяжело? И всем бы с тало легче.

А вдруг критерий отказа просто пропавшее в связи с близким разрывом ядерного фугаса питание одного из контроллеров.

И ничего там сложного нет в резервировании ... в каждом блоке достаточно предусмотреть самодиагностику ... и если она решает что для блока все кончено то соответственно выдает (куда то наверх) сигнал "писец пришел" и код ошибки.... а уж там что то вроде мультиплексора переключается на резерв.
 
 Top
-dead- Post Id


Президент


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



Кстати, да, вполне можно даже в самом МК поставить защиту от зависания - выдаваемый наружу сигнал "я жив" с некоторой частотой из основного цикла программы, если он прекратился - считаем, что контроллер "залип" Улыбка
 
 Top
nestandart Супермодератор Post Id



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


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



В основной программе установить программный блок , который (так же как и основная программа) будет "крутиться в цикле" , но не будет мешать основной программе.

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

Такую систему даже не нужно синхронизировать
(Кто первый поймал сигнал , тот и ведущий).

Если сигнал не пришел или не был опознан , резервный МК переключает
управление на себя посредством : транзисторов , реле и т.д.


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

Можно навешать датчиков на каждый МК и отслеживать состояние другого.
Много чего можно.
 
 Top
killgur Post Id



Гуру


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



-dead- пишет:
Кстати, да, вполне можно даже в самом МК поставить защиту от зависания - выдаваемый наружу сигнал "я жив" с некоторой частотой из основного цикла программы, если он прекратился - считаем, что контроллер "залип" Улыбка


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



Рядовой


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



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


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





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