Основы · 16 мин чтения

Что такое диод? Принцип работы, виды, полярность и применение

Что такое диод и как он работает? Анод, катод и полоска, прямое напряжение 0,7 V, 1N4007, 1N4148 и 1N5819, обратный диод, диодный мост, стабилитрон и проверка.

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

Ты встречаешь диоды каждый день, даже не замечая этого: в зарядке телефона, у разъёма питания Arduino Uno, на модулях реле и в каждом светодиоде на твоём столе. Да, светодиод — это диод, который излучает свет. В этой статье ты узнаешь, что происходит внутри диода, как отличить анод от катода, откуда берётся прямое напряжение 0,7 V, чем различаются 1N4007, 1N4148 и 1N5819, а также разберёшься с защитой от переполюсовки, обратным диодом, диодным мостом, стабилитроном и проверкой диода мультиметром. В конце соберём небольшой тестер на Arduino, который сам определяет направление и тип диода.

Выпрямительный диод с аксиальными выводами
Выпрямительный диод с аксиальными выводами: полоска (кольцо) на одном конце корпуса обозначает катод; ток течёт от анода к этому концу с полоской.

Что такое диод и как он работает?

Внутри диода встречаются два разных слоя полупроводника: кремний N-типа с избытком электронов и кремний P-типа с их недостатком (избытком дырок). В месте их соединения образуется тонкая обеднённая область, где носители заряда взаимно уничтожаются, и эта область работает как стена на пути тока. Если подать плюс на анод (сторона P) и минус на катод (сторона N), то есть включить диод в прямом смещении, стена становится тоньше; как только напряжение превысит примерно 0,6–0,7 V для кремния, ток начинает быстро расти. При обратном смещении стена утолщается, и течёт лишь крошечный ток утечки порядка микро- или наноампер. Если обратное напряжение превысит допустимое для диода значение, наступает пробой: обычные диоды в этот момент выходят из строя, а стабилитроны как раз и созданы для работы в этой области. В таблице ниже собраны основные параметры из даташита, на которые стоит смотреть при выборе диода.

ПараметрЗначениеПример: 1N4007
VF (прямое напряжение)Напряжение, которое падает на диоде, пока он проводит токМакс. 1,1 V (при 1 A)
IF(AV) (средний прямой ток)Средний ток, который диод может проводить длительно1 A
VRRM (повторяющееся импульсное обратное напряжение)Наибольшее повторяющееся обратное напряжение, которое диод выдерживает; выше него наступает пробой1000 V
IFSM (ударный ток)Способность пережить один короткий импульс тока30 A (одиночный импульс 8,3 мс)
IR (обратный ток утечки)Небольшой ток, текущий при обратном смещенииМакс. 5 µA (25 °C)
trr (время обратного восстановления)Время, за которое ток затухает при переходе от проводимости к запираниюМедленный, порядка микросекунд

Анод, катод и полоска: как определить полярность диода

У диода два вывода: анод (A) и катод (K). На схемах диод рисуют как треугольник с вертикальной чертой перед ним: треугольник, словно стрелка, указывает направление тока от анода к катоду, а черта — это катод. На настоящем диоде эта черта нанесена на корпус: серое или белое кольцо на чёрном 1N4007 и чёрное кольцо на стеклянном 1N4148 обозначают сторону катода. Простая подсказка: черта на символе и полоска на корпусе — это один и тот же конец. Если конец диода с полоской находится под более положительным напряжением, диод заперт; если более положителен конец без полоски, диод проводит.

  • Диоды с аксиальными выводами (1N4007, 1N5819): единственное кольцо на корпусе — это катод; чтобы убедиться в модели, можно прочитать и маркировку.
  • Маленькие стеклянные диоды (1N4148, стабилитроны): чёрное кольцо — это катод; маркировка совсем мелкая, поэтому читай её через лупу или проверь мультиметром.
  • Диоды для поверхностного монтажа (SMD): полоска вдоль одного края корпуса обозначает катод; диод с маркировкой M7 на платах Arduino — это SMD-аналог 1N4007.
  • Светодиоды: длинная ножка — анод, короткая — катод; срез на ободке светодиода тоже указывает на сторону катода.
  • Диодные мосты: четыре вывода обозначены ~ (входы переменного тока), + и −.
  • Если маркировка стёрлась: режим проверки диодов на мультиметре покажет направление за секунды; ниже разберём это шаг за шагом.

Прямое напряжение: 0,7 V у кремниевых, 0,3 V у диодов Шоттки

Когда диод проводит ток, на нём падает небольшое, почти постоянное напряжение; его называют прямым напряжением (VF). Для кремниевых диодов все запоминают 0,7 V, но это не фиксированное число: на 1N4007 при нескольких миллиамперах падает примерно 0,55 V, а при 1 A — 0,9–1,0 V. С ростом температуры прямое напряжение снижается примерно на 2 mV на °C; позже мы используем это, чтобы превратить диод в датчик температуры. Прямое напряжение означает нагрев: мощность, рассеиваемая на диоде, равна P = VF × I. Диод 1N4007, проводящий 1 A, выделяет около 1 W тепла и нагревается так, что к нему не прикоснуться; при том же токе на диоде Шоттки 1N5819 падает не более 0,6 V, и нагрев уменьшается почти вдвое.

