Советы по arduino для начинающих: 10 способов убить микроконтроллер

15 апреля 2020 15:24
306
0

Первое что приходит на ум, это что-то из списка: кинуть ее под каток, сжечь в костре, утопить или ударить по микроконтроллеру чем-то тяжелым. Идеи хорошие, а главное действенные. В этот раз мы все же рассмотрим как новички, сами того не ведая, могут вывести из строя плату arduino. Не стоит думать что с bluepill от STM32 дела обстоят иначе. В  данной статье arduino использовано только для примера. Все ниже описанное распространяется практически на любой микроконтроллер.

Способ №1: Короткое замыкание пина IO на землю.

Представим ситуация что вы сконфигурировали pin на выход и установили логическую единицу на нем. Рассмотрим схему как потечет ток в случае замыкания его землю.

Короткое замыкание пина IO на землю

В даташите на микроконтроллер Atmega328 указано, что максимальный ток через любой из пинов IO не должен превышать 40мА. В то же время его сопротивление не превышает 25 Ом. Как результат имеем превышение максимально допустимого тока в 5 раз. Первое что приходит на ум — защитить все выходы плавкими предохранителями, но есть более правильное решение (в его правильности вы убедитесь ниже): использовать стабилитрон и резистор на 220 Ом:

Защита от короткого замыкания пина IO на землю

Способ №2: Замкнуть два пина между собой

Эта ошибка аналогична предыдущей. Если на одном выводе микроконтроллера установить высокий логический уровень, а на другом низкий и замкнуть эти выводы между собой, то путь по которому потечёт ток будет следующим

Замкнуть два пина между собой

Как видно, протекающий ток опять таки ограничивается только внутренним сопротивлением. Чтобы предотвратить подобные ситуации можно использовать схему защиты предложенную выше.

Способ №3: Приложить к выводу микроконтроллера повышенное напряжение

Как следует из заголовка, если приложить к любому выводу ардуино напряжение выше 5,5В, то можно сжечь не только микроконтроллер.
Рассмотрим как в Atmega328p реализована защита от статического электричества.

atmega328 защита от статики

При кратковременном превышении напряжения на пине более чем на 0,5В сработает защита от статического электричества. Но диоды не рассчитаны на долговременную работу в таком режиме и при длительном воздействии сгорят, оставив вывод без защиты от перенапряжения.  Путь прохождения тока будет следующим. 

Советы по arduino для начинающих

Напряжение выше 5 вольт поступает на линию питания и может сжечь остальные компоненты, например микросхему USB интерфейса. Для предотвращения подобных неприятностей применяется стабилитрон в схеме защиты, которая используется выше.

Способ №4: Перепутать полярность источника питания

Посмотрим по какому контуру потечет ток, если перепутать полярность источника питания arduino. Величина приложенного напряжения при этом не играет особой роли. Хватит и стандартных 5В чтобы сжечь контроллер.

Перепутать полярность источника питания

Ток пройдет через линию питания atmega обратно на стабилизатор. Сгорят при этом обе микросхемы. Защита от подобных неприятностей достаточно проста — один диод по входу. Лучше всего подойдет диод Шоттки с минимальных падением напряжения.

Защита arduino

Способ №5: Запитать arduino от повышенного напряжения

При подаче питания 6В и выше, многие компоненты на плате выйдут из строя. Если в это время плата подключена к компьютеру по USB, то сгореть может и сам порт. В худшем случае может и до южного моста дойти дело. Так что не рекомендуется вообще подавать внешнее питание на плату подключенную к компьютеру. Рассмотрим контур прохождения тока.

Запитать arduino от повышенного напряжения

Для защиты от перенапряжения можно собрать схему на компараторе и полевом транзисторе. Приведенная схема выдерживает превышение входного питание вплоть до 24 Вольт.

Как защитить микроконтроллер

Способ №6: Подать повышенное напряжение на пин 3.3В

При этом сгорит не сама ардуинка, а подключенная к этой линии периферия. Если подать более 9В, то это чревато также выходом из строя регулятора напряжения и прохождением тока дальше по цепи. При этом есть риск пробоя и попаданием повышенного напряжения на порт USB. К несчастью на этой линии уже сидит контроллер и микросхема интерфейса, который также выйдут из строя.

повышенное напряжение на пин ардуино

Как и в предыдущем случае, защита реализуется при помощи компаратора. Достаточно пересчитать делитель на не инвертирующем входе операционного усилителя, чтобы на нем было 2.4В при входном напряжении 3.3В.

защита от повышеного напряжения

Способ №7: Закоротить Vin на землю

Этот способ может сжечь защиту от переполюсовки описанную выше. Если закоротить пин Vin на землю, то ограничиваться ток будет только защитным диод и сопротивлением проводников печатной платы. При таком раскладе сгореть может не только диод, но и тонкие  проводники.

Закоротить Vin на землю

Для защиты от подобных ситуаций стоит поставить само-восстанавливающийся предохранитель на 500мА последовательно с диодом. В крайнем случае можно обойтись обычным плавким предохранителем на такой же ток.

само-восстанавливающийся предохранитель на 500мА

Способ №8: Подать внешнее питание при подключенной нагрузке к Vin

Подав питания напрямую на выход стабилизатор, при подключенных сторонних модулей на его вход, стабилизатор выйдет из строя. Ток через него пойдет в обратном направлении, так как защита от подобного не реализована. 

Подать внешнее питание при подключенной нагрузке к Vin

Защита реализуется простым перекидыванием пина Vin через диод:

защита ардуино от повышеного напряжения

Способ №9: Подать напряжение выше 13В на пин RESET

Этот пин напрямую соединяется с одноименным выводом Atmega328p и при подаче завышенного напряжения на него (больше 13 Вольт), микроконтроллер выйдет из строя. 

напряжение выше 13В на пин RESET

Защититься от подобных ситуация можно подключив вывод RESET микроконтроллера через токо-ограничивающий резистор номиналом 1кОм, как показано на схеме:

защита ардуино

Способ №10: Превысить общий ток микроконтроллера

В самом первом способе был упомянут максимальный ток в 40мА. Это значит что один порт может максимально пропускать через себя 40мА, но это не значит что 10 пинов смогут пропустить 400мА. В даташите на микроконтроллер, есть такая характеристика как максимальный общий ток микроконтроллера. Для Atmega328p он составляет всего 200мА. Превышение этого значения приведет к выходу микросхемы из строя.

Превысить общий ток микроконтроллера

Для предотвращения превышения суммарного тока через микроконтроллер, можно воспользоваться микросхемой MIC2009A. Если ток будет превышать значение 150мА, MIC2009A начнет снижать напряжение.

Стабилизатор тока на MIC2009A

Похожие статьи