Вступ до електроніки для чайників: як я провів курс з Hardware Engineering в Mobilunity

Привіт всім, мене звати Ілля, і я займаюсь розробкою електроніки. У вільний від роботи час також читаю відкриті лекції і всіляко намагаюсь розвивати ком’юніті і напрям електроніки в цілому. Цієї весни я провів в Mobilunity курси з електроніки в рамках MobilunityPeople.Share() - внутрішньокорпоративної освітньої платформи, створеної спеціально для #MobilunityPeople. Тут я опишу як все планувалося, як відбувалося, і що з того вийшло.

ВСТУП

Ідея проведення івенту з електроніки спливала в розмовах з нашим СЕО і раніше. Проте цього разу було очевидно, що Кирил налаштований серйозно. Питання було тільки у виборі формату, датах і організаційних моментах. Варіантів було два: хакатон або група з регулярними заняттями тривалістю в 1-2 місяці. Хакатон подобався мені тим, що я неодноразово брав участь у такого роду подіях і розумів, як вони влаштовані. З іншого боку, хакатон потребував значних зусиль і часу від учасників, та й взагалі проводити хакатон з електроніки для людей, малознайомих з електронікою, — така собі ідея. В мене був непоганий досвід організації одноразОвих подій (відкриті лекції, воркшопи), але не курсів, та ще й досить тривалих. Проте саме курси підходили для навчання, тому що хакатон більше схожий на експрес-перевірку знань (яких, очевидно, в колег-учнів поки не було). Отже, на курсах і зупинились.

Roman

Roman, Front-End Developer
«Як тільки я дізнався, що Ілля збирається проводити такий курс, я звичайно ж сказав: «Так, це круто, я піду». Попередній досвід: «Максимум, що я паяв — це я у шкільні роки зпаював магнітофон. Я його розібрав, але після цього магнітофон більше ніколи не працював. Тобто досвід є, але успіхів не так багато». Складнощі: «На курсі найскладніше це були розрахунки резисторів і розрахунки, що де необхідно поставити». «Як використовувати його [девайс] я ще не вирішив. Я думаю його перепрограмувати якось і додати певний функціонал».

В НАС БУВ ПЛАН

Орієнтовно курси мали складатися з 8 занять по 2 години, заняття — раз на тиждень.

Під час курсу учасники мали з нуля розробити електронний пристрій, пройшовши всі типові етапи hardware проекту, і виготовити робочий прототип. Який саме пристрій? Варіанти проекту в нас були такі:

  • Міні-квадрокоптер
  • LED лампа з керуванням по Wi Fi
  • GSM сигналізація.

Звісно, всі перелічені речі давно винайдені, і їх можна легко замовити на AliExpress, але в нас була інша мета. Врешті-решт, вирішили зупинитися на GSM сигналізації — пристрій з інфрачервоним сенсором руху, що відправляє СМС на ваш телефон при спрацьовуванні.

Теми занять я розділив наступним чином:

  • 1 Вступ, знайомство, створення ТЗ (бо без ТЗ — результат ХЗ)
  • 2 Теоретичні основи електроніки
  • 3 Електричні схеми
  • 4 Друковані плати
  • 5 Виробнича документація, замовлення плат (ні, ми не травили їх власноруч)
  • 6 Збірка плат
  • 7 Програмування мікроконтролера
  • 8 Тестування
Serhii

Serhii, Back-End Developer
Попередній досвід: «Я тримав декілька разів паяльник, намагався полагодити з перемінним успіхом якусь електротехніку вдома, але... з перемінним успіхом». Складнощі: «Довелося багато дебажити, адже софт не завжди був дружнім до лінексу. Але найскладніше виявилося одним із найцікавіших».


ПІДГОТОВКА

Рекламну кампанію для курсу розпочали з розвішування плакатів на кухнях ще за місяць до початку курсів.

poster