Виды диодов

ТипПрямое напряжениеЧто делаетПримерГде применяется
Выпрямительный диод0,6–1,1 VВыдерживает высокое обратное напряжение и проводит 1 A и больше; медленный1N4007, 1N5408 (3 A)Блоки питания, выпрямление, защита от переполюсовки
Импульсный (маломощный) диод0,6–1,0 VПереключается очень быстро, малый ток1N4148Сигнальные цепи, логические схемы, клавиатуры, маленькие реле
Диод Шоттки0,15–0,6 VНизкое прямое напряжение и очень высокая скорость; больший ток утечки1N5819, SS34, BAT54Схемы с батареями, выбор источника питания, моторы с ШИМ-управлением
Стабилитрон (диод Зенера)Vz в обратном направлении (~0,7 V в прямом)Проводит в обратном направлении при заданном напряжении (Vz)1N4733A (5,1 V), 1N4728A (3,3 V)Ограничение напряжения и опорные источники
Светодиод1,8–3,4 V (в зависимости от цвета)Излучает свет, пока проводит токСветодиод 5 мм, светодиоды внутри WS2812BИндикаторы, освещение, дисплеи
Фотодиод—Создаёт ток, когда на него падает светBPW34, ИК-приёмникиОбнаружение света и инфракрасного излучения
TVS-диод (супрессор)Напряжение пробоя в обратном направленииОчень быстро поглощает внезапные выбросы напряженияСерии SMBJ и P6KEЗащита от ESD и импульсных перенапряжений
Германиевый диод0,2–0,3 VНизкое прямое напряжение, устаревшая технология1N34AСтарые радиосхемы, детектирование сигнала

Светодиод — тоже диод

Как следует из названия, светодиод (LED, Light Emitting Diode) — это диод, который излучает свет. Как и обычный диод, он пропускает ток только от анода к катоду; разница в том, что энергия, выделяющаяся при рекомбинации электронов и дырок в P-N-переходе, выходит не в виде тепла, а в виде света. Цвет задаёт материал полупроводника, и чем ближе цвет к синему, тем выше прямое напряжение: красному светодиоду нужно около 2 V, а синим и белым — около 3 V. Значения для каждого цвета ты найдёшь в утилите напряжения светодиодов.

Светодиоды 5 мм разных цветов
Светодиоды 5 мм — тоже диоды: длинная ножка — анод, короткая — катод, а у каждого цвета своё прямое напряжение.

Одно важное отличие диода от светодиода — допустимое обратное напряжение: 1N4007 выдерживает 1000 V, а типичный даташит светодиода допускает в обратном направлении всего около 5 V. Поэтому светодиод не стоит использовать как выпрямитель. Второе правило: всегда ограничивай ток светодиода последовательным резистором, потому что после превышения прямого напряжения ток растёт очень быстро. Для красного светодиода с питанием 5 V резистор получается (5 − 2) / 0,015 ≈ 200 Ω, значит, стандартный номинал — 220 Ω; расчёт можно сделать в калькуляторе резистора для светодиода. Подробнее о подключении светодиодов и выборе цвета читай в статье Что такое светодиод?.

1N4007, 1N4148 и 1N5819: какой и когда использовать?

Характеристика1N40071N41481N5819
ТипКремниевый выпрямительныйКремниевый импульсныйШоттки
КорпусDO-41, чёрный корпусDO-35, стеклянный корпусDO-41, чёрный корпус
Макс. обратное напряжение (VRRM)1000 V100 V40 V
Средний прямой ток1 A150–200 mA (зависит от производителя)1 A
Прямое напряжение (VF)≤ 1,1 V (при 1 A)≤ 1 V (при 10 mA)≤ 0,6 V (при 1 A), ~0,3 V при малом токе
Обратное восстановление (trr)Медленное (микросекунды)4 нсПрактически отсутствует
Обратная утечка (25 °C)≤ 5 µA≤ 25 nA (при 20 V)≤ 0,5 mA (при 40 V)
Типичное применениеВыпрямление, защита от переполюсовки, обратный диод релеСигналы, логика, клавиатуры, обратный диод маленьких релеЦепи питания от батареи и USB, обратный диод мотора с ШИМ

Диоды семейства от 1N4001 до 1N4007 различаются только допустимым обратным напряжением (50 V у 1N4001, 1000 V у 1N4007); стоят они почти одинаково, поэтому большинство ставит 1N4007 везде. 1N4148 — маломощный, но очень быстрый диод; сотни миллиампер длительно он не потянет, зато в сигнальных и логических схемах ему нет равных. 1N5819 с его низким прямым напряжением экономит драгоценные вольты в схемах с питанием от батареи и USB; его единственные минусы — невысокий предел 40 V и ток утечки, который растёт с температурой. Для токов до 3 A переходи на 1N5408 (кремний) или на семейство SS34 / 1N5822 (Шоттки). С моторами, которыми управляют через ШИМ, быстрый UF4007 (75 нс) или диод Шоттки греется меньше, чем медленный 1N4007.

Защита от переполюсовки: спасаем схему от батареи, подключённой наоборот

Батарейный отсек, подключённый задом наперёд, или не тот адаптер — один из самых частых способов спалить схему. Самое простое решение — последовательный диод на входе питания: при правильной полярности диод проводит, при обратной ток не течёт, и схема остаётся целой. В Arduino Uno R3 это уже сделано: на входе круглого разъёма питания (DC jack) стоит диод с маркировкой M7, SMD-аналог 1N4007. Именно поэтому при питании платы от адаптера 9 V на пине VIN измеряется около 8,3 V. Цена последовательного диода — это потеря напряжения: если пропустить питание 5 V от USB через 1N4007, останется около 4,3 V, а через 1N5819 — около 4,7 V.

СпособПотеря напряженияПлюсыМинусы
Последовательный кремниевый диод (1N4007)0,7–1 VОчень дёшево, выдерживает 1000 VБольшие потери и нагрев
Последовательный диод Шоттки (1N5819)0,3–0,6 VДёшево, меньше потерьБольшой ток утечки, предел 40 V
P-канальный MOSFETОт нескольких до десятков mVПочти без потерь, большой токСхема чуть сложнее
Параллельный диод + предохранительНетВ обычном режиме потерь нетПри переполюсовке предохранитель сгорает, и его нужно менять
Защитный диод Arduino Uno стоит только на круглом разъёме питания (DC jack). Когда питание подаётся на пины VIN или 5V, этого диода в цепи нет; перепутай провода — и стабилизатор вместе с ATmega328P могут сгореть мгновенно. В проектах с батарейным питанием ставь на вход отдельный диод; какой пин безопасен для каждого типа питания, ты найдёшь в статье Как запитать Arduino.

Диоды применяют и для объединения двух источников питания; такая схема называется «диодное ИЛИ» (diode-OR). Каждый источник подключается к общей точке через свой диод Шоттки; нагрузку питает тот, у кого напряжение выше, а источники не могут гнать ток друг в друга. У Raspberry Pi Pico линия VBUS от USB уже подключена к шине VSYS через диод Шоттки. Если нужно питать Pico и от USB, и от батареи, достаточно подключить батарею к VSYS через второй диод Шоттки (катодом к VSYS), и батарея не будет питать порт USB в обратную сторону. На оригинальной Arduino Nano тоже стоит диод Шоттки (MBR0520) на линии USB, поэтому на пине 5V у Nano с питанием от USB нормально видеть чуть меньше 5 V.

Обратный диод: защита от выбросов реле и моторов

Индуктивные нагрузки — катушки реле, моторы, соленоиды и вентиляторы — сопротивляются резкому падению тока. В момент, когда транзистор закрывается, магнитная энергия, накопленная в катушке, ищет выход и, по формуле V = L × di/dt, создаёт обратный выброс напряжения, который может достигать сотен вольт. Этот выброс пробивает транзистор, перезагружает Arduino или повреждает его пины. Лекарство — обратный диод (flyback, его также называют диодом свободного хода), подключённый параллельно катушке в обратном направлении: в обычном режиме он смещён в обратную сторону и ничего не делает; когда ток прерывается, он даёт току катушки путь для циркуляции и ограничивает выброс примерно на 0,7 V выше напряжения питания.

Одноканальный модуль реле на 5 V
На готовых модулях реле уже есть обратный диод катушки, транзистор-драйвер и индикаторный светодиод; если используется голое реле, диод придётся добавить отдельно.
  1. Определи, какой вывод катушки идёт к плюсу питания, а какой — к коллектору транзистора (или к стоку MOSFET).
  2. Припаяй конец диода с полоской (катод) к выводу катушки, подключённому к плюсу питания.
  3. Подключи анод к выводу катушки, который идёт к транзистору; диод должен стоять параллельно катушке, но смотреть в обратную сторону.
  4. Выбери диод: для реле на 5 V и 12 V хватит 1N4007 или 1N4148; для моторов, скорость которых задаётся ШИМ, используй быстрый диод Шоттки (1N5819) или UF4007. Допустимый ток диода должен быть больше тока катушки.
  5. Размести диод как можно ближе к катушке; по длинным проводам часть выброса расходится по схеме.
  6. Перед подачей питания ещё раз проверь направление: обратный диод, установленный задом наперёд, закорачивает питание в момент, когда открывается транзистор.
Обратный диод задерживает размыкание контактов реле на несколько миллисекунд, потому что ток катушки медленно затухает через диод. В большинстве проектов это незаметно; для реле, которые должны отпускать очень быстро, последовательно с диодом добавляют стабилитрон. В микросхемах-драйверах вроде ULN2003 обратные диоды встроены; не забудь подключить их общий вывод (COM) к питанию мотора. Как использовать готовые модули реле, читай в статье Что такое модуль реле?, а схему управления на транзисторе — в статье Что такое транзистор?.

Диодный мост: превращаем переменный ток в постоянный

