Цитата(Krik99 @ Nov 12 2017, 11:08)

Добрый день. Начал я тут разрабатывать устройство, которое вроде как должно подходить под стандарт промышленной электроники (3-х фазные двигатели, эл. магнитные клапана и т.д.). Сердцем всего этого должен быть МК. Программу написать не проблема, но вот погуглив увидел что у многих разработчиков возникает проблема с зависанием МК. Сам такое наблюдал в устройстве, где через делитель снималось с силовой цепи 220в сигнал контроля...
Проблема возникает, как правило, у разработчиков, которые не имеют достаточного опыта применения МК в силовой аппаратуре. По мере его накопления - проблема обычно исчезает. От слова - совсем. Нарабатываются определенные стереотипы (часть из которых вы перечислили) - что и как можно делать, а как нельзя. Но лучше, конечно, знать и понимать, что за этими стереотипами стоит. Оставляя в стороне вопрос помехоустойчивости входных/выходных сигналов, попробуем сформулировать, что именно может привести к сбою (сбросу) МК в силовых схемах:
1) На первом месте - проблемы с питанием МК. Просадки и подъемы напряжения питания, в том числе, очень кратковременные, импульсные (порядка 1мкс и менее). На них может срабатывать встроенный детектор пониженного/повышенного напряжения питания в МК, что приводит к его сбросу. На очень короткие, наносекундные выбросы детектор может не срабатывать, но от этого не легче. Если эти импульсы ("иголки") выходят по амплитуде за разрешенный диапазон питания, то их постоянное воздействие может, со временем, привести к выходу МК из строя. Да и остальным компонентам схемы это, как минимум, не полезно. Лечится все это фильтрами на питании, правильной разводкой питания и земли, разделением цифровой и аналоговой земли при разводке. В тяжелых случаях - гальванической развязкой цифровой и аналоговой (силовой) части схемы.
2) Наводки на специальные служебные выводы МК, которые используются для аппаратного сброса, перехода в режимы программирования, отладки и т.п. Даже короткие импульсные помехи на таких выводах могут легко перевести ваш МК в режим сброса или какой-то специальный режим (программирования, отладки), что будет восприниматься вами как "зависание". Рецепт здесь простой - уделять должное внимание таким выводам при разработке схемы, фиксировать уровни на них аппаратным и/или программным способом, защищать от помех. И, уж, ни в коем случае не бросать эти выводы никуда не подключенными, в третьем состоянии, понадеявшись на встроенные "подтяжки" (если они есть).
3) Нужно обязательно рассматривать и анализировать не только рабочие режимы устройства, но и, отдельно, процессы включения и выключения устройства (подачи/снятия питания). МК, в отличие от многих других элементов схемы, приходит в рабочее состояние не сразу после появления нужного уровня питания, а с некоторой задержкой - от нескольких микросекунд до десятков миллисекунд, в отдельных случаях. А после отключения питания прекращает работу первым - по снижению питания ниже разрешенного уровня. До и после - МК находится в состоянии сброса, хотя напряжение на схеме уже (или еще) есть. И все это время ваша схема остается без управления МК, в том числе и ее силовая часть.
4) Для многих МК является критичной скорость нарастания напряжения питания при включении. Этот параметр стоит поискать в даташите. Слишком медленное (или слишком быстрое) нарастание напряжения питания может привести к тому, что МК не стартует, остается в состоянии сброса. Это актуально, когда, например, на питании стоят электролиты большой емкости. Лечится специальными отдельными схемами сброса.
5) Паразитное питание МК через защитные диоды входов/выходов, подключенных к внешним датчикам или интерфейсам устройства. Они могут иметь отдельное питание, либо оно может появляться раньше, а пропадать позже, чем основное питание МК. В результате, МК может попытаться стартовать раньше времени, или попытаться продолжить работу после отключения основного питания за счет этой паразитной запитки. В частности, паразитная запитка может "испортить" нужную скорость нарастания напряжения питания при старте. Лечится правильной схемотехникой. Главное не забывать по эту возможную проблему.
----
P.S. Пока все, что удалось вспомнить.