Несколько лет назад я собрал свой «лего магнум опус» — замечательный Pirates of Barracuda Bay — и решил с этими конструкторами завязать. Классные наборы все дорогие, да и места под них уже нет. Осенью я начал работать в YADRO и узнал о «конструкторах для взрослых» — цифровых схемах. Детали по цене гораздо приятнее LEGO, и уже на входе получаешь инженерный вайб, которым манят дорогие датские игрушки.

Здорово, но есть две проблемы. Я не умею работать паяльником — раз. Места под компоненты дома нет — два. На помощь спешат макетные платы и…. виртуальные конструкторы цифровых схем. Минус инженерный вайб, конечно, но прощупать собственный интерес хватит. 

Что по матчасти? Инженерного опыта у меня нет, знания об электричестве остались преимущественно в школе. На «Истовом инженере» есть курс схемотехники для начинающих — осилю его, а там посмотрим. В этом и в будущих постах буду делиться своим прогрессом и открытиями. Поехали!

На старте вижу такой план.

  1. Смотрю уроки из курса схемотехники YADRO, читаю теорию к курсу.

  2. Если что непонятно, читаю дополнительно второй том Элементарного учебника физики Г. С. Ландсберга, посвященный электричеству и магнетизму. Эту книгу советуют в первой же лекции курса.

  3. Создаю проекты в CRUMB — 3D-симуляторе для создания цифровых схем.

Что такое CRUMB и почему именно он?

Изначально я хотел конструировать все в Factorio, но это в первую очередь все-таки игра. С игровыми условностями — то есть в приоритете здесь увлекательный геймплей. Возможно создание логических сетей, использование комбинаторов. Но чтобы просто добраться до них, потребуется немало подготовительной работы. Придется прокачать «фабрику», для чего пожертвовать время на курс схемотехники, из-за которой все и затевалось. По той же причине я исключил и популярный Minecraft, хоть он и успешно используется как учебное пособие. Есть игры для инженеров вроде Shenzhen I/O или Turing Complete, но они построены вокруг четкого списка задач, что надо решить по ходу прохождения.

Вместо игр я решил поискать инженерные «песочницы» — виртуальные конструкторы, где все необходимое уже есть под рукой. В основном мне попадались двумерные решения для отрисовки цифровых схем. Это, конечно, скучновато. Но в Steam я неожиданно наткнулся на трехмерный конструктор CRUMB — похожий на симулятор LEGO, с которым я сидел в детстве, когда своего аналогового LEGO у меня еще не было. 

CRUMB — это песочница для схемотехника, созданная в одиночку Майком Бушеллом. Человек разносторонний: судя по его твиттеру, в 2014 и 2017 годах он был чемпионом Англии в гонках на Reno Clio. Симулятор CRUMB доступен в Steam, AppStore и GooglePlay — и это здорово, потому что запускать его мне удобней на макбуке.

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

Знакомлюсь с CRUMB, макетными платами и резисторами

Этим двум компонентам посвящено первое из 11 занятий курса. Если вы, как и я, плаваете даже в понимании электричества как явления, то лучше предварительно почитать Ландсберга. Там в начале еще натирают шелком стеклянные палочки, а в курсе «Истового инженера» теоретическая часть начинается уже со строения атома.

«Тамада хороший, конкурсы интересные». Давно не читал книги со списком вопросов, тем более таких оригинальных
«Тамада хороший, конкурсы интересные». Давно не читал книги со списком вопросов, тем более таких оригинальных

Базовые электрические явления у Ландсберга описаны через опыты с электроскопом. Не помню, чтобы он заметно фигурировал в моем школьном учебнике физики. А зря: с ним объяснение электричества гораздо понятней и электроскоп легко изобразить схематично.

При появлении электрического заряда полоски из бумаги (или фольги) начинают расходиться. Источник
При появлении электрического заряда полоски из бумаги (или фольги) начинают расходиться. Источник

Информация, достаточная для начала курса по схемотехнике, умещается в первые восемь параграфов Ландсберга. Далее можно переходить к теории первого урока, где разобраны характеристики тока, а в конце описаны резисторы. Теперь посмотрим, как простейшие компоненты выглядят в CRUMB:

Здесь я поставил базу — беспаечную макетную плату с шинами питания. Она выглядит точно так же, как и в видео первого урока, хотя, насколько я понял, может иметь и другое число контактов. Видимо, это стандарт. Снизу коннекторы, как и положено, соединены по столбцам, хоть CRUMB и не дает свободно повертеть плату, чтобы убедиться. 

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

Выставил высокое качество теней и даже антиалиасинг
Выставил высокое качество теней и даже антиалиасинг

В описании обозначено, какой стандарт проволоки используют виртуальные перемычки — 22 AWG 0.3 мм2, выдерживающий ток силой до 7 А. Превысить его у меня не получилось, источник питания не дал. Перейдем к ним.

В курсе ведущий Павел Кириченко рассказал о батарейках «крона», проблемах клеммных колодок (элементов, передающих питание на плату), разных способах их решения — через пайку, термоусадку, изоленту и даже джамперы. Я же, лишенный очарования физического мира, просто ставлю в CRUMB 12-вольтовый источник питания.

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

Резисторы — единственный компонент «на плате», который был разобран в теоретической части первого урока. Здесь есть, на что обратить внимание: как минимум цветные кольца, обозначающие сопротивление и температурный коэффициент. У резистора может быть от 4 до 6 колец, в CRUMB используется четыре.

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

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

Осваиваем мультиметр и собираем батарейку из лимона

Мультиметр — это прибор, который поможет понять, получилось ли у меня вообще хоть что-нибудь. За год с записи уроков по схемотехнике «курс мультиметра» не поднялся: на маркетплейсах самый дешевый по-прежнему стоит не более 300 рублей. Главное для наших целей — чтобы у прибора был режим прозвона (он и правда подает звуковой сигнал). Интересно было узнать, что значит множество цифр вокруг переключателя мультиметра — во многом из-за них в детстве электричество казалось мне какой-то непостижимой темой. 

Слева — мультиметр «за триста», справа — более дорогой, что будет использован в курсе
Слева — мультиметр «за триста», справа — более дорогой, что будет использован в курсе

Научимся пользоваться мультиметром на примере первой электрической цепи в курсе. Она состоит из трех резисторов по 10 кОм (10 000 Ом), соединенных в цепь: два параллельно и третий последовательно. Питание осуществляется от батарейки «крона» напряжением 9 В.

Воссоздам такую же в CRUMB. Ставлю три резистора, прописав для каждого сопротивление — цветные кольца расставляются автоматически. «Фотогенично» ставлю источник питания, соединяю минус (черный кабель) и плюс (красный кабель) с контактами, как показывает на видео Павел. Синей «крутилкой» накручиваю 9 вольт, как у кроны. Хотел назвать «крутилку» фейдером, как у музыкантов, но в текущем контексте правильней будет «энкодер», да?

Обратил внимание, что питание подается не на шину, но в нашем случае разницы нет
Обратил внимание, что питание подается не на шину, но в нашем случае разницы нет

Для упрощения работы функции мультиметра в CRUMB вынесены в интерфейс, причем в двух местах: отдельно для каждого компонента вместе с графиком по времени в блоке Scope View и в виде тепловой карты с правой стороны экрана. Вот мониторинг схемы из видеоурока:

У Павла в теплой аналоговой схеме напряжение было положительным, а у меня — положительным на тепловой карте и отрицательным в Scope View. Уже ближе к концу статьи я понял, что причина — в том, как я присоединил шины питания.

Знак около напряжения зависит от направления тока, и на эту тему у Ландсберга есть суждение: «Следует признать такое направление тока [от положительного полюса к отрицательному] довольно неудачным. Оно было сделано в те времена, когда представление об электронах и их свойствах еще не было введено и природа носителей заряда в металлах была еще неизвестна».

Проверим показания CRUMB простым расчетом. На участке из двух параллельно соединенных резисторов сопротивление составит 5 кОм, на участке с одним последовательно соединенным — 10 кОм. Получается отношение один к двум. Так же делится и напряжение: у первых двух резисторов по 3 В, у второго — 6. По ходу курса это звучит проще, чем я помню по школьным задачам.

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

Далее зрителям предлагается собрать произвольную схему из горстки проводников в 10 кОм, запитать ее, рассчитать сопротивление каждого резистора на бумаге и проверить мультиметром. Резисторы у меня бесплатные, могу позволить себе рассыпать их, например, так:

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

Резистор

Сопротивление

Доля в общем сопротивлении

Напряжение, В

R1

10 кОм

0,1165053068

1,048547761

R2–R3

5 кОм

0,05825265341

0,5242738807

R4–R5

5 кОм

0,05825265341

0,5242738807

R6–R8

3,333 кОм

0,03883121876

0,3494809689

R9

10 кОм

0,1165053068

1,048547761

R10

10 кОм

0,1165053068

1,048547761

R11–R14

2,5 кОм

0,0291263267

0,2621369403

R15

10 кОм

0,1165053068

1,048547761

R16–R17

5 кОм

0,05825265341

0,5242738807

R18–R19

5 кОм

0,05825265341

0,5242738807

R20

10 кОм

0,1165053068

1,048547761

R21

10 кОм

0,1165053068

1,048547761

Хвала Excel, вручную считать не пришлось. Мои цифры совпали с показаниями мультиметра CRUMB — успех. Ниже я выделил группы с разных числом резисторов в параллели:

Хм, получается, чем больше резисторов в цепи, тем меньше отклонение виртуального мультиметра от эталона?
Хм, получается, чем больше резисторов в цепи, тем меньше отклонение виртуального мультиметра от эталона?

Далее мы перешли к измерению силы тока. Павел использовал мультиметр, где для силы тока есть отдельное гнездо щупа. Подробно объяснил, почему напряжение нужно мерить параллельно, а силу тока — последовательно, в разрыве цепи. Вернусь к цепи из примера:

 Общее сопротивление трех резисторов — 15 кОм, напряжение — 9 В. Делим второе на первое и получаем 0,0006 А, или 600 мкА. В CRUMB для измерения не нужно создавать разрыв цепи, можно ориентироваться на последовательно соединенный элемент цепи (выше он отмечен оранжевым). Расчеты сходятся с симулятором.

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

В финале урока — интерактив с лимонной батарейкой. Было полезно узнать, что длинный контакт светодиода по умолчанию плюсовой. И захотелось пересмотреть все выпуски «Галилео».

Подключаем светодиоды и МОП-транзисторы

Третий урок, посвященный светодиодам и МОП-транзисторам, сопровождается объемным материалом, где процессы внутри компонентов объясняют с точки зрения электронной теории — объясняющей электрические свойства тел наличием в них электронов и их движением.

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

Для начала соберем схему со светодиодами. В предыдущих уроках полярность моей схемы была иной, нежели в видеоуроке. Шины питания в CRUMB «примагничиваются» к макетной плате только одной стороной, и если собрать плату так же, как в ролике, то подписи коннекторов на макетной плате будут повернуты в другую сторону. Это нестрашно, но поначалу может смущать.

Соберем схему из трех светодиодов, соединенных параллельно, с одинаковыми резисторами после каждого. Сопротивление резистора, как и в видео, установим на 470 Ом. Что касается светодиодов, то их напряжение Павел определяет опытным путем. Я же предварительное задаю для светодиодов минимальное напряжение, требуемое, чтобы они светились. Для наглядности я в итоге остановился на большом шаге напряжения: 2 В — зеленый, 4 В — красный и 6 В — белый светодиод.

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

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

Хорошая новость в том, что визуальный отклик нам нужен лишь для наглядности. Куда важнее понять, как в принципе работает электрическая цепь и какие ее параметры на что в какой мере влияют. Здесь CRUMB удобней тем, что нам не нужно переставлять щупы мультиметра и держать в голове значения для сравнения. Достаточно просто ткнуть нужные компоненты в режиме Scope.

Чтобы оценить нелинейность светодиодов, сделаю вот что. Выставлю напряжение источника питания в трех позициях: чтобы обеспечивалось минимально достаточное напряжение U1 для зеленого (L1, порог 2 В), напряжение U2 для красного (L2, порог 4 В) напряжение U3 для белого (L3, порог 6 В) светодиода. Не забываем, что последовательно с каждым светодиодом установлены одинаковые резисторы (R1, R2, R3, 470 Ом), так что напряжение нужно будет подавать больше, чем пороговое. 

Сила тока внутри каждой пары светодиода и резистора будет одинакова, поскольку они соединены последовательно. Как и напряжение, идущее на каждую такую пару от источника, поскольку эти пары соединены параллельно.

U1 = 2,5 В

U2 = 4,5 В

U3 = 6,5 В

U (L1 + R1)

2 В + 471,053 мВ

2,127 В + 2,343 В

2,175 В + 4,295 В

I1

1,002 мА

4,986 мА

9,137 мА

U (L2 + R2)

2,471 В + 30,571 мВ

4 В + 470,178 мВ

4,245 В + 2,224 В

I2 (для L2 и R2, если разная)

62,488 нА + 64,959 нА

1,000 мА

4,731 мА

U (L3 + R3)

2,471 В + 1,321 мВ

4,470 В + 737 мВ

6 В + 469,5 мВ

I3 (для L3 и R3, если разная)

339,291 пА + 2,811 нА

1,563 мА + 1,568 мА

998,9 мкА

На всякий случай: приставка «м» — это милли-, «мк» — это микро, «н» — нано, «п» — пико. 1 «милли» = 1 000 «микро» = 1 000 000 «нано» = 1 000 000 000 «пико». Одна единица без приставки равна 1000 миллиединиц.

Полужирным выделены замеры, которые иллюстрируют материал урока. Из напряжения батареи мы вычитаем напряжение светодиода — во всех трех случаях получается около 500 мВ. Делим его на сопротивление резистора, 470 Ом. Получаем чуть больше 1 мА — как и показывает мониторинг в CRUMB.

Теперь о других наблюдениях. Обратите внимание, на нижний левый угол таблицы, то есть когда порог напряжения светодиода явно больше подаваемого напряжения. Здесь мониторинг симулятора дает разные силы тока на разных участках в последовательной цепи. Что это, ошибка эмуляции? Или следствие того, что мы меряем силу тока не на пустом участке цепи, а на концах компонента? Но здесь иначе не сделать, в нашей «песочнице» нельзя ткнуть щупами мультиметра, куда вздумается.

Кроме того, я обратил внимание, что вниз от некоторого подаваемого напряжения светодиоды с разным, но заведомо более высоким порогом напряжения начинали забирать себе примерно одно и то же напряжение (обратите внимание на первый столбец для 2,5 В).

Горизонтальные линии — изменения напряжений на первом и втором светодиоде, пока я снижал напряжение источника
Горизонтальные линии — изменения напряжений на первом и втором светодиоде, пока я снижал напряжение источника

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

На этом этапе вскрылось два больших недостатка CRUMB:

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

  • Иногда характеристики одного компонента сами собой меняются на характеристики соседнего. В моем случае светодиод на 4 В мог легко стать светодиодом на 6 В. Эту ошибку я так и не смог четко отследить. Советую перед любым мониторингом — режим Scope — перепроверять компоненты через режим Select.

Регулируем яркость светодиода через МОП-транзистор (MOSFET)

Эксперименты с яркостью продолжаются, но трассировку лучей в CRUMB все еще не завезли. Так что здесь, возможно, придется идти «по приборам».

Основные компоненты новой цепи — МОП-транзистор и переменный резистор. МОП-транзисторы имеют три точки контакта с макетной платой — исток, затвор, сток. Изменяем напряжение между истоком и затвором — изменяем силу тока между стоком и истоком.

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

Сток и исток не симметричны относительно затвора транзистора: исток соединен с подложкой транзистора, а сток — нет. Поэтому производят отдельно n-канальные и p-канальные МОП-транзисторы — с истоком со стороны минуса и плюса питания соответственно.