Напряжение в сети и на выходе трансформатора — это переменный ток (AC): его частота в Европе 50 Hz (в Северной Америке 60 Hz), то есть за секунду он совершает 50 полных циклов и 100 раз меняет направление. А Arduino нужен постоянный ток (DC), который направления не меняет. Одиночный диод пропускает только положительную половину синусоиды; это называется однополупериодным выпрямлением. Диодный мост из четырёх диодов, соединённых ромбом, в каждом полупериоде открывает два диода и переворачивает отрицательную половину тоже в положительную; это называется двухполупериодным выпрямлением. Большой электролитический конденсатор на выходе превращает это пульсирующее напряжение в ровное постоянное, близкое к пиковому значению.

Вот как это посчитать: на трансформаторе указано действующее значение (RMS), а пиковое в √2 раз больше. У трансформатора на 9 V AC пик равен 9 × 1,414 ≈ 12,7 V. В мосте ток всегда проходит через два диода, поэтому теряется около 1,6 V, и конденсатор заряжается примерно до 11 V. Когда нагрузка потребляет ток, конденсатор разряжается между пиками; эти пульсации примерно равны Vr = I / (2 × f × C). При нагрузке 0,5 A и конденсаторе 2200 µF получаем Vr = 0,5 / (2 × 50 × 0,0022) ≈ 2,3 V, то есть напряжение колеблется примерно между 8,8 и 11 V. Стабилизатор вроде 7805 превратит это в чистые 5 V. Как работают конденсаторы, читай в статье Что такое конденсатор?, а про стабилизатор — в статье Стабилизатор напряжения 7805.

ВыпрямительЧисло диодовЧастота пульсаций (сеть 50 Hz)Примечание
Однополупериодный150 HzСамый простой; при том же конденсаторе пульсации вдвое больше
Двухполупериодный со средней точкой2100 HzНужен трансформатор со средней точкой; одновременно проводит один диод
Мостовой (двухполупериодный)4 или готовый диодный мост100 HzСамый распространённый; одновременно проводят два диода, потери ~1,4–2 V
Сетевое напряжение (230 V в Европе, 120 V в Северной Америке) может убить. Экспериментируй с диодными мостами только на низковольтном выходе готового трансформатора в закрытом корпусе (например, 9 V или 12 V AC); никогда не собирай схемы, подключённые напрямую к сети. При установке конденсатора следи за плюсом и минусом электролитов и выбирай номинальное напряжение минимум на 50% выше пикового выходного (например, 25 V для 11 V).

Ограничение напряжения стабилитроном

Стабилитрон (диод Зенера) устроен так, что начинает контролируемо проводить ток, когда обратное напряжение достигает определённого значения. Оно называется напряжением стабилизации (Vz) и бывает многих стандартных номиналов от 2,4 V до 200 V; чаще всего встречаются 3,3 V, 5,1 V и 12 V. Стабилитрон включают в обратном направлении: катодом к плюсу, анодом к GND. Ниже Vz ток почти не течёт; когда напряжение достигает Vz, диод отводит избыточный ток на GND и удерживает напряжение на этом уровне. В прямом направлении на нём, как на обычном диоде, падает около 0,7 V. Стабилитрон никогда не ставят в одиночку: обязательно нужен последовательный резистор, ограничивающий ток, иначе он сгорит в первую же секунду.

Последовательный резистор рассчитывается по формуле R = (Vin − Vz) / (Iz + Iload). Допустим, нужно стабильные 5,1 V из 12 V для схемы, потребляющей 5 mA, при токе через стабилитрон 10 mA: R = (12 − 5,1) / (0,010 + 0,005) = 460 Ω, значит, выбираем стандартный номинал 470 Ω. Если нагрузку отключить, весь ток пойдёт через стабилитрон: 6,9 V / 470 Ω ≈ 14,7 mA, и стабилитрон рассеет 5,1 × 0,0147 ≈ 75 mW, что вполне комфортно для стабилитрона на 0,5 W. Резистор рассеивает 6,9² / 470 ≈ 0,1 W, так что хватит резистора на 1/4 W. Расчёты напряжения и резисторов можно проверить в калькуляторе закона Ома.

  • Предел мощности: серия 1N47xx (например, 1N4733A на 5,1 V) рассчитана на 1 W, серии BZX55 и 1N52xx — на 0,5 W. Мощность, рассеиваемая стабилитроном, равна P = Vz × Iz, и лучше держать её ниже половины номинала.
  • Защита входа: чтобы подать сигнал 12 V на вход Arduino с логикой 5 V, можно поставить последовательный резистор 10 kΩ и стабилитрон 5,1 V от пина к GND; напряжение на пине не сможет превысить 5,1 V.
  • Следи за утечкой: низковольтные стабилитроны пропускают ток и ниже Vz; по даташиту 1N4728A (3,3 V) может давать утечку до 100 µA даже при 1 V. В высокоомных аналоговых измерительных цепях эта утечка искажает показания.
  • Это не стабилизатор питания: стабилитрон подходит для опорных и защитных задач с током в несколько десятков миллиампер. Для питания Arduino или мотора используй линейный стабилизатор вроде 7805 или понижающий модуль вроде LM2596.
  • Если нужен точный опорный источник: стабилитроны примерно на 5,1 V и 5,6 V меньше всего меняются с температурой; для более стабильного опорного напряжения предпочитают регулируемые источники опорного напряжения вроде TL431.