Паралельно з плакатами влаштували розсилку електронних листів з описом курсу на всю компанію. Також запустили форму для реєстрації з невеликим опитуванням, щоб краще розуміти рівень учасників і підлаштувати програму. В опитуванні учасники обирали зручні дні тижня та час для проведення занять, а також відповідали на декілька простих питань про досвід і знання в електроніці.

Виявилося, що більшості було зручно відвідувати курси о 19:00 щочетверга.

Надійшло аж ТРИДЦЯТЬ заявок (з ~200 осіб, що працюють в компанії). Але цей успіх не тішив: я чітко розумів, що під час практичних занять з такою кількістю людей впоратися буде важко. Але наші досвідчені орги заспокоювали, мовляв, далеко не всі, хто записався, насправді прийдуть, а тим більше не всі залишаться до кінця курсу. Так і сталося...


ПОЧАТОК

...на перше заняття прийшло двадцять п’ять колег. А після другого, з нудною теорією, законом Ома і шкільними формулами, нас залишилося п’ятнадцять. Це був наш великий фільтр.


OM

Вже на етапі проектування електричної схеми стало зрозуміло, що початкові оцінки часу були, м’яко кажучи, оптимістичними. Схематика зайняла два заняття замість одного, те саме сталося з розводкою плати (лейаутом). Кожне заняття займало три години замість двох запланованих, але хлопці йшли додому надиво задоволеними і мотивованими. Такі помилки в оцінках часу сталися, ймовірно, через те, що я досить довго працюю з електронікою і вже не можу правильно розрізнити, де знання дійсно є базовими і інтуітивними для всіх, а де — мій досвід. Для того, щоб успішно навчати людей, потрібно чітко усвідомити, що щось, очевидне тобі, не обов’язково очевидне і зрозуміле оточуючим))

Kyrylo, QA Engineer
Попередній досвід: «Нульовий досвід. Лише у дитинстві машинки ламав, а так жодного досвіду не було.
Тому це був челендж, було цікаво».


БЕКСТЕЙДЖ

Паралельно з початком курсу я вирішив замовити GSM модем, який ми мали використовувати в нашому пристрої: хотів впевнитись, що все працює, накидати функції для керування, розвідати де можуть виникнути проблеми.

За один вечір розвів просту плату, щоб приєднати модем до комп’ютера і перевірити роботу. Наступного ж дня плата була відправлена на виробництво, а компоненти замовлені у постачальника. Я оплатив обидва замовлення... І через декілька годин отримав повернення коштів за модем: виявилося, що Україна під ембарго, і модеми цієї компанії нам надіслати не можуть. Звісно ж, я одразу спробував відмінити виробництво плат, розроблених під конкретну модель модема, без нього — це просто сувеніри. І звісно ж, китайці проігнорували мої листи і таки прислали готові, але вже не потрібні плати.

Безумовно, раніше бували випадки, коли компонентів не вистачало або взагалі не було на складах, безумовно, я стикався з затримками поставок, але цього разу я вперше відчув, що таке заборона на експорт. Отже, важливий урок за $100: cпочатку підтверджувати всі компоненти з постачальником, а потім вже замовляти і оплачувати плати, навіть на етапі прототипування.

Дуже добре, що це сталося на початку курсу і я встиг змінити модем на старий-добрий і всім відомий SIM900. Навіть не уявляю, як би я дивився у вічі учасникам, якби їм довелося переробляти всю роботу за 6 занять)))

Звідси ще одна важлива порада: перед тим як вести когось — пройдіть шлях самі. Навіть якщо у вас купа досвіду і ви вже тисячу разів таке робили — завжди знайдеться місце сюрпризам.

ТИМ ЧАСОМ

Нудні теоретичні заняття скінчилися, і ми перейшли до розробки електричних схем. Звісно, нам було потрібне відповідне програмне забезпечення. Я мав хороший досвід з Eagle CAD і довго використовував його для власних проектів. Безкоштовна версіє дає можливість розробляти двошарові плати площею до 80см2, що повністю задовольняло наші вимоги. В цьому ж редакторі розробляються і друковані плати.

Далі ми вчились користуватися сервісом DigiKey для підбору компонентів. Хлопці з’ясували, наприклад, що звичайний резистор, крім опору, має ще купу характеристик)

Вже в цей момент треба було вирішити, яким чином ми збиратимемо плати. Звісно, можна було закупити півтора десятка паяльників і розважатися, намагаючись припаяти резистори розміром менше 2мм. Але щоб зекономити час, кошти і нерви учасників, я вирішив, що ми зберемо плати за допомогою трафарета і паяльної пасти: так, як це робиться на справжньому виробництві. Тому вже на цьому етапі з Алі було замовлено величезну кількість пінцетів і всього необхідного)

Після шостого заняття плати були повністю готові до відправки на виробництво. У цей момент ще двоє учасників залишили курси, аргументуючи це тим, що їм, насправді, була цікава тільки теорія. Це було для мене сюрпризом. А поки трудолюбні китайці виготовляли наші плати, а швидкі кур’єри DHL доставляли їх до Києва, ми обговорювали процеси виробництва і дивились відео з заводу.

По фану всі бажаючі могли нанести на свої плати власний портрет, це добряче розвеселило і замотивувало людей!


_MG_8436_2

_MG_8443

_MG_8449

_MG_8490

Коли плати, компоненти, набори пінцетів і паяльної пасти на всіх учасників нарешті прибули в офіс, я став готуватися до найважчого: тринадцять людей мали за один вечір зібрати свої пристрої. Якщо ви не в темі, процес виглядає так: паяльна паста через трафарет наноситься на плату, пінцетом компоненти розміщуються на своїх місцях, а потім плата розігрівається в печі або на спеціальній платформі, і всі компоненти разом одночасно припаюються. Тому всі можуть «набивати» плати одночасно, і по черзі користуватися однією пічкою.

Це, мабуть, було вирішальне і найважче заняття. Хтось ще закінчував розміщувати компоненти, хтось запаював свою плату, а хтось вже шукав дефекти під мікроскопом. Я ж намагався вслідкувати за всіма і одразу) Того дня багато з нас повернулися додому за опівніч. Це при тому, що двоє людей не прийшли і не збирали свої пристрої, нас лишилось одинадцять.

Як не дивно — майже всі плати запрацювали одразу, лише на декількох були незначні дефекти, що змусили їх власників трохи понервувати. Проте ми швидко все виправили.

На наступних заняттях поверхнево обговорили що таке мікроконтролер, створили проект на С і навчилися відправляти СМС. Для програмування використовували безкоштовне і досить зручне середовище SW4STM32 + STM32Cube.

Відлагодження не пройшло гладко: на початку десятого заняття хлопці відправляли СМСки, модеми рапортували, що СМС успішно прийнято оператором, а на телефон повідомлення не доходили. Я не розумів, що відбувається, поки під кінець заняття телефони не почали радісно пищати СМСками, відправленими більше двох годин тому. Декому повідомлення прийшли аж о другій ночі.

Я зателефонував в службу підтримки lifecell, де мені розповіли, що час доставки СМС ніяк не регламентується, повідомлення може йти хоч добу! Але з моїх спостережень: після того, як дійшло перше повідомлення з нової сімки, наступні приходять майже миттєво. Мабуть, номер потрапляє в якийсь кеш... Звісно, ви б не хотіли мати сигналізацію, з якої повідомлення йдуть добу) Але для того і робляться прототипи: щоб з’ясувати всі потенційні проблеми майбутнього продукту, навіть ті, що від вас не залежать.

Vitalii

Vitalii, Media Production Team
Попередній досвід: «Я багато розбирав електроніки у своєму дитинстві і зараз інколи цим займаюсь... розбираю, але не збираю».


До речі, з оператором пов’язана ще одна цікава історія: коли в салоні я попросив 15 найдешевших стартових пакетів, продавець поводився досить злякано і, замість того, щоб віддати мені пакети, почав пояснювати про якісь внутрішні розпорядження і що вони не продають більше 20 пакетів одній людині. Зрештою я переконав хлопчину, що 15 пакетів це таки менше, ніж 20 і все буде ОК. Він записав всі номери на папірець і тільки потім віддав сімки. Мабуть, боряться зі спамерами))

Ivan, Back-End Developer
Попередній досвід: «У дитинстві гірлянду паяв, не завжди вдало. Інколи навіть дуже невдало».
Складнощі: «Ти щось не те зпаяв і витрачаєш купу часу: дебажиш, дебажиш — а воно не працює, бо ти неправильно припаяв, або ще якась така фігня».


ВИСНОВКИ

Це був чудовий досвід, і у своїх майбутніх курсах я б врахував деякі моменти:

Писати код наживо під час заняття — мені здавалось, що це буде більш динамічно і інтерактивно, ніж просто заливати на гіт і пояснювати, що відбувається. Вочевидь, з цим виникали проблеми, які з’їдали час.

Також я намагався використовувати великий телевізор в конференц-залі для демонстрації коду. Я звик проводити презентації, для яких дисплей чи проектор підходить чудово, а от з дрібним шрифтом виникали проблеми. На майбутнє — треба використовувати якусь платформу для стрімінгу відео з мого монітора, щоб учасники могли спостерігати за моїми діями зі своїх ноутбуків.

Та незважаючи на все, курс точно був вартий витрачених зусиль і часу. Дехто вважає, що коли на співбесіді кандидата опитує три, чотири або і п’ять опонентів, — це стресова ситуація. У мене ж на курсах було півтора десятка людей, які могли вільно задавати питання з будь-якої області електроніки протягом всіх трьох годин, робити будь-які помилки в коді і залізі, — і на все треба було відповідати і реагувати за лічені хвилини)) Весь цей час я теж вчився. Звісно, я не дізнався чогось нового з електроніки, але навчився обмежувати час на свої відповіді, повертатися до основної думки, швидко розставляти пріоритети.

Oleksii

Oleksii, QA Engineer
«Було цікаво створити щось своїми руками».
Складнощі: «Складного? Складного нічого не було — Ілля усе розповідав, а ми, як школярі, все повторювали».
«Я буду використовувати [девайс] проти грабіжників, які бродять навколо машини».


Дуже приємно було бачити емоції людей, коли їхні творіння оживали і працювали, як зараз пам’ятаю, як всі раділи, отримуючи свої перші СМСки) На завершення скажу, що дехто таки встановив сигналізацію вдома, але нікого, крім самого власника, вона ще не спіймала).

Файли проекту доступні на GitHub:
github.com/...​ics_training_GSM_alarm_HW
github.com/...​ics_training_GSM_alarm_FW

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А чи є (або планується) такі курси онлайн ?

Хочется «ламповости»! Даешь курсы аналоговой схемотехники!

Вопрос. А где вы платы печатали? Своё оборудование или где-то заказывали?

думаю jlcpcb или pcbway, уже все заспамили этими двумя конторами

Для прототипирования — PCBGoGo неплохо работают. Или те же jlcpcb и pcbway как уже упомянули. Своего оборудования нет.

Блин, на самом деле вы молодцы, ёмаё. Это хороший страт для начинающих. Человек пришёл, получил самые базовые знания и сам процесс создания устройств (требования, проектирование, рассчёты, создание принципиальной схемы, разводка платы, печать тестирование). Т.е. по сути если он смог, пусть даже создать устройство, которое мигает своетодиодом, то у него есть платформа для дальнейшего развития и понимание процесса создания устройств. И при желании он сможет дальше углубляться в эллектротехнику и эллектронику.

А есть лабы не для совсем чайников? Чтоб там я незнаю, микропроцессор свой посоздавать?

