Вопросы и ответы
Ответы на вопросы, которые чаще всего задают в поиске: почему греется деталь, чем отличаются два компонента, какой выбрать и как посчитать. Ответ — в первых строках, ниже — расчёт или таблица, источники и ссылки на подробные статьи и калькуляторы.
Питание
- Почему греется диодный мост?Ток нагрузки в мосте всегда течёт через два диода, и на каждом теряется до 1 В, поэтому мост выделяет около P = 2·VF·I — несколько ватт уже при токе 1,5–3 А. Сверх нормы он греется, когда ток больше допустимого для его способа охлаждения или ёмкость фильтра слишком велика.
- Можно ли подать постоянное напряжение на диодный мост?Можно: ток пойдёт через два диода, и на выходе будет постоянное напряжение правильной полярности при любой полярности на входе, только меньше входного на два прямых падения — около 2 В у кремниевого моста. Так мост защищает устройство от переполюсовки, но весь ток всё время идёт через одни и те же два диода.
- Как рассчитать конденсатор после диодного моста?По току нагрузки и допустимым пульсациям: между пиками конденсатор питает нагрузку не дольше полупериода, поэтому C = I / (2·f·ΔU) — для 1 А, 50 Гц и пульсаций 2 В это 5000 мкФ. Сверху ёмкость ограничивает мост: B40C1500G допускает не больше 5000 мкФ и не меньше 1 Ом последовательно.
- Как проверить стабилизатор 7805 мультиметром?Только под питанием: подайте на вход 7–20 В и измерьте напряжение между выходом и общим выводом — у исправного MC7805C будет 4,75–5,25 В, и под нагрузкой до 1 А оно меняется не больше чем на 25 мВ. Если на выходе почти входное напряжение, стабилизатор пробит.
- Что будет, если подать напряжение на выход стабилизатора?Если на выходе линейного стабилизатора напряжение выше, чем на входе, ток пойдёт обратно через его внутренние цепи, и стабилизатор может сгореть: TI предупреждает, что выход 7805 не потребляет ток. Защищает диод с выхода на вход — он нужен при большом конденсаторе на выходе или втором источнике.
- Что будет, если подать напряжение на вторичную обмотку трансформатора?Трансформатор заработает наоборот и повысит напряжение по отношению витков: 12 В переменного на вторичной обмотке трансформатора 230/12 В дадут на сетевой около 176 В — это опасно для жизни. Постоянное подавать нельзя: оно не трансформируется, и ток ограничит лишь сопротивление провода.
- Как рассчитать ток короткого замыкания?Ток короткого замыкания источника — его ЭДС, делённая на внутреннее сопротивление, потому что внешнего сопротивления не остаётся: I = ε / r. Для щелочной батарейки Energizer E91 с ЭДС 1,5 В и внутренним сопротивлением 150–300 мОм это от 5 до 10 А; у стабилизированных источников ток ограничивает их собственная защита.
- Чем отличается стабилизатор от выпрямителя?Выпрямитель превращает переменное напряжение в постоянное, но пульсирующее и зависящее от сети и нагрузки, а стабилизатор держит постоянное напряжение неизменным. В блоке питания они стоят друг за другом: мост, конденсатор, стабилизатор — MC7805C ослабляет оставшиеся пульсации не меньше чем на 62 дБ, в 1260 раз.
- Как выбрать самовосстанавливающийся предохранитель?По току удержания при самой высокой температуре внутри корпуса: он должен быть не меньше рабочего тока, а с нагревом падает — у Bourns MF-MSMF050 с 0,50 А при 23 °C до 0,33 А при 70 °C. Наибольшее напряжение Vmax должно быть выше напряжения питания, а допустимый ток Imax — выше возможного тока короткого замыкания.
- Как выбрать диодный мост?По трём числам даташита: наибольшему действующему входному напряжению — оно должно быть выше напряжения обмотки с запасом на рост сети, среднему выходному току для своего способа охлаждения и ударному току при включении на разряженный конденсатор. Например, GBU4D держит 140 В переменного на входе и 3 А без радиатора.
- Как определить, повышающий трансформатор или понижающий?Сначала по маркировке обмоток, а без неё — омметром на обесточенном трансформаторе: высоковольтная обмотка намотана большим числом витков тонкого провода, и её сопротивление намного выше. У трансформатора 230/12 В из нашего калькулятора первичная — 953 витка провода 0,28 мм, вторичная — 65 витков 0,97 мм.
- Можно ли подключить два стабилизатора параллельно?Напрямую — бесполезно: выход MC7805C может быть от 4,75 до 5,25 В, а под нагрузкой меняется не больше чем на 25 мВ, поэтому стабилизатор с более высоким выходом возьмёт почти весь ток, пока не упрётся в ограничение. Для большего тока onsemi предлагает добавить внешний PNP-транзистор MJ2955 — до 5 А.
- Можно ли подключить блок питания с большим током?Можно, если напряжение то же: ток на блоке питания — это сколько он способен отдать, а сколько возьмёт устройство, определяет само устройство. Катушка реле Panasonic JW на 12 В сопротивлением 270 Ом потребляет 44 мА и от блока на 1 А, и от блока на 10 А, а вот блок на 24 В её перегреет.
- Как понизить напряжение резистором?Поставить резистор последовательно с нагрузкой и погасить на нём лишнее: R = (U_вх − U_нагр) / I. Это работает, только если ток нагрузки постоянен и известен — катушке реле Panasonic JW на 5 В (106 мА) от 12 В нужен резистор около 66 Ом, а для нагрузки с меняющимся током нужен стабилизатор.
- Почему греется диод?Потому что на нём падает прямое напряжение, и в тепло уходит P = V_F · I: у выпрямительного 1N4007 при 1 А это до 1,1 Вт, и при 50 °C/Вт кристалл нагревается на 55 °C — это нормально. У Шоттки прямые потери меньше, зато при нагреве растёт обратный ток: у 1N5817 до 10 мА при 100 °C.
- Как подключить диодный мост к трансформатору?Выводы «~» — к вторичной обмотке трансформатора, «+» и «−» — к конденсатору фильтра и нагрузке, плюсом конденсатора к «+». Если перепутать и подать переменное напряжение на «+» и «−», в одну из полуволн ток пойдёт через два диода прямо по обмотке — это короткое замыкание, и мост или обмотка могут сгореть.
- Как рассчитать напряжение после диодного моста?Без конденсатора напряжение пульсирует, и его среднее значение — 0,9 · U~ минус падение на двух диодах: от обмотки 12 В около 9 В. С конденсатором оно поднимается почти до амплитуды — 1,41 · U~ минус два диода, около 15 В, — и под нагрузкой проседает на величину пульсаций.
- Как работает диодный мост?Мост — это четыре диода, включённых так, что в каждую полуволну переменного напряжения ток проходит через два из них, а на выходе полярность всегда одна и та же. Так выпрямляются обе полуволны: пульсации идут с удвоенной частотой сети — 100 Гц при 50 Гц, — а средний ток каждого диода равен половине тока нагрузки.
- Чем отличается транзистор от тиристора?Транзистор проводит, пока течёт ток базы, и закрывается, когда его снимают; тиристор открывается импульсом на управляющем электроде и дальше держится открытым сам, пока ток через него больше тока удержания. Поэтому транзистор работает и ключом, и усилителем, а тиристор — только ключом, чаще всего на переменном токе.
- Чем отличается конденсатор от аккумулятора?Конденсатор хранит энергию в электрическом поле, и его напряжение падает пропорционально отданному заряду; аккумулятор хранит её в химической реакции и держит напряжение почти постоянным. Энергии в аккумуляторе в десятки тысяч раз больше: NiMH AA на 2300 мА·ч — около 9900 Дж, конденсатор 1000 мкФ 25 В — 0,31 Дж.
- Сколько проработает аккумулятор 18650?Время работы — это ёмкость, делённая на ток нагрузки: у Panasonic NCR18650B с типичной ёмкостью 3350 мА·ч при токе 500 мА получается около 6,7 часа. Если устройство питается через преобразователь, считают по энергии: 3,6 В · 3,35 А·ч ≈ 12 Вт·ч делят на потребляемую мощность с учётом КПД.
- Каким током заряжать аккумулятор 18650?Ток берут из даташита модели: для Panasonic NCR18650B стандартный заряд — 1625 мА, то есть 0,5C, методом CC-CV до 4,20 В примерно за 4 часа. Ниже 10 °C этот аккумулятор заряжают током 0,25C, а за пределами 0…45 °C не заряжают вовсе.
- Сколько мА·ч в батарейке АА?У щелочной батарейки АА — от 1500 до 3000 мА·ч в зависимости от тока: Energizer E91 при разряде до 0,8 В отдаёт около 3000 мА·ч на 25 мА и около 1500 мА·ч на 500 мА. Литиевая Energizer L91 держит около 3500 мА·ч и почти не теряет ёмкость при токе до 1 А.
- Как выбрать стабилизатор на 5 В?По входному напряжению, току и нагреву: 7805 работает от 7 В на входе и до 1 А, LM1117-5.0 — от 6,5 В и до 800 мА, а линейный стабилизатор превращает в тепло мощность (Uвх − 5 В) · I. При большой разнице напряжений или токе выше 0,5–1 А берут импульсный LM2596-5.0 на 3 А с КПД около 80 %.
- Почему искрит при подключении аккумулятора?Искру даёт ток заряда входных конденсаторов устройства: разряженный конденсатор в первый момент ведёт себя как короткое замыкание, и ток ограничивают только внутреннее сопротивление аккумулятора, провода и ESR. Убирают искру предзарядом — сначала подключают через резистор, пока конденсаторы не зарядятся.
- Как настроить выходное напряжение модуля LM2596?Подайте на вход напряжение заметно выше нужного выхода (не больше 40 В), подключите мультиметр к выходу без нагрузки и вращайте подстроечный резистор модуля до нужного значения. Подстроечник меняет делитель обратной связи: по даташиту TI выход равен 1,23 · (1 + R2/R1) В.
- Почему LM2596 выдаёт на выходе входное напряжение?Чаще всего модуль исправен: подстроечник стоит в крайнем положении, и заданное им напряжение выше входного — ключ открыт, и выход повторяет вход. Если после нескольких оборотов подстроечника выход не падает, ищите обрыв делителя обратной связи (FB у земли держит ключ включённым) или пробой микросхемы.
- Можно ли питать ESP32 напрямую от аккумулятора 18650?Нет: заряженный литий-ионный элемент даёт 4,2 В, а предельное напряжение питания ESP32 по даташиту — 3,6 В. Нужен стабилизатор 3,3 В с малым падением; обычный AMS1117 (LM1117) с падением 1,1–1,2 В от 18650 не обеспечит 3,3 В почти никогда.
- Можно ли питать ESP32 DevKitC от USB и через вывод 5V одновременно?Нет: Espressif описывает три взаимоисключающих способа питания ESP32-DevKitC V4 — разъём Micro-USB, выводы 5V и GND или выводы 3V3 и GND — и предупреждает, что использовать можно только один. При двух источниках сразу можно повредить плату или сам источник.
- Можно ли питать ESP32 от батареек АА?Напрямую — плохо: две свежие щелочные батарейки дают около 3,2 В без нагрузки и быстро опускаются ниже 3,0 В, допустимых для ESP32, а три дают до 4,8 В — больше предельных 3,6 В. Рабочие варианты — три щелочных или четыре NiMH через LDO 3,3 В с малым падением или две батарейки через повышающий преобразователь.
- Как получить 12 В от зарядки USB-C?Нужен контроллер или готовый триггер USB Power Delivery: без договорённости по линии CC зарядка выдаёт только 5 В. Но фиксированных 12 В зарядка по редакции PD 3.2 не предложит (старые — иногда), поэтому надёжнее запросить 15 В у зарядки мощнее 27 Вт и понизить их своим преобразователем до 12 В.
- Почему плата с USB-C не заряжается от кабеля C–C?Скорее всего, на плате нет двух резисторов 5,1 кОм от выводов CC1 и CC2 на землю: зарядка Type-C подаёт 5 В на VBUS только после того, как увидит такой резистор. С кабелем A–C плата работает, потому что порт Type-A держит 5 В всегда.
- Можно ли взять 5 А от USB-C?Только по договорённости USB Power Delivery — на 20 В, в режиме EPR на 28–48 В или в необязательном режиме PPS — и только с кабелем, электронно маркированным на 5 А: обычный кабель Type-C рассчитан на 3 А. Без PD и в фиксированных PDO на 5, 9 и 15 В предел — 3 А.
- Какой ток можно взять от USB-C без Power Delivery?При 5 В — столько, сколько зарядка объявила резистором Rp на линии CC: ток по умолчанию (500 мА у USB 2.0, 900 мА у USB 3.x), 1,5 А или 3 А. Чтобы брать больше тока по умолчанию, плата должна измерить напряжение на своём резисторе Rd 5,1 кОм и убедиться, что зарядка это разрешила.
- Не сожжёт ли мощная зарядка USB-C плату Arduino или ESP32?Совместимая со спецификацией зарядка — нет: без запроса по протоколу USB Power Delivery она держит на VBUS 5 В, а 9, 15 или 20 В включает только по запросу контроллера PD в устройстве, которого у платы с простым гнездом Type-C нет. От несовместимых зарядок и повреждённых кабелей спасает только защита от перенапряжения.
- Почему триггер USB PD не даёт 20 В?Чаще всего зарядка просто не предлагает 20 В: по текущей редакции USB PD это обязательно только для зарядок мощнее 45 Вт, а 18–20-ваттные останавливаются на 9 В. Другие причины — кабель A–C или переходник без линии CC, зарядка без PD (только Quick Charge) и запрошенный ток больше, чем зарядка даёт на 20 В.
- Почему eFuse отключается сразу после включения питания?Чаще всего при старте он слишком долго ограничивает ток: заряжает большую ёмкость на выходе, а нагрузка уже тянет ток на пониженном напряжении. На ключе всё это время падает разность входного и выходного напряжений, кристалл греется до порога тепловой защиты, и eFuse отключается.
- Как уменьшить пульсации на выходе модуля LM2596?Поставьте после модуля дополнительный LC-фильтр — дроссель на 1–5 мкГн с малым сопротивлением и конденсатор с малым ESR: TI рекомендует его, когда нужны пульсации меньше 20 мВ. Выходной конденсатор самого модуля заменяют на низкоимпедансный, но не на керамику, — слишком малый ESR может нарушить устойчивость петли.
- Какой ток нужен светодиоду на 3 Вт?Зависит от светодиода: «3 Вт» — это ток, умноженный на прямое напряжение, а не номинал. У белого Cree XP-E2 3,1 Вт получаются при 1000 мА и 3,12 В при пределе 1500 мА; для светодиода без даташита начинайте с 700 мА и следите за нагревом.
- Почему тиристор не выключается после снятия сигнала управления?Так он устроен: управляющий электрод только открывает тиристор, дальше он держится сам, пока ток через него больше тока удержания. На переменном токе он закрывается сам при переходе тока через ноль, а на постоянном — только если разорвать или почти обнулить ток нагрузки.
- Можно ли заряжать LiFePO4 зарядником для Li-ion?Нет: элемент LiFePO4 заряжают до 3,5–3,65 В, а зарядник Li-ion вроде MCP73831 поддерживает в конце заряда 4,2 В и выше. Нужна микросхема с алгоритмом для LiFePO4, например bq25070, или зарядник с регулируемым напряжением, настроенным на 3,6 В.
- Можно ли понизить 48 В до 3,3 В одним DC-DC?Можно, если микросхема рассчитана на такой вход и частота выбрана с учётом минимального времени включения ключа: при заполнении около 7 % импульс получается очень коротким. У TPS54360 с минимальным временем включения 135 нс наш расчёт по формуле TI даёт предел около 620 кГц при 48 В и около 500 кГц при 60 В на входе.
- Можно ли подключить модуль LM2596 к бортовой сети автомобиля?Напрямую — рискованно: сама LM2596 работает до 40 В, но типичному модулю с диодом на 40 В по правилам TI можно подавать лишь около 32 В, а ограниченный сброс нагрузки в бортовой сети — 35 В. Нужен TVS-диод и защита от переполюсовки, а надёжнее — преобразователь на вход 60 В.
- Как получить 10 В для затвора MOSFET от 5 В?Удвоителем на накачке заряда, например LM2663: без нагрузки он даёт ровно удвоенное входное, а ток затвора и каскада сдвига уровня — миллиамперы, далеко от предела в 200 мА. Но затвор от 10 В нужно ещё переключать этим каскадом, поэтому часто проще взять MOSFET с логическим уровнем, открывающийся от 5 В.
- Почему зарядка USB-C на 65 Вт даёт только 60 Вт?Из-за кабеля: 65 Вт при 20 В — это 3,25 А, а обычный кабель USB-C без электронной маркировки рассчитан на 3 А. По правилам USB Power Delivery зарядка мощнее 60 Вт с таким кабелем обязана снизить мощность до 60 Вт, то есть 20 В × 3 А.
- Можно ли заряжать аккумулятор от модуля LM2596?Литиевый — нельзя: модуль стабилизирует только напряжение, и ток в разряженный аккумулятор ограничит лишь защита LM2596 — от 3,6 до 6,9 А, в разы больше стандартного тока заряда 18650. К тому же у модуля нет окончания заряда — нужен зарядник с режимом CC/CV или модуль с регулировкой тока.
- Как получить 5 В из 3,3 В без дросселя?Удвоителем на переключаемых конденсаторах с линейным стабилизатором после него: TI в даташите LM2663 приводит такую схему — удвоитель поднимает 3,3 В почти до 6,6 В, а стабилизатор с малым падением выдаёт ровные 5 В. Ток ограничен выходным сопротивлением удвоителя и пределом LM2663 в 200 мА, а КПД — не выше 76 %.
- Как проверить порог срабатывания crowbar?От лабораторного блока питания с ограничением тока, медленно поднимая напряжение: при срабатывании тиристор замыкает выход, напряжение падает примерно до 1 В, а блок уходит в ограничение. Ток ограничения берут больше тока включения тиристора (у VS-25TTS08 — до 200 мА) и заметно меньше номинала предохранителя.
- Почему при включении трансформатора сгорает предохранитель или выбивает автомат?Из-за броска тока намагничивания: если трансформатор включён в момент, когда напряжение сети проходит через ноль, поток за первый полупериод вырастает почти вдвое, сердечник насыщается, и ток первичной обмотки многократно превышает рабочий. Поэтому в первичной цепи ставят инерционный предохранитель.
- Как проверить, не насыщается ли дроссель в DC-DC преобразователе?Посмотреть осциллографом на ток дросселя: в норме это треугольник с прямыми участками, а при насыщении участок нарастания у вершины загибается вверх, потому что индуктивность падает и ток растёт быстрее. Заранее пиковый ток — средний плюс половина пульсаций — сравнивают с током насыщения из даташита дросселя.
- Как соединить две вторичные обмотки трансформатора: последовательно или параллельно?Последовательно — чтобы сложить напряжения: конец одной обмотки соединяют с началом другой, и две обмотки по 12 В дают 24 В при токе, допустимом для каждой. Параллельно можно соединять только обмотки с одинаковым напряжением и одноимёнными выводами вместе — тогда напряжение остаётся 12 В, а допустимый ток удваивается.
- Почему гудит трансформатор?Из-за магнитострикции: стальной сердечник чуть меняет длину при намагничивании, по разу на каждый пик потока, поэтому от сети 50 Гц он гудит на 100 Гц (наш расчёт). Ровный тихий гул нормален, а громкий с нагревом без нагрузки — признак насыщения от завышенного напряжения или постоянного тока в обмотке.
- Что будет, если трансформатор на 110 В включить в сеть 230 В?Он почти сразу выйдет из строя: магнитный поток в сердечнике пропорционален напряжению на виток, поэтому при 230 В вместо 110 В он вырастет примерно вдвое (наш расчёт), сердечник насытится, и ток первичной обмотки многократно превысит рабочий. В лучшем случае сгорит предохранитель, в худшем — обмотка.
- Можно ли ставить старые и новые батарейки вместе?Не стоит: Energizer прямо запрещает смешивать старые и новые батарейки, а также разные типы и марки — это может привести к разрушению корпуса или протечке. В последовательной цепочке слабый элемент разряжается первым, а остальные продолжают гнать через него ток и переполюсовывают его.
- Можно ли соединить два блока питания параллельно?Напрямую — нет, если производитель это не разрешает: выходы не равны точно, и блок с чуть большим напряжением берёт почти всю нагрузку (наш вывод). Для резервирования источники соединяют через диоды ИЛИ — диоды Шоттки или идеальные диоды вроде LM74700-Q1, которые не пускают обратный ток.
- Почему между двумя фазами 400 В, а не 460 В, если в розетке 230 В?Потому что напряжения фаз сдвинуты друг относительно друга на 120°, и между двумя фазами измеряется их векторная разность, а не сумма. В соединении звездой она в √3 ≈ 1,732 раза больше фазного напряжения: 230 · 1,732 ≈ 400 В (наш расчёт по формуле Kuphaldt).
- Почему ток в нулевом проводе трёхфазной сети бывает больше, чем в фазах?Из-за гармоник: основные синусоиды трёх фаз сдвинуты на 120° и в нейтрали гасят друг друга, а третьи гармоники и кратные им совпадают по фазе и складываются. Kuphaldt показывает это на модели: три фазы с третьей гармоникой по 50 мА дают в нейтрали почти 150 мА, хотя нагрузка симметрична.
- Почему слегка щиплет током корпус ноутбука или прибора с импульсным блоком питания?Из-за Y-конденсаторов фильтра помех: они соединяют сетевые провода с выходом или корпусом блока, и без заземления корпус оказывается примерно под половиной сетевого напряжения через их малую ёмкость. Ток через тело при этом — доли миллиампера (наш расчёт), но если щиплет сильно, прибор проверяют.
- Почему трансформатор нагревается, даже когда к нему ничего не подключено?Потому что и без нагрузки через первичную обмотку течёт ток холостого хода: он перемагничивает сердечник, а на гистерезис и вихревые токи в стали уходит мощность. У трансформатора BLOCK VCM 36/1/18 на 36 ВА эти потери по даташиту — 2,6 Вт, поэтому тёплый корпус на холостом ходу — норма.
- Как подобрать конденсатор для компенсации реактивной мощности двигателя?Измерить активную мощность ваттметром и полную — как произведение напряжения и тока, найти реактивную Q = √(S² − P²) и взять конденсатор C = Q / (2πfU²), включённый параллельно нагрузке. Kuphaldt предупреждает: перекомпенсация так же ухудшает cos φ, а конденсатор нужен рассчитанный на работу в сети переменного тока.
- Сколько ватт можно взять с разъёма питания SATA?Наш расчёт по паспорту разъёма Amphenol FCI: 1,5 А на контакт и по три контакта на напряжение дают до 4,5 А на линию — около 54 Вт по 12 В и 22,5 Вт по 5 В. Это предел самого разъёма, а не блока питания, и разветвитель на несколько устройств легко его превышает.
- Можно ли питать ESP32 от MCP1700?Для модуля с Wi-Fi — не стоит: MCP1700 рассчитан на 250 мА среднего тока, а Espressif требует для ESP32-WROOM-32E источник не меньше 0,5 А, потому что передача берёт до 239 мА в среднем и 379 мА в пике. MCP1700 подходит для датчиков и микроконтроллеров с током в десятки миллиампер.
- Какое минимальное входное напряжение у XL4015?8 В: это нижняя граница рабочего диапазона 8–36 В по даташиту XLSEMI, и от 5–7 В работа микросхемы не гарантирована. Кроме того, понижающему преобразователю нужен запас над выходом: для 12 В при 4 А XLSEMI приводит схему с входом от 15 В.
- Нужно ли 12 В для 2,5-дюймового диска SATA?Как правило, нет: 2,5-дюймовые HDD и SSD SATA обычно питаются только от 5 В, контакты 12 В у них свободны, хотя у серверных SSD бывают исключения. Важен ток: ноутбучный HDD при раскрутке берёт до 1 А по 5 В — вдвое больше 500 мА порта USB 2.0.
- Почему адресная лента WS2812B к концу желтеет или краснеет на белом?Из-за падения напряжения на тонких шинах ленты: к дальним светодиодам приходит заметно меньше 5 В. Синему и зелёному кристаллу нужно больше напряжения, чем красному, поэтому они тускнеют первыми, и белый уходит в жёлтый, а затем в красный — лечится подводом питания с двух концов или в несколько точек.
- Сколько светодиодов WS2812B можно питать от USB?Порт USB 2.0 даёт до 500 мА только устройству, которое заявило столько в дескрипторе (bMaxPower); при таком бюджете на белом полной яркости это около 13 светодиодов по 36,6 мА. Arduino Uno заявляет хосту всего 100 мА, поэтому для ленты длиннее пары светодиодов нужен отдельный блок питания 5 В.
- Можно ли соединить две светодиодные ленты по 5 метров последовательно?Не стоит: через шины и контакты первой ленты пойдёт ток обеих, а падение напряжения до дальнего конца вырастет вчетверо — в нашем примере для ленты 12 В оно сравнимо с самим питанием, и вторая лента будет светить намного тусклее. Каждый 5-метровый отрезок подключают к блоку своей парой проводов с предохранителем.
- Почему пищит DC-DC преобразователь на малой нагрузке?Потому что на малом токе многие преобразователи переходят в режим PFM: ключ включается пачками, и частота пачек падает вместе с нагрузкой, пока не попадёт в звуковой диапазон. Звучит сам дроссель — его сердечник чуть меняет размер при намагничивании; обычно это не неисправность, а особенность режима.
- Какой входной конденсатор нужен понижающему DC-DC?Керамический X5R или X7R вплотную к выводам VIN и GND: для LMR33630 TI требует не меньше 10 мкФ на напряжение не ниже входного, лучше двойного, и ещё 220 нФ у самой микросхемы. Через него идёт импульсный ток ключа — до половины тока нагрузки в действующем значении.
- Какой диод Шоттки поставить в понижающий DC-DC преобразователь?Шоттки с обратным напряжением не меньше 1,25 наибольшего входного и током с запасом: средний ток диода — Iвых · (1 − D), а для LM2596 TI требует номинал не ниже 1,3 тока нагрузки, чтобы диод пережил перегрузку. Медленные выпрямители вроде 1N5400 TI ставить запрещает.
- Почему греется дроссель в DC-DC преобразователе?От потерь в обмотке — квадрат тока, умноженный на её сопротивление DCR, — и потерь в сердечнике от пульсаций тока. Тёплый дроссель — норма: номинальный ток часто задают по нагреву на 40 °C, а сильный нагрев означает перегрузку, мелкий типоразмер или насыщение.
- Почему повышающий DC-DC выдаёт напряжение при выключенном EN?Потому что в обычной повышающей схеме вход соединён с выходом через дроссель и диод: при EN = 0 ключ стоит, но ток идёт напрямую, и на выходе остаётся входное напряжение минус падение на диоде. Чтобы полностью обесточить нагрузку, нужен внешний ключ или микросхема с отключением нагрузки.
- Почему сгорел варистор на входе блока питания?Чаще всего от длительного перенапряжения: варистор рассчитан гасить короткие импульсы, а при напряжении выше своего длительного предела, например 275 В у S14K275, он проводит ток каждый полупериод и перегревается. Вторая причина — импульс с энергией больше допустимой; в обоих случаях проверяют и предохранитель, и сеть.
- Почему MOSFET греется в ШИМ, хотя без ШИМ холодный?Потому что в ШИМ к потерям в открытом состоянии добавляются потери переключения: на каждом фронте транзистор недолго проводит ток при большом напряжении, и эти потери растут пропорционально частоте. Через резистор от вывода микроконтроллера затвор перезаряжается медленно, и на десятках килогерц это сотни милливатт.
- Какой резистор ставить в затвор MOSFET от микроконтроллера?Такой, чтобы бросок тока при перезаряде затвора не превысил ток вывода: у ATmega328P абсолютный предел 40 мА, значит при 5 В — не меньше 125 Ом, обычно ставят 150–220 Ом. Больше брать без нужды не стоит: каждый лишний ом затягивает фронты и увеличивает нагрев в ШИМ.
- Почему MOSFET открывается при включении питания, пока микроконтроллер не запустился?Потому что во время сброса выводы микроконтроллера в третьем состоянии и затвор ничем не удерживается: его заряжают наводки, утечки и ёмкость сток — затвор при скачке напряжения на стоке. Резистор 10–100 кОм между затвором и истоком держит транзистор закрытым, пока программа не настроит вывод.
- Почему N-канальный MOSFET в плюсовом проводе не открывается полностью?Потому что его открывает напряжение затвор — исток, а исток здесь соединён с нагрузкой: при 5 В на затворе он поднимается лишь до 5 В минус пара вольт, и нагрузке достаётся малая часть питания. Затвор должен быть выше питания нагрузки, поэтому в плюс ставят P-канальный MOSFET или драйвер верхнего ключа.
- Почему P-канальный MOSFET не закрывается от Arduino?Потому что он закрывается, только когда затвор поднят почти до истока, то есть до питания нагрузки: при 12 В на истоке высокий уровень 5 В оставляет между затвором и истоком −7 В, и транзистор открыт. Затвор подтягивают резистором к истоку, а к земле его тянет NPN-транзистор или маленький N-канальный MOSFET.
- Можно ли включить MOSFET параллельно для большего тока?Можно, если транзисторы работают ключами: сопротивление канала растёт с температурой на 0,7–1 % на градус, поэтому более нагруженный транзистор греется, его сопротивление растёт и токи выравниваются. По TI перекос всё равно бывает до 30 %, поэтому транзисторы берут одной марки и с запасом по току.
- Как понять, что MOSFET открыт не полностью?Измерить напряжение сток — исток под нагрузкой и разделить на ток: если вышло заметно больше RDS(on) из даташита при вашем напряжении на затворе, транзистор работает не ключом, а в линейном режиме и греется. У IRLZ44 при 5 А и 5 В на затворе падение должно быть не больше 0,14 В.
- Можно ли заряжать аккумулятор через TP4056 и одновременно питать от него схему?Можно, но заряд может не закончиться: TP4056 завершает его, когда ток через микросхему падает до 1/10 установленного, а ток схемы он считает зарядным. Microchip в AN1149 не рекомендует подключать нагрузку прямо к аккумулятору при таких зарядниках и предлагает разделять питание P-канальным MOSFET и диодом.
- Какой предохранитель поставить на вход DC-DC преобразователя?По наибольшему входному току с запасом: это выходная мощность, делённая на КПД и минимальное входное напряжение, — для 5 В, 3 А и КПД 90 % от 9 В выходит 1,85 А, и подходит предохранитель на 2,5–3 А. Номинальное напряжение вставки — не ниже входного, отключающая способность — не меньше тока замыкания источника.
- Почему шаговый двигатель пропускает шаги при старте?Чаще всего потому, что частоту шагов дают сразу большой, без разгона: ротор с нагрузкой не успевает за полем и срывается. Другие причины — ток драйвера ниже номинального, резонанс на средних скоростях и нагрузка больше момента двигателя.
- Почему шаговый двигатель греется, даже когда стоит?Потому что драйвер держит в обмотках ток и в покое — иначе вал не удержит позицию, а потери в меди I²·R именно на остановленном двигателе наибольшие. Горячий корпус при номинальном токе — нормальный режим, но если ток выставлен выше номинала, нагрев растёт с квадратом тока.
- Почему шаговый двигатель гудит, но не крутится?Чаще всего провода обмоток подключены к драйверу не парами: тогда поле не вращается, а дёргает ротор туда-сюда. Если пары верные, проверьте обрыв одной фазы, частоту импульсов STEP — с места двигатель не трогается сразу на большой скорости — и ток VREF.
- Какой ток должен выдавать блок питания шаговых двигателей?Заметно меньше суммы токов фаз: драйвер с чоппером работает как понижающий преобразователь, и от блока питания берёт мощность, а не ток обмоток. Geckodrive для своего драйвера оценивает потребление в 1/3–2/3 номинального тока двигателя, а ток блока складывают по всем двигателям и добавляют запас.
- Можно ли питать шаговый двигатель через A4988 от 5 В?Нет: по даташиту Allegro моторная часть A4988 работает от 8 до 35 В, а 5 В подходят только для логики VDD. Для питания двигателя от 5 В нужен драйвер с низким рабочим напряжением, например DRV8833 (2,7–10,8 В), но и тогда двигатель на высоких скоростях потеряет момент.
- Почему сервопривод дёргается?Чаще всего из-за питания: под нагрузкой привод кратко берёт 500 мА и больше, напряжение проседает, и сбрасывается микроконтроллер или сам привод. Вторая причина — длительность импульса дрожит сильнее зоны нечувствительности: нет общей земли или чужие прерывания задерживают фронт.
- Почему сервопривод поворачивается не на 180°?Потому что угол задаёт длительность импульса, а у каждой модели своя шкала: библиотека Arduino Servo по умолчанию переводит 0–180° в 544–2400 мкс, Parallax ставит 0° и 180° на 620 и 2420 мкс, а HS-422 проходит 120° за 900–2100 мкс. Крайние импульсы для своего привода подбирают опытом и передают в attach().
- Как выбрать регулятор ESC по току?Длительный ток регулятора должен быть больше наибольшего тока, который мотор берёт с вашим винтом или нагрузкой на полном газу при самом высоком напряжении аккумулятора, с запасом. Этот ток измеряют ваттметром или оценивают через момент и KV, а аккумулятор должен отдавать его без превышения своего тока разряда.
- Почему двигатель через L298N крутится медленнее, чем от батареи напрямую?Потому что мост L298 собран на биполярных транзисторах и сам забирает часть напряжения: по даташиту ST на двух открытых ключах падает от 1,8 до 3,2 В при 1 А и до 4,9 В при 2 А. Скорость коллекторного двигателя пропорциональна напряжению, поэтому от 12 В через L298N он крутится заметно медленнее.
- Можно ли подать на коллекторный двигатель напряжение выше номинального?Номинал не жёсткий предел: скорость растёт пропорционально напряжению, а ограничивают двигатель допустимая скорость, ток и нагрев обмотки. Немного выше номинала обычно можно, если двигатель не превышает предельные обороты из паспорта и средний ток не больше номинального; ресурс щёток при этом сокращается.
- Каким током заряжать свинцовый аккумулятор?Не больше 0,25C при циклическом заряде: Yuasa требует ограничивать начальный ток разряженного аккумулятора серии NP этим значением, для 7 А·ч это 1,75 А. Напряжение заряда для циклического режима — 2,40–2,50 В на элемент, то есть 14,4–15,0 В для 12-вольтовой батареи при 20 °C.
- Можно ли заряжать литий-ионный аккумулятор при минусовой температуре?Как правило, нет: для обычных литий-ионных элементов заряд допускается только от 0 °C — у Molicel P28A это 0…60 °C, в обзоре TI SLUAAR1 — 0…45 °C. Разряжать тот же элемент можно до −40 °C, поэтому устройство на морозе работает, а заряжать его нужно в тепле или с подогревом и контролем температуры по термистору.
- Почему аккумулятор 18650 с платой защиты отключается под нагрузкой?Срабатывает защита: либо ток превысил порог платы, либо напряжение элемента под нагрузкой просело ниже порога переразряда. Плата меряет ток по падению на своих ключах — у BQ29700 это 0,1 В, что при ключах 14,3 мОм соответствует примерно 7 А, а переразряд у неё — 2,8 В.
- Какую скорость даст мотор-редуктор с колесом?Скорость равна длине окружности колеса, умноженной на обороты в секунду: v = π · D · n / 60. Брать нужно обороты под нагрузкой — они меньше паспортных оборотов холостого хода пропорционально моменту, например у Pololu 150:1 с колесом 32 мм это около 0,35 м/с без нагрузки и около 0,26 м/с при четверти момента останова.
- Почему мультиметр показывает ток фазы меньше, чем выставлен на A4988 или DRV8825?Потому что в режиме полного шага обе обмотки включены одновременно, и драйвер даёт каждой около 71 % тока уставки — так векторная сумма токов равна пределу. По таблицам даташитов это 70,71 % у A4988 и 71 % у DRV8825; в микрошаге ток фазы в отдельные моменты доходит до 100 %.
- Какой момент двигателя нужен, чтобы поднять груз?На валу барабана нужен момент M = m · g · r — вес груза, умноженный на радиус барабана, плюс момент на разгон и трение. Microchip в AN885 закладывает к сумме запас 20 %, а момент на валу двигателя за редуктором меньше в передаточное число раз с поправкой на КПД редуктора.
- Почему блок питания на 12 В без нагрузки показывает 16 В?Скорее всего, это нестабилизированный трансформаторный адаптер: 12 В — напряжение при номинальном токе, а без нагрузки обмотка даёт больше, и конденсатор заряжается до амплитуды. Для обмотки 12 В~ наш пример даёт около 16,6 В, у реального адаптера обмотка обычно меньше; импульсный блок так не ведёт себя.
- Можно ли соединить два блока питания последовательно, чтобы получить больше напряжения?Можно, если выходы обоих блоков гальванически развязаны от сети и земли: напряжения сложатся, а ток будет не больше, чем у более слабого блока. Agilent допускает такое включение до напряжения изоляции выхода, а Rigol требует, чтобы все каналы оставались в режиме стабилизации напряжения с одинаковым ограничением тока.
- Как задать напряжение и ток триггеру USB PD резисторами?У контроллера вроде Infineon CYPD3177 напряжение задают делителями от 3,3 В на выводах VBUS_MIN и VBUS_MAX, а ток — на ISNK_COARSE и ISNK_FINE: делитель 5,1 и 2,4 кОм на обоих выводах напряжения даёт запрос 12 В. Если зарядка такого не предлагает, контроллер выставляет FAULT и может откатиться на 5 В.
- Можно ли заряжать ноутбук зарядкой от телефона через USB-C?Подключать безопасно: по USB Power Delivery напряжение выбирает ноутбук, а зарядка выдаёт только то, что умеет. Но по правилам PD 3.x зарядка на 20 Вт обязана давать лишь 5 и 9 В, 15 В — только мощнее 27 Вт, а 20 В — мощнее 45 Вт, поэтому ноутбук может заряжаться медленно или отказаться.
- Как проверить блок питания под нагрузкой без электронной нагрузки?Подключить мощный резистор сопротивлением R = U/I на номинальный ток и сравнить напряжение без нагрузки и под нагрузкой, измеряя его вольтметром прямо на клеммах блока. Для блока 12 В 2 А это 6 Ом и 24 Вт рассеиваемой мощности, поэтому резистор берут с запасом по мощности и следят за нагревом.
- Какой ток можно брать с вывода 3V3 Arduino Nano?У оригинальной Nano — не больше 50 мА: этот вывод питается от встроенного стабилизатора моста USB–UART FT232RL (вывод 3V3OUT), и FTDI разрешает брать с него до 50 мА для внешней логики. Датчику хватит, а модулю Wi-Fi вроде ESP-01, которому при передаче нужно около 170 мА, — нет: ему ставят отдельный стабилизатор 3,3 В.
- До какого напряжения можно разряжать аккумулятор 18650?Не ниже напряжения конца разряда из даташита конкретного аккумулятора: у Molicel INR-18650-P28A это 2,5 В, при этом номинал — 3,6 В, а заряд — до 4,2 В. Плата защиты отключает банку по своему порогу, у микросхем BQ2970x он от 2,3 до 2,8 В, поэтому устройство должно само прекращать разряд не ниже порога из даташита.
- Сколько тока можно взять с дежурной шины 5VSB блока ATX?Столько, сколько указано на наклейке блока для +5VSB: руководство Intel ATX12V 2.2 требовало не меньше 2,5 А, а для ATX 3.x Intel рекомендует не меньше 3 А длительно и пики до 3,5 А на время до 500 мс. Защита от перегрузки на этой шине обязательна, и при превышении тока срабатывает она.
- Какой ток может выдать повышающий преобразователь?Меньше предела тока ключа и тем меньше, чем сильнее повышение: Iвых ≈ (1 − D) · (ILIM ∓ ΔIL/2), где D = 1 − Uвх · η / Uвых, а знак зависит от того, ограничивает микросхема пик или впадину тока дросселя. Например, TPS61023 с пределом по впадине 2,7 А от 3,0 В до 5 В даёт около 1,8 А, а от 3,6 В — около 2,2 А.
- Какой ток потребляет понижающий преобразователь от источника?Средний входной ток определяется мощностью и КПД: Iвх = Uвых · Iвых / (Uвх · η), поэтому при понижении он меньше тока нагрузки. Например, LM2596 из 12 В в 5 В при 3 А и КПД 80 % по даташиту берёт от источника около 1,56 А, но ток этот импульсный, и сглаживает его входной конденсатор.
- Почему греется светодиодная лента?Потому что лента 12 В на 14,4 Вт/м берёт 1,2 А на метр, и почти вся эта мощность становится теплом в кристаллах, резисторах и медных шинах — умеренный нагрев штатен. Опасно, когда блок даёт больше 12 В, лента лежит на дереве или пластике без алюминиевого профиля или ток по шинам одного конца превышает расчётный.
- Можно ли подключить светодиодную ленту 12 В к 24 В?Нельзя: в сегменте ленты 12 В три светодиода забирают около 9,9 В, и на резисторе вместо 2,1 В окажется 14,1 В — ток вырастет почти в 7 раз, а мощность на резисторе в 45 раз (наш расчёт). Резисторы и светодиоды сгорают за секунды; ленту 12 В от 24 В питают только через понижающий преобразователь.
- Что будет, если отрезать светодиодную ленту не по метке?Погаснет только разрезанный сегмент — три светодиода у ленты 12 В или шесть у 24 В: их последовательная цепочка разорвана, а остальные сегменты сидят на тех же шинах и работают. Хуже другое: без площадок на срезе ленту трудно подпаять, а у адресной WS2812B разрез через светодиод обрывает данные для всех следующих.
- Как рассчитать блок питания для светодиодной ленты?Умножьте мощность на метр с маркировки на длину, добавьте потери в проводах и запас около 20 %: лента 12 В на 14,4 Вт/м длиной 5 м берёт 72 Вт и 6 А, с проводами 0,75 мм² длиной 2 м — блок от 90 Вт. Для WS2812B считают по светодиодам: 36,6 мА на каждый при белом, 5 м по 60 шт./м — около 11 А и блок 5 В от 66 Вт.
- Как проверить светодиодную ленту мультиметром?Под питанием: измерьте напряжение на шинах у разъёма и на дальнем конце, ток ленты через гнездо 10 А, а без питания прозвоните шины плюс и минус на замыкание. Режим проверки диодов для ленты 12 В бесполезен: у Fluke 115/117 он даёт меньше 2,7 В и 1,2 мА, а сегменту из трёх белых светодиодов нужно около 10 В.
- Какой провод нужен для светодиодной ленты?Такой, чтобы на нём терялось не больше 3–5 % напряжения: ленте 12 В на 14,4 Вт/м длиной 5 м (6 А) при проводах длиной 2 м хватает 1,5 мм² (падение 0,28 В), при 5 м нужно 2,5–4 мм² (наш расчёт по меди 0,017241 Ом·мм²/м). По нагреву даже 0,5 мм² выдерживает 11 А, поэтому сечение задаёт падение напряжения.
- Какой резистор нужен для разрядки конденсатора?Такой, чтобы за 5τ = 5RC напряжение упало до безопасного, а пиковая мощность U²/R и энергия CU²/2 не сожгли резистор: для 470 мкФ 400 В это 37,6 Дж, и 10 кОм 3 Вт на 750 В (Vishay PR03) разряжает его до 2,7 В за 24 с при пике 16 Вт. Сетевые конденсаторы разряжают только при отключённом питании.
- Как узнать напряжение светодиодной ленты?Посмотрите надпись у линии реза — там печатают 5V, 12V или 24V и полярность; если надписи нет, сосчитайте светодиоды между соседними линиями реза: три белых (3 · 3,3 В ≈ 9,9 В) — лента 12 В, шесть — 24 В, а по одному светодиоду с чипом WS2812B — 5 В по даташиту.
- Как работает ШИМ-контроллер блока питания?Усилитель ошибки сравнивает делённое выходное напряжение с опорным; компаратор сравнивает сигнал ошибки с пилой генератора (режим напряжения) или с током ключа (режим тока) и в точке пересечения снимает импульс, а драйвер подаёт его на затвор. Когда выход растёт, сигнал ошибки падает и импульс укорачивается.
- Как рассчитать ток нагрузки для блока питания?Выпишите потребителей по шинам и сложите их токи дважды: средние — для оценки нагрева и батареи, пиковые — для выбора блока питания. Для ESP32 с двумя сервоприводами HS-422 пики дают 0,5 + 2 × 0,8 = 2,1 А на 5 В, и блок питания берут с запасом сверх этой суммы.
- Что будет, если перегрузить линейный стабилизатор?Стабилизатор с защитой ограничит ток, выход просядет до I_огр·R_нагрузки, а когда кристалл нагреется до порога тепловой защиты — у LDO Microchip около 160 °C — отключится до остывания на 10 °C. Губит его не ток, а мощность (VIN − VOUT)·I: 12 В → 5 В при 1 А — это 7 Вт, которые TO-220 без радиатора не рассеет.
Аналоговая техника
- Чем отличается MOSFET от биполярного транзистора?MOSFET управляется напряжением на затворе и в статике почти не потребляет тока управления, а биполярный транзистор управляется током базы. В открытом состоянии MOSFET ведёт себя как малое сопротивление RDS(on), а биполярный — как падение VCE(sat), поэтому при больших токах MOSFET обычно греется меньше.
- Чем отличается конденсатор от резистора?Резистор рассеивает энергию в тепло и пропускает постоянный ток по закону Ома, а конденсатор запасает энергию в электрическом поле и отдаёт её обратно; постоянный ток через него идёт, только пока он заряжается. Переменному току конденсатор мешает тем меньше, чем выше частота: X_C = 1 / (2πfC).
- Чем отличается резистор от диода?Резистор подчиняется закону Ома: ток пропорционален напряжению и одинаков при любой полярности. Диод — нелинейный прибор: он проводит ток только от анода к катоду, а напряжение на нём почти не растёт с током — у 1N4007 не больше 1,1 В даже при 1 А.
- Чем отличается напряжение от потенциала?Потенциал — энергия единичного заряда в точке, отсчитанная от выбранной опорной точки, а напряжение — разность потенциалов двух точек: по OpenStax «напряжение» и есть обиходное название разности потенциалов. Поэтому напряжение всегда измеряют между двумя точками, а потенциал зависит от того, что принято за ноль.
- Чем отличается напряжение от напряжённости?Напряжение — разность потенциалов между двумя точками, в вольтах, а напряжённость — сила поля, действующая на единичный заряд в точке, в вольтах на метр. В однородном поле они связаны просто: U = E · d, поэтому одно и то же напряжение на меньшем зазоре даёт большую напряжённость.
- Чем отличается напряжение от мощности?Напряжение — разность потенциалов, которая заставляет течь ток, в вольтах, а мощность — энергия, передаваемая за секунду, в ваттах, и она равна произведению напряжения на ток: P = U · I. Чайник на 2,2 кВт и лампа на 10 Вт работают от одних 230 В, но потребляют разный ток — около 9,6 А и 43 мА.
- Чем отличается транзистор от диода?Диод — прибор с двумя выводами и одним p-n-переходом: он лишь пропускает ток в одну сторону. У биполярного транзистора три вывода и два перехода, и малый ток базы управляет в десятки и сотни раз большим током коллектора — у 2N3904 при 10 мА коэффициент усиления от 100 до 300.
- Чем отличается резистор от потенциометра?У резистора сопротивление постоянное и два вывода, а потенциометр — резистивный элемент с подвижным движком и тремя выводами: поворотом оси меняют, в каком отношении он делит напряжение. Если использовать только движок и один крайний вывод, потенциометр работает как реостат — переменный резистор.
- Чем отличается резистор от терморезистора?У обычного резистора сопротивление почти не зависит от температуры — ТКС толстоплёночных Vishay CRCW ±100 ppm/K, то есть 0,01 % на градус. Терморезистор, наоборот, сделан, чтобы меняться: у NTC Vishay NTCLE100E3 на 10 кОм ТКС при 25 °C −4,38 % на градус, и по сопротивлению вычисляют температуру.
- Чем отличается транзистор от резистора?Сопротивление резистора постоянно, а транзистор — управляемый элемент: напряжение на затворе или ток базы меняет сопротивление между его силовыми выводами в миллионы раз. MOSFET IRLZ44 открытый при 5 В на затворе имеет не больше 0,028 Ом, а закрытый при 60 В пропускает не больше 25 мкА — это не меньше 2,4 МОм.
- Чем отличается MOSFET от полевого транзистора?MOSFET и есть полевой транзистор — один из двух его основных видов, с изолированным затвором; второй вид — JFET, у которого затвор образует p-n-переход. Обычный MOSFET вроде IRLZ44 без напряжения на затворе закрыт, а JFET J111 открыт — его закрывают отрицательным напряжением от −3 до −10 В.
- Как рассчитать мощность транзистора?Умножьте напряжение коллектор–эмиттер на ток коллектора, P = U_CE · I_C: в ключе напряжение мало — у BD139 не больше 0,5 В при 0,5 А, это 0,25 Вт, — а в линейном режиме на транзисторе падает всё лишнее напряжение. Затем проверьте нагрев: T_J = T_A + P · R_θJA должна остаться ниже 150 °C.
- Как сделать задержку включения после подачи питания?Для доли секунды проще всего супервизор питания: MAX809 держит выход в нуле 140–560 мс после того, как питание превысило порог, и его выход открывает ключ с нагрузкой. Для секунд и больше нужна RC-цепь с порогом — компаратор или NE555, у которого задержка 1,1·R·C.
- Можно ли управлять оптопарой от 3,3 В?Да: светодиоду оптопары нужно всего 1,2–1,5 В, и от вывода STM32 через резистор 150 Ом он получит около 10 мА — ток, при котором нормирован CTR у 4N35. Резистор считают по худшему случаю: минимальное напряжение высокого уровня вывода минус максимальное прямое напряжение светодиода.
- Как сделать таймер на NE555 на одну минуту?Включите NE555 одновибратором: время импульса t = 1,1·R·C, и для 60 с подходят, например, 560 кОм и 100 мкФ — около 62 с. Но точной минуты не ждите: в конце отсчёта ток заряда всего около 3 мкА, а утечка электролитического конденсатора по даташиту может быть больше.
- Как подать звуковой сигнал на АЦП Arduino?Через разделительный конденсатор на делитель из двух равных резисторов: вход АЦП сидит на 2,5 В, а звук качается вокруг этого уровня в пределах 0–5 В. Если сигнал слабый, его сначала усиливают операционным усилителем с тем же смещением на середину питания.
- Можно ли подключить реле к NE555 напрямую?Можно, если ток катушки укладывается в 200 мА и выход не просядет ниже напряжения срабатывания: реле на 12 В с катушкой 33 мА от NE555 на 12 В работает надёжно. При питании 5 В выход под током 100 мА выдаёт лишь 2,75–3,3 В, и реле на 5 В может не включиться — тогда нужен транзистор.
- Как сделать индикатор разряда аккумулятора?Соберите компаратор: на один вход LM393 подайте 2,495 В от TL431, на другой — напряжение аккумулятора через делитель, и светодиод на выходе загорится, когда делитель опустится ниже опорного. Порог задают резисторами: делитель 36 кОм и 10 кОм даёт около 11,5 В.
- Как получить 0–5 В из сигнала 4–20 мА?Резистор 250 Ом превращает 4–20 мА в 1–5 В; чтобы получить 0–5 В, нужно вычесть 1 В и усилить остаток в 1,25 раза — дифференциальным каскадом на ОУ или готовым приёмником RCV420. Если сигнал идёт в АЦП, проще вычесть смещение в программе.
- Как подключить датчик 0–10 В к Arduino?Через делитель напряжения: вход АЦП Arduino UNO принимает только 0–5 В. Делитель из резисторов 12 кОм и 10 кОм превращает 0–10 В в 0–4,55 В, оставляет запас до 11 В и имеет выходное сопротивление около 5,5 кОм — в пределах рекомендации Microchip для АЦП.
- Подойдёт ли LM358 для активного фильтра?Подойдёт для низких частот: по правилу TI полоса единичного усиления ОУ должна быть в 100 раз больше произведения усиления на частоту среза, и при 0,7 МГц у LM358 это до 7 кГц для звена второго порядка с усилением 1. Для звукового диапазона и фильтров с высокой добротностью нужен ОУ быстрее.
- Как питать фильтр MFB от одного источника 5 В?Неинвертирующий вход ОУ подключают не к земле, а к середине питания — 2,5 В от делителя с буфером, а сигнал подают через разделительный конденсатор. Без этого инвертирующий фильтр MFB попытается вывести выход ниже нуля, и ОУ с однополярным питанием срежет половину сигнала.
- Почему AD620 не работает от одного питания 5 В?Работает, но в узком окне: по даташиту при таком питании выход ходит только от 1,1 до 3,8 В, а входы — от 1,9 до 3,8 В. С выводом REF на земле нулевой сигнал должен дать 0 В, а выход не опускается ниже 1,1 В — поэтому REF подают на середину питания через буфер или берут усилитель с выходом до шин, например INA333.
- Зачем резистор на землю на входе инструментального усилителя?Через входы инструментального усилителя течёт небольшой входной ток, и ему нужен путь на землю. У «плавающего» источника — термопары, трансформатора, сигнала через конденсатор — такого пути нет, входы уплывают за синфазный диапазон, и усилитель уходит в насыщение; резистор от входа на землю этот путь создаёт.
- Как подключить тензодатчик к Arduino без HX711?Через инструментальный усилитель: сигнал моста — милливольты, а шаг 10-битного АЦП при опорном 5 В — около 4,9 мВ. Усилитель вроде INA333 с усилением около 400 поднимает 10 мВ до 4 В, а питание моста от того же 5 В, что служит опорным для АЦП, убирает ошибку от ухода питания.
- С какой точностью Arduino измеряет напряжение?Сам АЦП ATmega328P по даташиту ошибается примерно на 2 отсчёта из 1024 — около 0,2 % шкалы. Но главную ошибку даёт опорное напряжение: питание от USB может отличаться от 5 В на проценты, внутренний источник 1,1 В — от 1,0 до 1,2 В, поэтому без калибровки или внешнего опорного ждать лучше нескольких процентов не стоит.
- Можно ли использовать TL431 как опорное напряжение для АЦП?Можно, но это источник среднего класса: начальный допуск 0,5 % у TL431B и 2 % у обычного, уход по температуре у TL431BI до 34 мВ в диапазоне −40…85 °C. Для 10-битного АЦП с калибровкой его хватает, а для 12 бит точнее источники вроде LM4040 класса A–B или REF3030 и REF5025.
- Почему усилитель на LM386 хрипит на большой громкости?Выход LM386 упирается в напряжение питания и обрезает верхушки сигнала: при 6 В на динамике 8 Ом микросхема даёт около 325 мВт уже при искажениях 10 %, а чисто, с 0,2 %, — около 125 мВт. Чаще всего на вход подают слишком большой сигнал или ставят усиление 200, хотя хватило бы 20.
- Можно ли питать LM386 от аккумулятора 3,7 В?По даташиту — нет: рабочее питание LM386 от 4 до 12 В, а литиевый аккумулятор большую часть разряда даёт меньше 4 В — от 4,2 В заряженным до 3,6 В номинальных и ниже. Для одного литиевого элемента берут усилитель класса D вроде PAM8403 с питанием от 2,5 В или повышают напряжение преобразователем.
- Какая точность у таймера NE555?Сама микросхема вносит немного: по TI интервал одновибратора на NE555 меняется на 50 ppm/°C и на 0,1 % на вольт питания. Главная ошибка — во внешних деталях: электролитический конденсатор с допуском ±20 % даёт ±20 % времени, поэтому без подстройки NE555 точен примерно настолько, насколько точен его конденсатор.
- Почему на выходе AD620 не ноль при нулевом сигнале?Из-за напряжения смещения: у AD620A до 125 мкВ на входе и до 1 мВ на выходе, и входная часть умножается на усиление. При G = 1000 закороченные входы дают на выходе до 126 мВ — это нормально и убирается калибровкой нуля.
- Какая полоса пропускания у AD620 при большом усилении?Узкая: по даташиту полоса по уровню −3 дБ у AD620 — 120 кГц при усилении 100 и всего 12 кГц при усилении 1000. Если нужен широкополосный сигнал с большим усилением, его делят на два каскада.
- Как подключить REF5025 к Arduino?Вход REF5025 — к 5 В платы, выход 2,5 В — к выводу AREF, на выходе конденсатор 1 мкФ и больше, а в программе analogReference(EXTERNAL) вызывают до первого analogRead. Шкала АЦП станет 0–2,5 В, один отсчёт — около 2,44 мВ.
- Почему PNP-транзистор не закрывается от 3,3 В?Потому что PNP закрывается, только когда база почти на уровне эмиттера: при эмиттере на 5 В высокий уровень 3,3 В оставляет между эмиттером и выводом 1,7 В, и ток базы продолжает течь. Базой такого ключа управляют через NPN-транзистор, который подтягивает её к земле, а закрывает резистор к эмиттеру.
- Почему усилитель на LM386 гудит?Чаще всего гул приходит по питанию: без конденсатора на выводе 7 (BYPASS) LM386 почти не подавляет пульсации, а с 10 мкФ подавление по даташиту — 50 дБ. Вторая частая причина — наводки на неподключённый или длинный вход, особенно при усилении 200.
- Почему напряжение с делителя падает под нагрузкой?Потому что делитель — это источник с большим внутренним сопротивлением, равным параллельному соединению его резисторов. Нагрузка образует с этим сопротивлением ещё один делитель, и если она не во много раз больше R1 ∥ R2, напряжение заметно проседает.
- Можно ли соединить резисторы параллельно, чтобы увеличить мощность?Да: N одинаковых резисторов параллельно рассеивают в N раз больше, чем один, если мощность делится поровну. Но делится она обратно сопротивлениям, поэтому берут одинаковые номиналы с запасом на разброс, ставят их не вплотную и помнят, что напряжение на каждом — полное.
- Насколько точен ADS1115?Шаг у ADS1115 — 62,5 мкВ на диапазоне ±2,048 В, но абсолютная точность без калибровки ограничена ошибкой усиления до 0,15 % — около 3 мВ при 2 В, что соответствует примерно 9–10 битам. После калибровки по двум точкам остаются нелинейность до 1 отсчёта и температурный дрейф.
- Почему в конденсаторе ток опережает напряжение?Потому что ток конденсатора пропорционален не самому напряжению, а скорости его изменения: i = C·du/dt. На синусоиде напряжение быстрее всего меняется при переходе через ноль — тогда ток максимален, а на вершине напряжения ток равен нулю, поэтому вершины тока приходят на четверть периода, то есть на 90°, раньше.
- Как узнать проницаемость неизвестного ферритового кольца?Намотайте пробную обмотку, измерьте индуктивность, найдите AL = L/N² и проницаемость μ = AL·le/(μ0·Ae), оценив длину пути le и сечение Ae по размерам кольца. Тысячи почти наверняка означают MnZn-феррит, а низкая проницаемость бывает и у порошковых колец, и у NiZn-ферритов.
- Правда ли, что ток идёт по пути наименьшего сопротивления?Не совсем: ток идёт по всем параллельным путям сразу, а делится между ними обратно пропорционально сопротивлениям. В ветвь с меньшим сопротивлением уходит большая доля, но не весь ток — например, из 1 и 10 кОм параллельно через 10 кОм течёт около 9 % общего тока (наш расчёт).
- Почему две лампочки последовательно горят тусклее одной?Потому что напряжение источника делится между ними: две одинаковые лампы на 12 В от 12 В получают по 6 В, и при постоянном сопротивлении нити мощность каждой упала бы вчетверо (наш расчёт). Холодная нить сопротивляется меньше горячей, поэтому лампы светят чуть ярче этой оценки, но всё равно тускло.
- Где ставить резистор светодиода: до или после?Без разницы: резистор и светодиод соединены последовательно, а в последовательной цепи ток одинаков в любой точке. Со стороны анода или катода резистор ограничит ток одинаково — важны только его сопротивление и мощность.
- Почему транзистор не открывается, если не соединить минусы?Потому что управляющий ток базы должен вернуться к своему источнику — выводу микроконтроллера — через эмиттер транзистора. Если эмиттер соединён только с минусом блока питания нагрузки, а земля платы управления — нет, цепь тока базы разомкнута, ток базы равен нулю, и транзистор остаётся закрытым.
- Почему светодиод гаснет не сразу после отключения питания?Его питает заряженный конденсатор — фильтр блока питания или развязка на плате: после отключения конденсатор отдаёт запасённую энергию в нагрузку, и напряжение на нём падает не мгновенно, а с постоянной времени RC. Наш расчёт для 1000 мкФ и светодиода с резистором 330 Ом: ток падает в 10 раз примерно за 0,8 с.
- Какой блок питания нужен для TPA3116D2?Напряжением 12–24 В: 26 В — верхняя граница рабочего диапазона без всякого запаса, и током по нужной мощности: наш расчёт для 2 × 50 Вт на 4 Ом при 21 В, как у TI, с КПД 90 % — около 5,3 А. Блок на 24 В берут со стабильным выходом: выше 27 В срабатывает защита от повышенного питания.
- Почему TPA3116D2 отключается на большой громкости?Чаще всего срабатывает одна из защит: по току 7,5 А на динамике с малым сопротивлением, тепловая выше 150 °C без радиатора или защита самого блока питания, который не тянет пики. Различить их помогают вывод FAULTZ и то, восстанавливается ли звук сам.
- Можно ли включить реле прямо через оптопару PC817?Надёжно — нет: ток коллектора PC817 ограничен коэффициентом передачи, и при 5 мА через светодиод гарантировано лишь 2,5 мА, а катушке типового реле нужно от 17 до 80 мА. Оптопара управляет транзистором, а транзистор — реле.
- Почему ток в последовательной цепи везде одинаковый?Потому что у зарядов в последовательной цепи только один путь, и они нигде не накапливаются: сколько их входит в элемент за секунду, столько и выходит. Поэтому ток одинаков в каждом резисторе и проводе, а делятся между элементами напряжения — пропорционально сопротивлениям.
- Почему общее сопротивление параллельных резисторов меньше самого маленького?Потому что каждый резистор в параллель — это ещё один путь для тока при том же напряжении: ток самого маленького резистора не меняется, а к нему добавляются токи остальных ветвей. Больший общий ток при том же напряжении по закону Ома и означает меньшее сопротивление, чем у любой ветви.
- Как умножить частоту на 74HC4046?Собрать ФАПЧ с делителем на N в обратной связи: выход ГУН через счётчик подают на вход COMPIN, входной сигнал — на SIGIN, и в захвате ГУН выдаёт ровно N · fвх. Удобнее детектор PC2 — он работает по фронтам и не захватывается на гармониках, а диапазон ГУН задают R1, R2 и C1 так, чтобы N · fвх в него попадала.
- Сколько шумит микрофонный предусилитель на NE5532 с усилением 100?По нашему расчёту для неинвертирующего каскада с усилением 101 и микрофона сопротивлением 600 Ом — около 6 нВ/√Гц, приведённых ко входу, то есть примерно 0,86 мкВ в полосе 20 кГц и 87 мкВ на выходе. Больше всего дают шум напряжения NE5532 (5 нВ/√Гц) и тепловой шум самого источника (3,2 нВ/√Гц).
- Какой потенциометр нужен для регулятора громкости?Логарифмический — с кривой A (audio), а для стерео сдвоенный, например Bourns PDB182 с кривой 15A; линейный B даёт почти всю громкость в первой трети хода. Номинал выбирают в несколько раз меньше входного сопротивления усилителя: для LM386 с его 50 кОм обычно ставят 10 кОм.
- Почему трещит потенциометр?Контакт движка с угольной дорожкой неидеален, и сопротивление в нём скачет: Bourns нормирует шум скольжения до 100 мВ у PTV09 и 47 мВ у PDB18, а с износом он растёт. Треск резко усиливается, если на потенциометре есть постоянное напряжение — его отрезают разделительным конденсатором, а изношенный потенциометр меняют.
- Какой номинал потенциометра подключать к Arduino?Обычно линейный (кривая B) на 10 кОм: крайние выводы — на 5 В и GND, движок — на аналоговый вход. Его выходное сопротивление не превышает 2,5 кОм, а АЦП ATmega328P по даташиту рассчитан на источник до 10 кОм; через потенциометр при этом течёт всего 0,5 мА.
- Какой ёмкости нужен разделительный конденсатор на входе усилителя?Такой, чтобы частота среза fc = 1/(2π·R·C) вместе с входным сопротивлением усилителя R была ниже самой низкой нужной частоты. Для LM386 с его 50 кОм и границы 20 Гц выходит 0,16 мкФ, поэтому ставят 0,47–1 мкФ; для маленьких динамиков с PAM8403 Diodes советует не завышать ёмкость — от неё растут щелчки при включении.
- Сколько уравнений нужно составить по законам Кирхгофа?Столько же, сколько неизвестных токов ветвей b: из них n − 1 по первому закону, где n — число узлов, и b − n + 1 по второму, для независимых контуров. Уравнение для последнего узла и для контуров, составленных из уже взятых, ничего нового не дают — они следуют из остальных.
- Как рассчитать цепь с двумя источниками ЭДС?Если источники через резисторы сходятся в одном узле, быстрее всего методом узловых потенциалов: одно уравнение по первому закону Кирхгофа для потенциала узла, затем токи ветвей по закону Ома. Отрицательный ток течёт против выбранного направления — бывает, внутрь источника, который тогда потребляет энергию.
- Как найти сопротивление по мощности и напряжению?Разделить квадрат напряжения на мощность: R = U²/P, это следствие закона Ома и формулы P = U·I. Лампа 12 В 21 Вт в рабочем режиме — около 6,9 Ом, но омметр покажет на холодной нити намного меньше: у металлов сопротивление растёт с температурой, а нить разогревается до свечения.
- Как оценить время захвата ФАПЧ?По формуле из TI SWRA029: время установления Tsw = −ln(ζ·δ)/(ζ·ωn), где ωn — собственная частота петли, ζ — затухание, а δ — отношение допустимой ошибки частоты к величине скачка. При скачке на 20 МГц с точностью 1 кГц и ζ = 1 это около 10/ωn, то есть при ωn = 2π·10 кГц — примерно 160 мкс.
- Какой резистор нужен светодиоду от 220 В?Для красного светодиода при 18 мА в пике — 18 кОм на 5 Вт: на нём рассеивается около 2,9 Вт (наш расчёт по амплитуде сети 325 В), а встречно-параллельно светодиоду нужен диод 1N4007, иначе обратная полуволна превысит допустимые 5 В. Экономнее задать ток гасящим конденсатором: он почти не греется.
- Что будет, если подключить светодиод наоборот?Светодиод не загорится и до 5 В обратного напряжения ничего не потеряет — это предел по даташитам Kingbright для красного, синего и белого 5 мм. От 12 В через резистор 470 Ом ток даже при пробое не превысит 26 мА (наш расчёт), и светодиод обычно выживает, но режим вне даташита; напрямую к 12 В без резистора он сгорает.
- Почему греется резистор на светодиоде?Потому что он превращает в тепло всё лишнее напряжение: P = (U − Vf) · I, для белого светодиода с Vf 3,3 В при 20 мА от 12 В это 0,17 Вт, от 24 В — 0,41 Вт (наш расчёт). Для чип-резистора 0805 с номиналом 0,125 Вт это перегрузка, для выводного на 1 Вт — штатный нагрев на десятки градусов.
- Как подключить MOSFET к Arduino?N-канальным ключом низкой стороны: исток на GND, нагрузка между плюсом питания и стоком, затвор через резистор 150–220 Ом к выводу платы и резистор на GND. Транзистор нужен с логическим уровнем: IRLZ44 нормирован при 5 В на затворе (0,028 Ом), а IRF540 — только при 10 В, и от 5 В он открывается не полностью.
- Почему сильно греется транзистор?Почти всегда потому, что он открыт не полностью и работает в линейном режиме: на нём падает заметное напряжение при рабочем токе, а мощность равна их произведению. У IRLZ44 с 5 А при 5 В на затворе выделяется 0,7 Вт, а если затвор недооткрыт и на стоке остаётся 2 В — уже 10 Вт, непосильные для TO-220 без радиатора.
- Что будет, если поставить другой транзистор вместо указанного?Ничего плохого, если у замены предельные напряжение и ток не ниже, а управление то же: у биполярного — не меньшее hFE при рабочем токе, у MOSFET — тот же канал, порог и RDS(on) при вашем напряжении затвора. Сверьте и цоколёвку, и предел затвора: IRLZ44 вместо IRFZ44 при 12 В на затворе выйдет за предел ±10 В.
- Как выбрать полевой транзистор для ключа?По порядку: VDS с запасом к напряжению питания, RDS(on) при том напряжении затвора, которое у вас есть (от 5 В микроконтроллера — только логический уровень), и нагрев I²·RDS(on) против теплового сопротивления корпуса. Ток ID из заголовка даташита смотрят последним: он дан при 25 °C корпуса.
- Как рассчитать базовый резистор транзисторного ключа?Ток базы берут равным току коллектора, делённому на минимальное hFE из даташита при этом токе, и умножают на запас 2–5; резистор равен напряжению управляющего вывода минус VBE(sat), делённому на этот ток. Для MMBT3904 и реле 50 мА от 5 В: hFE(min) 60, VBE(sat) до 0,95 В, ток базы 2,5 мА с запасом 3 — резистор 1,5 кОм.
- Как проверить транзистор на плате, не выпаивая?Обесточить плату, разрядить конденсаторы и прозвонить переходы Б–Э и Б–К в режиме проверки диодов: исправный даёт падение в одну сторону и OL в другую. На плате достоверны только OL в обе стороны (обрыв) и почти ноль коллектор–эмиттер без низкоомных цепей рядом (пробой); остальное искажают соседние детали.
- Как работает транзисторная оптопара?Ток через инфракрасный светодиод освещает фототранзистор, и тот открывается тем сильнее, чем больше ток входа: IC = CTR · IF, где CTR у 4N35 не меньше 100 % при 10 мА, у PC817 — 50–400 % при 5 мА. Электрической связи между сторонами нет, изоляция держит 5 кВ, но переключение занимает единицы–десятки микросекунд.
- Как работает оптопара в блоке питания?Она переносит сигнал обратной связи с выходной стороны на первичную, связанную с сетью, не соединяя их электрически. TL431 сравнивает выход с опорой 2,495 В и при превышении нормы увеличивает ток светодиода PC817; фототранзистор на первичной стороне тянет вход обратной связи контроллера, и тот укорачивает импульсы.
- Как выбрать рабочую точку транзистора?Для усилителя с общим эмиттером VCE в покое ставят около половины питания, чтобы сигнал одинаково качался вверх и вниз, а ток коллектора — там, где даташит обещает нужные hFE и шум: у MMBT3904 hFE 100–300 нормировано при 10 мА, шум — при 100 мкА. Точку закрепляют резистором в эмиттере с падением около 10 % питания.
- Как подключить транзистор к Arduino?NPN-ключом низкой стороны: эмиттер на GND платы, нагрузка между плюсом питания и коллектором, база через резистор к выводу Arduino, минусы питания соединены. Резистор базы считают от 5 В и минимального hFE: для реле 50 мА на 2N3904 это 1,5 кОм, а ток вывода держат в пределах 20 мА (абсолютный предел 40 мА).
- Что будет, если соединить конденсаторы параллельно?Ёмкости сложатся: два по 1000 мкФ дадут 2000 мкФ, а с допуском ±20 % — от 1600 до 2400 мкФ. Напряжение на обоих одно, поэтому рабочее напряжение сборки равно меньшему из номиналов, а ток пульсаций делится между ними обратно пропорционально импедансу.
- Как рассчитать напряжение после резистора?Напряжение после резистора равно входному минус падение на нём: U = U_вх − I·R, где I — ток через резистор. Если известна только нагрузка R_н, то цепь — делитель, и U = U_вх · R_н / (R + R_н): при 12 В, 1 кОм и нагрузке 1 кОм получится 6 В, при нагрузке 100 Ом — 1,09 В, а без нагрузки — все 12 В.
- Почему греется электролитический конденсатор?Основная причина — ток пульсаций, который выделяет на ESR мощность P = I²·ESR: у Nichicon UPW 1000 мкФ 10 В при 1 А и 100 кГц это 0,07 Вт, а на 120 Гц ESR выше в несколько раз. Сильный нагрев без большого тока означает перенапряжение, обратную полярность или высохший конденсатор с выросшим ESR.
- Как выбрать резистор по мощности?Посчитайте мощность P = I²·R (или U²/R) и возьмите резистор с номинальной мощностью не меньше удвоенной: у Vishay CRCW это 0,125 Вт для 0603, 0,25 Вт для 0805 и 1206, 1 Вт для 2512, у выводных PR01–PR03 — 1, 2 и 3 Вт. Номинал действует до 70 °C, выше допустимая мощность линейно падает.
- Как выбрать NTC-термистор?По четырём параметрам: номинал R25 (у Vishay NTCLE100E3 — от 3,3 Ом до 470 кОм, типовой 10 кОм), коэффициент B25/85 (2880–4570 K, у 10 кОм — 3977 K), допуск (±2, ±3 или ±5 % по R25 и ±0,75 % по B) и диапазон −40…+125 °C. Ток измерения держат таким, чтобы мощность была много меньше 7 мВт на каждый градус самонагрева.
- Какой резистор впаять вместо светодиода?Резистор R = Vf / If, чтобы при том же токе на нём падало то же напряжение, что на светодиоде: 190 Ом (ближайший 180 или 200 Ом) для красного с 1,9 В при 10 мА и 165 Ом (160 Ом) для белого с 3,3 В при 20 мА; мощность — десятки милливатт. Индикатор питания можно просто не ставить, перемычка поднимет ток.
Цифровая техника
- Можно ли поставить 74HCT вместо 74HC?При питании 5 В — почти всегда да: выход у HCT такой же, а единица на входе распознаётся уже от 2 В вместо 3,15 В, так что схема только выигрывает по совместимости. Нельзя при питании ниже 4,5 В — по даташиту TI 74HCT работает от 4,5–5,5 В, тогда как 74HC от 2 до 6 В.
- Как по времени установки из даташита посчитать максимальную частоту SPI?Если ведущий меняет данные по одному фронту SCK, а ведомый защёлкивает их по следующему, между фронтами полпериода — и в него должны уложиться время установки tsu ведомого, задержка выхода ведущего и задержка проводов. Для 74HC595 при 4,5 В tsu = 25 нс, и наш расчёт даёт не больше 20 МГц даже без учёта задержек.
- Как вывести многозначное число на семисегментный индикатор?Разложить его на десятичные цифры — остаток от деления на 10 даёт младшую цифру, затем число делят на 10 и повторяют, — и каждую цифру превратить в код сегментов по таблице, а ведущие нули погасить. У MAX7219 таблица не нужна: в режиме Code B в регистр разряда пишут саму цифру 0–9, а для гашения — код 0x0F.
- Как упростить логическое выражение?Последовательно применять тождества булевой алгебры: выносить общий множитель, сокращать по правилам A + AB = A, A + A'B = A + B и A + A' = 1, раскрывать инверсии над группами законами де Моргана. Результат обязательно проверяют таблицей истинности, а с четырёх переменных надёжнее сразу строить карту Карно.
- Как собрать XOR из элементов И-НЕ?Из четырёх: первый элемент получает A и B и даёт N1 = (AB)', второй и третий — пары A с N1 и B с N1, а четвёртый объединяет их выходы и даёт AB' + A'B. Это ровно одна микросхема 74HC00, а сигнал проходит до трёх ступеней — при 4,5 В это до 69 нс по максимальной задержке из даташита.
- Как составить логическую схему по таблице истинности?Для каждой строки, где выход равен 1, записать произведение входов, взяв переменную без инверсии при 1 и с инверсией при 0, и сложить эти произведения — получится ДНФ. Её упрощают алгеброй или картой Карно, а затем каждое произведение становится элементом И, сумма — элементом ИЛИ, инверсии — элементами НЕ.
- Почему на дисплее ST7789 неправильные цвета?Если цвета инвертированы, как на негативе, панель нужно включать с другой командой инверсии — INVON (21h) вместо INVOFF (20h) или наоборот. Если красный и синий поменялись местами, переключите бит D3 (RGB/BGR) в MADCTL (36h), а при цветном шуме проверьте формат: для RGB565 в COLMOD (3Ah) пишут 55h или 05h.
- Чем настройка OLED 128×32 на SSD1306 отличается от 128×64?Тремя вещами: коэффициент мультиплексирования A8h задают 1Fh (32 строки) вместо 3Fh, конфигурацию выводов COM в DAh выбирают под разводку панели — последовательную 02h или альтернативную 12h, — а в памяти используются только страницы 0–3. Буфер кадра поэтому занимает 512 байт, а не 1024.
Микроконтроллеры
- Какой резистор нужен для кнопки Arduino?Чаще всего никакой: кнопку включают между выводом и GND и включают встроенную подтяжку pinMode(pin, INPUT_PULLUP), у ATmega328P это 20–50 кОм. Если нужен внешний резистор, ставят 10 кОм, как в примере Arduino Button: при нажатии через него течёт всего 0,5 мА.
- Чем отличается STM32 от ESP32?STM32 — семейство микроконтроллеров ST на ядрах Arm Cortex-M, в большинстве линеек без радио, а ESP32 — чип Espressif со встроенными Wi-Fi и Bluetooth. Популярный STM32F103C8 работает на 72 МГц с 20 КБ ОЗУ, ESP32 — на двух ядрах до 240 МГц с 520 КБ ОЗУ, но выводы у него только до 3,6 В.
- Можно ли подключить Arduino к розетке?Напрямую — нет: Arduino UNO R3 питается от USB напряжением до 5,5 В или от разъёма 2,1 × 5,5 мм и вывода VIN напряжением 6–20 В. К розетке плату подключают только через блок питания — USB-зарядку на 5 В или адаптер постоянного тока с напряжением из этого диапазона.
- Сколько реле можно подключить к Arduino?До 20 — по числу выводов Arduino UNO, но каждое через транзистор: катушка реле на 5 В потребляет около 106 мА, а вывод ATmega328P выдерживает не больше 40 мА. От USB с предохранителем на 500 мА одновременно включатся не больше четырёх таких реле, для остальных нужен отдельный блок 5 В.
- Как проверить ESP32 на работоспособность?Подключите плату по USB и выполните esptool flash-id: если утилита соединилась и назвала тип чипа, MAC и размер флеш-памяти, то чип, флеш и связь исправны. Затем откройте монитор порта на 115 200 бит/с и нажмите EN — исправный ESP32 напечатает журнал загрузки с причиной сброса и режимом загрузки.
- Как проверить Arduino на работоспособность?Подключите плату по USB — должен загореться светодиод ON, — и загрузите пример Blink из меню File → Examples → 01.Basics. Если загрузка прошла без ошибок и светодиод L мигает раз в секунду, исправны питание, USB-мост, загрузчик и сам микроконтроллер.
- Как подключить ESP32 к Arduino IDE?В настройках Arduino IDE добавьте в поле Additional Boards Manager URLs ссылку https://espressif.github.io/arduino-esp32/package_esp32_index.json и установите платформу esp32 в менеджере плат. Затем выберите свою плату и COM-порт; если загрузка не начинается, удерживайте кнопку BOOT.
- Чем отличается микросхема от микроконтроллера?Микроконтроллер — это разновидность микросхемы: в одном корпусе процессор, память программ и периферия, а что он делает, задаёт записанная в него программа. Обычная микросхема вроде операционного усилителя LM358 или сдвигового регистра 74HC595 выполняет одну функцию, заложенную при производстве.
- Как проверить шину I2C?Сначала мультиметром: на свободной шине, по спецификации NXP UM10204, обе линии SDA и SCL в высоком уровне — около напряжения питания подтяжек. Затем запустите сканер шины, который переберёт адреса 0x08–0x77 и покажет, какие устройства отвечают; если SDA зависла в нуле, контроллер должен выдать девять тактов SCL.
- Какой драйвер нужен для ESP32?Драйвер нужен не для ESP32, а для моста USB–UART на плате: на платах Espressif это CP210x от Silicon Labs или FTDI, и обычно операционная система ставит его сама. Если порт не появился, найдите микросхему моста в руководстве платы — у ESP32-DevKitC это CP2102N — и установите драйвер её производителя.
- Как подключить Arduino к компьютеру?Соедините плату с компьютером кабелем USB — у UNO это USB-B, он же её питает, — откройте Arduino IDE 2 и выберите плату в выпадающем списке рядом с кнопками проверки и загрузки. Если имя платы стало жирным, связь есть; если плата не определилась, выберите плату и порт вручную в меню Tools → Board и Tools → Port.
- Как узнать скорость UART?Проще всего — из документации или прошивки: например, загрузчик ESP32 печатает журнал на 115 200 бит/с, а ESP8266 — на необычных 74 880. Если документации нет, запишите сигнал логическим анализатором или осциллографом: самый короткий импульс — это один бит, и скорость равна 1 / t — у 115 200 бит длится 8,68 мкс.
- Как узнать модель ESP32?Подключите плату и выполните любую команду esptool, например flash-id: при подключении утилита печатает тип чипа и ревизию, например «Chip type: ESP32-D0WD (revision 1)». Название расшифровывают по даташиту: D — два ядра, 0 — без встроенной флеш-памяти, WD — Wi-Fi и Bluetooth, V3 — ревизия 3.0 и новее.
- Как узнать, какая плата Arduino?Подключите её к компьютеру: Arduino IDE 2 показывает подключённые платы в списке рядом с кнопками загрузки, и оригинальная плата определяется по имени. Если плата не определилась, смотрите на надписи и на микроконтроллер: у UNO R3 это ATmega328P, рядом стоит ATmega16U2 — мост USB.
- Какой кабель нужен для Arduino?Зависит от платы: у Arduino UNO R3 и Mega 2560 Rev3 разъём USB-B — нужен кабель USB A–B, у классической Arduino Nano по характеристикам Arduino — Mini-B. Отладочные платы ESP32-DevKitC и ESP32-C3-DevKitM-1 подключают кабелем micro-USB; кабель и передаёт данные, и питает плату.
- Как подключить UART к компьютеру?Через переходник USB–UART: его TX соединяют с RX устройства, RX — с TX, и обязательно общий GND, причём уровни переходника — 3,3 или 5 В — должны подходить устройству. В системе переходник появится как последовательный порт; откройте его в терминале на той же скорости, что и у устройства.
- Как подключить STM32 к компьютеру?Тремя способами: программатором ST-LINK по SWD — линии SWDIO, SWCLK и GND; переходником USB–UART через встроенный загрузчик — BOOT0 в единицу, USART1 на PA9 и PA10; или прямо по USB в режиме DFU, если загрузчик чипа его поддерживает: у STM32F4 есть USB, у STM32F103 — нет.
- Как проверить скетч Arduino?Сначала кнопкой Verify — галочкой в Arduino IDE 2: она компилирует скетч и выводит ошибки в консоль, ничего не записывая в плату. Работу же программы проверяют на плате монитором порта: в setup() вызывают Serial.begin(9600), печатают значения через Serial.println() и смотрят их в мониторе на той же скорости.
- На каком языке программируют Arduino?На C++: скетч Arduino для UNO собирает компилятор avr-g++ в режиме -std=gnu++11, а функции вроде pinMode() и digitalWrite() — это библиотека ядра Arduino. Своей функции main() в скетче нет: её добавляет ядро, которое вызывает init(), затем setup() и в бесконечном цикле loop().
- Чем отличается микросхема от платы?Микросхема — одна деталь: кристалл в корпусе с выводами, например ATmega328P в корпусе SPDIP-28 или TQFP-32. Плата — печатная плата, на которой собраны микросхемы и другие детали: Arduino UNO R3 — это плата с ATmega328P, мостом USB ATmega16U2, стабилизатором 5 В, генератором 16 МГц, разъёмами и предохранителем.
- Что такое Arduino?Arduino — это платформа из трёх частей: платы с микроконтроллером, среды разработки Arduino IDE и библиотеки ядра на C++. Самая известная плата, UNO R3, — это ATmega328P на 16 МГц с 14 цифровыми выводами, 6 аналоговыми входами и разъёмом USB, через который её и программируют, и питают.
- Почему Arduino перезагружается?Чаще всего из-за просадки питания: у UNO включён детектор пониженного напряжения на 2,7 В (фьюз 0xFD), и при включении реле или двигателя от той же шины контроллер уходит в сброс. Ещё причины — сработавший предохранитель USB на 500 мА и сторожевой таймер, который программа забыла сбрасывать.
- Почему STM32 не запускается от внешнего кварца?Программа ждёт флаг HSERDY, а генератор HSE не раскачивается: чаще всего запас усиления меньше 5 из-за большого ESR кварца, большой ёмкости нагрузки или неверных конденсаторов. Другие причины — кварц вне диапазона 4–16 МГц, режим HSEBYP, включённый для кварца, или обертонный кварц.
- Почему STM32 зависает после настройки частоты 72 МГц?Чаще всего не выставлены такты ожидания флеш-памяти: выше 48 МГц STM32F103 нужно LATENCY = 2 в регистре FLASH_ACR, причём до переключения на PLL. Вторая частая ошибка — делитель APB1 оставлен равным 1, а эта шина допускает не больше 36 МГц.
- Почему ESP32 перезагружается при включении Wi-Fi?Из-за просадки питания: при передаче модуль ESP32-WROOM-32E берёт в среднем около 240 мА, а в пике до 379 мА, и слабый источник, тонкий кабель или стабилизатор без запаса опускают напряжение ниже допустимых 3,0 В. Espressif требует источник 3,3 В, способный отдать не меньше 0,5 А.
- Сколько тока можно взять с вывода STM32?У STM32F103 вывод рассчитан на 8 мА с сохранением логических уровней и на 20 мА, если напряжение на выходе может отклониться от шины питания до 1,3 В; предел — 25 мА. Сумма токов всех выводов вместе с потреблением самого микроконтроллера не должна превышать 150 мА.
- Сколько раз можно перепрошить микроконтроллер?Производитель гарантирует не меньше 10 000 циклов стирания и записи флеш-памяти: столько указано и для ATmega328P (Arduino Uno), и для STM32F103. При отладке это годы ежедневных прошивок, а быстро износить память может только программа, которая сама часто пишет данные во флеш.
- Сколько лет хранится прошивка в микроконтроллере?При 85 °C — не меньше 20 лет у ATmega328P по даташиту Microchip и 30 лет у STM32F103 по даташиту ST после 1 000 циклов перезаписи. Срок сокращается при нагреве и после многих тысяч перезаписей, а при комнатной температуре у ATmega328P заявлено 100 лет.
- Насколько точен внутренний генератор ATmega328P?С заводской калибровкой — ±10 %, и то лишь при 3 В и 25 °C; ручная калибровка регистром OSCCAL даёт ±1 %, но только при тех напряжении и температуре, при которых её сделали. Для UART этого хватает при стабильных питании и температуре, а для часов нужен кварц.
- Почему 255 + 1 даёт 0 в микроконтроллере?Потому что 8-битный регистр хранит только младшие 8 бит суммы: 255 + 1 = 256 = 1 0000 0000₂, и девятая единица уходит во флаг переноса C, а в регистре остаётся 0. Для знаковых чисел то же сложение 127 + 1 даёт −128 и выставляет флаг переполнения V.
- Сколько проработают часы STM32 от батарейки?Больше 10 лет: у STM32F103 домен VBAT с работающими RTC и часовым кварцем потребляет типично 1,4 мкА при 3,3 В, а батарейка CR2032 отдаёт 235 мА·ч. По току выходит около 19 лет, но саморазряд батарейки около 1 % в год и нагрев сокращают этот срок.
- Есть ли у STM32F103 EEPROM?Нет: у STM32F103 только флеш-память 64 или 128 КБ и ОЗУ 20 КБ. Настройки хранят в последней странице флеш-памяти размером 1 КБ, которая выдерживает 10 000 стираний, а отдельная память данных EEPROM есть, например, у STM32L0.
- Как программно перезагрузить микроконтроллер?На STM32 и других Cortex-M записывают в регистр AIRCR ключ 0x5FA вместе с битом SYSRESETREQ — это делает функция CMSIS NVIC_SystemReset(). У ATmega328P такого бита нет: включают сторожевой таймер в режиме сброса на самый короткий период 16 мс и ждут в бесконечном цикле.
- Как измерить время выполнения кода на микроконтроллере?На Cortex-M3, M4 и M7 удобнее всего счётчик тактов DWT CYCCNT: включите его, прочитайте до и после участка кода и разделите разность на тактовую частоту. На AVR и других контроллерах без такого счётчика читают аппаратный таймер или поднимают вывод на время участка и меряют импульс осциллографом.
- Как подключить несколько кнопок к одному аналоговому входу?Через делители: вход подтягивают резистором 10 кОм к питанию, а каждая кнопка замыкает его на общий провод через свой резистор — 0, 1, 2,2, 4,7 или 10 кОм. Каждой кнопке соответствует своё напряжение, и программа узнаёт её по коду АЦП: у Arduino UNO это примерно 0, 93, 184, 327 и 512 из 1023.
- Можно ли использовать вывод RESET ATmega328P как обычный порт?Можно: если запрограммировать фьюз RSTDISBL, вывод становится портом PC6. Но программирование по ISP требует низкого уровня на RESET, поэтому после этого обычный программатор и загрузчик Arduino через сброс микросхему не прошьют — вернуть RESET можно только высоковольтным программатором, подав 11,5–12,5 В.
- Почему ST-LINK перестал подключаться к STM32 после прошивки?Скорее всего, новая программа сразу после старта отключает выводы SWD (PA13 и PA14) или уводит микроконтроллер в режим пониженного потребления. Подключитесь в режиме Connect under reset с подключённым выводом NRST или запустите STM32 с BOOT0 = 1 — тогда программа не стартует, и флеш можно стереть.
- Как освободить PB3, PB4 и PA15 на STM32F103?Отключить JTAG, оставив SWD: включить тактирование AFIO и записать в поле SWJ_CFG регистра AFIO_MAPR значение 010. После этого PA15, PB3 и PB4 становятся обычными выводами, а PA13 и PA14 остаются за SWD, и ST-LINK продолжает работать.
- Работает ли USB на STM32F103 без кварца?Нет: по даташиту ST для работы USB у STM32F103 должны быть включены внешний генератор HSE и PLL, дающие 48 МГц. Внутренний генератор HSI отклоняется до −2…+2,5 %, а скорость full-speed USB должна выдерживаться с точностью ±0,25 %.
- Почему ESP32 не просыпается от кнопки?Из глубокого сна ESP32 будят только выводы с функцией RTC GPIO — у ESP32 это 0, 2, 4, 12–15, 25–27 и 32–39, — и только через источники ext0 или ext1. Вторая частая причина — линия кнопки во сне висит без подтяжки: у GPIO34–39 встроенных резисторов нет вообще, а у остальных подтяжку нужно включить функциями RTC.
- Нужен ли резистор для кнопки на ESP32?Обычно нет: у большинства выводов ESP32 есть встроенная подтяжка около 45 кОм, и кнопку подключают между выводом и землёй с включённой подтяжкой вверх. Внешний резистор нужен на GPIO34–39 — у них встроенных подтяжек нет, — а также для длинных проводов, где слабой подтяжки мало.
- Почему показания analogRead меняются при питании Arduino от USB?Потому что по умолчанию АЦП Arduino UNO меряет относительно своего питания 5 В, а от USB оно не равно 5 В: порт по стандарту даёт 4,75–5,5 В, и ещё часть падает на самовосстанавливающемся предохранителе и ключе платы. Сменили компьютер, кабель или нагрузку — сменилось опорное и все показания.
- Можно ли считать прошивку из STM32 с защитой от чтения?Штатными средствами — нет: при включённой защите RDP флеш-память недоступна ни отладчику по SWD или JTAG, ни встроенному загрузчику. Снять защиту можно, но микросхема при этом сама стирает всю основную флеш-память, так что после снятия читать уже нечего.
- Почему DS3231 сбрасывает время после отключения питания?Чаще всего не работает батарея: по даташиту на VBAT нужно от 2,3 В, а без неё при каждом включении регистры сбрасываются на 01.01.2000. Реже генератор остановлен битом EOSC или программа сама записывает время при каждом запуске.
- Почему АЦП ESP32 неточно измеряет напряжение?Потому что без калибровки результаты разных экземпляров ESP32 по даташиту расходятся на ±6 %, а края шкалы — ниже 100–150 мВ и выше верхней границы диапазона — вообще не нормированы. С калибровкой ESP-IDF по eFuse ошибка — от ±23 до ±60 мВ в зависимости от ослабления.
- Почему MAX809 держит микроконтроллер в сбросе?Потому что напряжение питания ниже порога выбранной версии: у MAX809L порог 4,50–4,75 В, а при питании от USB на плате бывает и 4,4 В — супервизор честно считает питание недостаточным. Другие частые причины — версия для 5 В на шине 3,3 В и MAX810 с активным высоким уровнем вместо MAX809.
- Почему ESP32 в deep sleep потребляет больше, чем в даташите?Потому что 10 мкА по даташиту — типичный ток одного чипа ESP32 с таймером и памятью RTC, а на плате добавляются стабилизатор, мост USB–UART, светодиод и подтяжки. Ток покоя LM1117 — около 5 мА, в 500 раз больше тока спящего чипа, а с включённым ULP ток самого чипа — уже 150 мкА.
- Сколько проработает ESP32 от батареи, если отправлять данные по Wi-Fi раз в 10 минут?Наш расчёт для 2000 мА·ч: от 257 суток, если сеанс Wi-Fi занимает 1 с, а плата без лишних потребителей, до 12 суток, если стабилизатор сам берёт 5 мА. Время работы почти целиком определяют длительность подключения к сети и ток обвязки, а не 10 мкА глубокого сна.
- Почему WS2812 мигают на ESP32?Чаще всего из-за того, что RMT не успевает получить следующую порцию данных: обработчик прерывания опаздывает из-за Wi-Fi или записи во флеш, и передатчик выдаёт устаревшие символы. Вторая причина — уровень: единица ESP32 гарантирована от 2,64 В, а WS2812B-V5/W при питании 5 В требует не меньше 3,15 В.
- Сколько лент WS2812 можно подключить к ESP32 одновременно?Аппаратно — по одной ленте на канал передачи RMT: до 8 у классического ESP32, до 4 у ESP32-S2 и S3, до 2 у ESP32-C3, C6 и H2. Длина каждой ленты ограничена не памятью канала, а частотой кадров: 300 светодиодов передаются примерно за 9 мс.
- Как сделать ИК-передатчик на ESP32?Через периферию RMT: канал передачи с разрешением 1 МГц выдаёт пачки и паузы кода NEC, а встроенный генератор несущей заполняет пачки частотой 38 кГц со скважностью 33 %, как в примере ESP-IDF. К выводу подключают ИК-светодиод через транзисторный ключ.
- Почему сенсорная кнопка ESP32 срабатывает сама?Обычно порог стоит слишком близко к уровню без касания, и шум время от времени его перешагивает. У ESP32 драйвер ESP-IDF задаёт только абсолютный порог и программный фильтр, так что гистерезис и подтверждение нажатия пишут в своей программе, а сам сенсор, по Espressif, не прошёл испытание на кондуктивные помехи.
- Как сохранить настройки ESP32, чтобы они не пропадали после выключения?Записать их в NVS — хранилище «ключ — значение» во флеш-памяти, которое ESP-IDF держит в разделе nvs таблицы разделов. В Arduino для этого есть библиотека Preferences: Espressif называет её заменой библиотеки EEPROM для ESP32.
- Почему скетч ESP32 не помещается, хотя флеш-памяти 4 МБ?Потому что размер приложения ограничивает раздел, а не флеш-память: в схеме разделов Arduino по умолчанию для ESP32 Dev Module раздел app0 — 0x140000 байт, то есть 1 310 720 байт. Остальное занято вторым слотом для OTA, файловой системой SPIFFS и служебными разделами; другая схема в меню Partition Scheme даёт до 3 МБ.
- Как узнать сигнатуру AVR и почему avrdude пишет Invalid device signature?Сигнатуру avrdude читает сам при каждом запуске — у ATmega328P это 1E 95 0F по даташиту. Если прочитано 00 00 00 или FF FF FF, программатор не получил ответа: проверяют подключение, питание и снижают частоту ISP ключом -B; если прочитана другая осмысленная сигнатура, на плате другой кристалл, чем указан в -p.
- Как записать структуру в EEPROM AVR?Целиком, одним вызовом: в Arduino — EEPROM.put(адрес, структура) и EEPROM.get(адрес, структура), в avr-libc — eeprom_update_block() и eeprom_read_block() с переменной EEMEM. Обе функции записи пишут только изменившиеся байты, а поле версии в структуре защитит от чтения старых данных новой прошивкой.
- Почему стирается EEPROM при прошивке Arduino?Потому что прошивка через программатор идёт с командой Chip Erase, а она стирает и флеш, и EEPROM, если не запрограммирован фьюз EESAVE — у Arduino Uno он не запрограммирован. Обычная загрузка скетча через USB и загрузчик идёт с ключом -D и EEPROM не трогает.
- Как защитить прошивку ATmega328P от чтения?Запрограммировать оба бита LB — режим 3: программатор не сможет ни читать, ни переписывать флеш и EEPROM, а снять защиту можно только полным стиранием. С загрузчиком Arduino этого мало: нужен ещё BLB0 в режиме 3, после чего загрузчик не обновит прошивку, или удаление загрузчика.
- Как получить частоту 38 кГц на выводе Arduino?Аппаратно, таймером в режиме CTC с переключением выхода при каждом совпадении: у Arduino Uno это Timer2 и вывод 11 (OC2A), предделитель 1 и OCR2A = 209. Наш расчёт: 16 МГц / (2 · 210) ≈ 38 095 Гц, на 0,25 % выше 38 кГц, и процессор при этом свободен.
- Почему ATmega328P не запускается от кварца?Чаще всего потому, что фьюзы CKSEL не выбирают кварцевый генератор: новый кристалл работает от внутреннего RC-генератора 8 МГц с делителем CKDIV8, то есть на 1 МГц, и кварц не использует. Если фьюзы выбраны, проверяют диапазон частот в CKSEL3…1, конденсаторы 12–22 пФ и разводку, а в помехах — режим Full Swing.
- Как выбрать частоту SPI на STM32?Взять наименьший из трёх пределов — частоты SCK из таблицы SPI characteristics даташита STM32, наибольшей частоты ведомой микросхемы и того, что выдерживают провода, — и выбрать ближайшую ступень fPCLK / 2^(BR+1) не выше его. У STM32F103 с ведомым W5500 это 18 МГц: SPI1 на 72 МГц с делителем 4.
- Почему SPI на STM32F0 и STM32G0 отправляет 16 бит вместо 8?Из-за упаковки данных: при кадре до 8 бит 16-битная запись в SPIx_DR отправляет два кадра, а SPI1->DR = byte в CMSIS — запись шириной 32 бита, которая, по нашему выводу, тоже попадает под упаковку. Решение — байтовый доступ *(__IO uint8_t *)&SPI1->DR и бит FRXTH, чтобы RXNE срабатывал на каждый байт.
- Почему энкодер на таймере STM32 считает неправильно?Обычно счёт правильный, но читается не так: при SMS = 011 таймер считает каждый фронт обоих сигналов — четыре отсчёта на период, а при вращении назад от нуля 16-битный счётчик переходит в 65535. Настоящие ошибки дают дребезг механического энкодера, который длиннее входного фильтра таймера, и входы без подтяжки.
- Как измерить частоту сигнала таймером STM32?Низкие частоты — захватом входа: таймер запоминает счётчик на двух соседних фронтах, и f = fCNT / (N2 − N1). Высокие — счётом импульсов за известный интервал или захватом каждого 8-го фронта предделителем ICxPSC, потому что ошибка в один такт на коротком периоде даёт уже проценты.
- Почему код на регистрах для STM32F103 не работает на STM32G4?Потому что у STM32F1 своя, более старая периферия: выводы настраиваются регистрами CRL и CRH, порт GPIOA лежит по адресу 0x40010800, а такт ему включает бит IOPAEN в RCC_APB2ENR. У STM32G4 порт настраивают регистрами MODER, OTYPER и PUPDR, GPIOA начинается с 0x48000000, а такт включает GPIOAEN в RCC_AHB2ENR.
- Чем STM32F103C8 отличается от STM32F103CB?Только объёмом флеш-памяти: по даташиту DS5319 у C8 — 64 КБ, у CB — 128 КБ. Корпус, 20 КБ ОЗУ, частота 72 МГц, набор периферии и распиновка у них одинаковые, поэтому CB ставят вместо C8 без переделки платы.
- Что значит -I/P в номере микроконтроллера PIC?Буква после дефиса — температурный диапазон, буквы после косой черты — корпус: в PIC16F877A-I/P это I — промышленный диапазон −40…+85 °C и P — корпус PDIP. Так устроена Product Identification System на последней странице даташита Microchip.
- Можно ли перепрошить PIC после MCLRE = OFF?Да: MCLRE = OFF лишь отключает функцию сброса на выводе, а вход в программирование высоким напряжением VPP на MCLR работает по-прежнему. Если кристалл ещё и работает от внутреннего генератора, программатор должен подать VPP раньше питания VDD — в MPLAB IPE это режим «Apply Vpp before Vdd», рекомендуемый по умолчанию.
- Почему PIC не работает после прошивки?Чаще всего из-за битов конфигурации: если в программе нет строк #pragma config, остаются значения чистого кристалла — сторожевой таймер включён, а генератор выбран RC вместо кварца. Тогда PIC с кварцем не запускается вовсе, а с RC-цепью перезапускается примерно раз в 2,3 с, когда срабатывает сторожевой таймер.
- Что делать, если стёрта калибровка OSCCAL у PIC12F675?Наш способ: записать в последнюю ячейку памяти программ 3FFh команду RETLW, начав со значения 0x80 — его OSCCAL получает при сбросе, — вывести FOSC/4 на GP4 и менять значение, пока там не будет 1 МГц. По нашей оценке, так можно подойти к заводским ±1 % при 3,5 В и 25 °C, но только подстройкой по частотомеру.
- Почему PIC18F4550 не видит кнопки на PORTB?Потому что у чистого кристалла бит конфигурации PBADEN включён, и после сброса RB0–RB4 работают как аналоговые входы АЦП и читаются нулями. Нужно записать #pragma config PBADEN = OFF или в начале программы перевести выводы в цифровые регистром ADCON1, например ADCON1 = 0x0F.
- Почему ESP32 после обновления по воздуху загружает старую прошивку?Если в проекте включён CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE, новая прошивка после первого запуска должна вызвать esp_ota_mark_app_valid_cancel_rollback(). Иначе после перезагрузки — из-за сбоя, сторожевого таймера или пропадания питания — загрузчик пометит её как ABORTED и запустит предыдущую.
- Почему Serial.print ничего не выводит на ESP32-C3?Чаще всего потому, что Serial в ядре arduino-esp32 по умолчанию — это UART0 на выводах GPIO21 (TX) и GPIO20 (RX), а не встроенный USB: у платы ESP32C3 Dev Module пункт USB CDC On Boot выключен. Если USB платы подключён прямо к GPIO18 и GPIO19, включите этот пункт — тогда Serial станет портом USB Serial/JTAG.
- Почему после прошивки пропал COM-порт ESP32-C3 и как его вернуть?Порт встроенного USB Serial/JTAG исчезает, если программа переназначила выводы GPIO18 и GPIO19, отключила контроллер USB или перевела чип в глубокий сон. Вернуть его помогает режим загрузки: по ESP-IDF нужно притянуть GPIO9 к земле и сбросить чип, удерживая Boot и нажав Reset, а затем залить исправленную прошивку.
- Почему STM32F3, G4 или L4 падает в HardFault на операции с float?Чаще всего потому, что не включён блок FPU: по ARM он выключен после сброса, и первая команда с float вызывает отказ NOCP, который становится HardFault. Обычно FPU включает SystemInit из CMSIS битами CP10 и CP11 регистра CPACR, но лишь при сборке с аппаратной плавающей точкой и если SystemInit вызывается.
- Можно ли поставить STM32G431 вместо STM32F303 на ту же плату?Нет, без переразводки нельзя: по базе ST в корпусе LQFP48 у STM32G431 выводы питания аналоговой части перенесены с позиций 8–9 на 19–21, а BOOT0 совмещён с PB8, поэтому не совпадают 35 из 48 позиций. Кроме того, у G431 другая периферия — FDCAN вместо bxCAN, два АЦП вместо четырёх — и программу придётся переносить.
- Можно ли поставить STM32F303 вместо STM32F103 на ту же плату?По выводам — да: в 48-выводном корпусе у STM32F303CB/CC те же линии на тех же местах, что у STM32F103C8/CB, а в базе ST различаются только подписи функций шести выводов. Но прошивка для F103 на F303 работать не будет: порты, USART, I2C и АЦП у F303 другого поколения, и программу нужно пересобрать под его регистры.
- Почему analogRead показывает значения, когда к входу ничего не подключено?Потому что неподключённый вход ничем не нагружен: напряжение на нём задают наводки и заряд, оставшийся на конденсаторе выборки АЦП от предыдущего канала. Arduino прямо предупреждает, что такие показания зависят от других входов и даже от близости руки; если нужен ноль, вход соединяют с землёй резистором.
- Чем ESP32-C3 отличается от ESP8266?ESP32-C3 — один из преемников ESP8266: то же одно ядро до 160 МГц и Wi-Fi 802.11 b/g/n, но RISC-V вместо Tensilica L106, 400 КБ SRAM, Bluetooth 5 LE, USB Serial/JTAG, CAN и два 12-битных АЦП. Сам даташит ESP8266 (NRND) прямо рекомендует ему на замену ESP8684 из серии ESP32-C2.
- Чем активный зуммер отличается от пассивного и как подключить его к Arduino?У активного зуммера внутри свой генератор: он пищит одной частотой от постоянного напряжения, и его включают уровнем на выводе. Пассивный — это только катушка с мембраной, ему нужен меандр, например от tone(); прямо от вывода 5 В он берёт больше допустимого, поэтому оба подключают через транзистор.
- Сколько тока потребляет ESP32-C3?По даташиту Espressif сам чип при 3,3 В берёт в пике передачи Wi-Fi до 335 мА, на приёме — 84–87 мА, в режиме Modem-sleep без радио — 13–28 мА, а во сне — 130 мкА в лёгком и 5 мкА в глубоком. Источник питания модуля Espressif требует рассчитывать не меньше чем на 0,5 А.
- Какое напряжение может измерить АЦП ESP32-C3?По даташиту Espressif — от 0 до 2500 мВ при наибольшем ослаблении ATTEN3, с ошибкой до ±35 мВ после калибровки; при меньших ослаблениях диапазон 0–750, 0–1050 и 0–1300 мВ с ошибкой ±10 мВ. Напряжение больше 2,5 В, например 3,3 В или аккумулятор 4,2 В, подают через делитель.
- Почему BluetoothSerial не работает на ESP32-C3?Потому что библиотека BluetoothSerial работает через классический Bluetooth и профиль последовательного порта SPP, а у ESP32-C3 по даташиту только Bluetooth 5 LE. Классический Bluetooth есть у оригинального ESP32; на C3 последовательный канал делают через BLE — в arduino-esp32 для этого есть пример UART библиотеки BLE.
- Можно ли поставить STM32L476 вместо STM32F401 или STM32F411 на ту же плату?По разводке — почти: в 64-выводном корпусе по базе ST у STM32L476 на месте вывода VCAP1 стоит линия PB11, а на месте одного из выводов VDD — VDDUSB, остальные отличия только в подписях. Плата обычно подходит без переделки, но программу придётся перенести: тактирование у L4 другое.
- Можно ли поставить STM32L432 вместо STM32F303K8 на ту же плату?Без переделки — нет: по базе ST у STM32L432 на выводах 2–3, где у STM32F303K8 основной кварц OSC_IN/OSC_OUT, стоит часовой кварц 32 кГц, а в общем для обоих корпусе UFQFPN32 у F303K8 на выводе 6 VSSA, и линии PA0–PB1 сдвинуты на одну позицию. Кварц 8 МГц на этих выводах L432 работать не будет (наш вывод).
- Почему Serial.print замедляет программу Arduino?Пока данные помещаются в буфер передачи — 64 байта у ядра Arduino для AVR, — Serial.print возвращается сразу, а при полном буфере ждёт, пока байты уйдут в линию. На 9600 бод байт 8N1 занимает 10 бит, около 1,04 мс, и программа, печатающая больше 960 байт в секунду, идёт со скоростью порта (наш расчёт).
- Почему Serial Plotter в Arduino IDE не показывает график?Чаще всего в конце строки нет перевода строки: плоттер Arduino IDE 2 узнаёт конец точки только по LF или CR LF, поэтому последнее значение печатают через Serial.println(). Другие причины — в строке слова вместо чисел, скорость в плоттере не совпадает с Serial.begin() или плоттер открыли до окончания загрузки скетча.
- Почему на контактах A4 и A5 платы Nucleo нет I²C?Потому что у Nucleo-64 они по умолчанию подключены к аналоговым входам PC1 и PC0, а I²C1 (PB9 и PB8) выведен на D14 и D15. Для шилда, который ждёт I²C на A4 и A5, по UM1724 замыкают перемычки SB46 и SB52 и размыкают SB51 и SB56; у Nucleo-144 перемычки свои.
- Почему на Nucleo-32 контакты D4 и D5 соединены с A4 и A5?Так ST выводит шину I²C1 на A4 и A5: по UM1956 замкнутые по умолчанию перемычки SB18 и SB16 соединяют A4 (PA5) с D4 (PB7), а A5 (PA6) — с D5 (PB6), где находятся SDA и SCL модуля I2C1. Пока они замкнуты, эти четыре контакта нельзя использовать раздельно, а PA5 и PA6 настраивают входами без подтяжки.
- Почему на Nucleo-32 вывод UART на D0 и D1 не виден в COM-порте компьютера?Потому что COM-порт ST-LINK подключён к другим выводам: на D0 и D1 у Nucleo-32 разведены PA10 и PA9 (USART1), а COM-порт — к PA2 и PA15, у большинства плат это USART2. Вывод в терминал идёт через USART2 на PA2 и PA15, а у NUCLEO-F031K6, где USART один, — через USART1, переназначенный на эти же выводы.
- Почему на Nucleo-64 светодиод LD2 мигает, когда работает SPI?Потому что это один и тот же вывод: у плат Nucleo-64 контакт D13 разъёма ARDUINO подключён к PA5, на PA5 висит зелёный светодиод LD2, а у STM32F401 и других микроконтроллеров этих плат PA5 — линия SCK модуля SPI1. Светодиод вспыхивает в такт SPI, а программа, которая мигает LD2, портит обмен.
- Почему на Nucleo-144 с Ethernet не работает SPI на контакте D11?Потому что D11 подключён к выводу PA7, а у плат с Ethernet тот же PA7 через перемычку JP6 идёт к микросхеме PHY как сигнал RMII_CRS_DV, и PHY мешает линии MOSI. По UM1974 для SPI на D11 снимают JP6 или перемычками переводят D11 на вывод PB5 — у него тоже есть функция SPI1_MOSI.
- Как зафиксировать масштаб графика в Serial Plotter Arduino?Ручной шкалы в описании плоттера Arduino IDE 2 нет, поэтому её задают данными: вместе с измерением печатают две постоянные величины, например min:0 и max:1023, и ось всегда охватывает этот диапазон. Второй способ — плоттер с ручной настройкой шкалы, например онлайн-плоттер на нашем сайте.
- Почему сторожевой таймер сбрасывает STM32 или GD32 во время стирания флеш-памяти?Пока идёт стирание, любое чтение флеш-памяти останавливает шину, и ядро, выполняющее программу из флеш, просто ждёт — сбросить таймер оно не может. Стирание страницы у STM32F103 длится до 40 мс, а у GD32F103 по даташиту до 400 мс, поэтому IWDG с коротким таймаутом успевает сработать.
- Почему светодиод на выводе AVR горит тускло?Чаще всего вывод остался входом: без единицы в DDRx запись единицы в PORTx не включает выход, а подключает внутренний подтягивающий резистор 20–50 кОм. Светодиод получает доли миллиампера и еле светится — нужно настроить вывод на выход битом DDRx или функцией pinMode(pin, OUTPUT).
- Как сделать millis() на AVR без Arduino?Настройте Timer0 в режиме CTC на прерывание раз в миллисекунду — при 16 МГц это делитель 64 и OCR0A = 249 — и увеличивайте в обработчике счётчик volatile uint32_t. Читать счётчик из основной программы нужно внутри ATOMIC_BLOCK: на 8-битном AVR четыре байта читаются не одной командой.
- Как записать загрузчик Arduino в новый ATmega328P?Нужен программатор ISP и кварц 16 МГц на плате: сначала записывают фьюзы Arduino Uno — low 0xFF, high 0xDE, extended 0xFD, — затем файл optiboot_atmega328.hex. В Arduino IDE это делает пункт «Записать загрузчик», а без кварца после записи фьюзов кристалл перестанет отвечать.
- Как проверить, на какой частоте работает ATmega328P?Запрограммируйте фьюз CKOUT — бит 6 младшего байта: кристалл выведет свой системный такт на вывод PB0, у Arduino Uno это D8, и его можно измерить осциллографом или частотомером. Если включён делитель CKDIV8 или CLKPR, на выводе будет уже поделённая частота — та, на которой реально работает программа.
- Как сделать часы на ATmega328P с кварцем 32 768 Гц?Подключите часовой кварц к выводам TOSC1 и TOSC2 (PB6, PB7), установите бит AS2 в ASSR и запустите Timer2 с делителем 128: он переполнится ровно раз в секунду, и в прерывании можно считать время. Так можно, только если сам кристалл тактируется от внутреннего RC-генератора — кварц 16 МГц занимает те же выводы.
- Можно ли использовать выводы кварца PB6 и PB7 ATmega328P как обычные?Да, если кристалл тактируется от внутреннего RC-генератора: тогда XTAL1 и XTAL2 по даташиту превращаются в обычные выводы порта B. При кварце или резонаторе заняты оба вывода, при внешнем тактовом сигнале — только PB6, а у Arduino Uno на них распаян кварц 16 МГц.
- Как прошить ATmega328P через другую Arduino?Загрузите в Arduino-программатор пример ArduinoISP, соедините её D10 с RESET целевого кристалла, D11, D12, D13 — с его MOSI, MISO, SCK, а питание и землю — общими. У Uno и Nano на RESET программатора ставят конденсатор 10 мкФ, а прошивают как программатором stk500v1 на 19 200 бит/с — в Arduino IDE это «Arduino as ISP».
- Почему скетч Arduino Uno запускается с задержкой после нажатия RESET?Это загрузчик Optiboot: после внешнего сброса — кнопкой или автосбросом при открытии порта — он трижды мигает светодиодом и ждёт новую прошивку по UART — всего около 1,4 с — и только потом передаёт управление скетчу. При подаче питания флага внешнего сброса нет, и скетч стартует сразу.
- Почему прошивка с semihosting зависает без отладчика?Каждый вызов semihosting на Cortex-M — это команда BKPT 0xAB, которую обслуживает отладчик. Без отладчика по правилам Armv7-M она превращается в HardFault, и программа останавливается на первом же printf — поэтому в автономной прошивке semihosting отключают и выводят журнал через UART, SWO или RTT.
- Почему кольцевой буфер на N ячеек вмещает только N − 1 байт?Потому что равенство head == tail уже занято значением «буфер пуст», и если заполнить все N ячеек, индексы снова совпадут — полный буфер станет неотличим от пустого. Поэтому одну ячейку оставляют свободной, а вместить все N можно, если индексы не заворачивать, а считать свободно и брать их разность.
- Почему вызов функции по указателю даёт HardFault на Cortex-M?Чаще всего указатель равен NULL или в нём сброшен младший бит: Cortex-M выполняет только команды Thumb, и переход по адресу с битом 0, равным нулю, вызывает UsageFault INVSTATE. После сброса UsageFault выключен, поэтому он превращается в HardFault, а в регистре CFSR остаётся бит INVSTATE.
- Почему printf на STM32 ничего не выводит, пока нет перевода строки?Потому что stdout в newlib буферизуется: если системные вызовы сообщают, что поток — терминал, библиотека копит символы до перевода строки и только тогда вызывает _write. Добавьте \n в конец строки, вызовите fflush(stdout) или отключите буфер один раз при старте: setvbuf(stdout, NULL, _IONBF, 0).
- Почему HAL_UART_Receive_IT принимает данные только один раз?Так она устроена: функция запускает приём ровно Size байт, а после последнего байта драйвер HAL выключает прерывание RXNE и вызывает HAL_UART_RxCpltCallback. Чтобы принимать дальше, HAL_UART_Receive_IT вызывают снова в этом обработчике — и в HAL_UART_ErrorCallback, потому что переполнение ORE тоже обрывает приём.
- Можно ли объявить большой массив внутри функции на AVR?Можно, но он займёт стек, а у ATmega328P на стек, глобальные переменные и кучу всего 2048 байт ОЗУ без какой-либо защиты: переполненный стек молча затирает данные, и программа сбоит в непредсказуемых местах. Большие буферы объявляют static или глобальными — тогда их размер виден при сборке.
- Почему программа работает с -O0 и ломается с -O2?Почти всегда в коде есть ошибка, которую -O0 скрывал: переменная, которую меняет прерывание или аппаратура, объявлена без volatile, задержка сделана пустым циклом или код опирается на неопределённое поведение. Стандарт C разрешает компилятору выбрасывать вычисления без видимого эффекта, и оптимизатор этим пользуется.
- Почему отладчик показывает PC = 0xFFFFFFFE и ядро Cortex-M не работает?Ядро в состоянии lockup: отказ случился там, где его некому обработать, — внутри обработчика HardFault или NMI либо при чтении вектора сброса, HardFault или NMI. Адрес 0xFFFFFFFE по архитектуре Armv7-M означает ошибку чтения таблицы векторов или отказ при сброшенном бите Thumb; выйти из lockup можно сбросом.
- Сколько светодиодов WS2812B потянет Arduino Uno?Несколько сотен: каждый светодиод занимает в ОЗУ 3 байта, и при 2048 байтах у ATmega328P на 500 светодиодов уйдёт 1500 байт — для остальной программы почти ничего не останется. Время тоже растёт: по нашему расчёту вывод занимает 30 мкс на светодиод, то есть 15 мс на 500 штук и не больше 65 кадров в секунду.
- Можно ли подключить дисплей ILI9341 к Arduino на 5 В без преобразователя уровней?Нет, если на модуле нет своего буфера: логика ILI9341 питается от 1,65–3,3 В, и по даташиту напряжение на входах не должно превышать VDDI + 0,3 В, то есть 3,6 В. Сигналы от Arduino к дисплею понижают буфером с питанием 3,3 В, например CD74HC4050.
- Что делать, если ST-LINK пишет «No target connected»?Проверить по порядку: есть ли питание на плате и общая земля с ST-LINK, не перепутаны ли SWDIO и SWCLK, подано ли напряжение платы на вход опорного напряжения. Если проводка верна, снизьте частоту SWD и подключитесь в режиме Connect under reset с проводом NRST — программа могла отключить выводы отладки.
- Почему отладчик теряет связь со STM32, когда тот уходит в режим Stop?Потому что в Stop контроллер тактирования выключает все такты, включая такты ядра и шины, без которых отладка не работает. RM0090 предусматривает для этого бит DBG_STOP в регистре DBGMCU_CR: если его заранее установить, такты от внутреннего RC-генератора остаются включёнными и в Stop, и отладчик не теряет кристалл.
- Нужны ли подтягивающие резисторы на линиях SWD?Спецификация Arm требует подтяжку SWDIO к питанию около 100 кОм со стороны микроконтроллера, но у многих кристаллов она встроена: у STM32F4 есть внутренняя подтяжка SWDIO к питанию и SWCLK к земле, и ST пишет, что внешние резисторы не нужны. Внешние ставят, только если их требует документация кристалла.
- Почему STM32 не запускает программу после прошивки?Чаще всего из-за BOOT0: если он оставлен в 1 после прошивки по UART или не подтянут к земле, STM32F1 после сброса стартует со встроенного загрузчика, а не из флеш-памяти. Режим читается только при сбросе, поэтому после перестановки перемычки нужен сброс; если с BOOT0 порядок, ищите зависание на запуске кварца.
- Как снять защиту от записи (WRP) с STM32F103?Стереть область байтов конфигурации — биты WRP вернутся в «без защиты», — до сброса записать в RDP код 0xA5 и только потом сбросить микроконтроллер, как делает HAL от ST; без включённой защиты чтения программа сохранится. Если защита чтения уже активна, её снятие сотрёт всю основную флеш-память.
- Почему ST-LINK подключается к STM32, но не может прочитать или записать флеш?Почти всегда включена защита от чтения RDP уровня 1: отладчику доступно ядро, но любое обращение к флеш-памяти даёт ошибку шины. Вернуть микроконтроллер можно, переведя RDP на уровень 0, но при этом он сам стирает всю основную флеш-память — сохранить программу не получится.
- Можно ли отключить детектор просадки питания (brownout) на ESP32?Можно — в ESP-IDF это параметр CONFIG_ESP_BROWNOUT_DET, — но причину это не устраняет: по умолчанию детектор срабатывает около 2,43 В, а модулю ESP32-WROOM-32E нужно не меньше 3,0 В. Без детектора чип при просадке продолжит работать вне нормы и будет сбоить непредсказуемо, поэтому чинить надо питание.
- Почему ESP32 пишет «Task watchdog got triggered»?Какая-то задача занимает процессор дольше тайм-аута сторожевого таймера задач — по умолчанию 5 с — и не пускает задачу простоя IDLE, за которой он следит. Обычно это цикл без vTaskDelay(); по умолчанию ESP-IDF только печатает предупреждение, в Arduino-ESP32 настройки могут отличаться.
- Что значит Guru Meditation Error (LoadProhibited) на ESP32?Программа попыталась прочитать память по недопустимому адресу, и процессор ушёл в панику; StoreProhibited — то же при записи. Адрес видно в регистре EXCVADDR: ноль или почти ноль по документации Espressif обычно означает обращение через NULL-указатель, а место в коде показывает первая строка Backtrace.
- Что значит «invalid header: 0xffffffff» в логе загрузки ESP32?Встроенный загрузчик ESP32 прочитал по адресу 0x1000 одни единицы вместо заголовка загрузчика второй ступени: флеш-память стёрта, загрузчик записан не по тому адресу или флеш не читается. Проверяют и питание флеш-памяти — GPIO12 при сбросе может выбрать 1,8 В — и уровень GPIO2.
- Почему Arduino Nano не прошивается и когда выбирать «Old Bootloader»?Если порт есть, а загрузка обрывается без ответа платы, вероятно, на ней старый загрузчик: по boards.txt ядра Arduino AVR он принимает скетч на 57600 бит/с, а пункт ATmega328P шлёт на 115200. Выберите Tools → Processor → ATmega328P (Old Bootloader) или обновите загрузчик программатором.
- Почему компьютер не видит Arduino Nano с микросхемой CH340?Чаще всего кабель только для зарядки, без линий данных, или в Windows нет драйвера: WCH выпускает для CH340 драйвер CH341SER, а в Linux он уже в ядре (ch341). Если устройство не появляется даже как неизвестное, проверьте мост: CH340G без внешнего кварца 12 МГц не работает.
- Почему двигатель пищит при ШИМ от Arduino?Потому что analogWrite на Arduino Uno даёт около 490 Гц на выводах 3, 9, 10, 11 и около 980 Гц на 5 и 6: обмотка и сердечник колеблются с этой частотой, и её слышно. Писк уходит, если поднять частоту выше звукового диапазона, например до 25 кГц на Timer1, но потери переключения в ключе при этом растут.
- Как заменить delay() на millis() в Arduino?Запоминать момент последнего действия и в каждом проходе loop() проверять условие millis() − last >= interval, ничего не ожидая. Разность беззнаковых unsigned long остаётся верной и после переполнения millis() примерно через 49,7 суток, а сравнение вида millis() > deadline — нет.
- Почему не срабатывает attachInterrupt на Arduino?Чаще всего передали номер вывода вместо номера прерывания: на Uno attachInterrupt(2, …) молча ничего не делает, ведь прерываний всего два — 0 на D2 и 1 на D3. Правильно — attachInterrupt(digitalPinToInterrupt(2), isr, FALLING); ещё проверьте подтяжку входа и volatile у переменной, которую меняет обработчик.
- Почему Serial.readString() ждёт целую секунду?Потому что readString() не знает, где кончается строка: она читает символы, пока новый не перестанет приходить дольше таймаута класса Stream, а он по умолчанию 1000 мс. Ускоряют её Serial.setTimeout() с меньшим значением, readStringUntil('\n') с концом строки или собственным разбором без ожидания.
- Почему после Servo или tone() перестал работать analogWrite?Потому что они перенастраивают таймеры, от которых работает ШИМ: на Arduino Uno библиотека Servo переводит Timer1 в обычный режим, и analogWrite пропадает на выводах 9 и 10, а tone() занимает Timer2, общий с выводами 3 и 11. Для ШИМ рядом с ними остаются выводы 5 и 6 на Timer0.
- Почему pulseIn() возвращает 0?Ноль у pulseIn() означает таймаут: функция не дождалась конца уже идущего импульса, начала нового или его окончания за отведённое время, по умолчанию 1 000 000 мкс. Обычно виноваты не тот уровень во втором аргументе (HIGH вместо LOW), отсутствие сигнала на выводе или импульс длиннее таймаута.
- Как вывести float с нужным числом знаков на Arduino?Вторым аргументом: Serial.print(x, 4) печатает четыре знака после точки, а без аргумента их два. Для строки на AVR берут dtostrf(x, 0, 4, buf): стандартная vfprintf из avr-libc не умеет преобразования с плавающей точкой и вместо %f печатает знак «?».
- Почему не прошивается Arduino Pro Mini?Чаще всего загрузчик не запущен в нужный момент: на вывод сброса разъёма не приходит DTR (у переходников SparkFun) или RTS (у кабеля FTDI), который через 100 нФ перезапускает ATmega328P перед загрузкой. Ещё причины — перепутаны TX и RX, выбран не тот процессор, а у кабеля FTDI в Windows не включён Set RTS on Close.
- Почему DMA1 на STM32H743 не передаёт данные из буфера?Частая причина — буфер оказался в DTCM-RAM по адресу 0x2000 0000: по таблице 3 RM0433 к DTCM имеют доступ только ядро и MDMA, а у DMA1, DMA2 и BDMA пути к ней нет. Буфер для DMA1 и DMA2 кладут в AXI SRAM (0x2400 0000) или SRAM1–SRAM3 (0x3000 0000), для BDMA — в SRAM4 (0x3800 0000).
- Нужно ли включать тактирование SRAM1–SRAM3 на STM32H743?Да: по RM0433 регистр RCC_AHB2ENR после сброса равен нулю, и тактирование интерфейсов SRAM1–SRAM3 домена D2 выключено — это биты SRAM1EN, SRAM2EN и SRAM3EN (29–31). Их ставят до первого обращения к памяти, а если там лежат секции .data или .bss — ещё в стартовом коде, до их копирования и обнуления.
- Почему после приёма по DMA STM32F7 читает старые данные?Потому что включён кэш данных Cortex-M7: DMA пишет в память, а ядро читает старую копию тех же адресов из кэша, а аппаратной когерентности между ними нет. После приёма, перед чтением буфера, вызывают SCB_InvalidateDCache_by_Addr(buf, size), а буфер выравнивают по 32 байта и делают кратным 32 — по размеру строки кэша.
- Как сделать некэшируемую область для DMA через MPU на STM32H7?Настроить регион MPU поверх буферов с атрибутами Normal non-cacheable — TEX = 001, C = 0, B = 0 по таблице B3-13 Armv7-M — размером в степень двойки и с базой, выровненной по размеру. Например, вся SRAM1 STM32H743: 128 КБ с адреса 0x3000 0000; затем MPU включают с PRIVDEFENA и ставят барьеры DSB и ISB.
- Почему STM32L0 потребляет много тока в режиме Stop?Чаще всего ток держат отладчик с битом DBG_STOP, включённый в Stop опорный источник VREFINT (бит ULP = 0), регулятор в основном режиме (LPSDSR = 0) и выводы, переведённые из аналогового режима в цифровой вход без подтяжки. Если висит флаг EXTI или RTC, микроконтроллер вообще не входит в Stop и продолжает работать.
- Как изменить частоту MSI на STM32L0?Записать номер диапазона в поле MSIRANGE[2:0] регистра RCC_ICSCR: от 000 (около 65,536 кГц) до 110 (около 4,194 МГц), значение 111 запрещено. После сброса и после выхода из Standby стоит диапазон 101 — 2,097 МГц, а выход из Stop частоту MSI не меняет.
- Почему STM32L0 сразу просыпается из режима Standby?Чаще всего не сброшен флаг WUF или флаг источника RTC, либо вывод WKUP включили битом EWUPx при высоком уровне на нём: по RM0377 это само считается событием пробуждения. Поэтому дожидаются низкого уровня на WKUP, включают EWUPx, сбрасывают WUF битом CWUF и только потом выполняют WFI.
- Почему не запускается кварц LSE 32,768 кГц на STM32L0?Самая частая причина — не установлен бит DBP в PWR_CR: биты LSEON и LSEDRV лежат в защищённом домене RTC, и запись в RCC_CSR без DBP игнорируется. Дальше поднимают LSEDRV, не записывая туда 00 — это блокирует поле до сброса по питанию или домена RTC, — и сверяют gmcrit кварца с Gm_crit_max из AN2867.
- Как записать байт в data EEPROM STM32L0?Снять защиту, записав в FLASH_PEKEYR подряд 0x89ABCDEF и 0x02030405, после чего обычной записью байта, полуслова или слова по адресу от 0x0808 0000 — стирание контроллер выполнит сам. Запись длится 3,2 мс, со стиранием — 6,4 мс; дождитесь сброса BSY и снова заблокируйте память битом PELOCK.
- Как разбудить STM32L0 из Stop таймером RTC?Запустить таймер пробуждения RTC: снять защиту записью 0xCA и 0x53 в RTC_WPR, выключить WUTE, дождаться WUTWF, записать период в RTC_WUTR и источник в WUCKSEL, включить WUTIE и WUTE. Флаг WUTF ставится каждые (WUT + 1) тактов, а пробуждение из Stop идёт через линию EXTI 20 по нарастающему фронту.
- Почему STM32L1 зависает при переходе на 32 МГц?Обычно в FLASH_ACR пытаются сразу записать LATENCY = 1, а у STM32L1 такт ожидания ставится только после включения 64-битного доступа ACC64, отдельной записью. Кроме того, после сброса ядро работает в Range 2, где предел — 16 МГц: сначала переключают VOS на Range 1 и ждут сброса флага VOSF.
- Сколько тактов ожидания FLASH нужно STM32H743?Число берут из таблицы 17 RM0433 по частоте шины AXI, а не ядра, и по уровню напряжения VOS: при ядре 480 МГц шина AXI работает на 240 МГц, и в VOS0 нужно LATENCY = 4 и WRHIGHFREQ = 10. После сброса стоят 7 тактов, поэтому до первой настройки PLL программа работает, а ошибки проявляются после снижения LATENCY.
- Как настроить PLL1 STM32H743 на 480 МГц?От кварца 25 МГц: DIVM1 = 5 даёт 5 МГц на входе PLL (PLL1RGE = 10, диапазон 4–8 МГц), DIVN1 = 192 поднимает VCO до 960 МГц в широком диапазоне 192–960 МГц, DIVP1 = 2 даёт 480 МГц. Шину AXI делят на 2, до 240 МГц, ставят 4 такта ожидания, а питание ядра переводят в VOS0 — только из VOS1, битом ODEN в SYSCFG_PWRCR.
- Почему STM32H743 зависает в настройке питания на ACTVOSRDY?Младший байт PWR_CR3 с битами LDOEN и BYPASS пишется один раз после включения питания: недопустимая пара игнорируется, регистр блокируется, и ACTVOSRDY остаётся сброшенным. Помогает только выключение питания, а в прошивке нужна конфигурация, совпадающая с платой: у STM32H743 это LDO или внешнее питание ядра.
- Сколько тактов ожидания FLASH нужно STM32F746 на 216 МГц?При питании от 2,7 до 3,6 В — 7 тактов (LATENCY = 7), при 2,4–2,7 В — 8, при 2,1–2,4 В — 9, а при 1,8–2,1 В таблица RM0385 вообще не допускает частоту выше 180 МГц. Задержку ставят до переключения на PLL, а потерю скорости компенсирует ускоритель ART на интерфейсе ITCM.
- По какому адресу исполнять код на STM32F7: 0x0800 0000 или 0x0020 0000?Это одна и та же флеш-память на двух интерфейсах: с 0x0020 0000 она подключена к шине ITCM ядра и работает через ускоритель ART, с 0x0800 0000 — через шину AXIM и кэш L1 ядра Cortex-M7. Для кода без кэша быстрее ITCM, а при включённом I-кэше годятся оба адреса; запись во флеш и DMA всегда идут через AHB.
- Почему vTaskDelay(1) на ESP32 ждёт 10 мс, а не 1 мс?Аргумент vTaskDelay задаётся в тиках, а не в миллисекундах, а в ESP-IDF частота тика FreeRTOS по умолчанию 100 Гц — опция CONFIG_FREERTOS_HZ, то есть тик длится 10 мс. Миллисекунды переводят макросом pdMS_TO_TICKS, но при 100 Гц он округляет вниз: pdMS_TO_TICKS(5) равно нулю.
- Как сделать точный период задачи во FreeRTOS?Вместо vTaskDelay, которая отсчитывает паузу от момента вызова и поэтому прибавляет к периоду время работы задачи, использовать xTaskDelayUntil: она будит задачу в абсолютный момент — прошлое пробуждение плюс период. Переменную с временем пробуждения один раз заполняют значением xTaskGetTickCount() перед циклом.
- Как найти переполнение стека задачи FreeRTOS на ESP32?В ESP-IDF по умолчанию включён метод 2 FreeRTOS — «канарейка»: при каждом переключении задач проверяются байты в конце стека, а при порче вызывается vApplicationStackOverflowHook. Сразу при записи ловит опция CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK, а запас показывает uxTaskGetStackHighWaterMark — на ESP32 в байтах.
- Какую версию ESP-IDF выбрать для нового проекта?Последнюю стабильную версию, которая находится в периоде Service: по политике Espressif каждая версия поддерживается 30 месяцев, из них первые 12 рекомендованы для новых проектов. На 1 ноября 2026 года это v6.1 от 27 августа 2026 и v6.0 от 20 марта 2026, а v5.5, v5.4 и v5.3 уже только в периоде Maintenance.
- Какую версию Zephyr выбрать: LTS или последнюю стабильную?Для изделия, которое будет выпускаться и обновляться годами, — LTS: она сопровождается около пяти лет, сейчас это Zephyr 3.7 с поддержкой до 27 июля 2029 года. Если нужны новые платы, драйверы и функции, берут последнюю стабильную 4.5.0 — она поддерживается около года, до 28 октября 2027 года.
- Что такое side-set в PIO RP2040 и как его использовать?Side-set меняет уровень или направление до 5 выводов в том же такте, что и основная команда автомата PIO: например, бит данных и фронт такта SPI выдаются одной командой. Биты side-set берутся из 5-битного поля задержки, поэтому с .side_set 1 задержка ограничена 15 тактами, а с .side_set 1 opt — 7.
- Сколько данных помещается в FIFO PIO RP2040?У каждого автомата PIO два FIFO глубиной 4 слова по 32 бита: TX — от процессора к автомату и RX — обратно. Если данные идут в одну сторону, флагом FJOIN их объединяют в один FIFO на 8 слов, а для длинных передач FIFO обслуживает DMA по сигналам DREQ без участия процессора.
- Почему программа PIO на RP2040 не загружается: не хватает места?Чаще всего да: у каждого блока PIO память на 32 команды, общая для всех четырёх его автоматов, а блоков в RP2040 два. Если вместе с загруженными программами команд больше 32 или программа с .origin требует занятый адрес, pio_add_program её не разместит; заранее это проверяет pio_can_add_program.
- Как запустить несколько автоматов PIO RP2040 синхронно?Задать им одинаковый делитель частоты и включить одной записью в регистр CTRL, одновременно перезапустив делители битами CLKDIV_RESTART, — в pico-sdk это делает функция pio_enable_sm_mask_in_sync(). По даташиту RP2040 делители с одинаковыми коэффициентами после общего перезапуска работают строго такт в такт.
- Как подключить I²C-дисплей к Arduino?Четырьмя проводами: GND к GND, VCC к 5V, SDA к A4, SCL к A5 — так у Uno, Nano и Nano Every, а у Mega 2560 SDA — вывод 20, SCL — вывод 21. Адрес модуля на PCF8574 лежит в 0x20–0x27 (обычно 0x27), на PCF8574A — в 0x38–0x3F (обычно 0x3F); если дисплей молчит, запустите сканер адресов.
- Как подключить I²C-дисплей к ESP32?SDA — к GPIO21, SCL — к GPIO22 (выводы Wire по умолчанию в Arduino-ESP32), GND — к GND, а питание модуля — так, чтобы на SDA и SCL не было больше 3,6 В: по даташиту ESP32 это предел для входа. Модуль с подтяжками к 5 В питайте от 3V3 или ставьте преобразователь уровней; другие выводы задаёт Wire.begin(sda, scl).
- Как подключить ESP32 DevKitC к макетной плате?Ряды контактов платы стоят через 25,4 мм — 10 шагов по 2,54 мм, и на обычной макетке с пятью гнёздами по сторонам канала один ряд выводов свободных гнёзд не оставляет. Ставьте плату на стык двух макеток или берите версию с гнёздами и тяните провода; питание — USB, 5V или 3V3, но один источник сразу.
- Как проверить USB-UART адаптер?Сначала убедитесь, что при подключении в системе появляется, а при отключении исчезает последовательный порт — так Espressif советует находить порт. Затем замкните перемычкой TX и RX и откройте порт в терминале: набранные символы должны вернуться эхом, а мультиметр на TX в покое покажет уровень логики — 3,3 или 5 В.
- Как выбрать Arduino для начала?Для первых проектов берите UNO R3: под её ATmega328P написано больше всего примеров, а 5-вольтовые выводы под шилды прощают ошибки монтажа. Nano — та же микросхема для макетной платы, UNO R4 даёт 32-битный RA4M1 на 48 МГц с 256 КБ флеш-памяти и USB-C, а Mega 2560 нужна ради 54 выводов и четырёх UART.
- Как работает АЦП микроконтроллера?Встроенный АЦП обычно последовательного приближения: он запоминает вход на конденсаторе и бит за битом подбирает код, сравнивая его с долями опорного напряжения. У ATmega328P это 10 бит за 13 тактов при частоте АЦП 50–200 кГц и точность ±2 LSB; у ESP32 — 12 бит, но нелинейность до ±12 LSB и разброс ±6 % между чипами.
- Как проверить сервопривод с Arduino?Сигнальный провод — к выводу 9, землю привода — к GND Arduino, питание — от внешнего источника 5 В с общей землёй; загрузите пример Sweep из библиотеки Servo: вал должен качаться от 0 до 180°. Библиотека по умолчанию шлёт импульсы 544–2400 мкс каждые 20 мс; если привод гудит на краях, сузьте диапазон в attach().
Интерфейсы
- Будет ли работать I2C без подтягивающих резисторов?Нет: выходы устройств I2C умеют только прижимать линию к нулю, а единицу на SDA и SCL создаёт подтягивающий резистор. Встроенная подтяжка микроконтроллера (у ATmega328P 20–50 кОм) иногда выручает на 100 кГц и коротких проводах, но фронт у неё выходит длиннее 1000 нс, разрешённых спецификацией.
- Почему I2C работает на 100 кГц, но не на 400 кГц?Чаще всего из-за слишком большого подтягивающего резистора: в режиме Fast-mode спецификация NXP требует фронт не длиннее 300 нс, а на 100 кГц допускает 1000 нс. Резистор, которого хватало на 100 кГц, на 400 кГц уже не успевает поднять ёмкость линии.
- Почему по RS-485 запрос уходит, а ответа нет?Чаще всего неправильно переключается направление: передатчик выключают раньше, чем ушёл последний байт, или слишком поздно, когда ответ уже начался и столкнулся с собственной передачей. Выход DE снимают по флагу окончания передачи (у STM32 это TC), а не по освобождению буфера.
- Какой кабель нужен для RS-485?Витая пара с волновым сопротивлением 120 Ом и жилами 22–24 AWG — такой кабель рекомендует руководство TI по RS-485, и под него ставят терминаторы 120 Ом на обоих концах. Для коротких линий на малой скорости подойдёт и обычная витая пара, но не параллельные провода и не плоский шлейф.
- Почему не работает CAN на STM32?Чаще всего bxCAN не выходит из режима инициализации, потому что на входе CAN_RX нет 11 рецессивных бит подряд (нет трансивера или он выключен), или на шине нет второго узла, подтверждающего кадр битом ACK. Дальше проверяют терминаторы 120 Ом, одинаковую скорость узлов и конфликт с USB на PA11/PA12.
- Почему компьютер не видит USB-устройство?Если система не реагирует вовсе, хост не заметил подключения: по спецификации USB 2.0 линия D+ полноскоростного устройства подтянута резистором 1,5 кОм к 3,3 В, а кабель должен иметь линии данных. «Неизвестное устройство» значит, что не прочитаны дескрипторы: ищите ошибку в прошивке, тактировании или питании.
- Какой максимальной длины может быть USB-кабель?Для USB 2.0 — около 5 м: спецификация ограничивает задержку кабеля 26 нс при не больше 5,2 нс на метр, и в метрах это наш пересчёт. Дальше удлиняют только через хабы — до пяти подряд, каждый со своим кабелем.
- Почему SPI читает только 0xFF?0xFF означает, что линия MISO всё время в единице — ведомое устройство не отвечает: оно не выбрано сигналом CS, не получает тактов или не поняло команду. Частые причины — CS не опускается, чтение без передачи фиктивного байта и сброс режима ведущего из-за низкого уровня на выводе SS или NSS.
- Как узнать режим SPI по даташиту?Найдите временную диаграмму обмена: уровень SCK до первого такта задаёт CPOL (низкий — 0, высокий — 1), а то, на каком фронте ведомый читает данные, — CPHA (на первом — 0, на втором — 1). Часто производитель пишет режим прямо: например, BME280 поддерживает режимы 00 и 11.
- Почему USB-C работает только одной стороной?Если при перевороте вилки пропадает питание, на плате резистор 5,1 кОм стоит только на одном выводе CC — нужен второй, на другом CC. Если питание есть, а компьютер не видит устройство, к микроконтроллеру подключён только один ряд контактов D+ и D− — A6 и A7 надо соединить с B6 и B7.
- Что лучше для Arduino: W5500 или ENC28J60?Для Arduino UNO и Nano лучше W5500: TCP, UDP и ARP он обрабатывает сам в восьми аппаратных сокетах, и с ним работает штатная библиотека Ethernet. ENC28J60 — только MAC и PHY на 10 Мбит/с, стек TCP/IP приходится держать в 2 Кбайт ОЗУ ATmega328P через стороннюю библиотеку.
- Можно ли подключить ENC28J60 к Arduino на 5 В?Сигналы от Arduino — да: входы CS, SCK, SI и RESET у ENC28J60 выдерживают 5 В. Но питают её от 3,1–3,6 В, а выходы SO и INT гарантированно дают лишь VDD − 0,7 ≈ 2,6 В — ниже порога единицы ATmega328P на 5 В (3,0 В), поэтому Microchip советует на них преобразователь уровня.
- Как проверить, что W5500 отвечает по SPI?Прочитайте регистр версии VERSIONR по адресу 0x0039 в блоке общих регистров: W5500 всегда возвращает 0x04. Если приходит 0x00 или 0xFF, ищите ошибку в SPI — режим, выбор CS, сброс или питание; связь с сетью затем показывает бит LNK регистра PHYCFGR.
- Почему LAN8720 не работает с ESP32?Чаще всего мешает такт 50 МГц: внешний такт ESP32 принимает только на GPIO0 — выводе выбора режима загрузки, и работающий при включении генератор может перевести ESP32 в режим прошивки. Другие частые причины — адрес PHY в программе не совпадает с перемычкой PHYAD0 и неверный режим REF_CLK в драйвере.
- Что выбрать для ESP32: W5500 или LAN8720?LAN8720 подключается к встроенному MAC по RMII, а MAC с RMII из ESP32 есть только у классического ESP32 и у ESP32-P4. Для ESP32-S2, S3, C3 и C6 остаётся SPI-контроллер вроде W5500; он же проще в разводке и не трогает GPIO0, но скорость упирается в частоту SPI.
- Можно ли подключить устройство RS-422 к шине RS-485?К двухпроводной шине RS-485 — обычно нет: передатчик RS-422 рассчитан на линию с одним источником, держит пару постоянно и мешает остальным говорить. В четырёхпроводной схеме устройство RS-422 может работать ведущим, который передаёт по одной паре всем ведомым и слушает их ответы по другой.
- Как подключить датчик 4–20 мА к Arduino?Ток петли пропускают через точный резистор на землю Arduino и измеряют на нём напряжение входом АЦП. Для UNO с опорным 5 В удобен резистор 200 Ом: 4–20 мА дают 0,8–4,0 В, и в шкале остаётся запас для аварийных токов до 25 мА.
- Как сделать выход 4–20 мА от микроконтроллера?Напряжение с ЦАП или сглаженного ШИМ превращают в ток преобразователем напряжение–ток: на ОУ с транзистором, если у устройства своё питание, или на XTR115, если устройство питается от петли. Готовые ЦАП с токовым выходом — AD5420, AD5421, DAC161S997 — управляются по SPI и сами формируют токи отказа.
- Почему греется ENC28J60?Потому что он много потребляет: по даташиту 120 мА в работе без передачи и до 180 мА во время передачи кадров, то есть 0,4–0,6 Вт от 3,3 В. Заметно тёплый корпус — нормальное состояние, а на модулях с питанием 5 В греется ещё и линейный стабилизатор.
- Как уменьшить потребление W5500?Перевести PHY на 10 Мбит/с — ток упадёт со 128–132 до 75–79 мА, а когда сеть не нужна, включить режим Power Down через регистр PHYCFGR — останется 13 мА. Для батарейного устройства этого мало, и W5500 обычно обесточивают ключом.
- Как подключить USBLC6-2 к разъёму USB-C?Контакты D+ (A6 и B6) и D− (A7 и B7) соединяют у самого гнезда, а уже общие линии ведут через выводы I/O1 и I/O2 сборки. Вывод VBUS сборки подключают к VBUS разъёма только при питании 5 В; если плата по USB PD получает 9–20 В, его соединяют с шиной 3,3 или 5 В платы.
- Почему не работает CAN на ESP32?Чаще всего на шине нет второго узла, который подтверждает кадр битом ACK: передатчик бесконечно повторяет кадр, а контроллер TWAI переходит в error passive — но не в bus-off. Другие частые причины — нет внешнего трансивера, разная скорость узлов и отсутствие терминаторов 120 Ом.
- Как подключить прибор Modbus RTU к сети Ethernet?Через шлюз Modbus TCP — RTU: шлюз подключают к линии RS-485 прибора и к сети, а программа шлёт запросы Modbus TCP на IP-адрес шлюза и порт 502. Поле Unit ID в запросе — это адрес прибора на линии от 1 до 247: по нему шлюз решает, кому переслать запрос, и сам добавляет CRC.
- Почему прибор за шлюзом Modbus TCP не отвечает?Если шлюз возвращает исключение 0B, он переслал запрос на линию, но прибор не ответил: чаще всего неверен Unit ID или настройки порта RS-485 шлюза не совпадают с прибором. Но шлюз может и не прислать исключение, а просто промолчать — тогда проверяют по порядку и сеть до шлюза, и Unit ID, и линию RS-485, и таймауты.
- Чем Modbus RTU over TCP отличается от Modbus TCP?Форматом кадра: в Modbus TCP перед PDU стоит 7-байтный заголовок MBAP, а адреса устройства и CRC нет, в RTU over TCP через сокет идёт обычный кадр RTU с адресом и CRC-16. Режимы несовместимы: клиент Modbus TCP не поймёт ответ «прозрачного» преобразователя, поэтому режим в программе и в преобразователе должен совпадать.
- Сколько регистров можно прочитать одним запросом Modbus?До 125 регистров функциями 03 и 04 и до 123 — функцией записи 16; дискретных входов и выходов — до 2000 на чтение и 1968 на запись. Пределы одинаковы для RTU и TCP: их задаёт размер PDU в 253 байта, а на большее количество устройство отвечает исключением 03.
- Почему ESP32 со статическим IP не выходит в интернет?Чаще всего не задан или неверен шлюз: он должен быть адресом роутера из той же подсети, что и ESP32, иначе пакеты к внешним адресам некуда отправить. Если по IP-адресам интернет доступен, а по именам — нет, не задан DNS-сервер: при выключенном DHCP ESP-IDF задаёт его только функцией esp_netif_set_dns_info().
- Как подключить плату с Ethernet к компьютеру без роутера?Задайте обоим статические адреса из одной частной подсети, например 192.168.50.1/24 компьютеру и 192.168.50.2/24 плате; шлюз в такой сети не нужен. Кабель — обычный, если сетевая карта компьютера поддерживает Auto-MDIX, иначе перекрёстный: у W5500, например, автоматической смены пар нет.
- Что будет, если указать неправильную маску подсети?Устройство начнёт неверно решать, кто из адресатов в его сети, а кто за шлюзом: по маске оно сравнивает свой адрес с адресом получателя (RFC 1122). Широкая маска обрывает связь с узлами, которые попали в расширенный диапазон, но стоят за роутером, а узкая может выбросить из подсети шлюз.
- Есть ли в W5500 клиент DHCP?Аппаратно — нет: в списке протоколов W5500 только TCP, UDP, ICMP, IPv4, ARP, IGMP и PPPoE. Клиент DHCP работает в программе микроконтроллера поверх UDP-сокета W5500, а полученные адрес, маску и шлюз программа сама записывает в регистры SIPR, SUBR и GAR.
- Можно ли подключить RS-485 звездой?Надёжно — нет: RS-485 рассчитан на шину с терминаторами на двух концах и короткими отводами к узлам, а в звезде каждая ветвь — длинный отвод со своим концом и отражениями. Узлы, разбросанные звездой, соединяют шлейфом — кабель заходит в узел и выходит из него — или через активный концентратор.
- Почему RS-485 перестаёт работать при подключении нескольких устройств?Чаще всего терминатор 120 Ом включён в каждом устройстве: пять таких резисторов параллельно дают 24 Ом, а передатчик RS-485 гарантирует уровень 1,5 В только на нагрузке 54 Ом. Другие причины — резисторы смещения в каждом узле, которые съедают бюджет из 32 единичных нагрузок, и одинаковые адреса устройств.
- Почему через переходник HDMI–DVI монитор не даёт 2560×1440 на 60 Гц?Потому что HDMI передаёт один канал TMDS — три пары данных и такт, — и для монитора это DVI single link, который по спецификации DVI 1.0 работает не выше 165 МГц. Одних видимых пикселей у 2560×1440 при 60 Гц около 221 млн в секунду (наш расчёт), и такой режим требует dual link.
- Разрядит ли адаптер в разъёме OBD-II аккумулятор?При долгой стоянке — может: контакт 16 разъёма OBD-II подключён к плюсу батареи и при выключенном зажигании, а типовая схема ELM327 по даташиту берёт около 30 мА — примерно 0,7 А·ч в сутки (наш расчёт). Ток конкретного адаптера зависит от его схемы, поэтому на стоянку адаптер лучше вынимать.
- Можно ли соединить UART Arduino и ESP32 напрямую?Нет: единица Arduino Uno — до 5 В, а вход ESP32 по даташиту допускает не больше 3,6 В, поэтому линию TX Arduino подают через делитель или преобразователь уровней. В обратную сторону 2,64 В, гарантированные ESP32, ниже 3,0 В — порога единицы ATmega328P при 5 В, так что надёжнее преобразователь уровней.
- Могут ли на одной шине RS-485 работать трансиверы на 3,3 и 5 В?Да: стандарт задаёт напряжение между проводами A и B, а не питание микросхем, и трансиверы на 3,3 В вроде SP3485 выдают на нагрузку 54 Ом не меньше 1,5 В — как MAX485 от 5 В. Приёмникам обоих типов достаточно разности 0,2 В, поэтому запас по уровню большой.
- Почему греется микросхема RS-485?Обычно передатчик работает на короткое замыкание: два узла передают сразу, линия A или B замкнута или из-за обрыва общего провода ушла далеко от земли. Ток ограничен до 250 мА, но даже при замыкании на землю SP3485 от 3,3 В рассеивает около 0,8 Вт при допустимых 600 мВт, а при замыкании на +12 В — до 3 Вт.
- Какая максимальная длина кабеля SATA?Один метр для внутреннего кабеля данных: так указывает Seagate в руководствах к дискам SATA, вместе с составом кабеля — две дифференциальные пары и три земли сечением 30–26 AWG. Длиннее, на скоростях до 6 Гбит/с, растут потери и отражения, и появляются ошибки передачи.
- Что означают сообщения ELM327 NO DATA и UNABLE TO CONNECT?UNABLE TO CONNECT значит, что адаптер перебрал все протоколы OBD и ни один не подошёл — часто просто не включено зажигание. NO DATA — связь есть, но блок не ответил на конкретный запрос за время ожидания — по умолчанию не дольше 200 мс, адаптер подбирает его сам: такого параметра у машины нет или ответ отсеял фильтр.
- Как подключить монитор с DisplayPort к выходу HDMI?Только через активный преобразователь HDMI → DisplayPort, обычно с питанием от USB. Пассивные кабели работают в обратную сторону: двухрежимный выход DisplayPort (DP++) видеокарты сам выдаёт сигнал HDMI, а вход DisplayPort монитора сигнал HDMI не принимает.
- Как подключить Arduino к разъёму OBD-II по CAN?Через CAN-контроллер с трансивером, например модуль MCP2515: CAN-H — на контакт 6 разъёма, CAN-L — на 14, общий провод — на 5. Скорость по ISO 15765-4 — 500 или 250 кбит/с, и начинать стоит с режима только прослушивания, который ничего не передаёт в шину машины.
- Почему устройство Modbus TCP не пускает второго клиента?Потому что число одновременных соединений TCP у сервера ограничено его ресурсами: спецификация Modbus не задаёт его и лишь советует при переполнении закрывать самое старое неиспользуемое соединение. У маленьких устройств мест бывает всего несколько, и SCADA вместе с отладчиком на ПК их легко занимают.
- Можно ли дать устройству IP-адрес, оканчивающийся на 0 или 255?В обычной домашней сети с маской 255.255.255.0 — нет: адрес .0 обозначает саму сеть, а .255 — широковещательный, и RFC 1122 запрещает такие значения номера узла. Но запрет касается всех нулей и всех единиц в части узла, поэтому в сети /23 адрес 192.168.0.255 — обычный адрес устройства.
- Как разбить сеть /24 на четыре подсети?Удлинить префикс на 2 бита — до /26 с маской 255.255.255.192: получится четыре подсети по 64 адреса, например 192.168.1.0, .64, .128 и .192. В каждой первый адрес — номер подсети, последний — широковещательный, и устройствам остаётся по 62 адреса.
- Какую скорость реально даёт W5500?Её ограничивает не Ethernet 100 Мбит/с, а шина SPI между W5500 и микроконтроллером: каждый байт данных проходит через неё. Наш расчёт: у Arduino Uno SPI тактируется не выше 8 МГц, это потолок 8 Мбит/с, а реальная скорость ещё ниже из-за пауз между байтами и работы программы.
- Почему ENC28J60 теряет пакеты при подключении к коммутатору?Частая причина — несовпадение дуплекса: ENC28J60 не поддерживает автосогласование, и коммутатор с автонастройкой определяет его как полудуплексное устройство. Если прошивка включила полный дуплекс, стороны работают в разных режимах, и пакеты теряются; режимы платы и порта должны совпадать.
- Нужно ли выравнивать длины D+ и D− на плате для USB 2.0?Да, но с мягким допуском: в рекомендациях TI для USB 2.0 разница длин внутри пары — не больше 50 mil, то есть 1,27 мм, а это по нашему расчёту около 9 пс перекоса. Для сравнения, весь кабель USB 2.0 может вносить до 100 пс, а у пар USB 3, PCIe и HDMI TI допускает лишь 5 mil.
- Как подключить два одинаковых датчика I2C к одной шине?Сначала проверить вывод выбора адреса: у BMP280 и BME280 вывод SDO даёт адрес 0x76 или 0x77, и два таких датчика уживаются на одной шине. Если адрес фиксированный или датчиков больше, ставят коммутатор TCA9548A с восемью отдельными каналами или используют вторую шину I2C.
- Почему шина I2C зависает после перезагрузки микроконтроллера?Потому что датчик не знает о сбросе ведущего: если перезагрузка пришлась на середину чтения, он продолжает передачу и держит SDA в нуле, ожидая тактов. По UM10204 ведущий должен выдать до девяти тактов SCL, и устройство отпустит линию; если зависла SCL, помогает только сброс или выключение питания устройств.
- Как проверить осциллографом, на какой скорости работает I2C?Измерить период SCL: при 100 кГц он 10 мкс, при 400 кГц — 2,5 мкс. Затем по таблице 11 UM10204 сверить низкий и высокий уровень SCL — не меньше 4,7 и 4,0 мкс в Standard-mode и 1,3 и 0,6 мкс в Fast-mode — и фронт от 30 до 70 % питания: не дольше 1000 и 300 нс.
- Как связать две Arduino по I2C?Соединить SDA с SDA, SCL с SCL и земли плат, поставить на шину одну пару внешних подтяжек (Wire включает ещё и встроенные на обеих платах) и назначить одну плату ведущей, другую — ведомой с адресом из 0x08–0x77. Обе платы должны быть включены: по даташиту ATmega328P шина работает, только когда питаются все AVR.
- Сколько устройств можно подключить к одной шине I2C?По адресам — до 112: из 128 семибитных адресов 16 зарезервированы стандартом. Но раньше упираются в ёмкость: по UM10204 на линию допускается 400 пФ, вывод каждого устройства добавляет до 10 пФ, а ещё провода и дорожки, и модули со своими подтяжками вместе перегружают выходы.
- Как проверить линию LVDS мультиметром?По постоянному току: без питания между проводами пары у приёмника должно быть около 100 Ом терминатора, а при работающем передатчике каждый провод относительно земли — около 1,2 В. Разность проводов при неизменных данных у SN65LVDS31 — 247–454 мВ, при бегущих данных мультиметр покажет среднее, обычно около нуля.
- Почему LVDS-матрица показывает неправильные цвета?Обычно не совпал формат данных: у 24-битных панелей по четвёртой паре идут либо старшие биты цвета (формат 1, VESA), либо младшие (формат 2, JEIDA), и при путанице изображение есть, но цвета и градиенты искажены. Вторая причина — передатчик настроен на 24 бита, а панель 18-битная, или наоборот.
- Можно ли подключить LVDS-матрицу от ноутбука к микроконтроллеру?Напрямую — нет: выводы микроконтроллера не выдают LVDS, а матрице нужен непрерывный поток пикселей с частотой в десятки мегагерц. Понадобятся микроконтроллер с параллельным RGB-выходом, сериализатор вроде SN75LVDS83B (такт пикселя 10–135 МГц) и память на целый кадр — для Arduino проще взять дисплей с SPI.
- Нужен ли внешний резистор 100 Ом на LVDS-входе ПЛИС?Нужен один терминатор 100 Ом у приёмника — внешний или встроенный. У ПЛИС AMD 7-й серии встроенный включается свойством DIFF_TERM = TRUE (при подходящем питании банка), а по умолчанию он выключен; если не поставить ни его, ни резистор, ток передатчика LVDS не создаст на входе нормированного напряжения.
- Можно ли передать LVDS по кабелю витой пары на несколько метров?Да: TI приводит для передатчиков SN65LVDS31 зависимость дальности от скорости именно для кабеля UTP 24 AWG, и чем ниже скорость, тем дальше можно передавать. Условия — каждому сигналу своя пара, терминатор 100 Ом у приёмника и разность потенциалов земли между концами не больше 1 В.
- Можно ли подключить несколько микроконтроллеров к одному отладчику по SWD?Только если все кристаллы поддерживают SWD версии 2 с режимом multidrop и у них разные значения TARGETSEL: отладчик выбирает нужный записью в этот регистр, остальные молчат. STM32F103 с SW-DP первой версии так не умеет — для нескольких таких чипов нужны отдельные разъёмы или цепочка JTAG.
- Почему Arduino зависает на Wire.endTransmission()?Потому что в библиотеке Wire ядра AVR таймаут по умолчанию выключен: если ведомый держит SDA после сброса, помеха сбила автомат TWI или слабые подтяжки затягивают фронты, функция ждёт шину вечно. Включите Wire.setWireTimeout(25000, true) после Wire.begin(): тогда endTransmission() вернёт код 5, а модуль TWI сбросится.
- Как подключить два MLX90614 к одной шине I²C?Сначала поменять адрес одному из них: подключить его к шине одного, записать в ячейку EEPROM 0x0E (команда 0x2E) сначала 0x0000, а через 10 мс — новый адрес, проверить чтением и перезапустить питание. Заводской адрес у всех MLX90614 — 0x5A, а частота шины для них не должна превышать 100 кГц.
- Как подключить I²S-микрофон к ESP32?Тремя сигналами: SCK и WS выдаёт ESP32, SD — вход; питание 3,3 В, вывод LR на землю — тогда микрофон отвечает в левом слоте. В ESP-IDF канал настраивают в режиме STD, формат Philips, 32 бита на слот (ICS-43434 нужно 64 такта SCK на кадр), моно, левый слот, а 24-битный отсчёт получают сдвигом слова на 8 бит вправо.
- Почему LPUART не будит STM32L0 из режима Stop?Обычно потому, что LPUART тактируется от APB или системной частоты: будить он может только от LSE или HSI16, выбранных битами LPUART1SEL в RCC_CCIPR. Ещё нужны бит UESM, событие пробуждения в WUS с прерыванием WUFIE или RXNEIE, а при LSE и 9600 бод — бит UCESM, иначе приёмник в Stop остаётся без такта.
- Как разбудить STM32L0 из Stop по адресу I2C?Включить пробуждение битом WUPEN в I2C_CR1 у I2C1 или I2C3 — у I2C2 этой функции нет — и тактировать интерфейс от HSI16 битами I2CxSEL в RCC_CCIPR. Цифровой фильтр должен быть выключен (DNF = 0), растягивание SCL разрешено (NOSTRETCH = 0), а будит ядро только прерывание ADDR.
- Почему не работает USB на STM32H743?Чаще всего тактовый сигнал USB после сброса выключен (USBSEL в RCC_D2CCIP2R равно 00) и не включено питание приёмопередатчиков. Выберите источник 48 МГц, например HSI48 с подстройкой CRS по SOF, поставьте USB33DEN в PWR_CR3, а без внешних 3,3 В на VDD33USB включите регулятор USBREGEN и дождитесь USB33RDY.
- Почему SPI на STM32 сам выключается и становится ведомым?Это ошибка режима MODF: ведущий увидел низкий уровень на своём внутреннем сигнале NSS — на выводе NSS при аппаратном управлении или в бите SSI при программном. Аппаратура тогда сбрасывает MSTR и SPE; чтобы этого не было, ставят SSM = 1 и SSI = 1 либо, если NSS не нужен как вход, SSOE = 1.
- Как включить аппаратное управление DE для RS-485 на STM32?Поставить бит DEM в USART_CR3 и назначить вывод RTS альтернативной функцией — по RM0385 сигнал DE выходит на тот же вывод. Задержки до старт-бита и после последнего стоп-бита задают поля DEAT и DEDT в USART_CR1 в долях бита (1/16 или 1/8), полярность — бит DEP; все эти поля пишут при UE = 0.
Печатные платы
- Сколько переходных отверстий нужно на ток 3 А?При отверстиях 0,3 мм — не меньше четырёх: по таблице TI на основе IPC-2152 для платы с медью 1 унция одно такое отверстие держит 0,84 А при перегреве 10 °C. Толщину металлизации стенки таблица не называет, а у JLCPCB она в среднем 18 мкм, поэтому с запасом ставят 5–6 отверстий рядом с выводом.
- Какие файлы нужны для заказа печатной платы?Комплект Gerber-файлов — по одному на каждый слой меди, паяльной маски, маркировки и на контур платы — и файл сверловки в формате Excellon. Их упаковывают в один архив; карту сверловки JLCPCB советует добавлять, а перед отправкой файлы проверяют в просмотрщике Gerber.
- Какую толщину печатной платы выбрать?Для обычной платы — около 1,5–1,6 мм: 1,6 мм есть в ряду толщин JLCPCB, у Резонита ближайшая складская толщина FR4 Tg135 — 1,5 мм. Тоньше берут, только когда этого требует корпус: у Резонита скрайбирование — от 0,8 мм, у JLCPCB V-cut — от 0,6 мм, а HASL недоступен при 0,4 мм и тоньше.
- Чем отличаются технологические нормы JLCPCB и Резонита?Главное различие — дорожка и зазор при меди 35 мкм: JLCPCB делает 0,10 мм на двухслойной плате, а Резонит по базовым нормам — 0,20 мм, по продвинутым — 0,15 мм. Поэтому плату, разведённую под минимальные нормы JLCPCB, без переразводки в Резоните по базовым нормам не заказать.
- Можно ли развести USB на двухслойной плате?Для full-speed (12 Мбит/с, как у STM32F103) — да, если пара D+ и D− короткая, идёт рядом и над сплошной землёй на нижнем слое. Для high-speed (480 Мбит/с) важнее выдержать 90 Ом, а контроль импеданса фабрики обычно предлагают для многослойных плат.
- Какой отступ нужен от меди до края печатной платы?Не меньше 0,25 мм от фрезерованного края, чтобы пройти нормы и Резонита, и JLCPCB (у JLCPCB минимум 0,2 мм), и не меньше 0,4 мм от линии V-скрайбирования. С учётом допуска контура ±0,2 мм полигоны и дорожки лучше отводить от края на 0,5 мм и больше.
- Какой зазор между дорожками нужен для 12, 24 и 48 В?По таблице 6-1 IPC-2221 для 12 и 24 В на наружном слое без покрытия достаточно 0,1 мм, то есть не больше технологического минимума фабрик. Для 48 В граница меняется: в диапазоне 31–100 В без маски нужно 0,6 мм, а под маской или лаком — 0,13 мм.
- Какой зазор нужен между дорожками двух фаз 400 В на печатной плате?Амплитуда линейного напряжения 400 В — около 566 В, и по таблице 6-1 IPC-2221 наш расчёт даёт 2,83 мм на наружном слое без покрытия, 1,0 мм под маской или лаком и 0,41 мм во внутреннем слое. Это функциональный минимум: расстояния до того, чего касается человек, задают IEC 60664-1 и стандарт на изделие.
- Нужно ли увеличивать зазоры на плате для работы на большой высоте?Да, для наружных непокрытых проводников: для высот больше 3050 м IPC-2221 даёт отдельный столбец, и при амплитуде 301–500 В это 12,5 мм вместо 2,5 мм. Под постоянным покрытием и во внутренних слоях зазоры от высоты не зависят, а для изоляции безопасности IEC 60664-1 вводит поправку уже выше 2000 м.
- Почему при коротком замыкании сгорает дорожка, а предохранитель остаётся целым?Потому что дорожке для плавления нужно меньше энергии, чем предохранителю для срабатывания: обе величины сравнивают по интегралу Джоуля I²t. Наш расчёт по формуле Ондердонка даёт для дорожки 0,25 мм из меди 35 мкм около 6 А²·с — если предохранитель отключает замыкание при большем I²t, первой сгорит дорожка.
- Зачем на печатной плате делают дорожки змейкой?Чтобы выровнять задержку: змейка удлиняет короткую дорожку, и сигналы пары или шины приходят к приёмнику одновременно. На FR-4 каждый миллиметр — это 6–7 пс, поэтому змейки нужны быстрым интерфейсам вроде DDR, USB, HDMI и PCIe, а для I²C, UART и медленного SPI они не нужны.
- Как развести плату понижающего DC-DC, чтобы он не шумел?Сделать как можно короче петлю «входной конденсатор — микросхема — земля»: керамику ставят вплотную к выводам VIN и GND, под силовой частью оставляют сплошную землю, а узел SW делают маленьким. Делитель обратной связи ставят у вывода FB и ведут эту цепь подальше от дросселя и SW.
- Подходит ли покрытие HASL для QFN и микросхем с шагом 0,5 мм?Для ручной пайки обычно подходит, но для QFN, BGA и шага 0,5 мм надёжнее ENIG: TI связывает выход годных при сборке QFN и SON с ровностью площадок, а HASL оставляет на них неравномерную «шапку» припоя. JLCPCB для площадок BGA 0,2–0,25 мм и открытых от маски дорожек 0,25 мм разрешает только ENIG.
- Как заказать несколько разных плат одной панелью?Расставить платы в одном файле с зазорами и соединить их либо линиями V-cut, либо перемычками с перфорацией, а материал, толщину, медь, маску и покрытие сделать общими. У JLCPCB зазор между платами с перемычками 1,6 или 2 мм, у Резонита в комплекте не больше пяти плат с зазором от 2 мм.
- Почему крепёжные отверстия на плате пришли с металлизацией?Потому что фабрика получила их как обычные металлизированные: отверстие без металлизации (NPTH) в KiCad задают типом площадки «NPTH, Mechanical» и выводят в отдельный файл сверловки, а в других САПР, по просьбе JLCPCB, рисуют в механическом слое или слое запрета. Минимальный диаметр NPTH у JLCPCB и Резонита — 0,5 мм.
- Как сделать паз или прорезь в печатной плате?Металлизированный паз под плоский вывод разъёма рисуют овальной площадкой — у JLCPCB от 0,5 мм шириной и не короче двух ширин, а неметаллизированный вырез — замкнутым контуром в механическом слое, от 1,0 мм. Прямых внутренних углов не будет: паз фрезеруют или сверлят, и углы остаются скруглёнными.
- Какой размер переходного отверстия не увеличивает цену платы?У JLCPCB доплаты нет при отверстии от 0,3 мм с любой площадкой или 0,2–0,25 мм с площадкой от 0,45 мм; у Резонита базовая норма — отверстие 0,3 мм и поясок 0,15 мм. Поэтому отверстие 0,3 мм с площадкой 0,6 мм проходит по базовым нормам обеих фабрик.
Радиочастоты
- Какая дальность у модулей 433 МГц?Одного числа нет: дальность задают мощность передатчика, чувствительность приёмника на выбранной скорости, КПД антенн и препятствия на трассе. Наш расчёт для CC1101 с пружинными антеннами и запасом 20 дБ даёт около 1,8 км в свободном пространстве на 1,2 кБод и около 250 м на 250 кБод, а в здании — намного меньше.
- Почему LoRa передаёт дальше других модулей?Потому что приёмник LoRa различает сигнал слабее шума: каждый символ растянут на 2^SF чипов, и при SF12 демодулятору хватает отношения сигнал/шум −20 дБ. Отсюда чувствительность SX1276 до −136 дБм при полосе 125 кГц против −112 дБм у FSK-трансивера CC1101 на 1,2 кБод, а платой служит скорость — 293 бит/с на SF12.
- Почему два модуля LoRa не видят друг друга?Чаще всего у них не совпадают настройки модема: частота, фактор расширения SF, полоса, режим заголовка, длина преамбулы или бит LowDataRateOptimize — приёмник LoRa принимает чужой SF как шум. Вторая частая причина — модуль не на тот диапазон: SX1278 работает только до 525 МГц и на 868 МГц не передаёт.
- Какой длины антенна нужна на 868 МГц?Четвертьволновый штырь на 868 МГц — около 8,6 см (TI AN058): это длина над проводником земли, который работает второй половиной антенны. Точную длину подбирают в корпусе по КСВ, а вместо штыря можно развести на плате антенну IFA по референсному дизайну TI размером 43 × 20 мм.
- Какой длины антенна нужна на 2,4 ГГц?Четвертьволновый штырь на 2,4 ГГц — около 3,1 см над проводником земли (TI AN058). Такой короткой антенне хватает места на самой плате, поэтому чаще разводят печатную IFA: у TI есть готовые дизайны размером 25,7 × 7,5 мм и 15,2 × 5,7 мм, которые копируют один в один.
- Чем антенна-пружинка хуже штыревой?Узкой полосой и, как правило, меньшим КПД: в замерах TI на 915 МГц спиральная антенна излучала 68,5 % мощности против 89,1 % у штыревой на разъёме, а компактные спирали на 433 МГц — лишь 20–26 %. На 868 МГц тот же штырь показал 70,5 %, так что выигрыш зависит от того, на какую частоту настроена антенна.
- Почему nRF24L01+ работает только на коротком расстоянии?Чаще всего потому, что после сброса он работает на 2 Мбит/с с чувствительностью −82 дБм, а на 250 кбит/с она −94 дБм: 12 дБ дают в свободном пространстве вчетверо большую дальность (наш расчёт). Вторая частая причина — шумное питание: Nordic требует керамику у выводов VDD и отфильтрованную линию питания.
- Можно ли модуль CC1101 на 433 МГц использовать на 868 МГц?Программно частоту задать можно — CC1101 работает в полосах 387–464 и 779–928 МГц, — но толку будет мало: балун, фильтр и антенна модуля рассчитаны на 433 МГц, а в референсных схемах TI номиналы этих деталей для 868 МГц другие. Наш вывод: для 868 МГц берут модуль, собранный на этот диапазон.
- Почему два модуля CC1101 не видят друг друга?Чаще всего настройки передатчика и приёмника различаются хотя бы в одном регистре — частоте, скорости, девиации, синхрослове или формате пакета. Если всё совпадает, мешает уход кварцев: при допуске ±40 ppm у каждого расхождение на 433,92 МГц доходит до 35 кГц, и узкий фильтр приёмника сигнал не пропускает.
- Можно ли питать модуль LoRa от батарейки CR2032?На +20 дБм — нет: передатчик SX1276 берёт 120 мА, а у CR2032 внутреннее сопротивление около 10 Ом, и напряжение просядет до 1,8 В — ниже нужных 2,4 В. Малые токи 20–29 мА Semtech даёт только для выводов RFO, а на распространённых модулях антенна подключена к PA_BOOST — проверьте схему модуля.
- Можно ли включать радиомодуль на передачу без антенны?Не стоит, особенно на большой мощности: без антенны почти вся мощность отражается обратно в выходной каскад, а для режима +20 дБм у SX1276 Semtech задаёт предельный КСВ 3:1, когда отражается не больше 25 %. Для меньшей мощности предела по КСВ в даташите нет, поэтому и там такой режим ничем не гарантирован (наш вывод).
- На какое расстояние работает Bluetooth Low Energy?Зависит от мощности передатчика, чувствительности приёмника и препятствий: в помещении — обычно десятки метров, в прямой видимости между двумя ESP32-C3 на 0 дБм расчёт даёт сотни метров, а с Coded PHY и +20 дБм — километры. Реальная дальность меньше расчётной из-за стен, людей и отражений.
- Что делать, если NanoVNA показывает резонанс антенны ниже нужной частоты?Укоротить антенну: резонанс ниже нужного значит, что она электрически длиннее, и TI в AN058 советует укорачивать её, если резонанс ниже, и удлинять, если выше. Новая длина примерно пропорциональна отношению частот, а мерить нужно в конечном корпусе и положении — корпус сам сдвигает резонанс вниз.
- Почему радиомодули на 433 МГц бьют дальше, чем на 2,4 ГГц?Потому что при антеннах с одинаковым усилением потери на трассе растут с частотой: на 2,4 ГГц они на 15 дБ больше, чем на 433 МГц, а TI в AN058 отмечает, что снижение частоты вдвое удваивает дальность. Вдобавок модули sub-GHz обычно работают на малых скоростях и потому чувствительнее приёмников 2,4 ГГц.
- Почему КСВ на NanoVNA меняется, если тронуть кабель или плату?Потому что по внешней стороне оплётки течёт ток, и кабель вместе с рукой становится частью антенны — особенно у маленьких плат с небольшой землёй. TI в AN058 советует паять оплётку к земле у самой точки питания, отводить кабель от антенны и надевать на него ферритовые кольца, а мерить — в конечном корпусе.
- До какой частоты реально работает NanoVNA?Оригинальный NanoVNA-H по руководству — от 50 кГц до 900 МГц, но гетеродин сам доходит только до 300 МГц, а выше прибор работает на его 3-й и 5-й гармониках, и динамический диапазон падает с 70 до 40 дБ. Поздние ревизии меряют примерно до 1,5 ГГц при диапазоне около 40 дБ; выше сильно шумят.
- Можно ли посмотреть сигнал Wi-Fi или Bluetooth 2,4 ГГц на tinySA?На базовом tinySA — нет: по спецификации его вход LOW работает от 100 кГц до 350 МГц, а вход HIGH — от 240 до 960 МГц, и 2,4 ГГц в эти диапазоны не входит. Зато модули на 433 и 868 МГц он смотрит, только мощный сигнал подают через внешний аттенюатор.
- Почему ESP32 не видит сеть Wi-Fi 5 ГГц?Потому что ESP32, ESP32-S3, ESP32-C3 и ESP32-C6 работают только в диапазоне 2,4 ГГц — так указано в их даташитах, и сеть 5 ГГц для них просто не существует. Двухдиапазонный Wi-Fi 6 на 2,4 и 5 ГГц есть у ESP32-C5; для остальных включите на роутере сеть 2,4 ГГц, лучше с отдельным именем.
- Как уменьшить мощность передатчика Wi-Fi на ESP32?Вызвать esp_wifi_set_max_tx_power() после esp_wifi_start(): аргумент задаётся в единицах 0,25 дБм, допустимо от 8 до 84, то есть от 2 до 20 дБм. Значение округляется вниз до ступени из таблицы ESP-IDF, например 52 даёт 13 дБм, а 40 — 8,5 дБм.
- Почему ESP32 не подключается к Wi-Fi на 12 или 13 канале?Обычную сеть на 12 или 13 канале ESP32 находит: при политике AUTO по умолчанию каналы 1–11 сканируются активно, а 12–14 — пассивно, по маякам точки доступа. Не находится скрытая сеть — пассивное сканирование скрытый SSID не видит, и нужен канал 1–11 или политика MANUAL со страной, где эти каналы разрешены.
- Как сделать, чтобы ESP32 сам переподключался к Wi-Fi?В ESP-IDF переподключение — задача приложения: в обработчике события WIFI_EVENT_STA_DISCONNECTED вызывают esp_wifi_connect(), если отключение не вызвано самой программой через esp_wifi_disconnect(). После нескольких неудач между попытками делают паузу, а сокеты после разрыва закрывают и создают заново.
- Можно ли одновременно использовать Wi-Fi и Bluetooth на ESP32?Можно, но радиотракт 2,4 ГГц у ESP32 один, и Wi-Fi с Bluetooth делят его по времени. По таблице ESP-IDF станция Wi-Fi вместе с BLE в любом состоянии работает стабильно, а режим точки доступа SoftAP во время подключения клиентов и сниффер с Bluetooth — поддерживаются, но нестабильно.
- Как найти свободный канал для nRF24L01+?Просканировать каналы детектором RPD: для каждого RF_CH включить приём, через 170 мкс прочитать бит 0 регистра 09 — он равен 1 при сигнале сильнее −64 дБм. Свободными обычно оказываются каналы вне полосы Wi-Fi: 2412–2484 МГц — лишь центры её каналов, а каждый канал шире ещё на 10 МГц в обе стороны.
Измерения
- Как проверить диод мультиметром?Включите режим проверки диодов и приложите красный щуп к аноду, а чёрный к катоду: исправный кремниевый диод покажет меньше 1 В, а при обратном подключении — OL. Если прибор в обе стороны показывает почти ноль, диод пробит, если OL в обе стороны — оборван.
- Как проверить конденсатор мультиметром?Разрядите и выпаяйте конденсатор, затем измерьте ёмкость в режиме измерения ёмкости: у исправного она в пределах допуска от номинала, например ±20 % для буквы M. Рост ESR, из-за которого старые электролитические конденсаторы перестают работать, обычный мультиметр не измеряет.
- Как проверить MOSFET мультиметром?Замкните затвор с истоком и прозвоните сток–исток в режиме проверки диодов: у исправного N-канального MOSFET в одну сторону виден встроенный диод, в другую — OL. Затем зарядите затвор щупами: если порог открытия ниже напряжения прибора, канал откроется и сток–исток зазвонится почти накоротко.
- Как проверить реле мультиметром?Измерьте сопротивление катушки и сравните с даташитом: у реле Panasonic JW на 5 В это 47 Ом ±10 %, обрыв даёт OL. Затем прозвоните контакты: без питания замкнута пара COM–NC, а после подачи номинального напряжения на катушку — COM–NO.
- Как проверить напряжение в розетке мультиметром?Вставьте щупы в гнёзда COM и V, выберите переменное напряжение V~ с пределом не ниже 600 В и вставьте щупы в оба отверстия розетки, держа пальцы за упорами. В исправной сети прибор покажет от 207 до 253 В — номинал 230 В с допуском ±10 %.
- Чем отличается напряжение от тока?Ток — это поток зарядов через проводник, его измеряют в амперах; напряжение — разность потенциалов между двумя точками, которая заставляет заряды двигаться, его измеряют в вольтах. Напряжение бывает и без тока, как у батарейки без нагрузки, а ток через сопротивление R создаёт на нём напряжение U = I·R.
- Как проверить резистор мультиметром?Обесточьте схему, отпаяйте один вывод резистора и измерьте сопротивление в режиме Ом: исправный резистор показывает номинал в пределах допуска, например 4465–4935 Ом для 4,7 кОм ±5 %, с поправкой на погрешность прибора. OL или значение намного больше номинала означают обрыв или прогар.
- Как проверить светодиод мультиметром?Красный светодиод проверяют в режиме проверки диодов: при красном щупе на аноде прибор покажет прямое напряжение, а в обратную сторону — OL. Синему и белому светодиодам нужно больше 3 В, поэтому такой режим показывает OL и у исправных — их проверяют от источника 5 В через резистор.
- Как измерить ток мультиметром?Переставьте красный щуп в гнездо A, выберите режим постоянного или переменного тока, обесточьте цепь, разорвите её и включите мультиметр последовательно — весь ток должен пройти через прибор. Подключать щупы в режиме тока параллельно источнику нельзя: сопротивление прибора почти нулевое, и это короткое замыкание.
- Как проверить провод на обрыв мультиметром?Отключите провод от питания, включите режим прозвонки и коснитесь щупами концов жилы: у Fluke 114–117 звук включается при сопротивлении меньше 20 Ом — жила цела, OL — обрыв. Если концы далеко друг от друга, соедините на дальнем конце две жилы и прозвоните петлю с ближнего.
- Как проверить батарейку мультиметром?Измерьте постоянное напряжение сначала без нагрузки, а потом с резистором 3,9 Ом параллельно батарейке: у свежей пальчиковой батарейки 1,5 В напряжение под нагрузкой проседает немного, у севшей — сильно. Без нагрузки почти разряженная батарейка может показывать почти нормальное напряжение.
- Как проверить диодный мост мультиметром?Проверьте каждый из четырёх диодов в режиме проверки диодов: красный щуп на «−», чёрный на «~» и красный на «~», чёрный на «+» должны давать меньше 1 В, а при обратных щупах — OL. Почти ноль в обе стороны означает пробитый диод, OL в обе стороны — оборванный.
- Как измерить напряжение мультиметром?Выберите режим постоянного или переменного напряжения, вставьте чёрный щуп в гнездо COM, красный — в гнездо V и приложите их к двум точкам цепи параллельно, не разрывая её: чёрный — к общему проводу, красный — к измеряемой точке. Минус перед числом значит, что щупы перепутаны.
- Можно ли мультиметром подать напряжение?Нет, мультиметр — не источник питания: небольшое напряжение на щупы он подаёт только в режимах измерения сопротивления и проверки диодов, у Fluke 114–117 меньше 2,7 В при токе до 350 мкА и 1,2 мА. Этого хватает, чтобы проверить диод или слегка засветить светодиод, но не чтобы питать схему.
- Как проверить предохранитель мультиметром?Обесточьте цепь, выньте предохранитель и прозвоните: исправный звенит — у Fluke 114–117 сигнал звучит ниже 20 Ом — и в режиме сопротивления показывает почти ноль, а сгоревший даёт OL. У исправного самовосстанавливающегося Bourns MF-MSMF050 сопротивление 0,15–1,0 Ом.
- Как проверить, работает ли мультиметр?Измерьте известное напряжение — Fluke требует так проверять прибор перед работой — и замкните щупы в режиме сопротивления: исправные покажут почти ноль, высокие или скачущие показания значат, что щупы пора менять. Если не измеряется ток, проверьте предохранитель: исправный — меньше 0,5 Ом.
- Как узнать напряжение стабилитрона?По маркировке: у Vishay BZX55C5V1 «5V1» и есть номинал 5,1 В. Если надпись стёрта, подайте на стабилитрон в обратном направлении напряжение выше ожидаемого через резистор, чтобы ток был около 5 мА, и измерьте напряжение на нём мультиметром — режим проверки диодов не поможет, он измеряет только до 2 В.
- Как определить плюс и минус мультиметром?Включите режим постоянного напряжения и приложите щупы к проводам: если на экране число без минуса, плюс под красным щупом, а если со знаком минус — под чёрным. У деталей без питания полярность находят режимом проверки диодов: прибор показывает прямое падение, когда красный щуп на аноде.
- Как выбрать мультиметр?Сначала по безопасности: для измерений в розетке и щитке нужна категория CAT III на 600 В, как у Fluke 114–117. Затем по задачам: True RMS для несинусоидального тока, счёт дисплея — у Fluke 6000 единиц, режимы проверки диодов, прозвонки и ёмкости, гнездо тока с предохранителем и входное сопротивление не меньше 10 МОм.
- Что такое мультиметр?Мультиметр — измерительный прибор, который объединяет вольтметр, амперметр и омметр: переключателем выбирают, что мерить. Например, Fluke 115 измеряет постоянное и переменное напряжение до 600 В, ток до 10 А, сопротивление до 40 МОм, ёмкость и частоту, прозванивает цепь и проверяет диоды.
- Как проверить оптопару мультиметром?В два шага: светодиод между выводами 1 и 2 проверяют в режиме проверки диодов — он показывает прямое падение в одну сторону и OL в другую, — а фототранзистор проверяют, пропустив через светодиод ток около 10 мА: у исправной 4N35 при этом выход между выводами 5 и 4 открывается, а без тока утечка не больше 50 нА.
- Как проверить термистор мультиметром?Измерьте сопротивление в режиме Ω при известной температуре и сравните с таблицей R(T) из даташита: у NTC Vishay NTCLE100E3 на 10 кОм это 10 000 Ом при 25 °C и 12 488 Ом при 20 °C с допуском ±2–5 %. Затем слегка нагрейте его — у исправного NTC сопротивление сразу падает, примерно на 4,4 % на градус.
- Как проверить транзистор мультиметром?В режиме проверки диодов: у исправного биполярного транзистора переходы база–эмиттер и база–коллектор проводят в одну сторону с падением около 0,6 В и показывают OL в другую, а между коллектором и эмиттером OL в обе стороны. Почти ноль на любой паре выводов — пробой, OL в обе стороны на переходе — обрыв.
- Какое амплитудное напряжение в розетке?Около 325 В: напряжение сети 230 В — это действующее значение, а амплитуда синусоиды в √2 ≈ 1,414 раза больше. Реальное напряжение сети отличается от номинала, поэтому всё, что работает от выпрямленной сети, рассчитывают на пик с запасом.
- Как измерить частоту мультиметром?Выберите режим переменного напряжения V~, подключите щупы как для измерения напряжения и нажмите кнопку Hz — прибор покажет частоту вместо напряжения. У Fluke 115 и 117 так измеряют от 5 Гц до 50 кГц по входу напряжения с погрешностью 0,1 % + 2 единицы младшего разряда.
- Что означает OL на мультиметре?OL — сокращение от overload, перегрузка: измеряемая величина больше верхнего предела выбранного диапазона, и прибор не может её показать. Обрыв при измерении сопротивления, диод в обратном включении при прозвонке или слишком большой ток дают OL, поэтому надпись чаще означает выход за диапазон, а не поломку.
- Как измерить ёмкость аккумулятора 18650?Зарядите аккумулятор полностью по схеме CC-CV до 4,2 В, затем разрядите постоянным током до напряжения конца разряда — у Panasonic NCR18650B и Molicel P28A это 2,5 В — и умножьте ток на время: 1 А за 3 часа 15 минут дают 3250 мА·ч. По одному напряжению мультиметром ёмкость не определить.
- Как откалибровать щуп осциллографа?Подключите щуп в режиме 10X к выходу калибратора — меандру около 1 кГц — и вращайте подстроечник, пока вершина импульсов не станет плоской, без выброса и завала. Повторяйте это на каждом новом осциллографе, а на другом канале того же прибора проверяйте: по Tektronix, входы каналов различаются.
- Почему осциллограф показывает звон на фронтах?Чаще всего звенит не схема, а сам щуп: провод земли с зажимом обладает индуктивностью и вместе с ёмкостью щупа образует колебательный контур, который возбуждается быстрым фронтом. Замените провод земли короткой пружинкой: если звон уменьшился или сменил частоту, это был артефакт измерения.
- Можно ли осциллографом измерять сетевое напряжение?Обычным щупом с зажимом земли — нельзя: у сетевого осциллографа земля щупа соединена с защитным заземлением, и зажим на фазе или на минусе схемы без развязки устраивает короткое замыкание. Сеть и связанные с ней схемы смотрят дифференциальным щупом или через изолятор щупа, рассчитанные на CAT II.
- Как измерить пульсации блока питания осциллографом?Подключите щуп прямо к выходному конденсатору с самой короткой землёй — пружинкой, а не проводом с зажимом, и включите закрытый вход. Для сравнения со спецификацией включите ограничение полосы 20 МГц: TI для LM2596 предупреждает, что штатный провод земли около 3 дюймов искажает форму и завышает иглы.
- Как измерить ток микроконтроллера в режиме сна?Нужен прибор с микроамперным пределом: у ATmega328P в Power-down без сторожевого таймера по даташиту 0,1 мкА типично и до 5 мкА при 3 В, а обычный предел 10 А мультиметра показывает ток с шагом 1 мА. Второй способ — резистор-шунт в цепи питания и милливольтметр, но шунт закорачивают, пока контроллер не уснул.
- Почему мультиметр показывает напряжение на отключённом проводе?Это наводка: ёмкость между отключённым проводом и соседними проводами под напряжением передаёт на него часть сетевого напряжения. Вход мультиметра 10 МОм почти не нагружает этот источник, и прибор показывает десятки вольт; в режиме LoZ (у Fluke около 3 кОм) наводка гаснет, а настоящее напряжение остаётся.
- Можно ли измерить сопротивление, не выпаивая резистор?Можно, но мультиметр покажет сопротивление всего, что подключено между выводами резистора, — параллельные резисторы и цепи занижают показание. Плату обесточивают и разряжают конденсаторы; если показание меньше номинала, выпаивают один вывод резистора и измеряют снова.
- Как проверить датчик 4–20 мА мультиметром?Включите мультиметр в разрыв петли на пределе миллиампер: исправный датчик покажет 4 мА в начале шкалы, 20 мА в конце и ток между ними пропорционально измеряемой величине. Если в петле есть резистор приёмника, можно не разрывать её, а измерить напряжение на нём: на 250 Ом это 1–5 В.
- Почему BH1750 показывает не больше 54612 люкс?Это предел 16-битного счётчика: в режиме высокого разрешения со стандартным временем измерения BH1750 выдаёт 0–65535 отсчётов, а люксы получают делением на 1,2 — 65535 / 1,2 ≈ 54612. Уменьшив регистр времени измерения MTreg с 69 до 31, предел поднимают: ROHM заявляет измерение до 100 000 лк.
- Как проверить тиристор мультиметром?Мощный тиристор мультиметром проверяют только на пробой: между анодом и катодом в обе стороны должно быть OL, а переход управляющий электрод — катод звонится как диод. Включение так не проверить: ток прибора — около миллиампера, а VS-25TTS08 нужно до 200 мА, поэтому второй шаг — источник 6 В с нагрузочным резистором.
- Почему DS18B20 долго измеряет температуру?Так задано даташитом: при разрешении 12 бит, установленном по умолчанию, преобразование занимает до 750 мс. Время сокращается вдвое с каждым убранным битом — до 93,75 мс при 9 битах, а несколько датчиков можно запустить одной командой и ждать один раз на всех.
- Почему мультиметр неправильно показывает напряжение ШИМ?Он показывает правильно, но не то, что ожидают: в режиме постоянного напряжения — среднее значение, то есть амплитуду, умноженную на заполнение, а в режиме переменного — только переменную часть сигнала. Действующее значение ШИМ с амплитудой 5 В и заполнением 25 % — 2,5 В, а прибор в режиме DC покажет 1,25 В.
- Что точнее: DS18B20 или BME280?Для температуры воздуха — DS18B20: его ±0,5 °C в диапазоне −10…+85 °C даны как предел ±3σ, а у BME280 ±0,5 °C — типичное значение, и Bosch предупреждает, что датчик обычно показывает выше окружающей из-за нагрева платы. BME280 выбирают, когда кроме температуры нужны давление и влажность.
- Можно ли проверить источник опорного напряжения мультиметром?Исправность — да, точность — обычно нет: у Fluke 117 погрешность на постоянном напряжении ±(0,5 % + 2 единицы), то есть до ±14,5 мВ при 2,5 В, а REF5025 по даташиту отличается от 2,5 В не больше чем на ±1,25 мВ. Для проверки точного опорного нужен прибор в несколько раз точнее самого источника.
- Какая частота дискретизации осциллографа нужна для UART?Для 115 200 бит/с — от 1–2 МВыб/с, чтобы на бит длиной 8,68 мкс пришлось 10 выборок и больше, и около 12 МВыб/с, чтобы мерить длительность бита с точностью 1 %. Узким местом обычно оказывается не частота, а глубина памяти: чтобы записать длинную посылку с высокой частотой, нужны миллионы точек.
- Как поймать одиночный импульс осциллографом?Настроить синхронизацию по фронту на уровень, который сигнал пересечёт только во время события, и нажать Single: осциллограф дождётся условия, запишет один раз и остановится. Точку запуска сдвигают влево, чтобы увидеть и то, что было до события, а развёртку выбирают так, чтобы при этом хватило частоты дискретизации.
- Почему сигнал на осциллографе бежит по экрану?Потому что синхронизация не привязывает записи к одной точке сигнала: уровень запуска вне размаха сигнала, выбран не тот канал-источник или схему запуска сбивает шум. В режиме Auto осциллограф тогда запускается сам по таймеру, и каждая запись начинается в случайном месте — картинка бежит.
- Как измерить сдвиг фаз осциллографом?Подайте два сигнала на два канала, измерьте задержку Δt между одноимёнными переходами через ноль и период T и пересчитайте: φ = 360° · Δt / T. Многие осциллографы, например Rigol DS1000Z, делают этот расчёт сами в измерении Phase, а для синусоид есть ещё способ фигур Лиссажу в режиме XY.
- Как подключить трансформатор тока SCT-013 к Arduino?Исполнение SCT-013-000 на 100 А выдаёт ток до 50 мА, поэтому его нагружают резистором, который превращает ток в напряжение, — для Arduino на 5 В около 33 Ом (наш расчёт), — и смещают сигнал на середину шкалы АЦП делителем. Исполнения с выходом 1 В уже содержат резистор и подключаются через то же смещение.
- Почему осциллограф показывает синусоиду 50 Гц, когда щуп ни к чему не подключён?Потому что свободный наконечник щупа с входным сопротивлением 1–10 МОм работает как антенна: электрическое поле сетевой проводки и рук через ничтожную ёмкость наводит на нём напряжение сетевой частоты. Если замкнуть наконечник на свой зажим земли, наводка почти исчезает — значит, это не неисправность (наш вывод).
- Как измерить INA3221 ток больше 1,6 А?Поставить шунт меньшего сопротивления: INA3221 измеряет падение на шунте только до ±163,84 мВ, и на модуле с резистором 0,1 Ом это предел 1,64 А. Наш расчёт: для 5 А подойдёт шунт 30 мОм, для 10 А — 15 мОм, но шаг измерения тока и ошибка от смещения вырастут во столько же раз.
- Почему ACS712 показывает ток без нагрузки?Потому что ноль датчика — не постоянные 2,5 В, а половина его питания плюс смещение и шум: если питание 4,9 В, а АЦП меряет от отдельного опорного и программа вычитает ровно 2,5 В, ACS712-05B покажет около −0,27 А. Ноль измеряют при отключённой нагрузке и вычитают программно, а АЦП берут с опорой от того же питания.
- Почему BMP280 показывает давление ниже, чем в прогнозе погоды?Потому что BMP280 измеряет абсолютное давление там, где стоит, а метеостанции часто сообщают давление, приведённое к уровню моря. Наш расчёт по стандартной атмосфере: на высоте 150 м разница около 18 гПа, или 13 мм рт. ст., — это не ошибка датчика, чья абсолютная точность ±1 гПа.
- Почему BMP280 всё время показывает одно и то же значение?Скорее всего, датчик не измеряет: после включения BMP280 спит, а в режиме forced делает одно измерение и снова засыпает. Если в регистрах данных значение сброса 0x80000, запишите в ctrl_meas нормальный режим или запускайте forced перед каждым чтением.
- Как узнать напряжение аккумулятора через адаптер ELM327?Отправить адаптеру команду AT RV: он измерит напряжение на контакте 16 разъёма OBD-II, то есть плюс аккумулятора, и ответит, например, 12.6V. Без калибровки точность — около 2 %, то есть ±0,25 В при 12,6 В; уточнить её можно командой AT CV по показаниям точного мультиметра.
- Что опаснее для человека: ток или напряжение?Повреждает ток через тело, но без напряжения его нет: ток равен напряжению, делённому на сопротивление тела, а оно бывает всего около 1 кОм у влажной кожи. Поэтому опасно именно сочетание, и в промышленности осторожным порогом опасного напряжения считают 30 В.
- Можно ли подключить земли двух щупов осциллографа к разным точкам схемы?Нет: у обычного осциллографа земли всех каналов соединены с корпусом, а через вилку — с защитным заземлением. Два зажима на разных точках закорачивают участок схемы между ними, и ток может сжечь дорожку, провод щупа или прибор; разность смотрят двумя щупами с общей землёй или дифференциальным щупом.
- Как посмотреть форму тока осциллографом через шунт?Шунт ставят в провод, соединённый с землёй схемы, землю щупа — на его земляной конец; ток равен напряжению на шунте, делённому на его сопротивление. Это допустимо лишь в схемах, развязанных от сети или заземлённых; в плюсовом проводе и в неизолированных сетевых схемах нужен дифференциальный или токовый щуп.
- Сколько времени можно измерять ток 10 А мультиметром?Столько, сколько указано в руководстве вашего прибора: у Fluke 87V 10 А можно мерить непрерывно при температуре до 35 °C, а 20 А — не дольше 30 секунд. У недорогих мультиметров ограничение обычно жёстче и написано у гнезда 10 А, а превышение перегревает шунт, гнездо и предохранитель.
- Почему мультиметр показывает на делителе меньше расчётного напряжения?Потому что сам мультиметр — нагрузка: у типичного прибора, например Fluke 87V, входное сопротивление 10 МОм, и на делителе из мегаомных резисторов оно встаёт параллельно нижнему плечу и снижает напряжение. Ошибка мала, только если выходное сопротивление делителя в сотни раз меньше 10 МОм.
- Почему DHT22 выдаёт NaN?NaN означает, что чтение не удалось: датчик не ответил или не сошлась контрольная сумма 40-битного пакета. Чаще всего виноваты опрос чаще раза в 2 секунды, чтение сразу после включения, нет подтяжки на линии данных, питание 3,3 В на длинном проводе или прерывания, которые сбивают отсчёт импульсов 26 и 70 мкс.
- На какой длине провода работает DHT22?По даташиту AM2302 V1.2 — до 30 м при питании 5 В и подтяжке 5,1 кОм, а для провода от 10 м Aosong советует подтяжку 1 кОм. При питании 3,3 В провод не должен быть длиннее 100 см: падение напряжения на нём оставляет датчик без нормального питания.
- Как узнать, какой из нескольких DS18B20 на линии какой?По 64-битному коду ROM: у каждого DS18B20 он уникален, начинается с кода семейства 28h и заканчивается байтом CRC. Коды читают, подключая датчики по одному командой Read ROM [33h] или находя все сразу поиском Search ROM [F0h], а потом обращаются к нужному датчику командой Match ROM [55h] с его кодом.
- Почему два датчика влажности показывают разную влажность?Потому что у каждого своя погрешность: DHT22 по даташиту ошибается на ±2 %RH типично, BME280 — на ±3 %RH в диапазоне 20–80 %RH, и разница в несколько процентов между исправными датчиками нормальна. Кроме того, относительная влажность сильно зависит от температуры, и датчик, нагретый платой, показывает меньше.
- Почему мультиметр и LCR-метр показывают разную ёмкость?Потому что они измеряют в разных условиях: LCR-метр подаёт синус заданной частоты и уровня и раскладывает импеданс на ёмкость и потери, а мультиметр меряет своим методом, частоту которого обычно не указывают. Ёмкость керамики зависит от уровня сигнала, а у электролита расходятся модели Cs и Cp.
- Почему LCR-метр показывает индуктивность дросселя не как в даташите?Потому что индуктивность дросселя с сердечником зависит от частоты, уровня испытательного сигнала и постоянного тока через обмотку. Производитель нормирует её в одной точке — у Vishay IHLP-2525CZ это 100 кГц, 0,25 В и 0 А, — а на низкой частоте малая индуктивность теряется на фоне сопротивления обмотки.
- Нужно ли подключать землю логического анализатора к каждому каналу?Нет: по Saleae для захвата достаточно одного провода земли, остальные необязательны. Их подключают для быстрых цифровых сигналов и рядом с источниками наводок — тогда у каждого сигнала короткий обратный путь, и меньше ложных фронтов.
- Почему логический анализатор показывает ложные импульсы на I2C?Фронт I2C медленный из-за подтяжки и ёмкости шины и долго проходит зону между порогами входа анализатора, где его поведение не определено, — несколько выборок подряд дают случайные 0 и 1. Saleae для таких сигналов советует включать программный фильтр глитчей; помогает и меньшая подтяжка.
- Можно ли подключить дешёвый логический анализатор к сигналу 12 В?Напрямую нельзя: дешёвые анализаторы на 24 МГц построены на CY7C68013A, у которой предельное напряжение на входе 5,25 В. Сигнал 12 В подают через делитель, например 10 и 3,3 кОм, а отрицательные уровни RS-232 ещё и ограничивают диодом Шоттки — или берут анализатор с защитой входов до ±25 В.
- Почему лабораторный блок питания уходит в режим CC при включении платы?Потому что плата в этот момент требует больше тока, чем выставленное ограничение: заряжаются входные конденсаторы, импульсный преобразователь на пониженном напряжении берёт больший ток, или есть замыкание. Если CC быстро сменяется на CV — это бросок при старте, если держится — ищите замыкание.
- Подойдёт ли логический анализатор для сигналов 1,8 В?Только если порог единицы у его входов заметно ниже 1,8 В: у Saleae Logic 8 он 1,2 В, у Logic Pro есть порог 0,9 В. Дешёвые анализаторы на 24 МГц с CY7C68013A считают единицей напряжение от 2 В, поэтому сигнал 1,8 В для них остаётся нулём — нужен преобразователь уровня.
- Сколько времени можно записывать логическим анализатором?У анализаторов, которые передают данные в компьютер по USB, длину записи ограничивают свободная память компьютера, частота выборки и активность сигнала. Первый Saleae Logic, например, записывал до 10 миллиардов выборок — около 7 минут на 24 МГц, но почти 3 часа на 1 МГц, поэтому частоту берут не выше нужной.
- Как измерить сопротивление в миллиомах обычным мультиметром?Не в режиме омметра: у Fluke 87V на пределе 600 Ом разрешение 0,1 Ом и погрешность ±(0,2 % + 2 единицы), то есть около ±0,2 Ом. Пропустите через деталь известный ток от лабораторного блока, например 1 А, и измерьте падение напряжения отдельными щупами прямо на выводах: 50,0 мВ при 1 А — это 50 мОм.
- Почему осциллограф показывает напряжение в 10 раз больше или меньше настоящего?Коэффициент деления щупа в меню канала не совпадает с переключателем на самом щупе: щуп 10X делит сигнал на 10, и осциллограф должен умножить показания обратно. У Rigol DS1000Z по умолчанию канал настроен на 10X, поэтому со щупом в положении 1X он покажет в 10 раз больше, а при обратной ошибке — в 10 раз меньше.
- Как измерить ёмкость конденсатора осциллографом?Подайте прямоугольный сигнал на конденсатор через резистор известного номинала и измерьте курсорами время, за которое напряжение на конденсаторе проходит 63,2 % перепада: это постоянная времени τ = RC. Ёмкость равна C = τ/R, например τ = 1,0 мс при 10 кОм даёт 100 нФ.
- Как измерить индуктивность катушки без LCR-метра?Соберите параллельный контур из катушки и конденсатора известной ёмкости, подайте на него сигнал генератора через резистор и найдите частоту, на которой амплитуда на контуре максимальна. Из формулы резонанса L = 1/(4π²f²C): например, пик на 50 кГц при 10 нФ означает около 1,01 мГн.
- Почему кварц перестаёт генерировать, когда к нему подключаешь щуп осциллографа?Щуп нагружает вывод генератора своей ёмкостью: по Microchip AN2648 обычный щуп 10X добавляет 10–15 пФ, а щуп 1X по таблице Tektronix — около 100 пФ. Это сравнимо с конденсаторами кварца, поэтому слабый генератор срывается; проверяют его по тактовому сигналу, выведенному на обычный вывод.
- Как расшифровать UART на осциллографе?Включить декодер последовательного протокола и задать ему те же параметры, что у передатчика: канал, скорость, полярность, число бит данных, стоп-бит и чётность, а порог поставить посередине между уровнями сигнала. У Rigol DS1000Z это меню MATH → Decode → RS232, причём сам декодер RS232 — платная опция.
- Как проверить потенциометр мультиметром?Омметром, без питания и лучше выпаяв один вывод: между крайними выводами должно быть сопротивление номинала с допуском, у Bourns PTV09 и PDB18 — ±20 %. Затем между движком и крайним выводом при медленном вращении сопротивление должно плавно меняться от остаточного, около 1 %, почти до номинала, без обрывов и скачков.
- Как откалибровать датчик газа MQ-2?В домашних условиях — только по чистому воздуху: прогреть датчик под напряжением не меньше 48 часов, измерить сопротивление слоя R0 = (VC/VRL − 1)·RL и дальше следить за отношением Rs/R0. Пересчёт в ppm по типовой кривой Winsen требует калибровки в эталонной газовой смеси, а для защиты людей MQ-2 не годится вовсе.
- Как подключить датчик MQ-2 к ESP32?Питание модуля — от 5 В, например с вывода 5V платы: нагревателю по документу Winsen нужно 5,0 ± 0,1 В, это около 170 мА, а от 3,3 В датчик работает не по паспорту. Выход AO доходит до 4 В и выше, поэтому его подают на вывод ADC1 (GPIO32–39) через делитель, приводя к шкале ESP32 — до 2,45 В при ослаблении 11 дБ.
- Может ли MQ-135 измерять CO₂?Нет: в документе Winsen целевые газы MQ-135 — аммиак, сульфиды и пары бензольного ряда, на кривых — водород, аммиак и толуол, а CO₂ нет ни в списке, ни на графиках. Коэффициенты «CO₂ в ppm» в библиотеках документом не подтверждены; для CO₂ нужен инфракрасный NDIR-датчик вроде MH-Z19C или SCD41.
- Чем SCD40 отличается от SCD41?Корпус, выводы, адрес I²C 0x62 и команды общие, различаются точность и режимы: SCD40 нормирован на 400–2000 ppm с точностью ±(50 ppm + 5 %), SCD41 — на 400–5000 ppm и ±(50 ppm + 2,5 %) до 1000 ppm. Только у SCD41 есть однократное измерение по команде — для батарейных устройств: раз в 5 минут это 0,45 мА в среднем.
- Как отключить автокалибровку MH-Z19C?Отправить по UART на 9600 бит/с команду 0x79 с нулём в третьем байте: FF 01 79 00 00 00 00 00 86, где 86 — контрольная сумма; ответа модуль не присылает. Выключать её Winsen советует там, где воздух не бывает свежим, — в теплице, на ферме, в холодильнике; потом ноль калибруют вручную не реже раза в полгода.
- Почему SCD41 показывает завышенную температуру?Датчик температуры в SCD4x греется от самого датчика и от соседних деталей — микроконтроллера, модуля Wi-Fi, стабилизатора, — а заводское смещение компенсирует только 4 °C. Sensirion велит найти смещение в готовом устройстве по эталонному термометру, записать командой 0x241D и сохранить командой 0x3615.
- Почему весы на HX711 показывают скачущий вес?Собственный шум HX711 мал: 50 нВ при 10 выборках в секунду, а с датчиком 5 кг и 1 мВ/В при 5 В это около 0,05 г. Скачки на граммы дают режим 80 выборок/с, питание моста не от вывода E+ модуля, длинные незакреплённые провода, вибрация, сам датчик и чтение раньше 400 мс установления после включения.
- Можно ли питать HX711 от 3,3 В и подключить к ESP32?Можно: питание HX711 по даташиту — 2,6–5,5 В, а DVDD Avia велит брать от того же источника, что и микроконтроллер, — тогда DOUT не превысит 3,3 В. Но при VSUP = 3,3 В стабилизатор даст AVDD не выше 3,2 В и шкала сузится до ±12,5 мВ (при AVDD = 3,2 В), поэтому лучше VSUP от 5 В, а DVDD — от 3,3 В.
- Почему HX711 показывает отрицательный вес?Чаще всего перепутаны сигнальные провода моста на INA+ и INA−: с грузом код уменьшается, и достаточно поменять их или знак коэффициента. Минус без груза — смещение нуля, его убирает тара, а числа около 16 миллионов вместо отрицательных — 24-битный дополнительный код без расширения знака.
- Почему PIR-датчик срабатывает сразу после включения?Потому что цепям датчика после подачи питания нужно время стабилизации: у Panasonic EKMC160111 — до 30 с, у EKMB110111 — 25 с типично и до 210 с, и всё это время выход не определён. Поэтому программа игнорирует выход PIR в течение максимального Twu своего датчика после подачи питания.
- Какую версию MLX90614 выбрать?Три буквы после MLX90614 означают питание, зоны и оптику: A — 5 В, B — 3 В, D — 3 В с медицинской точностью; затем A — одна зона, B — две, C — компенсация теплового градиента; последняя — поле зрения от 90° (A) до 5° (I). Для ESP32 и платы на 3,3 В берут версию B, например BAA для широкого поля или BCC на 35°.
- Может ли MLX90614 измерять температуру через стекло?Нет: по разделу FAQ даташита Melexis стекло в большинстве случаев непрозрачно для инфракрасного излучения, с которым работает MLX90614, и само излучает с очень высокой излучательной способностью — для датчика оно «чёрное». Через окно, стакан или дверцу духовки он покажет температуру стекла, а не того, что за ним.
- Как найти место обрыва или длину кабеля с помощью NanoVNA?Включить пересчёт во временную область — DISPLAY → TRANSFORM → TRANSFORM ON и режим LOW PASS STEP, — задать начальную частоту 50 кГц и коэффициент укорочения кабеля в VELOCITY FACTOR, например 66 или 67 %. Отражение от обрыва или конца кабеля видно как ступенька, маркер на ней показывает расстояние.
- Как получить ±15 В от лабораторного блока питания с функцией Track?Нужны два изолированных канала, например CH1 и CH2 у Rigol DP832: минус первого соединяют с плюсом второго — это общий провод схемы, плюс первого даёт +15 В, минус второго — −15 В. Функция Track связывает уставки напряжения каналов, чтобы оба менялись вместе, а отслеживание On/Off включает и выключает их одновременно.
- Как проверить конденсатор на плате, не выпаивая?Частично: обесточьте плату, разрядите конденсаторы и прозвоните выводы — писк при сопротивлении ниже 20 Ом означает пробой или низкоомную цепь рядом, а режим ёмкости покажет суммарную ёмкость всего, что стоит параллельно. ESR и ток утечки на плате не измерить — для них конденсатор выпаивают хотя бы одной ногой.
- Можно ли измерить ток в розетке мультиметром?Нет: ток существует только в цепи с включённым прибором, а щупы в гнезде A, вставленные в розетку, замыкают сеть через мультиметр — в лучшем случае сгорит предохранитель 11 А / 1000 В. Ток нагрузки измеряют в разрыве её цепи или токовыми клещами, а «в розетке» обычно хотят узнать напряжение.
- Как измерить ток утечки мультиметром?Выключите питание, разорвите цепь, включите прибор в разрыв щупами в гнёздах тока и подайте питание — так Fluke предписывает измерять любой ток. Перед этим проверьте предохранитель и разрешение: у Fluke 115 младший предел 6 А с шагом 1 мА, а утечки в микроамперах требуют диапазона мкА.
Компоненты и производство
- Почему греется резистор?Резистор превращает в тепло всю мощность P = I²·R, которая на нём выделяется, поэтому нагрев — его нормальная работа. Плохо, когда мощность больше допустимой для его размера и температуры: у SMD 0805 серии Vishay CRCW это 0,125 Вт, у выводного PR01 — 1 Вт.
- Какой ток нужен светодиоду?Обычному светодиоду 5 мм — 10–20 мА: при таком токе производитель указывает его яркость и прямое напряжение, у красного Kingbright WP7113ID это 10 мА, у синего WP7113QBC/D — 20 мА. Постоянный ток выше 30 мА для них запрещён даташитом.
- Чем отличается диод от светодиода?Оба пропускают ток в одну сторону, но светодиод сделан из других полупроводников и излучает свет, а прямое напряжение у него выше: 1,9–3,3 В против 1 В у кремниевого 1N4148. Зато обратное напряжение и ток светодиода намного меньше — 5 В и 30 мА у Kingbright WP7113 против 75 В и 300 мА у 1N4148.
- Почему греется реле?Катушка включённого реле всё время потребляет мощность и превращает её в тепло: у Panasonic JW это 530 мВт при любом номинальном напряжении катушки. Сверх нормы реле греется, если напряжение на катушке выше допустимого или ток через контакты больше номинального.
- Чем отличается реле от транзистора?Реле замыкает механические контакты: они отделены от катушки и коммутируют и постоянный, и переменный ток, но срабатывают за миллисекунды и изнашиваются. Транзистор переключается за доли микросекунды без износа, но коммутирует только постоянный ток и не отделяет нагрузку от схемы управления.
- Чем отличается диод от стабилитрона?Обычный диод работает в прямом направлении, а обратное напряжение должно оставаться ниже его предела — пробой для него авария. Стабилитрон, наоборот, включают в обратном направлении: он рассчитан на пробой и держит на себе почти постоянное напряжение, например 4,8–5,4 В у BZX55C5V1.
- Что будет, если поставить резистор большей мощности?Ничего плохого: при том же сопротивлении токи и напряжения в схеме не изменятся, а резистор будет меньше нагреваться и выдержит большее напряжение. Мешать может только размер — у мощного резистора больше корпус и толще выводы, и он может не встать на место старого.
- Можно ли подключить светодиод к переменному току?Можно, но не через один резистор: обратное напряжение светодиода всего 5 В (Kingbright WP7113), а у переменного 12 В амплитуда около 17 В. Резистор считают по амплитуде, а встречно-параллельно светодиоду ставят обычный диод вроде 1N4148 — он забирает обратную полуволну.
- Сколько светодиодов можно подключить последовательно?Столько, чтобы сумма их наибольших прямых напряжений по даташиту оставалась меньше питания с запасом на резистор: n ≤ (U − U_R) / VF max. От 12 В при запасе 1 В это 4 красных Kingbright WP7113ID (до 2,3 В) или 2 синих и белых WP7113QBC и QWC (до 4,0 В).
- Сколько конденсатор держит заряд?Даташит задаёт только верхний предел утечки, поэтому гарантирована лишь нижняя граница: у низковольтных электролитов Nichicon UVR и Panasonic FR ток утечки не больше 0,01CV мкА, и напряжение падает не быстрее 1 % в секунду. Реальная утечка может быть гораздо меньше, поэтому заряженный конденсатор разряжают резистором.
- Что будет, если перепутать полярность электролитического конденсатора?Конденсатор начнёт быстро деградировать: по Panasonic обратное напряжение ведёт к замыканию, нагреву и выделению газа, срабатыванию предохранительного клапана и утечке электролита, а в худшем случае — к взрыву или возгоранию. Поэтому полярность сверяют с маркировкой на корпусе до пайки.
- Чем отличается реле постоянного тока от переменного?Катушкой: у реле постоянного тока она питается постоянным напряжением, у реле переменного — синусоидой 50 или 60 Гц и снабжена экранирующим витком, который гасит гудение. По Panasonic катушка переменного тока менее эффективна и греется сильнее, а при включении потребляет повышенный пусковой ток.
- Чем отличается резистор от предохранителя?Резистор рассчитан пропускать ток постоянно и держать своё сопротивление, а предохранитель — разорвать цепь при перегрузке. Самовосстанавливающийся предохранитель Bourns MF-MSMF050, как на Arduino UNO, пропускает 0,5 А, а при токе от 1 А нагревается и резко увеличивает сопротивление, после остывания снова проводя ток.
- Какой резистор лучше: металлоплёночный или углеродистый?Для точных цепей — металлоплёночный: у Vishay MBB/SMA 0207 допуск ±1 или ±0,5 % и ТКС ±50 или ±25 ppm/K, а у углеродистых KOA CF допуск ±2 или ±5 % и отрицательный ТКС до −1300 ppm/°C у больших номиналов. Для токоограничивающих резисторов светодиодов и подтяжек хватает и углеродистого.
- Почему не горит светодиод?Чаще всего перепутана полярность — длинный вывод, анод, должен смотреть к плюсу — или не хватает напряжения: синему и белому Kingbright WP7113 нужно 3,3 В и до 4,0 В, и от 3,3 В через резистор они почти не светят. Ещё причины — большой резистор, вывод микроконтроллера не настроен на выход или светодиод сгорел.
- Почему залипают контакты реле?Чаще всего из-за пускового тока нагрузки: по Panasonic у ламп накаливания он в 10–15 раз больше рабочего, у ёмкостной нагрузки — в 20–40 раз, и искра при замыкании приваривает контакты. Ещё причины — перенос материала на постоянном токе, медленно нарастающее напряжение катушки и включение синхронно с фазой сети.
- Что будет, если поставить резистор меньшего сопротивления?Ток вырастет обратно пропорционально сопротивлению. Красный светодиод Kingbright WP7113ID от 5 В через 220 Ом получает 12–14 мА, через 100 Ом — до 31 мА, на пределе допустимых 30 мА, а через 47 Ом — до 66 мА, и вывод ATmega328P на 40 мА тоже перегружен.
- Сколько транзисторов в видеокарте?Десятки миллиардов в графическом процессоре: по документации NVIDIA в RTX 5090 92,2 миллиарда транзисторов на кристалле площадью 750 мм², в RTX 4090 — 76,3 миллиарда, в RTX 3090 — 28,3 миллиарда. Для сравнения, в стабилизаторе 7805 по даташиту onsemi всего 22 транзистора.
- Как подключить диод?Полоса на корпусе — катод: если диод должен пропускать ток, как в выпрямителе или защите от переполюсовки, его ставят анодом к плюсу источника, катодом к нагрузке. Защитный диод параллельно катушке реле, наоборот, включают катодом к плюсу, чтобы в работе он был закрыт и открывался только выбросом при отключении.
- Что будет, если поставить реле большей мощности?Если катушка на то же напряжение, ничего плохого: контакты просто рассчитаны на больший ток — у Panasonic JW 10 А вместо 5 А при той же катушке 530 мВт. Мешает нижний предел: мощные контакты ненадёжно переключают слабые сигналы, и у JW минимальная нагрузка — 100 мА при 5 В постоянного тока.
- Что будет, если подать на диод большее напряжение?Зависит от направления: в прямом напряжение на диоде почти не растёт — у 1N4007 не больше 1,1 В при 1 А, — а ток растёт, пока его не ограничит цепь: без резистора или нагрузки диод перегреется. В обратном выше допустимого VRRM — от 50 В у 1N4001 до 1000 В у 1N4007 — наступает пробой, и диод может выйти из строя.
- Что будет, если конденсатор вышел из строя?Зависит от вида отказа: электролит со временем теряет ёмкость и увеличивает потери, и в фильтре после моста растут пульсации, а в конце срока службы, по Panasonic, возможны замыкание, срабатывание клапана и утечка электролита. Замкнувший конденсатор фильтра превращается для моста и предохранителя в короткое замыкание.
- Как выбрать электролитический конденсатор?По ёмкости, напряжению и условиям работы: пик напряжения вместе с пульсациями — не выше номинального, допустимый ток пульсаций — не меньше реального, температура и ресурс — по месту установки. Nichicon UVR рассчитан на 85 °C и 2000 часов, Panasonic FR — на 105 °C и 1000–5000 часов.
- Можно ли заменить танталовый конденсатор керамическим?В фильтрах питания и развязке обычно можно, а на выходе стабилизаторов, которым нужен конденсатор с ESR в заданном окне, — нет: у LM1117 ESR выходного конденсатора должно быть от 0,3 до 22 Ом, а у керамики оно меньше. И берите ёмкость с запасом: керамика X5R и X7R под постоянным напряжением теряет часть номинала.
- Можно ли поставить конденсатор большей ёмкости?В фильтрах питания и на выходе стабилизаторов — обычно да: TI для LM1117 прямо пишет, что рост выходной ёмкости только улучшает устойчивость. Нельзя менять ёмкость во времязадающих цепях и фильтрах с рассчитанной частотой, а большой конденсатор после диодного моста увеличивает пусковой ток диодов.
- Как узнать ёмкость SMD-конденсатора без маркировки?Только измерить: керамические SMD-конденсаторы обычно поставляются без маркировки, и по корпусу ёмкость не определить. Конденсатор выпаивают и меряют мультиметром с режимом ёмкости (у Fluke 115/117 — от 1 нФ) или LC-метром; единицы пикофарад мультиметр с нижним пределом 1 нФ, как Fluke 115/117, не измерит.
- Как определить полярность танталового конденсатора?Полоска на корпусе танталового SMD-конденсатора отмечает плюсовой вывод (анод); иногда этот край ещё и скошен. Не путайте с SMD-диодами, у которых полоска отмечает катод, то есть минус.
- Чем отличаются корпуса SMA, SMB и SMC?Размером и тем, сколько тепла они отводят: SMA (DO-214AC) — около 4,3 × 2,7 мм, SMB (DO-214AA) той же длины, но шире, SMC (DO-214AB) — около 6,9 × 5,9 мм. Поэтому у Vishay TVS-диоды SMAJ, SMBJ и SMCJ рассчитаны на 400, 600 и 1500 Вт в импульсе, а диоды Шоттки — на 1 А в SMA и 3 А в SMC.
- Чем отличаются корпуса SOT-89, SOT-223 и DPAK?Размером и отводом тепла: SOT-89 — около 4,5 × 2,5 мм с шагом 1,5 мм, SOT-223 — 6,5 × 3,5 мм с шагом 2,3 мм, DPAK — 6,5 × 6,1 мм и высотой до 2,55 мм. У всех трёх есть фланец, который припаивают к меди платы, но на одной и той же меди DPAK отводит заметно больше тепла.
- Можно ли запаять диод SOD-323 на площадки SOD-123?Только как ремонтную меру: длина SOD-323 по выводам 2,50–2,85 мм, а зазор между площадками SOD-123 — 2,5 мм, поэтому выводы заходят на площадки всего на 0–0,18 мм с каждой стороны. Паяльником с лишним припоем это можно спаять, но в серийной плате так не делают.
- Можно ли запаять транзистор SOT-323 на площадки SOT-23?Только как ремонтную меру: у SOT-323 шаг выводов 0,65 мм, у SOT-23 — 0,95 мм, поэтому два вывода одной стороны попадают лишь на внутренние края своих площадок. По нашему расчёту на площадку ложится от 30 до 62 % ширины вывода — паяльником это паяется, а оплавлением в серии ненадёжно.
- С каким усилием затягивать винт транзистора TO-220 или TO-247?Не сильнее 1,1 Н·м: такой предельный момент для винта M3 или 6-32 Vishay указывает и для TO-220 (IRFZ44), и для TO-247 (IRFP250). По нашему пересчёту это около 11 кгс·см — усилие небольшой отвёртки, а не гаечного ключа.
- Чем LL4148 отличается от 1N4148?Только корпусом: Vishay прямо пишет, что электрические данные LL4148 совпадают с 1N4148 — 100 В, 300 мА, восстановление 4 нс. LL4148 — стеклянный цилиндр MiniMELF для поверхностного монтажа без надписи, только с чёрной полосой катода, а 1N4148 — выводной DO-35 с маркировкой V4148.
- Как отличить диоды 1N4007, UF4007 и 1N5817 в одинаковом корпусе DO-41?По надписи на корпусе: внешне это одинаковые цилиндры DO-41 с полосой катода. Если надпись стёрта, диод Шоттки 1N5817 выдаст меньшее падение в режиме проверки диодов, а 1N4007 и UF4007 мультиметром не различить — они отличаются временем восстановления, которое прибор не измеряет.
- Как паять микросхему QFN с центральной площадкой?Пастой и горячим воздухом или в печи: TI советует наносить пасту через трафарет 0,125 мм, причём на центральную площадку — не сплошь, а окнами на 50–70 % её площади, и греть плату не быстрее 4 °C/с. Паяльником центральную площадку не достать, поэтому им только подправляют контакты по краям.
- Какие SMD-корпуса проще всего паять паяльником?Корпуса с выводами, торчащими по бокам, и с крупным шагом: проще всего SOIC с шагом 1,27 мм, затем SOT-23 с 0,95 мм и TQFP с 0,8 мм. Шаг 0,65 и 0,5 мм у TSSOP и LQFP паяют с флюсом и оплёткой, а QFN с контактами под корпусом паяльником почти не паяют.
- Как поставить микросхему SMD на макетную плату?Через плату-переходник: микросхему SMD припаивают к адаптеру, у которого выводы выведены на штыри с шагом 2,54 мм, как у DIP, и вставляют его в макетную плату. Напрямую не получится — у SOIC шаг 1,27 мм, у TSSOP 0,65 мм, а гнёзда макетки идут через 2,54 мм.
- Чем IP65 отличается от IP67?Пыль обе оболочки не пропускают — первая цифра 6, а различаются они испытанием водой: IP65 обливают струёй из сопла 6,3 мм, IP67 погружают на 30 минут на глубину до метра. По IEC 60529 оболочка только с цифрой 7 не обязана выдерживать струи, поэтому для мойки и ливня под напором ищут двойную маркировку IP65/IP67.
- Что означает степень защиты IP44?Первая цифра 4 — внутрь не проходят предметы и проволока диаметром 1 мм, вторая 4 — брызги воды с любого направления не вредят изделию. От пыли IP44 не защищает, от струй и погружения тоже — это уровень для мест, куда попадают брызги, но не льёт вода под напором.
- Что значит IP20 на блоке питания?Цифра 2 значит, что испытательный палец диаметром 12 мм не дотягивается до опасных частей, а предметы от 12,5 мм не проходят внутрь; цифра 0 — защиты от воды нет никакой. Такой блок питания ставят только в сухое закрытое место — в щит, корпус или нишу, — куда не попадают вода, пыль и посторонние предметы.
- Что означают буквы в названии SN74HC595N?По схеме обозначений Texas Instruments SN74 — каталожная микросхема, HC — семейство КМОП-логики, 595 — функция (сдвиговый регистр с защёлкой), а N — корпус PDIP-16 для пайки в отверстия. SN74HC595D — та же микросхема в SOIC, PW — в TSSOP, а буква R после корпуса означает поставку на катушке.
- Чем MMBT2222A отличается от 2N2222A и PN2222A?Корпусом и тем, что из него следует: MMBT2222A — SMD-вариант в SOT-23 с теми же 40 В и 600 мА, но рассеивает 310–350 мВт против 625 мВт у TO-92, а на корпусе вместо названия стоит код, у Diodes Incorporated — K1P. 2N2222A — регистрационное имя JEDEC, PN2222A и P2N2222A — его варианты в TO-92.
- Что означают цифры -16, -25 и -40 в названии BC817?Это группа коэффициента усиления: по даташиту Diodes при 100 мА и 1 В у BC817-16 hFE от 100 до 250, у -25 — от 160 до 400, у -40 — от 250 до 600. Остальные параметры одинаковые — 45 В и 500 мА, а на корпусе SOT-23 группы различаются кодами K6A, K6B и K6C.
- Как по ГОСТ обозначать на схеме провода питания и землю?По ГОСТ 2.709-89 полюсы постоянного тока обозначают L+ и L− (графически — знаками + и −), средний провод — M, заземляющий провод — E, защитный — PE, провод соединения с корпусом — MM. Участки цепей постоянного тока нумеруют нечётными числами на плюсовой стороне и чётными на минусовой.
- Как обозначать разъёмы на схеме по ГОСТ: X, XP или XS?По ГОСТ 2.710-81 контактные соединения входят в группу X, а двухбуквенный код уточняет вид: XP — штырь (вилка), XS — гнездо (розетка), XT — разборное соединение, например клеммник, XW — высокочастотный соединитель. Однобуквенное X допустимо как общий код группы, но двухбуквенный точнее.
- Как по ГОСТ изображать реле, если его катушка и контакты в разных местах схемы?Разнесённым способом: ГОСТ 2.702-2011 разрешает рисовать катушку и каждую группу контактов в той цепи, где они работают, и ставить позиционное обозначение реле, например K1, около каждой части. Контакты изображают в отключённом положении, при обесточенной катушке, с номерами выводов на каждой части.
- Какой припой купить для пайки электроники?Для ручной пайки удобнее всего трубчатый оловянно-свинцовый припой с флюсом внутри, лучше эвтектический Sn63Pb37: он плавится при одной температуре 183 °C. Бессвинцовый SAC305 плавится в интервале около 217–220 °C, требует более горячего жала и берут его, когда изделие должно быть без свинца.
- Чем отмыть флюс с платы после пайки?Тем растворителем или отмывочной жидкостью, которую указывает производитель флюса, а потом плату сушат; канифоль мы советуем смывать изопропиловым спиртом и щёткой. Остатки безотмывочного флюса по TI и Kester обычно можно не удалять, а водосмываемый флюс отмывают всегда, включая зазор под QFN.
- Какую температуру ставить на паяльнике?Самую низкую, при которой припой растекается за 2–3 с, и не выше предела из даташита детали: NXP для микросхем в SO разрешает до 300 °C не дольше 10 с, Johanson для керамических чип-конденсаторов — жало до 280 °C. Для 63/37 начинают с 280 °C у керамики и до 300 °C у микросхем; бессвинцовому нужно жало горячее.
- Как убрать перемычку припоя между выводами микросхемы?Нанести свежий флюс и провести чистым горячим жалом вдоль выводов от корпуса наружу: лишний припой перетечёт на жало. Если припоя много, его снимают оплёткой, пропитанной флюсом, — так TI и бывшая National Semiconductor советуют очищать площадки при ремонте.
Каждый ответ построен одинаково: короткий ответ под заголовком, затем расчёт или таблица с числами из даташитов, разбор частых ошибок и ссылки на подробные материалы — статьи раздела «Теория», калькуляторы и термины глоссария. Внизу страницы — похожие вопросы и источники.
Частые вопросы
Откуда берутся вопросы?
Из поисковых подсказок и запросов, по которым люди ищут ответы об электронике. Вопрос получает отдельную страницу, только если его не разбирает подробно ни одна статья сайта; иначе ответ добавляется в раздел частых вопросов этой статьи.
Можно ли доверять числам в ответах?
Числа и формулы взяты из даташитов и руководств производителей, которые перечислены на странице каждого ответа с номером документа. Если в документе есть оговорка — например, мощность действует только до определённой температуры, — она приведена в ответе.
Чем ответ отличается от статьи?
Ответ закрывает один вопрос: суть — в первых двух предложениях, ниже — расчёт или таблица и короткие пояснения. Статья разбирает тему целиком, поэтому из каждого ответа есть ссылки на подробные статьи и калькуляторы.