Проверка диода мультиметром

  1. Выпаяй диод из схемы или хотя бы отпаяй один вывод; другие детали в схеме могут сбить измерение.
  2. Поверни переключатель в положение со значком диода. На многих мультиметрах оно совмещено с прозвонкой (звуковым сигналом).
  3. Приложи красный щуп к аноду, а чёрный — к катоду с полоской. Исправный кремниевый диод покажет значение от 0,5 до 0,7; это прямое напряжение при испытательном токе около 1 mA (некоторые приборы показывают его в милливольтах, например 550).
  4. Поменяй щупы местами. Исправный диод в этом направлении не проводит, и на дисплее появится OL или одна 1 у левого края.
  5. Если в обоих направлениях видно значение около нуля и слышен писк, диод пробит (короткое замыкание); если в обоих направлениях OL, у диода обрыв, то есть он повреждён внутри. В обоих случаях его нужно заменить.
Что измеряемПрямое (красный щуп на аноде)Обратное
1N4007 (кремниевый выпрямительный)0,50–0,60 VOL
1N4148 (импульсный)0,60–0,70 VOL
1N5819 (Шоттки)0,15–0,30 VOL (в нагретом состоянии возможно очень большое значение)
Стабилитрон 5,1 V (1N4733A)0,65–0,75 VOL (испытательное напряжение прибора не достигает 5,1 V)
Красный светодиод1,6–1,9 V, светодиод слабо светитсяOL
Синий / белый светодиод2,5–3,0 V или OL (испытательного напряжения может не хватить)OL
Пробитый диод0,00–0,05 V и писк0,00–0,05 V и писк
Диод с обрывомOLOL
Точно так же можно измерить переходы база-эмиттер и база-коллектор транзистора: в биполярном транзисторе два P-N-перехода, которые ведут себя как два диода. Подробнее о других режимах мультиметра читай в статье Как пользоваться мультиметром.

Тестер диодов на Arduino

Если мультиметра нет или хочется пойти на шаг дальше, Arduino Uno можно превратить в простой тестер диодов. Идея та же, что у мультиметра: через деталь по очереди в каждом направлении пропускается небольшой ток и измеряется напряжение на ней. Два цифровых пина питают оба конца детали через резисторы 1 kΩ, а два аналоговых пина читают напряжение на каждом конце. Ток ограничен примерно 2 mA, поэтому диоды, светодиоды и даже детали, вставленные наоборот, не повреждаются.

ПодключениеArduino UnoОписание
Резистор 1 (1 kΩ)Между D2 и A0Питает сторону A0
Резистор 2 (1 kΩ)Между D3 и A1Питает сторону A1
Один вывод проверяемой деталиA0Направление не важно
Другой вывод проверяемой деталиA1Код сам определяет, с какой стороны анод
C++ (Arduino IDE)
1// Arduino ile diyot test cihazı / Diode tester with Arduino
2// D2 -> 1 kΩ -> A0 -> [test edilen parça / part under test] -> A1 -> 1 kΩ -> D3
3const int PIN_A = 2;        // A0 tarafını besler / drives the A0 side
4const int PIN_B = 3;        // A1 tarafını besler / drives the A1 side
5const float VREF = 5.0;     // 5V pininde ölçtüğün değer / the value you measure on the 5V pin
6
7// highPin'i HIGH, lowPin'i LOW yapar ve parça üzerindeki gerilimi döndürür
8// Drives highPin HIGH, lowPin LOW and returns the voltage across the part
9float measure(int highPin, int lowPin, int highAdc, int lowAdc) {
10  digitalWrite(highPin, HIGH);
11  digitalWrite(lowPin, LOW);
12  delay(5);
13  long sum = 0;
14  for (int i = 0; i < 16; i++) {
15    sum += analogRead(highAdc) - analogRead(lowAdc);
16  }
17  digitalWrite(highPin, LOW);              // ölçüm bitti, akımı kes / done, cut the current
18  return sum / 16.0 * VREF / 1023.0;
19}
20
21// İleri gerilime göre türü tahmin eder / Guesses the type from the forward voltage
22const char* identify(float vf) {
23  if (vf < 0.40) return "Schottky";
24  if (vf < 1.00) return "silisyum diyot / silicon diode";
25  return "LED";
26}
27
28void setup() {
29  pinMode(PIN_A, OUTPUT);
30  pinMode(PIN_B, OUTPUT);
31  digitalWrite(PIN_A, LOW);
32  digitalWrite(PIN_B, LOW);
33  Serial.begin(9600);
34}
35
36void loop() {
37  float vAB = measure(PIN_A, PIN_B, A0, A1);   // A0 tarafı artı / A0 side positive
38  float vBA = measure(PIN_B, PIN_A, A1, A0);   // A1 tarafı artı / A1 side positive
39  bool ab = vAB < 4.0;                         // A0 -> A1 yönünde iletim / conducts from A0 to A1
40  bool ba = vBA < 4.0;                         // A1 -> A0 yönünde iletim / conducts from A1 to A0
41
42  if (ab && ba) {
43    if (vAB < 0.1 && vBA < 0.1) {
44      Serial.println("Kısa devre / short circuit");
45    } else {
46      Serial.println("İki yönde iletim: direnç ya da düşük gerilimli zener / conducts both ways: resistor or low-voltage zener");
47    }
48  } else if (ab || ba) {
49    float vf = ab ? vAB : vBA;
50    Serial.print(ab ? "Anot A0 tarafında / anode on A0 side" : "Anot A1 tarafında / anode on A1 side");
51    Serial.print("  Vf = ");
52    Serial.print(vf, 3);
53    Serial.print(" V  -> ");
54    Serial.println(identify(vf));
55  } else {
56    Serial.println("İletim yok: açık devre ya da parça yok / no conduction: open circuit or no part");
57  }
58  delay(2000);
59}

