" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 2021
Просмотры материалов : 7419956
 
Защита Arduino от помех (28.08.2024). Печать E-mail
2024 - Август
28.08.2024 12:47
Save & Share
При данном эксперименте был сожжён 1 мультиметр, ослеплено 2 глаза, изношено тахикардией 1 сердце. Был нарушен главный принцип: не лезть нездоровым в электронику и электротехнику.


В системе защиты от протечек был баг с электрокранами 230В: когда помехи били в Adruino и заставляли её зависать, а затем почти сразу перезагружаться. Тогда зашёл не с того конца: с устранения недоразрыва в проводе 230В, соединения GND розетки с GND печатной платы, напаивания варисторов внутри корпуса электрокранов - помеху загасил, всё заработало.

Сегодня же вернул помеху обратно, с целью проверки другого пути: что если номинал резистора между контактом RST Arduino и плюсом питания - выбран неверно. И если с разрушением проблем не возникло (кусачками рвёшь всё ранее залатанное - и нет проблем) - то с созиданием вышло плохо. Убедившись, что помеха вернулась, - принялся прозванивать выключатели на крышке защиты от протечек (вместо того, чтобы лезть внутрь платы, - на крокодилы можно было подцепиться в 2 разных местах выходящих из платы проводов). И если первый провод прозвонился успешно и был подкрашен - то со вторым случилась беда.

Вторая пара проводов у выключателя - шла к GND платы и к контакту RST. Дальше - совпадения:
- решил прозвонить GND вместо RST (удобство пищалки мультиметра). Если бы прозвонил RST - исключил бы прозвон GND;
- в печатной плате очень много мест, куда можно ткнуться к GND (их и создавал для удобства). Так оказалось, что удобно было потянуться в определённый дальний угол, тоненьким концом медной скрепки;
- рука дрогнула;
- медная скрепка задевает контакт 230В, расположенный относительно неподалёку от GND;
- задетый контакт оказывается фазой;
- защиту из розетки вытащил, а электрокраны - нет;
- искровая вспышка ослепляет глаза и дезориентирует;
- мультиметр дезориентирует дополнительно: выходит из строя - пищалка орёт теперь всегда;
- спасает УЗО (второй раз уже), отрубая фазу раньше предохранителя сетевого фильтра.

И вот, в ванной стоит человеческая фигура с выпрыгивающим сердцем, пищащим мультиметром и хлопающими ослеплёнными глазами.

...спустя секунд 10...

То, что сработало УЗО, - ещё не установлено: ошеломление ещё не прошло. Была полная уверенность, что систему защиты от протечек спалил, потому что она не включалась. Только потом мозги начинают понимать, что кнопка сетевого фильтра не горит - при исправном его предохранителе. И УЗО не взводится в штатное положение. Спалил УЗО, сетевой фильтр и всё-всё-всё в нём (защиту от протечек, стиральную машину, впускную систему унитаза)???


В резиновых перчатках отключается автомат в щитке. Более подробно осматривается УЗО - а там кнопка Reset есть. С учётом того, что вся эта канитель была из-за контакта RST, нажимать её было особенно стрёмно. Итог - УЗО взвелось. Включается автомат в щитке. Пилот и всё в него подключенное - живы.

Теперь главное, ради чего всё это задевалось: цепляются 2 крокодила за отмеченные провода, с другой стороны 2 крокодила для резистора 1кОм и...

Помеха полностью "исчезла". То есть, если с причиной помехи бороться лень - то можно и со следствием. Резистор 12кОм тоже успешно мешал Arduino перезагружаться - а вот установленный в защиту от протечек 160кОм уже был излишком. Естественно, потом этот резистор 1кОм припаяю, и недоконтакт пропаяю: лучше, чем обратно в двигатели электрокранов лезть.

Из этого следует простой и ужасный выводы:
- почему производитель сам в своей плате не соединит RST через 1-12кОм с плюсом питания - непонятно. Но теперь, во всех проектах, нужно этим резистором контакт RST подтягивать;
- нужно выпускать печатную плату защиты от протечек версии 7.5. И перепроверять её всю.


(добавлено 29.08.2024) С учётом того, что новый мультиметр обошёлся в целые 325руб (и старый нельзя было использовать даже как амперметр), - нужно было провести дополнительное расследование причин трагедии. Оказалось, совпадений было гораздо больше:
- по факту, не было разрыва GND платы с заземлением дома. Потому что ранее сделал такое заземление двумя параллельными проводами - а вчера обрезал только 1, забыв про второй. Сделанный для страховки, если первый оборвётся, - какая ирония. Второй провод шёл незаметно из нижней части корпуса защиты от протечек, вниз, между щелями досок полки - в глубины технической зоны санузла;
- в 2021 году соединение GND платы с заземлением дома обозначалась как решение, почти решающее проблему помехи. Это "почти" сработало вчера дважды. Воссозданный излом провода успешно создал помеху оба раза: и до проверки резистора 1кОм, и до проверки 12кОм;
- утром пришлось вставать, обрезать второй провод воссоединения GND, повторять эксперимент - получены те же результаты.

По итогу:
- важная поправка: очень вероятно, что не к плюсу питания нужно притягивать резистором RST, а к логической единице - контакту +5V;
- вещь никогда не знает, где она будет использована. Мелкий резистор 1кОм мог лежать десятилетиями в кассетнице из коробков - но ему выпала огромная честь стать основным героем произошедших событий, приведя эти события к успешному результату;
- вчера каждое новое действие во время тестирования подталкивало результат к краю пропасти. И если в ЧАЭС от АЗ-5 реактор взорвался - то тут УЗО абсолютно чётко выполнило свою функцию;
- лучше не устраиваться на работу заместителем главного инженера в блок реактора на АЭС.

(добавлено 30.08.2024) Похоже, проблема сложнее:
- спалил Arduino Nano с устаревшей ATmega168, подключив между +5V и RST резистор 2.2кОм при напряжении питания +12В. Из документации к ATmega168 (стр.219): "Pull-up resistors on the dW/(RESET) line must not be smaller than 10k" - упс;
- в интернете попадаются номиналы резисторов, подключаемые и рекомендуемые пользователями: 0.1-100к;
- документация к ATmega328P - то же самое (стр.221): "Pull-up resistors on the dW/(RESET) line must not be smaller than 10k" - часть пользователей плохие люди, нужно из этой части срочно выходить.

Поэтому номинал определён абсолютно точно: не менее 10кОм (документация), верхняя граница - 12-160кОм (мой опыт).

(добавлено 31.08.2024) Рисунок на тех же страницах даташита определяет некое VCC как 1.8-5.5В. Из этого косвенно можно думать, что резистор устанавливается между RST и именно +5V.

(добавлено 02.09.2024) Стоит отметить, что ATmega168 сгорел без предохранителя на плюсе питания. Мне тут один втирал: "Зачем ты на каждую схему их добавляешь" - а вот именно затем.
Обновлено ( 02.09.2024 17:59 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru