Меню

Arduino nano стабилизатор напряжения

Arduino.ru

Режимы работы стабилизатора питания в Arduino Nano

Доброго времени суток!

Пост посвящен выяснению реальных номинальных и предельных режимов работы стабилизатора питания AMS1117 в платах Arduino Nano . Проведены фактические замеры электрических и тепловых параметров и необходимые расчеты по методике, рекомендуемой изготовителями микросхемы стабилизатора.

Д аны рекомендации по организации питания устройств на базе плат семейства Arduino.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Не отвечайте на этот пост!

Здесь я привожу ссылки на материалы, используемые в данной теме. Здесь же, в случае необходимости, будут размещены дополнительные ссылки.

Фактические параметры для расчетов возьмём из руководств а фирмы Advanced Monolithic Systems, Inc. п о производимой ею микросхеме стабилизатора AMS1117. Р уководство лучше скачать по ссылк е непосредственно с сайта фирмы-изготовителя : http://www.advanced-monolithic.com/pdf/ds1117.pdf Надеюсь, что там самый свежий на сегодня вариант. Изложенных в документе сведений вполне достаточно для решения поставленной задачи.

Из всего семейства стабилизаторов AMS1117 нас интересует только микросхема с выходным напряжением +5 В — AMS1117-5. 0 . Микросхема выпускается в корпусах трёх типов. Нас интересует корпус SOT-223. Именно такая микросхема стоит в Arduino Nano.

В сети можно найти и более старые документы от Advanced Monolithic Systems, Inc. :

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

А вот, на всякий случай, ссылка на документацию китайского производителя, выпускающ его аналог:

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

Также рекомендую ознакомится с небольшим материалом в Википедии, дающем представление о том, что такое «термическое сопротивление». Это потребуется для лучшего понимания материалов настоящей работы. Там буквально страничка. https://ru.wikipedia.org/wiki/Термическое_сопротивление

Измерения температур при проведении эксперимента будут производиться с помощью термопары. О том, что это такое, как устроено и работает, можно д л я начала почитать здесь: https://ru.wikipedia.org/wiki/Термопара

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Огромное количество участников форума, задающих вопрос: «Почему моя плата/схема/устройство не работает?», одной из первых получают рекомендацию: «Проверь питание». Рекомендация вполне обоснованная.

Во многих платах семейства Arduino питание на устройство можно подвести несколькими способами:

1. Через разъем USB, установленный на плате.

2. Через установленный на плате разъём питания 5,5х2,1.

3. Через контакты разъёма, установленного на краю платы микроконтроллера .

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

В качестве примера рассмотрим организацию питания платы Arduino Nano. Эта плата достаточно популярна из-за своих малых габаритов, небольшой цены и возможности программирования напрямую от компьютера, минуя программатор. В этом смысле она «как большая», только маленькая. На Arduino Nano, с одной стороны, стабилизатор находится в довольно тяжелых тепловых условиях, с другой стороны — методика исследования и результат вполне переносимы и на другие платы семейства Arduino.

В зависимости от конкретного производителя состав микросхем на плате может отличаться. Я рассмотрю доступный мне образец Arduino Nano с интерфейсной микросхемой CH340 G и стабилизатором питания AMS1117-5.0 ( далее — просто AMS1117 ) . Это одна из самых распространенных версий Arduino Nano 3.0.

С хемотехника организации питания на Arduino Nano максимально проста: с линии Vin напряжение подаётся на вход стабилизатора, а выход стабилизатора соединен с линией питания +5 В. Питание с разъёма USB подаётся на линию +5 В через диод Шоттки.

Для нормальной продолжительной работы линейного стабилизатор а должен выполняться ряд условий:

1. Входное напряжение должно быть не выше максимально допустимого V IN INMAX .

2. Выходной ток должен быть не больше максимально допустимого I OUT OUTMAX .

3. Выходной ток должен быть не ниже минимально допустимого I OUT = > I OUT MIN .