Сначала код ставит D2 в HIGH, D3 в LOW и измеряет разность между A0 и A1, затем повторяет то же самое в обратном направлении. Если низкое напряжение читается только в одном направлении, деталь — диод, и это направление показывает, где анод; значение ниже 0,40 V относится к диодам Шоттки, до 1 V — к кремниевым, а всё, что выше, — к светодиодам. Значение около нуля в обоих направлениях означает короткое замыкание, а около 5 V в обоих направлениях — отсутствие проводимости. Результаты видны в мониторе порта на скорости 9600 бод; для более точных измерений измерь напряжение на пине 5V мультиметром и обнови VREF. Если вставить 1N4148, ты увидишь значение около Vf = 0.640 V и результат «silicon diode» (кремниевый диод).

ESP32: защита аналогового входа диодами Шоттки

Пины ESP32 выдерживают только 3,3 V, а абсолютный предел — около 3,6 V. Чтобы измерить аккумулятор на 12 V, сначала понизь напряжение делителем напряжения: плюс аккумулятора идёт через 100 kΩ на GPIO 34, а GPIO 34 — через 22 kΩ на GND. При таком соотношении 12,6 V превращаются на пине примерно в 2,27 V. А как быть с выбросами, которые появляются, пока аккумулятор заряжается или работает мотор? Здесь страховочной сеткой служат два маленьких диода Шоттки: один идёт от пина к 3V3 (катод на 3V3), другой от GND к пину (катод на пине). Если напряжение на пине поднимется выше 3,3 V более чем примерно на 0,3 V или опустится ниже нуля, излишек уходит через диоды, а резистор 100 kΩ держит этот ток небольшим.

C++ (Arduino IDE)
1// ESP32 ile 12 V akü gerilimi ölçme, diyot korumalı giriş / 12 V battery voltage with ESP32, diode-protected input
2// Akü + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND / battery + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND
3// Schottky 1: anot GPIO 34, katot 3V3 / anode GPIO 34, cathode 3V3
4// Schottky 2: anot GND, katot GPIO 34 / anode GND, cathode GPIO 34
5const int SENSE_PIN = 34;                     // yalnızca giriş, ADC1 / input only, ADC1
6const float RATIO = (100.0 + 22.0) / 22.0;    // bölücü oranı yaklaşık 5,55 / divider ratio about 5.55
7
8void setup() {
9  Serial.begin(115200);
10}
11
12void loop() {
13  uint32_t sum = 0;
14  for (int i = 0; i < 32; i++) {
15    sum += analogReadMilliVolts(SENSE_PIN);   // kalibre edilmiş mV / calibrated millivolts
16    delay(2);
17  }
18  float pinV = sum / 32.0 / 1000.0;           // pindeki gerilim / voltage on the pin
19  float batteryV = pinV * RATIO;              // akü gerilimi / battery voltage
20  Serial.printf("Pin: %.3f V  Akü / battery: %.2f V\n", pinV, batteryV);
21  if (batteryV < 11.8) {
22    Serial.println("Akü zayıf / battery low");
23  }
24  delay(1000);
25}
Для этой задачи выбирай маломощные сигнальные диоды Шоттки, например BAT54S или BAT85. Силовые диоды Шоттки вроде 1N5819 дают большую утечку; в делителе на 100 kΩ даже утечка в несколько микроампер сдвигает показания на десятки милливольт. По той же причине низковольтный стабилитрон здесь тоже не лучший выбор.

Raspberry Pi Pico: измерение температуры диодом (MicroPython)

Помнишь, что прямое напряжение диода падает примерно на 2 mV на каждый °C? Встроенный датчик температуры Raspberry Pi Pico работает именно по этому принципу: согласно даташиту RP2040, датчик на кристалле измеряет напряжение смещённого биполярного диода; при 27 °C оно обычно равно 0,706 V и падает на 1,721 mV на градус. То же самое можно сделать с внешним 1N4148: подключи пин 3V3 через резистор 10 kΩ к GP26 и к аноду диода, а катод — к GND. Через диод течёт около 0,27 mA, и напряжение на GP26 меняется вместе с температурой.