Вот как выглядят эти два вида МОП-транзисторов в жизни: слева n-канальный, справа — p-канальный. Может показаться, что они различаются с помощью металлического ушка, но это не так: его добавляют в конструкцию просто для улучшения теплообмена. В CRUMB же MOSFET (английское название МОП-транзистора) есть только «с ушком», как справа, и при выборе n- или p-канального в настройках внешне ничего не меняется.

Я пробежался по витринам маркетплейсов, чтобы понять, как внешне различать реальные транзисторы. Выделил два признака n-канальных МОП-транзисторов: на их корпусе есть N в середине маркировки и/или присутствует картинка с треугольником, вершина которого упирается в прямую линию. В отличие от p-канального, n-канальный транзистор чаще подключается к заземлению, поэтому и картинка такая. Но коллеги-инженеры подсказали, что признаки эти недостаточно достоверны.

Вернусь в CRUMB и воссоздам схему из видеоурока. Здесь в уже знакомую цепь из светодиода и постоянного резистора мы врезаем n-канальный МОП-транзистор. Управляет им переменный резистор, вынесенный чуть поодаль.

Минимальный результат, которого нужно добиться, — это показать, что вращение ручки переменного резистора влияет на напряжение светодиода. Эта зависимость видна на графике: подъем напряжения на резисторе сразу отражается в спаде на светодиоде. Заставить светодиод гореть я не мог, пока не увидел галочку Show Pins в правой части экрана.

Я почему-то решил, что затвор MOSFET, к которому подключается резистор, находится посередине. Вероятно, принял за правило элементарную схему МОП-транзистора, где буква «З» обычно посередине. Но здесь затвор (Ground, G) расположен справа! Я быстро перестроил цепь, и все заработало как в видео: светодиод с порогом 2 А светился только в определенном диапазоне регулятора переменного резистора. 

Апгрейд мультиметра — щупы-крокодилы, то есть щупы с зажимами. Свободу рукам!
Апгрейд мультиметра — щупы-крокодилы, то есть щупы с зажимами. Свободу рукам!

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

Завершается урок домашним заданием: нужно построить вольт-амперную характеристику (ВАХ) использованного в проекте MOSFET. Для этого уберем из цепи светодиод, он работал только для наглядности:

Чтобы показать зависимость в симуляторе, достаточно выбрать две величины. Напряжение на выходе переменного резистора в видео измеряется через контакты резистора. Я же могу выбрать перемычку, идущую от него к MOSFET. А силу тока замеряем по постоянному резистору на выходе этого MOSFET.

Шаг измерений по времени у CRUMB хоть и настраивается, но даже максимальное значение составляет 100 мс. А экран мониторинга по горизонтали не растягивается. Я долго крутил энкодер резистора, чтобы зафиксировать какую-нибудь закономерность. Но лишь понял, что в некотором диапазоне он влияет на напряжение постоянного резистора, а в некотором — нет. В принципе, это соответствует состоянию «открытого» и «закрытого» МОП-транзистора. Для построения нормальной ВАХ нужен либо более продвинутый софт, либо реальный, а не виртуальный сетап.

Общие впечатления

К концу статьи я закончил 3 из 11 уроков «Курса схемотехники для начинающих». Далее по плану — более глубокое погружение в МОП-транзисторы и переход к цифровым сигналам. Поначалу теория кажется сложной, но после работы на плате становится проще. Здорово, что ведущий часто делится практическими советами, которые упрощают жизнь с самого начала пути в схемотехнику. Но обычно я воспользоваться ими не могу, поскольку работаю в симуляторе.

Теперь, собственно, об этом симуляторе, CRUMB. Пока что в нем нашлись все необходимые для курса компоненты, что радует. Трехмерное моделирование симпатичней двухмерного, но мне кажется, что именно оно повинно в спонтанных багах, которые возникают время от времени и не поддаются системному описанию. Мне нравится наличие мониторинга в виде тепловой карты и графиков одновременно, но бывает сложно соотнести мои возможности и возможности реального мультиметра с щупами.  Два самых раздражающих момента CRUMB — самовольное изменение параметров и разделители разрядов чисел — я описал выше. Искать альтернативы этой песочницы для следующих уроков пока не планирую, но буду благодарен за любые наводки.

Комментарии (0)