4 . Падение напряжения на стабилизаторе должно быть не менее максимального ( V IN – V OUT ) => V DOMAX (Dropout Voltage ).

5 . Рассеиваемая микросхемой мощность должна быть не более максимально допустимой P D DMAX .

6 . Температура кристалла микросхемы должна быть не более максимально допустимой T J JMAX .

Все вышеуказанные условия должны выполняться одновременно. Посмотрим, какие условия и их сочетания выполнить легко, а какие — нет.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

в п 4 поправьте максимум на минимум

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Итак, начнём. Проверим реалистичность выполнения первого условия: VIN Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Перейдём к анализу параметра максимальной рассеиваемой мощности. Здесь ограничения становятся существенно более значимыми. Изготовитель гарантирует нормальную работу стабилизатора в корпусе SOT-223 (см. примечание 2 (Note 2)), если на микросхеме выделяется не более 1,2 Вт тепловой мощности. Тепло в микросхеме берётся от её нагрева проходящим током. Рассчитать его можно весьма просто:
PD = (VIN — VOUT) * IOUT , где:
PD — рассеиваемая на стабилизаторе мощность, Вт ;
VIN — напряжение на входе стабилизатора, В;
VOUT — выходное напряжение стабилизатора, В (в нашем случае — 5 В);
IOUT — выходной ток стабилизатора, А.

Давайте посмотрим, какой ток может долговременно выдать стабилизатор при максимальной рассеиваемой мощности в 1,2 Вт и входном стабильном напряжении 12 В.

IOUT = PD/(VIN — VOUT) = 1,2/(12 — 5) = 0,17 А

Как мы видим, это совсем не много, в разы меньше, чем максимальный рабочий ток в 0,8 А. Если мы захотим при таком питании по максимуму задействовать выходы МК, то нагрузить их суммарным разрешённым током в 0,2 А не получиться.

Повторим расчет для входного напряжения в 9 В.
IOUT = PD/(VIN — VOUT) = 1,2/(9 — 5) = 0,3 А

Почти в 2 раза лучше, чем в предыдущем случае. Как говорится, разница видна невооруженным глазом. Замечу, что полученное значение всё также много меньше максимального тока в 0,8 А.

А достижимо ли вообще значение выходного тока в 0,8 А? Формально, по расчету — да. При входном напряжении в 6,5 В. Но чтобы его реализовать, нужно на входе использовать стабилизированный источник с напряжением ровно 6,5 В. Чуть меньше — наш стабилизатор выйдет из управляемого режима, чуть больше — перегреется. В реальности дело обстоит ещё грустнее.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Какой физический смысл в максимально допустимой рассеиваемой мощности? По сути речь идет о максимально допустимой рабочей температуре кристалла микросхемы. Производитель определил её в 125 °С. А как связать выделяемую мощность и температуру кристалла? Следующим образом:

TJ = TA(MAX) + PD * RTJA, где:
TJ — температура кристалла, °С;
TA(MAX) — (максимальная) температура окружающей среды;
PD — рассеиваемая на стабилизаторе мощность, Вт ;
RTJA — термическое сопротивление кристалл-среда — °С/Вт (в оригинале руководства для обозначения термического сопротивления однократно применена греческая буква «?», читается как «фи» = “phi”, в остальных местах этот параметр просто пишут словами. Для облегчения набора и сокращения объёма текста я использую условные обозначения из Википедии.).

Читайте также:  Ввгнг frls 2х1 5 напряжение

Поскольку в нашем случае тепло возникает в кристалле микросхемы, от него передается на корпус микросхемы, а с корпуса микросхемы передаётся окружающей среде, то верно выражение:
RTJA = RTJT + RTTA , где:
RTJA — термическое сопротивление кристалл-среда — °С/Вт
RTJT — термическое сопротивление кристалл-корпус, °С/Вт;
RTTA — термическое сопротивление корпус-среда, °С/Вт.

Т.е. величина допустимой рассеиваемой мощности напрямую зависит от эффективности отвода тепла от микросхемы и от температуры окружающей среды.
В указанных выше формулах нам нужно знать RTJA. Если мы можем позволить себе на плате организовать теплоотводящие полигоны (с одной или двух сторон печатной платы) размером в единицы тысяч (!) мм2, то можно воспользоваться таблицей 1 (Table 1). Ни в какой плате Arduino таких площадей нет. Для самостоятельного вычисления RTJA требуются RTJT и RTAT. Где их взять?

Термическое сопротивление кристалл-корпус (RTJT) зависит от технологии изготовления микросхемы, оно достаточно стабильно и относительно невелико. Производитель оценивает его значение в 15 °С/Вт. Тепловой переход расположен внутри корпуса микросхемы. Ни перепроверить, ни повлиять на его характеристики пользователю не представляется возможным. Остаётся довериться производителю.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

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

Сделано так и в корпусе SOT-223. Основной отвод тепла от кристалла осуществляется через широкий металлический «язык», расположенный на стороне корпуса, противоположной стороне с электрическими выводами. Микросхема стабилизатора предназначена для поверхностного автоматического монтажа. В качестве внешнего радиатора предусматривают полигон из медной фольги, к которому припаивается тепловой вывод микросхемы. Если тепловая нагрузка высока, то аналогичный медный полигон предусматривают и с обратной стороны монтажной платы. Эффективность теплоотвода зависит от большого количества разных параметров. Для некоторых вариантов изготовитель провел практические замеры и свел их в уже упоминавшуюся таблицу (Table 1). К сожалению, в случае с Arduino пользоваться этой таблицей можно только для качественной оценки. Площадей платы в тысячи квадратных миллиметров, которые можно отдать под теплоотвод, в семействе Arduino просто нет. Зато по таблице можно отследить, как может меняться нужное нам для расчетов термическое сопротивление кристалл-среда в зависимости от конструктивного исполнения теплоотвода.

До этого момента все наши рассуждения и расчёты можно было смело отнести к любой плате Arduino. Они касались легко измеряемых электрических параметров микросхемы стабилизатора. Эффективность отвода тепла напрямую и сильно зависит от конструкции платы, и сделанные измерения касаются только конкретного устройства. Их можно распространить на платы одного типа, считая что они производятся по одной и той же устойчивой технологии, и отличиями плат друг от друга можно пренебречь.

Согласно приводившихся выше формул, для расчёта термическое сопротивление корпус-среда (RTAT) нам нужно знать тепловую мощность и разницу температур между корпусом устройства и окружающей средой. Источник тепла у нас один. Его мощность мы уже считали как произведение выходного тока стабилизатора и падения напряжения на нём. Температуру окружающего воздуха можно замерить обычным жидкостным термометром. Если это не сувенир на холодильник, а именно комнатный жидкостной термометр, то его точности в +/- 1,0 °С в нашем случае будет совершенно достаточно.

А чем и как измерить температуру корпуса микросхемы? Сначала определимся с местом измерения. Как уже отмечалось, в микросхеме реализован специальный теплоотводящий вывод. Вот его температуру и нужно измерить. Чем это можно сделать? Скажу сразу — в промышленности такие измерения чаще всего делаются с помощью бескорпусной термопары. У меня такая оказалась в комплекте мультиметра PM18C. Собственно термопара это металлический шарик измеренным диаметром 1,1 мм на двух тонких жестких проволочках. Она отлично ложится в изгиб теплоотводящего вывода микросхемы стабилизатора. Температуру окружающего воздуха тоже буду измерять с её помощью. Поскольку нам важна не абсолютная температура, а разница температур между корпусом и воздухом, то использование одного и того же прибора уменьшит влияние возможных систематических ошибок.

Источник



Питание платы Arduino

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

Перейдем к питанию платы: есть три способа питать Ардуино и вообще Ардуино-проект в целом, у каждого есть свои плюсы/минусы и особенности:

  • Бортовой USB порт
  • “Сырой” вход на микроконтроллер 5V
  • Стабилизированный вход Vin

Что касается земли (пины GND) то они все связаны между собой и просто продублированы на плате, это нужно запомнить. Пины 3.3V, 5V и GND являются источником питания для датчиков и модулей, но давайте рассмотрим особенности.

Питание от USB

Питание от USB – самый плохой способ питания ардуино-проекта. Почему? По линии питания +5V от USB стоит диод, выполняющий защитную функцию: он защищает порт USB компьютера от высокого потребления тока компонентами ардуино-проекта или от короткого замыкания (КЗ), которое может произойти по случайности/криворукости любителей ковырять макетные платы. КЗ продолжительностью менее секунды не успеет сильно навредить диоду и всё может обойтись, но продолжительное замыкание превращает диод в плавкий предохранитель, выпускающий облако синего дыма и спасающий порт компьютера от такой же участи.

Слаботочный диод имеет ещё одну неприятную особенность: на нём падает напряжение, причем чем больше ток потребления схемы, тем сильнее падает напряжение питания. Пример: голая ардуина без всего потребляет около 20 мА, и от 5 Вольт на юсб после диода нам остаётся примерно 4.7 Вольт. Чем это плохо: опорное напряжение при использовании АЦП крайне нестабильно, не знаешь, что измеряешь (да, есть способ измерения опорного напряжения, но делать это нужно вручную). Некоторые железки чувствительны к напряжению питания, например LCD дисплеи: при питании от 5V они яркие и чёткие, при 4.7 вольтах (питание от юсб) они уже заметно теряют яркость. Если подвигать сервоприводом или включить реле – на диоде упадет ещё больше и дисплей практически погаснет. При коротких мощных нагрузках (выше 500-600ма) микроконтроллер перезапустится, так как напряжение упадет ниже плинтуса.

Читайте также:  Как распределяются касательные напряжения по ширине круглого сечения при кручении

Вы наверное предложите заменить диод перемычкой, чтобы питать схему от USB большим током, например от powerbank’а. Так делать тоже нельзя, потому что дорожки на плате не рассчитаны на большие токи (дорожка 5V очень тонкая и идёт через всю плату). Я думаю, что можно будет снять 1-2 Ампера с пина 5V, но, скорее всего, напряжение просядет. Также при КЗ вы скорее всего попрощаетесь с дорожкой вообще. Питайте силовую часть схемы либо отдельно, либо от того же источника питайте Arduino.

Питание в Vin

Питание в пин VinGND) – более универсальный способ питания ардуино-проекта, этот пин заводит питание на бортовой стабилизатор напряжения ардуино, на китайских платах обычно стоит AMS1117-5.0. Это линейный стабилизатор, что имеет свои плюсы и минусы. Он позволяет питать ардуино и ардуино-проект от напряжения 7-12 Вольт (это рекомендуемый диапазон, так то питать можно от 5 до 20 Вольт). Стабилизатор устроен так, что он выдает хорошее ровное напряжение с минимальными пульсациями, но всё лишнее напряжение превращает в тепло. Если питать плату и один миниатюрный сервопривод от 12 Вольт, то при активной работе привода стабилизатор нагреется до 70 градусов, что уже ощутимо горячо. По некоторым расчетам из даташита можем запомнить некоторые цифры:

  • При напряжении 7 Вольт (таких блоков питания я не встречал) в Vin можно снять с пина 5V до 2A, больше – перегрев. Отлично сработают два литиевых аккумулятора
  • При 12 Вольтах на Vin можно снять с пина 5V не более 500мА без риска перегрева стабилизатора.

Питание в пин Vin возможно только в том случае, если в Ардуино проекте (имеется в виду плата Ардуино и железки, подключенные к 5V и GND) не используются мощные потребители тока, такие как сервоприводы, адресные светодиодные ленты, моторчики и прочее. Что можно: датчики, сенсоры, дисплеи, модули реле (не более 3 одновременно в активном состоянии), одиночные светодиоды, органы управления. Для проектов с мощной 5 Вольтовой нагрузкой для нас есть только третий способ.

Питание в 5V

Питание в пин 5VGND) – самый лучший вариант питать плату и ардуино-проект в целом, но нужно быть аккуратным: пин идёт напрямую на микроконтроллер, и на него действуют некоторые ограничения:

  • Максимальное напряжение питания согласно даташиту на микроконтроллер – 5.5V. Всё что выше – с большой вероятностью выведет МК из строя;
  • Минимальное напряжение зависит от частоты, на которой работает МК. Вот строчка из даташита: 0 – 4 MHz @ 1.8 – 5.5V, 0 – 10 MHz @ 2.7 – 5.5V, 0 – 20 MHz @ 4.5 – 5.5V. Что это значит: большинство Arduino-плат имеют источник тактирования на 16 MHz, то есть Arduino будет стабильно работать от напряжения

4 Вольта (20 МГц – 4.5V, 16 МГц – около 4V). Есть версии Arduino на 8 МГц, они будут спокойно работать от напряжения 2.5V.

Самый популярный вариант – USB зардяник от смартфона, их легко достать, диапазон токов от 500ма до 3А – справится практически с любым проектом. Отрезаем штекер и паяем провода на 5V и GND, предварительно определив, где плюс/минус при помощи мультиметра или по цвету: красный всегда плюс, чёрный – земля, при красном плюсе земля может быть белого цвета. При чёрной земле плюс может быть белым, вот так вот. Точно туда же паяем все датчики/модули/потребители 5 Вольт. Да, не очень удобно это паять, но при известной схеме можно аккуратно собрать всё питание в отдельные скрутки и припаять уже их. Пример на фото ниже. Источником питания там является отдельное гнездо micro-usb, зелёная плата сразу над дисплеем.

Автоматический выбор источника

На платах Arduino (на китайских клонах в том числе) реализовано автоматическое переключение активного источника питания: при подключении внешнего питания на пин Vin линия питания USB блокируется. Если кому интересно, на схеме платы Arduino это выглядит вот так:

Питание “мощных” схем

Резюмируя и повторяя всё сказанное выше, рассмотрим варианты питания проектов с большим потреблением тока.

Питать мощный проект (светодиоды, двигатели, нагреватели) от 5V можно так: Arduino и потребитель питаются вместе от 5V источника питания:

Питать мощный потребитель от USB через плату нельзя, там стоит диод, да и дорожки питания тонкие:

Что делать, если всё-таки хочется питать проект от USB, например от powerbank’а? Это ведь удобно! Всё очень просто:

Если есть только блок питания на 12V, то у меня плохие новости: встроенный стабилизатор на плате не вытянет больше 500 мА:

Но если мы хотим питать именно 12V нагрузку, то проблем никаких нет: сама плата Arduino потребляет около 20 мА, и спокойно будет работать от бортового стабилизатора:

Автономное питание

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

    Питание в порт USB

      Самый обыкновенный Powerbank, максимальный ток – 500 мА (помним про защитный диод). Напряжение на пине 5V и высокий уровень GPIO в этом случае будет равен

    4.7V (опять же помним про диод). Внимание! У большинства Powerbank’ов питание отключается при нагрузке меньше 200мА, т.е. об энергосбережении можно забыть;

  • Максимальный выходной ток с пина 5V – 500 мА!
  • Питание в пин Vin (или штекер 5.5×2.1 на плате UNO/MEGA)
    • Любой блок питания/зарядник от ноута с напряжением 7-18 Вольт
    • 9V батарейка “Крона” – плохой, но рабочий вариант. Ёмкость кроны очень небольшая;
    • Сборка из трёх литиевых аккумуляторов: напряжение 12.6-9V в процессе разряда. Хороший вариант, также имеется 12V с хорошим запасом по току (3А для обычных, 20А для высокотоковых аккумуляторов) для двигателей или светодиодных лент;
    • “Модельные” аккумуляторы, в основном Li-Po. В целом то же самое, что предыдущий пункт, но запаса по току в разы больше;
    • Энергосбережение – не очень выгодный вариант, т.к. стабилизатор потребляет небольшой, но всё же ток;
    • Максимальный выходной ток с пина 5V при питании в Vin: 2А при 7V на Vin, 500ma при 12V на Vin
  • Питание в пин 5V
    • Для стабильных 5V на выходе – литиевый аккумулятор и повышающий до 5V модуль. У таких модулей обычно запас по току 2А, также модуль потребляет “в холостом режиме” – плохое энергосбережение;
    • Литиевый аккумулятор – напряжение на пине 5V и GPIO будет 4.2-3.5V, некоторые модули будут работать, некоторые – нет. Работа МК от напряжения ниже 4V не гарантируется, у меня работало в целом стабильно до 3.5V, ниже уже может повиснуть. Энергосбережение – отличное;
    • Пальчиковые батарейки (ААА или АА) – хороший вариант, 3 штуки дадут 4.5-3V, что граничит с риском зависнуть. 4 штуки – очень хорошо. Новые батарейки дадут 6V, что является максимальным напряжением для МК AVR и при желании можно так работать;
    • Пальчиковые Ni-Mh аккумуляторы – отличный вариант, смело можно ставить 4 штуки, они обеспечат нужное напряжение на всём цикле разряда (до 4V). Также имеют хороший запас по току, можно даже адресную ленту питать.
    • Платы с кварцем (тактовым генератором) на 8 МГц позволяют питать схему от низкого напряжения (2.5V, как мы обсуждали выше), отлично подойдут те же батарейки/аккумуляторы, также для маломощные проекты можно питать от литиевой таблетки (3.2-2.5V в процессе разряда).
    • Максимальный выходной ток с пина 5V ограничен током источника питания
  • Arduino как источник питания

    Важный момент, который вытекает из предыдущих: использование платы Arduino как источник питания для модулей/датчиков. Варианта тут два:

    • Питание датчиков и модулей от 5V
      • При питании платы от USB – максимальный ток 500 мА
      • При питании платы в Vin – максимальный ток 2 А при Vin 7V, 500 мА при Vin 12V
      • При питании платы в 5V – максимальный ток зависит от блока питания
    • Питание датчиков от GPIO (пинов D и A) – максимальный ток с одного пина: 40 мА, но рекомендуется снимать не более 20 мА. Максимальный суммарный ток с пинов (макс. ток через МК) не должен превышать 200 мА. Допускается объединение нескольких ног для питания нагрузки, но состояние выходов должно быть изменено одновременно (желательно через PORTn), иначе есть риск спалить ногу при её закорачивании на другую во время переключения. Либо делать ногу входом (INPUT), вместо подачи на неё низкого (LOW) сигнала. В этом случае опасность спалить ноги отсутствует.

    Помехи и защита от них

    Если в одной цепи питания с Ардуино стоят мощные потребители, такие как сервоприводы, адресные светодиодные ленты, модули реле и прочее, на линии питания могут возникать помехи, приводящие к сильным шумам измерений с АЦП, а более мощные помехи могут дергать прерывания и даже менять состояния пинов, нарушая связь по различным интерфейсам связи и внося ошибки в показания датчиков, выводя чушь на дисплеи, а иногда дело может доходить до перезагрузки контроллера или его зависания. Некоторые модули также могут зависать, перезагружаться и сбоить при плохом питании, например bluetooth модуль спокойно может зависнуть и висеть до полной перезагрузки системы, а радиомодули rf24 вообще не будут работать при “шумном” питании.

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

    • Питать логическую часть (Ардуино, слаботочные датчики и модули) от отдельного малошумящего блока питания 5V, то есть разделить питание логической и силовой частей, а ещё лучше питаться в пин Vin от блока питания на 7-12V, так как линейный стабилизатор даёт очень хорошее ровное напряжение. Для корректной работы устройств, питающихся отдельно (драйверы моторов, приводы) нужно соединить земли Ардуино и всех внешних устройств;
    • Поставить конденсаторы по питанию платы, максимально близко к пинам 5V и GND: электролит 6.3V 100-470 uF (мкФ, ёмкость зависит от качества питания: при сильных просадках напряжения ставить ёмкость больше, при небольших помехах хватит и 10-47 мкФ) и керамический на 0.1-1 uF. Это сгладит помехи даже от сервоприводов;
    • У “выносных” на проводах элементах системы (кнопки, крутилки, датчики) скручивать провода в косичку, преимущественно с землёй. А ещё лучше использовать экранированные провода, экран естественно будет GND. Таким образом защищаемся от электромагнитных наводок;
    • Соединять все земли одним толстым проводом и по возможности заземлять на центральное заземление;
    • Металлический и заземленный корпус устройства (или просто обернутый фольгой ? ), на который заземлены все компоненты схемы – залог полного отсутствия помех и наводок по воздуху.

    Ещё лучше с фильтрацией помех справится LC фильтр, состоящий из индуктивности и конденсатора. Индуктивность нужно брать с номиналом в районе 100-300 мкГн и с током насыщения больше, чем ток нагрузки после фильтра. Конденсатор – электролит с ёмкостью 100-1000 uF в зависимости опять же от тока потребления нагрузки после фильтра. Подключается вот так, чем ближе к нагрузке – тем лучше:

    Подробнее о расчёте фильтров можно почитать здесь.

    Индуктивные выбросы

    На практике самая подлая помеха обычно приходит при коммутации индуктивной нагрузки при помощи электромагнитного реле: от такой помехи очень сложно защититься, потому что приходит она по земле, то есть вас не спасёт даже раздельное питание проекта. Что делать?

    • Для цепей постоянного тока обязательно ставить мощный диод обратно-параллельно нагрузке, максимально близко к клеммам реле. Диод примет (замкнёт) на себя индуктивный выброс от мотора/катушки;
    • Туда же, на клеммы реле, можно поставить RC цепочку, называемую в этом случае искрогасящей: резистор 39 Ом 0.5 Вт, конденсатор 0.1 мкФ 400V (для цепи 220В);
    • Для сетей переменного тока использовать твердотельное (SSR) реле с детектором нуля (Zero-cross detector), они же называются “бесшумные” реле. Если в цепи переменного тока вместо реле стоит симистор с оптопарой, то оптопару нужно использовать опять же с детектором нуля, такая оптопара, как и SSR zero-cross будут отключать нагрузку в тот момент, когда напряжение в сети переходит через ноль, это максимально уменьшает все выбросы.

    Подробнее об искрогасящих цепях можно почитать вот в этой методичке.

    Главный Глупый Вопрос

    У новичков в электронике, которые не знают закон Ома, очень часто возникают вопросы вида: “а каким током можно питать Ардуино“, “какой ток можно подать на Ардуино“, “не сгорит ли моя Ардуина от от блока питания 12V 10A“, “сколько Ампер можно подавать на Arduino” и прочую чушь. Запомните: вы не можете подать Амперы, вы можете подать только Вольты, а устройство возьмёт столько Ампер, сколько ему нужно. В случае с Arduino – голая плата возьмёт 20-22 мА, хоть от пина 5V, хоть от Vin. Ток, который указан на блоке питания, это максимальный ток, который БП может отдать без повреждения/перегрева/просадки напряжения. Беспокоиться стоит не об Arduino, а об остальном железе, которое стоит в схеме и питается от блока питания, а также о самом блоке питания, который может не вывезти вашу нагрузку (мотор, светодиоды, обогреватель). Общий ток потребления компонентов не должен превышать возможностей источника питания, вот в чём дело. А будь блок питания хоть на 200 Ампер – компоненты возьмут ровно столько, сколько им нужно, и у вас останется “запас по току” для подключения других. Если устройство питается напряжением, то запомните про максимальный ток источника питания очень простую мысль: кашу маслом не испортишь.

    Источник