MicroPython
1# Pico: diyotla sıcaklık ölçümü / Temperature measurement with a diode
2# 3V3 -> 10 kΩ -> GP26 + 1N4148 anodu / anode, katot / cathode -> GND
3from machine import ADC
4import time
5
6chip = ADC(4)        # yonga içindeki sıcaklık diyodu / on-chip temperature diode
7diode = ADC(26)      # GP26 (ADC0): harici 1N4148 / external 1N4148
8CONV = 3.3 / 65535   # read_u16 değerini volta çevirir / converts read_u16 to volts
9
10# Kalibrasyon: oda sıcaklığındaki değerlerini yaz / Calibration: enter your room-temperature values
11T0 = 22.0            # termometredeki sıcaklık (°C) / thermometer reading (°C)
12V0 = 0.600           # o sıcaklıkta diyot gerilimi (V) / diode voltage at that temperature (V)
13SLOPE = -0.002       # 1N4148 için yaklaşık -2 mV/°C / about -2 mV/°C for a 1N4148
14
15def average_voltage(adc, n=64):
16    total = 0
17    for _ in range(n):
18        total += adc.read_u16()
19    return total / n * CONV
20
21while True:
22    v_chip = average_voltage(chip)
23    t_chip = 27 - (v_chip - 0.706) / 0.001721    # RP2040 veri sayfası formülü / RP2040 datasheet formula
24    v_diode = average_voltage(diode)
25    t_diode = T0 + (v_diode - V0) / SLOPE
26    print("Yonga / chip: {:.1f} °C   Diyot / diode: {:.3f} V -> {:.1f} °C".format(t_chip, v_diode, t_diode))
27    time.sleep(1)

При первом запуске кода посмотри температуру в комнате на термометре, затем впиши напряжение диода, которое видно на экране, в V0, а показание термометра — в T0. Напряжение у каждого диода немного своё, поэтому такая калибровка по одной точке обязательна. Потом зажми диод между пальцами: через несколько секунд напряжение упадёт, а температура вырастет. На датчик на кристалле влияет и собственное тепло платы, так что ни тот, ни другой не являются точным термометром; оба — учебные опыты, показывающие принцип. Для настоящих измерений используй цифровой датчик вроде DS18B20.

Идеи проектов с диодами

  • Тестер диодов с LCD: объедини код выше с дисплеем I2C LCD, чтобы тип и прямое напряжение появлялись сразу после того, как вставлена деталь.
  • Питание с резервной батареей: объедини USB и батарейный блок двумя диодами Шоттки, чтобы Arduino без перерыва продолжала работать от батареи, когда USB отключают.
  • Клавиатура без «фантомных» нажатий: добавь 1N4148 к каждой кнопке самодельной кнопочной матрицы, чтобы одновременное нажатие нескольких кнопок не давало ложной клавиши. Логику сканирования матрицы ты найдёшь в статье Как подключить матричную клавиатуру.
  • Светодиоды и чарлиплексинг (Charlieplexing): используй то, что светодиоды проводят ток только в одну сторону, чтобы управлять 6 светодиодами всего с 3 пинов или 12 светодиодами с 4 пинов.
  • Автополив: управляй насосом через реле и защити его обратным диодом; про измерение влажности читай в статье Датчик влажности почвы.
  • Зарядка от солнечной панели: поставь блокирующий диод Шоттки между панелью и аккумулятором, чтобы ночью аккумулятор не разряжался обратно в панель.

Частые ошибки и как их исправить

СимптомВероятная причинаРешение
Схема совсем не работаетПоследовательный защитный диод установлен наоборотРазверни его: катод с полоской к нагрузке, анод без полоски к плюсу питания
Arduino перезагружается каждый раз, когда выключается реле или моторНет обратного диодаПоставь 1N4007 или 1N4148 параллельно катушке, катодом к плюсу
Питание проседает, когда открывается транзистор, и диод греетсяОбратный диод стоит наоборот и закорачивает питаниеРазверни диод: катодом к плюсу питания
Модуль после последовательного диода работает нестабильноПотеря 0,7–1 V на прямом напряженииИспользуй диод Шоттки (1N5819) или P-канальный MOSFET
Диод сильно греетсяПревышен допустимый ток или медленный диод при высокочастотном ШИМВыбери 1N5408 на 3 A или диод Шоттки / UF4007
Стабилитрон быстро выходит из строяНет последовательного резистора или он слишком малРассчитай R = (Vin − Vz) / I и проверь мощность стабилитрона
После установки защитного диода аналоговые показания плывутТок утечки диода или стабилитронаИспользуй маломощный диод Шоттки (BAT54) и уменьши сопротивления делителя
Если хочется держать в запасе всего несколько типов диодов, эта тройка закрывает большинство задач: 1N4007 для питания и защиты, 1N4148 для сигналов и маленьких реле и 1N5819 для схем с батареями и малых потерь. Добавь по упаковке стабилитронов на 3,3 V и 5,1 V — и стартовый набор готов.

Диод — одна из самых простых на вид, но самых трудолюбивых деталей в электронике: он направляет ток в одну сторону, защищает схему, превращает переменный ток в постоянный, а в виде светодиода ещё и светит. Как только войдёт в привычку определять полярность по полоске, учитывать потерю на прямом напряжении и ставить обратный диод на индуктивные нагрузки, сгоревших деталей в проектах станет гораздо меньше. В приложении BlueGrays есть проекты со светодиодами, реле, моторами и автополивом с пошаговыми схемами подключения и готовым кодом, так что ты своими глазами увидишь, где стоят диоды в настоящих схемах.

Частые вопросы

Для чего нужен диод?