Создать на базе вентилей, или прям вот спроектировать на кристалле? =) Со вторым совсем будет сложно.

Не, ну зачем сразу кристалл, можно и по-проще. Просто интересно же.

Да хоть на реле! Как в книжке Пецтольда — Код. ПС: правильней на FPGA.

На логических микросхемах собрать! :) Примеры есть www.bigmessowires.com/bmow1

Собирайте на релюхах:
hackaday.com/2010/11/18/electromechanical-computer-built-from-relays/

Во-первых архитектуру подучите, во-вторых щёлкает прикольно.

www.youtube.com/...​PwbansoxKjjMKHQqS_2cm8i60

RISC-V на (относительно) простых чипах. Не закончен, но для оценки объёма «лабы» подойдёт.

www.youtube.com/...​BypFbtuVMUVXNR0z1mu7dp7eH

6502 (Apple II, NES aka Dendy) based computer on a breadboard. На почти оригинальных чипах, с хорошими пояснениями.

Вот если где-то есть лаба как на втором видео — было бы очень здорово

круто, с удовольствием бы поучаствовал на таком курсе

А у программистов в ВУЗе в программе должен быть необходимый минимум, 2 семестра электротехники и электроники, а также курс по цифровой схемотехнике и микропроцессорам. Но оно конечно мимо мозга основной части контингента проходит, да и человек с профильным образованием наверное на галерах вымирающий вид уже

2 семестра электротехники и электроники, а также курс по цифровой схемотехнике и микропроцессорам.

Все перечисленное не особо так и сложно. Где-то medium level. Вот электроника стоит особняком. Все лето готовился к перездаче экзамена.

Люди 4 года на соответствующей специальности учатся, чтобы основы усвоить, а тут 16 часов

Ардуину вообще можно просто по туториалам собирать, есть подозревака ,что тут тоже никто не считал гармоники.

Эх, сейчас бы сравнивать профильное образование и ознакомительно-вводный курс... Кстати если вы не читали текст — у нас было не 16 часов.

Не ну зато после 16-ти часов, можно попонтоваться перед коллегами, мол я свою железку запилил! :)
Ну, а если серьёзно, ИМХО подобны евенты больше для пробуждения интереса в массах. Что бы люди пришли, потусили, попробовали запилисть что-то очень простое, получить от этого кайф, и вдохновиться на полноценное изучение эллектроники...

Это в школе надо такие мероприятия проводить

И в школе тоже.

1-2 раза в год провожу открытые лекции в своём лицее.

И как, кто-то после этих лекций чего-то достиг? Создал своё электронное устройство, которое умеет немного больше чем помигать светодиодом?
Или просто тренируешь навык преподования на хипстерах? )
Главно сделать красивое лого, сайт, фотографии с радостными лицами студентов, потом попить чая, поговорить об эллектронике, о бородатых дядях физиках не зыбыть вспомнить ))
Т.е. если это просто типа тусы такой, где собираются люди, которые хотят в перспективе освоить эллектронику, или просто кружок любителей, то это можно понять. И это здорово ИМХО. Респект.
Но что бы действительно освоить эллектронику, на профессиональном уровне, нужен ИМХО не один год, а не несколько выходных...

юди 4 года на соответствующей специальности учатся, чтобы основы усвоить

И все равно нифига не шарят.

После ВУЗа больше половины моей группы не понимали, что такое транзистор и как он работает.... Так что думаю, это не показатель.

www.flickr.com/...​/album-72157712242577872
законы ома это в смысле в интегральной и дифферинциальной форме?

Подсос начнется когда в цепи появятся реактивные элементы.)

там закон ома применим только для синусоидальных токов что с практической точки зрения мало интересно

а любой сигнал можно представить в виде бесконечной суммы синусоидальных токов

ну вот и считай бесконечную сумму

Да-да, мы знаем большие сложные формулы

Не, ну знать это одно. А вот понять откуда они берутся, понимать их, это совсем другое )

Підписатись на коментарі