Диод пропускает ток только в одном направлении, от анода к катоду. Благодаря этому он подходит для преобразования переменного тока в постоянный (выпрямления), защиты схемы от батареи, подключённой наоборот, подавления выбросов напряжения от реле и моторов, а в виде стабилитрона — для ограничения напряжения на заданном уровне. Светодиод — тоже диод, только излучающий свет.

Какая сторона диода плюс?

Плюсовая сторона диода — анод, минусовая — катод. Катод обозначен полоской (кольцом) на корпусе, а на схемном обозначении катод показывает вертикальная черта. Чтобы диод проводил, анод должен быть примерно на 0,7 V положительнее катода; у светодиодов анод — длинная ножка.

Чем диод отличается от светодиода?

Оба пропускают ток только в одну сторону; светодиод — это особый диод, который излучает свет, пока проводит ток. Его прямое напряжение в зависимости от цвета составляет от 1,8 до 3,4 V, а в обратном направлении он выдерживает всего около 5 V. Поэтому светодиод не используют как выпрямитель и всегда подключают через последовательный резистор.

Чем стабилитрон отличается от обычного диода?

Обычный диод не пропускает ток в обратном направлении и выходит из строя, если превысить допустимое напряжение. Стабилитрон (диод Зенера) намеренно проводит в обратном направлении при определённом напряжении (например, 5,1 V) без повреждений и поэтому удерживает напряжение на этом уровне. Стабилитрон включают в обратном направлении, катодом к плюсу, и всегда с последовательным резистором.

Как проверить, исправен ли диод?

Переведи мультиметр в режим проверки диодов и приложи красный щуп к аноду, а чёрный — к катоду. Исправный кремниевый диод покажет 0,5–0,7 V, а если поменять щупы местами, появится OL. Значение около нуля в обоих направлениях означает пробой (короткое замыкание), а OL в обоих направлениях — обрыв.

Какие ток и напряжение у 1N4007?

1N4007 — кремниевый выпрямительный диод, который проводит средний прямой ток 1 A и выдерживает повторяющееся обратное напряжение 1000 V. Его прямое напряжение не превышает 1,1 V при 1 A, а одиночные импульсы тока он выдерживает до 30 A. Для больших токов применяют 1N5408 на 3 A.

Все проекты
Мигающий светодиод
#1Новичок

Мигающий светодиод

Самое первое «привет» в электронике: включение и выключение одного светодиода. Arduino включает и выключает светодиод через короткие промежутки, поэтому свет быстро мигает. Ты самым простым способом в

4.6(188)
1127
Мигающий светодиод на ESP32
#103Новичок

Мигающий светодиод на ESP32

Учит базовой работе с выходами GPIO на ESP32. Эффект мигания получается включением и выключением светодиода с цифрового пина. Это ESP32-версия классического проекта мигания на Arduino UNO; базовые команды мигания в среде Arduino те же, но расположение пинов ESP32 и уровни GPIO 3,3 V отличаются от Arduino UNO.

4.7(37)
99
Raspberry Pi Pico: управление внешним светодиодом (макетная плата)
#148Новичок

Raspberry Pi Pico: управление внешним светодиодом (макетная плата)

Следующий шаг после встроенного светодиода Pico: подключить внешний светодиод на макетной плате и управлять им через пин GP14. В этом проекте ты узнаешь, как использовать любой пин GPIO общего назначения у Pico как выход, какая полярность у светодиода (длинная ножка = анод/+, короткая = катод/–) и зачем нужен токоограничивающий резистор (220Ω). Без резистора через светодиод пойдёт слишком большой ток, и он может сгореть. Схема очень простая: Pico GP14 → резистор 220Ω → светодиод → GND.

4.5(2)
7
Включение лампы 220V кнопкой (удержание)
#19Продвинутый
Premium

Включение лампы 220V кнопкой (удержание)

Пока ты держишь кнопку, горит настоящая лампа на 220 вольт, а как только отпустишь — гаснет. Слабый сигнал Arduino не может зажечь лампу напрямую, поэтому между ними стоит реле — выключатель с электри

4.4(30)
38
Включение лампы 220V пультом
#21Продвинутый
Premium

Включение лампы 220V пультом

Включай и выключай настоящую лампу у себя дома пультом от телевизора, не вставая с дивана. Arduino читает невидимый световой сигнал пульта; кнопка питания щёлкает реле и включает лампу, а кнопка отклю

4.4(22)
30
Умная станция полива
#83Продвинутый
Premium

Умная станция полива

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

5.0(42)
57
Машинка на L298N с управлением по Bluetooth
#80Продвинутый
Premium

Машинка на L298N с управлением по Bluetooth

Преврати телефон в пульт и управляй своей машинкой-роботом. Arduino получает команды из приложения-пульта на телефоне через Bluetooth-модуль и вращает колёса через драйвер моторов; машинка едет вперёд

5.0(38)
65
Работа с шаговым мотором
#67Средний
Premium

Работа с шаговым мотором

Мотор, который поворачивается шаг за шагом ровно настолько, насколько нужно, как стрелка часов. Через плату драйвера Arduino поворачивает маленький шаговый мотор на полный оборот в одну сторону, ждёт

4.5(31)
42