Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/9557| Title: | Розробка програмно-апаратного комплексу для автоматизованого контролю світлодіодної індикації |
| Authors: | Гончаров, Артем Володимирович Галайда, Олександр Вікторович |
| Keywords: | світлодіодна індикація;автоматизований контроль;програмно-апаратний комплекс;сенсор кольору;мікроконтролер STM32F103 |
| Issue Date: | 2026 |
| Abstract: | Метою роботи є розробка програмно-апаратного комплексу для автоматизованого контролю світлодіодної індикації у виробничих умовах. Актуальність теми обумовлена необхідністю підвищення точності та швидкості тестування електронної продукції, а також мінімізації впливу людського фактора під час перевірки світлодіодів. |
| URI: | https://er.chdtu.edu.ua/handle/ChSTU/9557 |
| Appears in Collections: | 172 Електронні комунікації та радіотехніка (Радіотехніка та робототехнічні системи) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Б_172_РТ_Галайда_Гончаров.pdf Restricted Access | 2.81 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ, АВТОТРАНСПОРТУ ТА
МАШИНОБУДУВАННЯ
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ ТА
КІБЕРБЕЗПЕКИ
Пояснювальна записка
до кваліфікаційної роботи
бакалавра
освітній ступінь
на тему «Розробка програмно-апаратного комплексу для автоматизованого
контролю світлодіодної індикації»
Виконав: студент 4 курсу, групи РТ-225
спеціальності
172 Телекомунікації та радіотехніка
шифр і назва напряму підготовки, спеціальності
освітня програма - «Радіотехніка та
робототехнічні системи»
Галайда О.В.
прізвище та ініціали
Керівник Гончаров А.В.
прізвище та ініціали
Рецензент Гальченко В.Я.
прізвище та ініціали
Черкаси 2026
ЗМІСТ
ВСТУП ........................................................................................................................ 4
1. РОЗГЛЯД НАЯВНИХ РІШЕНЬ ДЛЯ АВТОМАТИЗОВАНОГО КОНТРОЛЮ
СВІТЛОДІОДНОЇ ІНДИКАЦІЇ ............................................................................ 6
1.1. Розгляд комерційних пристроїв ..................................................................... 6
1.2. Аналіз розглянутих продуктів та виявлення їх переваг і недолiкiв ............. 11
2. ВІДБІР КОМПОНЕНТІВ ДЛЯ ПРОГРАМНО-АПАРАТНОГО КОМПЛЕКСУ
ДЛЯ АВТОМАТИЗОВАНОГО КОНТРОЛЮ СВІТЛОДІОДНОЇ ІНДИКАЦІЇ 14
2.1. Вибір мікроконтролера ................................................................................... 15
2.2. Вибір датчика світла ....................................................................................... 25
2.3. Вибір DC-DC перетворювача ......................................................................... 36
2.4. Вибір модуля для комунікації з інтерфейсом RS-232 ................................... 42
3. ВИБІР СЕРЕДОВИЩА ПРОГРАМУВАННЯ ТА НАПИСАННЯ
ПРОГРАМИ ........................................................................................................... 47
3.1. Вибір середовища програмування ................................................................. 47
3.2. Написання коду в середовищі VSCode .......................................................... 50
4. ВПРОВАДЖЕННЯ ПРОТОТИПУ НА ВИРОБНИЦТВІ .................................... 62
4.1. Збірка прототипу та методика проведення випробувань .............................. 62
4.2. Порівняльний аналіз результатів після впровадження прототипу ............... 65
5. ОХОРОНА ПРАЦІ ............................................................................................... 68
5.1. Аналіз небезпек та шкідливостей, що впливають на працівників техніко-
енергетичного відділу ..................................................................................... 68
5.2. Розробка заходів щодо модернізації системи захисного заземлення в
приміщенні відділу ......................................................................................... 75
ВИСНОВКИ ............................................................................................................... 80
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ................................................................... 82
РТ225.026342.001 ПЗ
Змн. Арк. № докум. Підпис Дата
Розробив Галайда О.В Розробка програмно-апаратного Літ. Арк. Аркушів
Перевірив Гончаров А.В. комплексу для автоматизованого 3 84
Рецезент Гальченко В.Я контролю світлодіодної індикації
Н. Контр. ЧДТУ
Затвердив
ВСТУП
Постійний розвиток і вдосконалення - єдиний можливий рух для сучасного
виробництва. Бо поки ви стоїте на місці, конкуренти можуть запровадити низку
покращень, які допоможуть їм виготовляти ті самі товари в декілька разів швидше
та й за менший кошт. Тому постійне нарощування виробничих потужностей є
надзвичайно важливим для виробництва. Отже, в даній роботі ставиться за мету
покращити, а за можливості повністю прибрати процес візуальної перевірки
світлодіодної індикації тест-операторами.
Темою кваліфікаційної роботи є розробка програмно-апаратного комплексу
для автоматизованого контролю світлодіодної індикації з метою усунення дефектів
під час виробництва. Предмет дослідження являє собою програмно-апаратний
комплекс для автоматизованого контролю світлодіодної індикації, що працює в
парі з тестовою станцією та при запиті тестера буде зчитувати стан світлодіодів на
продукті, що тестується, обробляти результат та передавати інформацію про те чи
пройшов юніт перевірку чи ні. Особливість цього пристрою полягатиме в тому, що
він буде налаштований для роботи з конкретними тестерами та програмами.
Необхідність цього пристрою полягає в тому, щоб скоротити час тестування
продукції, а також зменшити кількість невідповідних результатів тестування. Бо
через втому, неуважність та інші фактори тест-оператор може недогледіти
невідповідність у поведінці світлодіодної індикації, що призведе до пропуску
потенційно дефективного продукту до замовника або повтору попередніх кроків
тестування, що забере більше часу для тестування одного юніта. Натомість
пристрій має безпомилково зчитувати стан світлодіода та надсилати результат
перевірки до тестера.
У кваліфікаційній роботі були поставлені такі цілі:
Розгляд готових рішень на ринку й їх аналіз й висунення необхідних
вимог до пристрою що розробляються
Арк.
РТ225.026342.001 ПЗ
4
Змн. Арк. № докум. Підпис Дата
Аналіз та обґрунтування вибору компонентів для комплексу
Вибір середовища для написання коду, огляд особливостей прошивки
обраного мікроконтролера й процес написання коду
Тестування виробу
Очікуваним результатом після впровадження комплексу є зменшення часу,
необхідного на тестування продукції, на одну годину та зменшення помилкових
результатів внаслідок людського фактора.
Арк.
РТ225.026342.001 ПЗ
5
Змн. Арк. № докум. Підпис Дата
1. РОЗГЛЯД НАЯВНИХ РІШЕНЬ ДЛЯ АВТОМАТИЗОВАНОГО
КОНТРОЛЮ СВІТЛОДІОДНОЇ ІНДИКАЦІЇ
Для розробки даної системи тестування потрібно оглянути ринок для пошуку
готових комерційних рішень, для порівняння та покращення виробу. Усі вони
мають сильні та слабкі сторони які підходять для тих чи інших ситуацій тому
необхідно зробити аналіз та вибрати та застосувати для себе ті сильні сторони які
проявляють себе найкраще в наших умовах. Цей розділ має мету проаналізувати
готові системи визначення їх технічні характеристики та різні особливості при
роботі в даних умовах. Ці результати дозволять нам сформувати перелік вимог для
розробки пристрою
1.1. Розгляд комерційних пристроїв
Feasa LED Analyser [2] - ця система використовується для тестування кількох
світлодіодів на колір та яскравість одночасно. Існують дві моделі Feasa-I та Feasa-
F що відрізняються підтримувальними інтерфейсами (Рисунок 1.1). Ці дві моделі
можна замовити в конфігурації 3, 5, 10 та 20 каналів. Feasa-F порівняно з Feasa-I
має велику перевагу в підтримці USB що дозволять досить зручно з комунікувати
систему з тестовою станцією, також це позбавляє нас використовувати зовнішнє
живлення. Також перевагою являється те що швидкість передачі даних таким
способом дорівнює 460800. Також дві моделі підтримають послідовний інтерфейс
rs-232 який є дуже простий у використані і хоч максимальна швидкість буде
дорівнювати 115200 та також потрібно використовувати зовнішнє живлення але це
дозволяє звільнити один USB порт на тестовій станції бо спосіб комунікації через
USB досить популярний, що буває дуже критично особливо для модульних станцій
тестування. З переваг також можна виділити зовнішній тригерний вхід який
Арк.
РТ225.026342.001 ПЗ
6
Змн. Арк. № докум. Підпис Дата
використовується для синхронізації вимірювання світлодіодів з зовнішньою
подією наприклад з подачею живлення на юніт
Рисунок 1.1 - Аналізатор світлодіодів Feasa-F та Feasa-I
FINNtrometer [3] - це модуль plug-and-play для тестування від 1 до 12
світлодіодів (Рисунок 1.2), Основна особливість в тому що можна підключати
декілька модулів послідовно для збільшення максимальної кількості світлодіодів
до 254 за допомогою одного USB кабелю. Модуль містить спеціальну збірку, що
включає багатокольорові датчики та мікропроцесор. Окремі оптичні кабелі, що
складаються з пресованого штекера, підключаються до пронумерованих портів на
модулі та металевого кожуха на протилежному кінці, який розміщується перед або
зверху світлодіода, що тестується. Коли до модуля надсилається команда для
певного пронумерованого кабелю, модуль вимірює колір та/або інтенсивність
запитуваного кабелю та надсилає вимірювання назад через вибраний інтерфейс.
Також варто відмітити шо оптоволоконні вироби мають діаметр 1,28 мм, що
дозволяє тестувати світлодіоди які знаходяться дуже близько один до одного. Ще
можна відмітити що в наборі присутні оптоволоконні кобелі з наконечником 90
градусів що досить спрощує процес монтування до тестуймого юніта а малий
розмір самої системи (5,5х11,5х3 см.) дозволяє легко змонтувати її на тестову
станцію. Налаштування відрізняється в залежності з яким інтерфейсом ми маємо
справу. В випадку налаштування через USB потрібно підключити кабель, система
Арк.
РТ225.026342.001 ПЗ
7
Змн. Арк. № докум. Підпис Дата
автоматично заживиться від USB кабелю тому зовнішнє живлення не потрібне.
Модуль має драйвер віртуального COM порту за допомогою якого USB-пристрій
буде відображатись як додатковий COM порт доступний для ПК що дає змогу
глобального налаштування. Якщо потрібно налаштувати послідовний інтерфейс
потрібно подати живлення (5V - 16V) та заземлення на відповідні піни та також
підключити передавальний (TX) та приймальний (RX) порт до ПК або
мікроконтролера. Після налаштування інтерфейсу потрібно підключити оптику.
Оптика - ч1ч’ має три варіанти оптоволоконного підключення: прямий кабель
довжиною 18 дюймів, кабель довжиною 18 дюймів під кутом 90 градусів та прямий
кабель довжиною 24 дюйми. Затиснутий кінець кабельного вузла вставляється в
маркований роз'єм збоку корпусу модуля. Металевий кожухований кінець
кабельного вузла розміщується перед або над світлодіодом, що тестується. Він
може утримуватися на місці отвором діаметром 0,050 дюйма, розташованим по
центру на лицьовій стороні світлодіода.
Рисунок 1.2 - Аналізатор світлодіодів FINNtrometer
Арк.
РТ225.026342.001 ПЗ
8
Змн. Арк. № докум. Підпис Дата
colorCONTROL MFA [4] - використовується для гнучкого контролю
кольору та тестування інтенсивності світлодіодів, дисплеїв та кольорових об'єктів
(Рисунок 1.3). Гнучке розташування датчиків відносно об'єктів, а також їх висока
повторюваність, швидкість вимірювання та динаміка є особливо сприятливими.
Один colorCONTROL MFA контролює до 28 трестованих об'єктів одночасно.
Існують 4 моделі MFA: MFA-7 MFA-14 MFA-21 MFA-28. Які відрізняються між
собою лише кількістю вимірювальних каналів 7 14 21 28 відповідно. Основна
різниця цієї системи з переглянутими вище системами буде що до звичних
інтерфейсів USB та rs-232 додається ще й rs-422 але всі інтерфейси реалізовані на
одному конвекторі 8-pin M12. З одного боку, це гарантує високий ступінь захисту
(IP65/67) та надійність контакту, з іншого - потребує використання спеціалізованих
кабелів-розгалужувачів, що може ускладнити швидку перекомутацію. Також
змінився спосіб кріплення датчиків на накручувальне кріплення що забезпечує
наднадійну фіксацію та унеможливлює випадкове від'єднання зонда через
вібрацію. Та також такий спосіб кріплення робить систему менш гнучкою
Рисунок 1.3 - Аналізатор світлодіодів colorCONTROL MFA-28
Арк.
РТ225.026342.001 ПЗ
9
Змн. Арк. № докум. Підпис Дата
Смарт-камери Cognex In-Sight (Серія 7000/8000) [5] (Рисунок 1.4) - Серія In-
Sight 7000 це повнофункціональна потужна система зору, яка виконує швидкі та
точні перевірки широкого спектру деталей у всіх галузях промисловості. Його
компактний розмір легко вписується у виробничі лінії з обмеженим простором, а
його унікальний модульний дизайн легко перелаштовується відповідно до вимог
вашого додатка. Поряд з внутрішніми та зовнішніми параметрами освітлення
живлення/контролю, серія In-Sight 7000 також має добре видиме кільце
світлодіодного індикатора проходження/відмови навколо корпусу камери, що
дозволяє легко бачити стан перевірки незалежно від того, де встановлена система.
Серія In-Sight 7000 доступна в монохромних і кольорових моделях з роздільною
здатністю від VGA до 5 Мп. Різні конфігурації інструментів доступні від базового
набору інструментів InSight 7500 до повнофункціональних моделей 7600, 7800 і
7900. Серія In-Sight 8000 це сімейство ультра компактних автономних систем зору
забезпечує провідну в галузі продуктивність інструментів зору у форм-факторі
традиційної камери GigE Vision. Розміри тільки 35 мм x 32 мм x 76 мм, всі моделі
серії In-Sight 8000 працюють на базі Ethernet (POE) і забезпечують найкраще
офлайн-бачення для інтеграції в невеликі простори. Як найменша в світі автономна
система зору, серія In-Sight 8000 пропонує широкий спектр монохромних і
кольорових систем зору з роздільною здатністю від 0, 3 мегапікселя до 5
мегапікселів. Підтримуючи гігабітний Ethernet для високошвидкісного зв'язку, ці
системи зору забезпечують дуже швидкий збір даних і два рівні продуктивності для
задоволення широкого спектру вимог машинного зору.
Арк.
РТ225.026342.001 ПЗ
10
Змн. Арк. № докум. Підпис Дата
Рисунок 1.4 - Смарт-камери Cognex In-Sight (Серія 7000/8000)
1.2 Аналіз розглянутих продуктів та виявлення їх переваг і недоліків
Для визначення вимог розробляймо програмно-апаратного комплексу
потрібно проаналізувати пристрої наведені вище та виділити основні переваги які
підійдуть для реалізації в тестовій станції. Основна мета яку має вирішити пристрій
це усунення людського фактору та пришвидшення тестування. Тому основні
характеристики це швидкість вимірювання та точність також потрібно визначити
спосіб комунікації приладу з тестовою станцією.
Для кращих результатів датчик має розбивати світло від продуктам на
чотири основні компоненти: червоний, синій, зелений та інтенсивність самого
світла. Розподіл на червоний, синій та зелений потрібен для того щоб розпізнати
яким кольором світить світлодіод натомість інтенсивність потрібна перевірки чи
компонент правильно встановлений та чи ніякий чужорідний матеріал йому не
заважає.
Арк.
РТ225.026342.001 ПЗ
11
Змн. Арк. № докум. Підпис Дата
Для комунікації з тестером можна розглянути два стандарти зв’язку : USB та
RS-232. Перевага USB в порівняні з класичним RS-232 полягає у його зручності та
швидкості передачі даних що дозволить під’єднати до пристрій до більшості
персональних комп’ютерів, а з USB2.0 дозволяє отримувати напругу 5V із струмом
до 0,5А що б мало вистачити для живлення розробляймо пристрою. Проте на
виробництві не всі тестера побудовані на основі ПК через це не у всіх тестерів
присутній роз’єм USB що забирає основну його основну перевагу універсальності.
Натомість RS-232 має вхід який підтримується всіма тестерами на виробництві.
Також одна з його основних переваг полягає в простоті реалізації та кошторис
самого RS-232 модуля. Що дозволить зекономити ресурси для прототипа та при
глобальному виробництві приладу.
Для точних результатів потрібно щоб датчик надійно кріпився до продукції
та мав можливість легко та швидко його змонтувати та демонтувати. Трубки які
демонструють більшість аналогів не підійдуть через їхній довгий процес монтажу
що навпаки тільки уповільнить процес тестування. Тому потрібно щоб в пристрої
який розробляється був присутній фіксатор для продукції з датчиком світла
всередині.
Якщо способом комунікації було обрано RS-232 то потрібно вирішити
проблему з живленням. Для цього якнайкраще підійде малий за розмірами DC-DC
перетворювач. Це рішення додасть до прилада додатковий дріт проте забезпечить
його можливістю працювати завжди онлайн. Також в розглянутих приладах
присутнє компонент накопичення струму такі як батарейки та акумулятори. З
одного боку це являється великим плюсом але для нашого випадку це рішення не
несе за собою нічого крім додаткових витрат. Все через те що пристрій працює в
парі з тестером від якого й буде отримувати електроенергію отже пристрій працює
тільки тоді коли запущений сам тестер що ідеально підходить пі наше завдання.
Арк.
РТ225.026342.001 ПЗ
12
Змн. Арк. № докум. Підпис Дата
В зразках наведені вище відсутній механізм обробки даних з датчиків що для
нашої цілі є неприйнятним. Тому потрібно додати мікроконтролер саме він буде
обробляти сигнал з датчика та обробляти сирий потік інформації та визначати чи
пройшов продукт процес тестування чи ні, та результат передасть далі до тестера.
Підсумовуючи вище сказане то основні вимоги приладу полягають в тому
щоб точно і чітко визначити стан світлодіода. Потім за допомогою написаної
програми проаналізувати отримані дані та прийняти рішення про те чи пройшов
продукт тест чи ні. Далі цей результат продукт має передати до тестеру за допомого
RS-232. Зважаючи на вище зазначені вимоги до пристрою була сформована
структурна схема приладу.
Рисунок 1.5 – Структурна схема приладу
Арк.
РТ225.026342.001 ПЗ
13
Змн. Арк. № докум. Підпис Дата
2. ВІДБІР КОМПОНЕНТІВ ДЛЯ ПРОГРАМНО-АПАРАТНОГО
КОМПЛЕКСУ ДЛЯ АВТОМАТИЗОВАНОГО КОНТРОЛЮ
СВІТЛОДІОДНОЇ ІНДИКАЦІЇ
Згідно з минулим розділом для реалізації приладу потрібно щоб він
виконував ряд вимог. Основна з них це точність сенсора який і буде оброблювати
стан світлодіода. Він має досить точно визначати яскравість щоб при різних
механічних пошкодженнях датчик зміг зрозуміти що світло від компонента занадто
тьмяне. Для цього необхідно щоб сенсор складався з дуже чутливих фотоелементів
які б утворювали матрицю та дозволяли ефективно диференціювати корисний
сигнал від зовнішнього світла. Оскільки пристрій буде являти собою частину
тестера то також необхідно щоб наш вибір не сильно впливав на габарити самого
тестере щоб не він не заважав процесу тестування тому також потрібно зважати й
на розмір самого сенсора. Продовжуючи тему про відділення корисного сигналу
від зовнішнього сигналу потрібно буде переконатись що в сенсора будуть присутні
фільтруючі ланцюги які допоможуть розбити корисний нам сигнал на різні аспекти
що допоможе далі обробити та прийняти рішення про стан компонента який
перевіряється.
Не менш важливу роль в цьому комплексі відіграє й сам мікроконтролер.
Який має спілкуватись з сенсором та робити аналіз його даних , які він оброть та й
передасть результат тестовій станції. Це значить що основними характеристиками
на які ми будемо опиратись при виборі являється швидкість та легкість в
запрограмовані. Швидкість мікроконтролера потрібна для якнайшвидшої обробки
даних та визначень результатів, а простота в процесі програмування потрібна в разі
зміни замовником компонента на платі ми могли легко та швидко адаптувати наш
пристрій до цих змін.
Арк.
РТ225.026342.001 ПЗ
14
Змн. Арк. № докум. Підпис Дата
Якщо ми підключим мікроконтролер напряму до мікроконтролера то це його
спалить. Хоча вони й використовують один й той самий логічний протокол
передачі інформації UART, але рівні їх напруг сильно різняться. Зазвичай
мікроконтролери використовують TTL у якому напруга знаходиться в межах від 0
до 3.3V або 5V. Натомість інтерфейс RS-232 використовує рівні напруги від -15V
до +15V. Крім того у TTL логіці логічна одиниця являє собою високий рівень
сигналу коли в RS-232 логічна одиниця це рівень напруги від -3 до -15V а логічний
нуль навпаки від 3 до 15V. Тому для нашого пристрою потрібно використати
проміжний етап для перетворення логіки TTL якою спілкуються мікроконтролер
до RS-232 яку вже сприймає тестер і навпаки.
І останній компонент який буде обрано в даному розділі це живлення.
Завдання компонента живлення забезпечити необхідною напругою всі елементи
пристрою. Цей етап буде проведено в самому кінці цього розділу для того щоб на
основі вже обраних компонентів приладу обрати відповідний компонент який
ідеально забезпечить відповідним живленням елементи пристрою. Також в
минулому розділі згадувалось про можливість використання додаткового джерела
живлення такі як акумуляторів. Але оскільки це рішення не несе за собою ніякої
користі для процесу тестування то дану пропозицію було відкинуто.
Також потрібно буде зважати й на розміри самого приладу. Через брак місця
на тестері пристрій що розробляється має займати мінімальне можливе місце на
тестері й не заважати виконувати тестування. І ще також необхідно зважати на
кошторис пристрою бо якщо він вийде занадто дорогим тоді виробництву не буде
сенсу монтувати його в тестера. Отже мета цього розділу якраз полягає в тому щоб
обрати відповідні компоненти для пристрою зважаючи на вищесказані вимоги для
них.
Арк.
РТ225.026342.001 ПЗ
15
Змн. Арк. № докум. Підпис Дата
2.1. Вибір мікроконтролера
В даному пункті будуть розглянуті доступні мікроконтролери їхні
характеристики та буде здійснено порівняння їх на предмет того який з них
найкраще задовольняє вимоги пристрою. На основі результатів буде обрано
компонент який буде використано для приладу. Він має мати достатній об’єм
оперативної пам'яті для буферизації даних та високу обчислювальну здатність для
уникнення затримок при аналізі сигналу. Має підтримувати інтерфейс I2C для
опитування високочутливої матриці фотоелементів, та інтерфейс UART для зв’язку
з тестером через RS-232. Оцінка проводиться серед мікроконтролерах з різними
архітектурами, представлені як у вигляді окремих чіпів так і у вигляді популярних
налагоджувальних плат.
Рисунок 2.1 - Розпіновка ATmega328P
ATmega328P [7] (Рисунок 2.1) - використовується в Arduino Nano та в Arduino
Uno. Являється дуже поширеним 8-бітним мікроконтролером з архітектурою AVR
Арк.
РТ225.026342.001 ПЗ
16
Змн. Арк. № докум. Підпис Дата
розроблений компанією Microchip. Використовується як обчислювальний центр
для малогабаритних плат швидкого прототипування. Цей мікроконтролер поєднує
в собі 32 КБ ISP флеш-пам'яті з можливістю зчитування під час запису (read-while-
write), 1024 Б EEPROM, 2 КБ SRAM, 23 лінії вводу-виводу загального призначення,
32 робочі регістри загального призначення, три гнучкі таймери/лічильники з
режимами порівняння, внутрішні та зовнішні переривання, послідовний
програмований USART, байт-орієнтований двохпровідних послідовний інтерфейс,
послідовний порт SPI, 6-канальний 10-бітний аналого-цифровий перетворювач (8
каналів у корпусах TQFP та QFN/MLF), програмований сторожовий таймер із
внутрішнім осцилятором та п'ять програмно вибираних режимів
енергозбереження, працює на частоті 16 МГц. Середня ціна на ринку за цей
мікроконтролер становить приблизно 2$ до того ж для запуску також необхідно
щоб у мікроконтролера була мінімальна обв’язка. Тобто живлення 5V для
стабільної роботи на виводи VCC та AVCC, паралельно до живлення обов'язано
має стояти керамічний конденсатор на 0.1 мкФ. Без нього чіп буде ловити
високочастотні завади з повітря та постійно зависати. Хоча в ATmega328P є
вбудований внутрішній генератор на 8 МГц але набагато надійніше буде
встановити кварцовий резонатор а 16 МГц між виводами XTAL1 та XTAL2. Кожну
ніжку кварцу потрібно додатково з'єднати з землею через два дрібні керамічні
конденсатори ємністю 22 пФ. Ще необхідною умовою для роботи з
мікроконтролером являється підтяжка RESET до логічної одиниці. Якщо його
залишити в невизначеному стані то мікроконтролер може перезавантажуватись в
будь який момент або взагалі не запуститись. Щоб цього уникнути потрібно
приєднати 5V через 10 КОм резистор до відповідного піна. Також для роботи потім
знадобиться вивести на плату інтерфейси I2C та UART. Також якщо в нас опинився
саме чистий чіп то потрібно завантажити туди спочатку bootloader за допомогою
інтерфейсу SPI. Для цього прийдеться використовувати відповідний програматор.
Арк.
РТ225.026342.001 ПЗ
17
Змн. Арк. № докум. Підпис Дата
Існують налагоджувальні плати на яких вже присутні необхідні компоненти
для запуску та виведені всі необхідні інтерфейси. Наприклад Arduino Nano та
Arduino Uno.
Рисунок 2.2 - Розпіновка ключових елементів Arduino Uno
Arduino Uno [8] (Рисунок 2.2) - є найпопулярнішою налагоджувальною
платою на базі мікроконтролера ATmega328P, виготовленого у великому DIP-
корпусі. Ця плата поєднує в собі всю необхідну мінімальну обв'язку для швидкого
старту без необхідності паяння і використовується як основний обчислювальний
центр для навчання та швидкого прототипування. На платі вже розпаяні керамічні
конденсатори на 0.1 мкФ для фільтрації високочастотних завад по живленню VCC
Арк.
РТ225.026342.001 ПЗ
18
Змн. Арк. № докум. Підпис Дата
та AVCC, зовнішній кварцовий резонатор на 16 МГц із двома конденсаторами по
22 пФ для стабільного тактування, а також резистор опором 10 кОм, який жорстко
підтягує вивід RESET до логічної одиниці, що повністю запобігає випадковим
перезавантаженням чіпа від статики.
Головна перевага Arduino Uno полягає в її механічній міцності. Плата
оснащена зручними гніздовими роз'ємами, які дозволяють безпечно та швидко
підключати периферію за допомогою звичайних дротів-перемичок. На ці роз'єми
виведено всі необхідні інтерфейси мікроконтролера: послідовний порт UART (піни
RX0/TX1), шину I2C (виділені піни SDA та SCL), а також порт SPI. Важливою
перевагою є наявність окремого силового роз'єму DC Jack, який через вбудований
лінійний стабілізатор напруги дозволяє безпечно живити плату від зовнішніх
джерел з напругою 7-12V.
Особливістю версії з чіпом у DIP-корпусі є його ремонтопридатність. Якщо
в процесі виробництва випадково закоротить контакти це спалить мікроконтролер,
то його можна легко випаяти з панелі та замінити на новий чистий чіп. Після цього
достатньо підключити зовнішній програматор до виведеного на платі SPI-
інтерфейсу та завантажити туди bootloader. Крім того, Uno підтримує величезну
екосистему плат розширення, які встановлюються зверху, повністю повторюючи
конфігурацію ліній вводу-виводу. Для зв'язку з ПК використовується вбудований
USB-to-UART перетворювач ATmega16U2 або CH340, який автоматично керує
лінією RESET через конденсатор для автоскидання під час прошивки з Arduino
IDE. Що дозволить легко запрограмувати плату. Середня ринкова ціна
налагоджувальної плати становить приблизно 5.50$
Арк.
РТ225.026342.001 ПЗ
19
Змн. Арк. № докум. Підпис Дата
Рисунок 2.3 - Налагоджувальна плата Arduino Nano
Arduino Nano [9] - це компактна налагоджувальна плата, яка функціонально
є повним аналогом моделі Uno, але оптимізована для мінімізації габаритів
пристрою (Рисунок 2.3). Вона побудована на базі мікроконтролера ATmega328P у
корпусі TQFP. Завдяки щільному монтажу компонентів, плата має крихітні
розміри, що дає їй значну перевагу так як для нашого проекту розмір приладу
займає не останнє місце. Ця характеристика вже виділяє її на фані Arduino Uno.
Також найважливіша конструктивна перевага Arduino Nano полягає в її
архітектурі виводів. Плата постачається зі штировими роз'ємами, які направлені
вниз. Це дозволяє встановлювати її безпосередньо в без паяльну макетну плату.
При цьому вона надійно фіксується і забезпечує зручний доступ до кожної лінії
Арк.
РТ225.026342.001 ПЗ
20
Змн. Арк. № докум. Підпис Дата
вводу-виводу, суттєво зменшуючи кількість дротів під час моделювання схеми. Що
також дасть змогу зменшити розмір кінцевого виробу.
Як і на платі Uno в Arduino Nano реалізована вся необхідна розв’язка та
виводи для необхідних інтерфейсів. Для первинної заливки bootloader у чистий чіп
на платі розведені піни SPI. Низька ринкова вартість у поєднанні з повною
функціональністю Uno дозволяє залишати Nano всередині готових проектів
назавжди. Середня ринкова ціна налагоджувальної плати становить приблизно 3.5$
Рисунок 2.4 - Розпіновка ESP32-WROOM-32 на налагоджувальній платі
NodeMCU-32S
ESP32-WROOM-32 [10] - це високопродуктивна 32-бітна система на чіпі SoC
від компанії Espressif Systems, виконана у вигляді готового бездротового модуля з
інтегрованою PCB-антеною (Рисунок 2.4). На відміну від 8-бітних
Арк.
РТ225.026342.001 ПЗ
21
Змн. Арк. № докум. Підпис Дата
мікроконтролерів AVR, ця платформа орієнтована на концепцію Інтернету речей
та складні обчислювальні завдання. Налагоджувальна плата NodeMCU-32S
об'єднує модуль ESP32, всю необхідну мінімальну обв'язку для стабільного запуск
чіпа та USB-інтерфейс для програмування, що робить її повноцінним
обчислювальним центром для швидкого прототипування.
Модуль базується на двоядерному процесорі Xtensa Dual-Core 32-bit LX6,
який працює на тактовій частоті до 240 МГц. Обчислювальна підсистема поєднує
в собі 4 МБ зовнішньої Flash-пам'яті для зберігання прошивки та файлових систем,
520 КБ вбудованої SRAM для оперативних даних, а також додаткову ROM для
завантажувача. Головною перевагою плати є інтегровані апаратні радіочастотні
модулі Wi-Fi та Bluetooth, що дозволяє створювати бездротові мережеві пристрої
без підключення будь-яких зовнішніх трансиверів чи модулів зв'язку.
Для стабільної роботи самого чіпа ESP32 потрібна напруга живлення 3.3V із
піковим струмом до 500 мА під час активної роботи радіомодулів. На платі
NodeMCU-32S для цього розпаяний потужний лінійний стабілізатор напруги, який
знижує вхідні 5V від роз'єму Micro-USB або лінії зовнішнього живлення. Для
фільтрації високочастотних імпульсних завад по лініях живлення на платі
обов'язково встановлені керамічні та електролітичні конденсатори. Мінімальна
обв'язка чіпа також включає підтяжку виводу EN (CHIP_PU / Reset) до логічної
одиниці через резистор 10 кОм та фільтруючий конденсатор на 0.1 мкФ для
забезпечення коректного автоматичного перезапуску при подачі живлення. Вивід
GPIO0 підтягнутий до лінії живлення для забезпечення стандартного завантаження
програми із Flash-пам'яті.
Плата NodeMCU-32S як і Arduino Nano виконана з зі штировими роз'ємами.
На плату виведено багату периферію: 38 пінів загального призначення, які
підтримують роботу з апаратними інтерфейсами 2×I2C, 3×UART та 3×SPI. Крім
того, архітектура мікроконтролера включає в себе 12-бітний аналого-цифровий
Арк.
РТ225.026342.001 ПЗ
22
Змн. Арк. № докум. Підпис Дата
перетворювач на 18 каналів, два 8-бітні цифро-аналогові перетворювачі, ємнісні
сенсори дотику, вбудований датчик Холла та ШІМ генератори. Для зв'язку з
комп'ютером та автоматичного переведення контролера в режим прошивки на
платі розпаяний чіп USB-to-UART та автоматична транзисторна схема скидання,
керована лініями DTR і RTS, що позбавляє від необхідності вручну затискати
кнопки EN та BOOT під час завантаження коду через Arduino IDE або ESP-IDF.
Середня ринкова ціна налагоджувальної плати становить приблизно 4.5$.
Рисунок 2.5 - Розпіновка STM32F103 на налагоджувальній платі
Арк.
РТ225.026342.001 ПЗ
23
Змн. Арк. № докум. Підпис Дата
STM32F103 [6] - це високопродуктивний 32-бітний мікроконтролер
загального призначення на базі ядра ARM Cortex-M3 від компанії
STMicroelectronics, розгорнутий на популярній мініатюрній налагоджувальній
платі Blue Pill (Рисунок 2.5). Цей мікроконтролер є значним технологічним кроком
уперед у порівнянні з 8-бітними архітектурами AVR завдяки високій
обчислювальній потужності, розширеній периферії та низькій вартості.
Налагоджувальна плата об'єднує в собі чіп у LQFP48 корпусі та всю мінімальну
обв'язку, необхідну для стабільного запуску процесорного ядра на максимальній
тактовій частоті 72 МГц за рахунок внутрішнього помножувача частоти.
Для живлення ядра та цифрових ліній мікроконтролера потрібна стабільна
напруга 3.3V. На платі Blue Pill для цього встановлено лінійний регулятор напруги,
який знижує вхідні 5V від порту USB або зовнішнього джерела. Обв'язка чіпа
включає обов'язкове встановлення блокувальних керамічних конденсаторів
ємністю 0.1 мкФ безпосередньо біля кожної пари виводів живлення VDD/VSS та
аналогових VDDA/VSSA, що повністю захищає систему від імпульсних
високочастотних завад. Основним джерелом тактування є зовнішній кварцовий
резонатор на 8 МГц, частота якого внутрішньо розганяється до номінальних 72
МГц. Також на платі розпаяний додатковий низькочастотний годинниковий кварц
на 32.768 кГц, необхідний для функціонування вбудованого модуля годинника
реального часу. На відміну від платформ AVR, архітектура STM32 вимагає чіткого
визначення режиму завантаження за допомогою ліній BOOT0 та BOOT1.
Для їхньої апаратної конфігурації на платі Blue Pill виведено два блоки
механічних перемичок (джамперів) із підтягуючими резисторами на 100 кОм до
землі. У стандартному робочому режимі обидва виводи заземлені, що змушує ядро
стартувати із вбудованої Flash-пам'яті об'ємом 64 або 128 КБ. Якщо ж лінію BOOT0
підтягнути до логічної одиниці, контролер після перезапуску активує заводський
bootloader, зашитий в системну пам'ять ROM, що дозволяє прошивати чистий чіп
через апаратний інтерфейс USART1 за допомогою звичайного USB-to-TTL
Арк.
РТ225.026342.001 ПЗ
24
Змн. Арк. № докум. Підпис Дата
адаптера. Вивід апаратного скидання NRST за замовчуванням підтягнутий до шини
живлення 3.3V через резистор 10 кОм та конденсатор 0.1 мкФ для забезпечення
надійного автоматичного старту.
Плата виконана у вузькому форм-факторі зі штировими роз'ємами для
зручного встановлення на без паяльні макетні плати. Периферія Blue Pill є
надзвичайно багатою: апаратний USB 2.0 Full Speed, 2×I2C, 3×USART, 2×SPI, а
також два надшвидкісні 12-бітні аналого-цифрові перетворювачі з підтримкою до
10 каналів. Більшість ліній вводу-виводу є толерантними до напруги 5V, що
спрощує комутацію із зовнішніми датчиками. Замість інтерфейсу SPI, для
високошвидкісного відлагодження в реальному часі та прошивки
використовується інтерфейс SWD, виведений на окремий торцевий роз'єм плати.
Середня ринкова ціна налагоджувальної плати Blue Pill становить приблизно 3.0$.
Розглянувши всі мінуси та плюси вище зазначених мікроконтролерів було
вирішено обрати STM32F103. Хоча NodeMCU-32S дає набагато більші можливості
ніж обраний мікроконтролер проте ці можливості не перекривають її високу ціну
що є набагато критичнішим для комплексу ніж ті можливості які натомість
пропонує NodeMCU-32S. А Arduino Nano яка має приблизно туж ціну як і
STM32F103 та через велику популярність в суспільстві буде легше запрограмувати
через велику кількість інформації в інтернеті. Проте Arduino Nano сильно
поступається в характеристиках STM32F103. Отже STM32F103 являється золотою
серединою між даними мікроконтролерів. Та ідеально піддійте для комплексу.
2.2. Вибір датчика світла
В даному пункті буде здійснено порівняння та розгляд характеристик датчика
світла для зчитування стану світлодіода. Він має мати високу точність та швидкість
та можливість визначити яскравість з найменшим похибками.
Арк.
РТ225.026342.001 ПЗ
25
Змн. Арк. № докум. Підпис Дата
Рисунок 2.6 - Сенсор світлодіодної індикації APDS-9960
APDS-9960 [11] є багатофункціональною цифровою системою на чіпі SoC від
компанії Broadcom, яка конструктивно виконується у компактному
восьмививідному пластиковому корпусі типу LCC-8 з габаритними розмірами 3.94
на 2.36 на 1.35 мм (Рисунок 2.6). Цей сенсор інтегрує в собі канали визначення
наближення, жестів, а також чотириканальний датчик зовнішнього освітлення та
колірного спектра RGBC. Для забезпечення роботи вбудованих функцій локації в
Арк.
РТ225.026342.001 ПЗ
26
Змн. Арк. № докум. Підпис Дата
структуру мікросхеми інтегровано драйвер та сам інфрачервоний світлодіод із
довжиною хвилі випромінювання 950 нм, здатний генерувати імпульсний струм
амплітудою до 100 мА. Електричне живлення пристрою здійснюється від лінії
постійного струму з напругою від 2.4 В до 3.6 В при номінальному значенні 3.0 В.
При цьому датчик демонструє високу енергоефективність, споживаючи всього 200
мкА в активному режимі вимірювання колірних каналів і знижуючи споживання
до 1 мкА у глибокому режимі сну.
Метод обробки світлових сигналів у APDS-9960 базується на використанні
складної матриці кремнієвих фотодіодів, розділених на блоки для просторового
аналізу та центральну групу для вимірювання спектральних складових Red, Green,
Blue та Clear (канал загальної інтенсивності без фільтрації). Фізичний процес
обробки починається з уловлювання фотонів, які проходять крізь спеціалізовані
внутрішні шари оптичних фільтрів. Особливістю архітектури є те, що ці фільтри
оптимізовані для одночасного пропускання видимого спектра та відсікання
частини фонового теплового випромінювання. Згенерований аналоговий
фотострум з кожної оптичної зони передається на каскад операційних підсилювачів
із програмованим коефіцієнтом підсилення (PGA), що дозволяє апаратно
адаптувати чутливість сенсора до умов вимірювання.
Головним етапом цифрової обробки є інтегрування накопиченого заряду.
Аналоговий струм з виходу підсилювачів заряджає інтегруючі конденсатори
протягом суворо визначеного часу інтеграції, який задається програмно через
внутрішні регістри керування. Отримана напруга надходить на чотири паралельні
високоточні 16-бітні аналого-цифрові перетворювачі архітектури Сигма-Дельта.
Важливою частиною внутрішньої обробки є наявність апаратного блоку
компенсації перехресних завад, який автоматично віднімає фоновий шум та відбите
від захисного скла інфрачервоне випромінювання власного світлодіода з корисного
сигналу колірних каналів. Сформовані цифрові 16-бітні значення фіксуються у
внутрішній буферній пам'яті та передаються на керуючий мікроконтролер по шині
Арк.
РТ225.026342.001 ПЗ
27
Змн. Арк. № докум. Підпис Дата
I2C на стандартній частоті до 400 кГц за фіксованою апаратною адресою 0x39. Для
оптимізації роботи обчислювального центру системи датчик оснащений виводом
апаратного переривання INT, який спрацьовує при виході значень освітленості за
встановлені користувачем цифрові межі. Ціна датчика 3.20$
Рисунок 2.7 - Сенсор світлодіодної індикації TCS3200
Мікросхема TCS3200 [12] виробництва компанії ams OSRAM представляє
альтернативний клас оптичних сенсорів, що реалізують безпосереднє аналого-
частотне перетворення без використання класичних АЦП чи послідовних шин
даних. Пристрій виготовляється у стандартному пластиковому корпусі SOIC-8 для
поверхневого монтажу (Рисунок 2.7) та підтримує широкий діапазон напруги
живлення від 2.7 В до 5.5 В, що робить його повністю сумісним як з 3.3 В, так і з 5
В логічними рівнями мікроконтролерів. В активному стані сенсор споживає струм
на рівні 2 мА, що є вищим показником у порівнянні з повністю цифровими
Арк.
РТ225.026342.001 ПЗ
28
Змн. Арк. № докум. Підпис Дата
системами, проте забезпечує високу завадостійкість вихідного сигналу при
передачі по довгих з'єднувальних лініях.
Метод обробки сигналів у TCS3200 повністю побудований на концепції
перетворення аналогового струму у частоту прямокутних імпульсів. Оптична
матриця сенсора складається з 64 паралельно з'єднаних кремнієвих фотодіодів,
організованих у структуру розміром 8 на 8 елементів. Фотодіоди рівномірно
розподілені по площі кристала шаховим методом і розбиті на чотири функціональні
групи по 16 штук у кожній. Перші три групи оснащені тонованими оптичними
фільтрами червоного, зеленого та синього кольорів відповідно, а остання група
залишається чистою для реєстрації повного спектрального потоку. Керування
вибором активного колірного каналу здійснюється подачею логічних рівнів на
зовнішні мультиплексорні виводи S2 та S3. Дана архітектура не дозволяє знімати
покази одночасно, тому мікроконтролер повинен опитувати канали послідовно.
Коли світло падає на матрицю, активована група фотодіодів генерує струм,
величина якого строго лінійно залежить від інтенсивності оптичного
випромінювання у вибраному спектральному діапазоні. Цей фотострум подається
на внутрішній генератор, який перетворює амплітуду аналогового сигналу на
послідовність прямокутних імпульсів (меандр) з коефіцієнтом заповнення рівно
50%. Далі сигнал проходить через програмований подільник частоти, який
контролюється виводами S0 та S1. Користувач може масштабувати вихідну частоту
до рівнів 100%, 20% або 2% від номіналу, де максимальна вихідна частота при
повному масштабі може досягати значень від 500 кГц до 600 кГц. Вихідний сигнал
з піна OUT видається у вигляді чистої TTL-логіки. Похибка лінійності такого
перетворення становить всього 0.2% при низьких частотах, а температурний
коефіцієнт стабільності дорівнює 0.1% на градус Цельсія. Кінцева цифрова
фільтрація та інтеграція сигналу покладаються на зовнішній мікроконтролер, який
повинен використовувати свої апаратні таймери в режимі захоплення входу (Input
Арк.
РТ225.026342.001 ПЗ
29
Змн. Арк. № докум. Підпис Дата
Capture) для підрахунку імпульсів за фіксований проміжок часу, що вимагає
виділення додаткових обчислювальних ресурсів процесора. Ціна датчика 3.80$
Рисунок 2.8 - Сенсор світлодіодної індикації TCS34725
TCS34725 [13] поєднує в собі максимальну точність колориметричних
вимірювань, цифровий інтерфейс обробки та унікальну архітектуру оптичної
фільтрації. Датчик випускається у надмалому безвивідному корпусі типу FN-6 або
DFN з лінійними розмірами всього 2 на 2.4 мм (Рисунок 2.8). Електричні параметри
пристрою оптимізовані для сучасних мікропроцесорних систем: напруга живлення
становить від 2.7 В до 3.6 В, струм споживання в активному режимі вимірювання
дорівнює 235 мкА, а в режимі низькоенергетичного сну падає до 2.5 мкА. Взаємодія
Арк.
РТ225.026342.001 ПЗ
30
Змн. Арк. № докум. Підпис Дата
з мікроконтролером реалізована по стандартній шині I2C зі швидкістю до 400 кГц
за фіксованою адресою 0x29.
Головна перевага та ключовий метод обробки світлових сигналів у TCS34725
полягає в архітектурі його оптичного вузла. Матриця сенсора містить 12
фотодіодів, розташованих у вигляді сітки 3 на 4, які розділені на канали червоного
(Red), зеленого (Green), синього (Blue) та чистого (Clear) світла. Основним
технологічним проривом є те, що безпосередньо на поверхню кремнієвого кристала
методом напилення нанесено інтегрований інфрачервоний (ІЧ) блокуючий фільтр.
Цей фільтр повністю відсікає ІЧ-складову спектрального потоку (починаючи
приблизно з довжини хвилі 650–700 нм), яка завжди присутня в навколишньому
середовищі від сонячного світла чи ламп розжарювання і сильно спотворює колірні
показники звичайних кремнієвих напівпровідників. Завдяки цьому спектральна
характеристика датчика стає максимально наближеною до кривої сприйняття
людського ока.
Аналоговий фотострум, генерований колірними матрицями після ІЧ-
фільтрації, надходить на чотири виділені інтегруючі підсилювачі. Процес обробки
координується внутрішньою логікою через налаштування часових вікон інтеграції
в межах від 2.4 мс до 700 мс та програмованого аналогового підсилення з
коефіцієнтами 1х, 4х, 16х та 60). Оцифрування аналогового сигналу виконується за
допомогою чотирьох незалежних 16-бітних АЦП архітектури Сигма-Дельта.
Комбінація широкого діапазону часу інтеграції та підсилення забезпечує датчику
колосальний динамічний діапазон, який досягає співвідношення 3 800 000 до 1, що
дозволяє однаково точно вимірювати параметри світлодіодних індикаторів як у
повній темряві, так і під дією прямих сонячних променів без насичення кристала.
Цифрові коди накопичуються в регістрах даних і зчитуються мікроконтролером у
вигляді чистих 16-бітних слів. Датчик також підтримує функцію гнучкого
налаштування апаратних переривань по каналу Clear із заданням цифрового
Арк.
РТ225.026342.001 ПЗ
31
Змн. Арк. № докум. Підпис Дата
індексу персистентності, що повністю звільняє процесор від необхідності
постійного опитування периферії по шині I2C. Ціна датчика 2,50$
Рисунок 2.9 - Сенсор світлодіодної індикації ISL29125
ISL29125 [14] від компанії Renesas (Intersil) є спеціалізованим цифровим
триканальним датчиком світла та кольору, який конструктивно реалізовано у
надкомпактному шестививідному оптичному SMD-корпусі типу ODFN з
габаритними розмірами 2.0 на 2.1 на 0.7 мм (Рисунок 2.9). Цей пристрій
спроектований для прецизійного вимірювання інтенсивності спектральних
складових Red, Green та Blue в умовах обмеженого простору. Електричні
Арк.
РТ225.026342.001 ПЗ
32
Змн. Арк. № докум. Підпис Дата
параметри мікросхеми оптимізовані для сучасних мобільних та мікропроцесорних
платформ: номінальна напруга живлення лінії VDD становить від 2.25 В до 3.63 В,
а вбудована логіка повністю сумісна з рівнями напруги шини 3.3 В. Датчик
відрізняється екстремально низьким енергоспоживанням, вимагаючи всього 56
мкА струму в активному режимі вимірювання та знижуючи цей показник до 0.5
мкА у режимі глибокого сну (Power-Down). Взаємодія з обчислювальним ядром
комплексу здійснюється по стандартній шині I2C на частоті до 400 кГц за
фіксованою апаратною адресою 0x44. Середня ринкова ціна цього сенсора
становить приблизно 2.10$.
Метод обробки оптичних сигналів в ISL29125 базується на квадратурній
матриці кремнієвих фотодіодів, поверх яких безпосередньо на напівпровідниковий
кристал нанесено тоновані світлофільтри для виділення трьох первинних зон
видимого спектра. Фізичний аналог сигналу починається з генерації фотоструму,
пропорційного щільності світлового потоку відповідного кольору. На відміну від
класичних АЦП послідовного наближення, в архітектурі ISL29125 інтегровано три
паралельні високоточні 16-бітні АЦП архітектури балансування заряду (Charge-
Balancing ADC). Цей метод обробки дозволяє виконувати безперервне
інтегрування вхідного фотоструму, що забезпечує чудове відсікання
низькочастотних мережевих завад та пульсацій штучного освітлення (частотою 50
Гц або 60 Гц) від люмінесцентних ламп чи блоків живлення.
Внутрішня цифрова логіка дозволяє розробнику гнучко конфігурувати
динамічний діапазон вимірювань (Lux range) через внутрішні регістри, вибираючи
між низькою та високою чутливістю залежно від яскравості трестованих
світлодіодів. Особливістю методу обробки в даній мікросхемі є наявність
вбудованого алгоритму електронної компенсації інфрачервоного (ІЧ)
випромінювання. Оскільки кремнієві фотодіоди мають природний високий пік
чутливості в ІЧ-діапазоні, чіп математично віднімає фонову теплову складову з
корисного коду каналів RGB. Проте, така фільтрація здійснюється на рівні обробки
Арк.
РТ225.026342.001 ПЗ
33
Змн. Арк. № докум. Підпис Дата
цифрових матриць, а не фізичного оптичного відсікання, що може призводити до
накопичення похибок при різких температурних коливаннях або роботі поруч із
потужними інфрачервоними джерелами на виробництві.
Рисунок 2.10 - Сенсор світлодіодної індикації AS7262
AS7262 [15] від компанії ams OSRAM представляє собою
високотехнологічний клас оптичних компонентів - цифровий шестиканальний
спектрометр видимого діапазону видимого спектра), виконаний у 20-піновому
корпусі типу LGA з лінійними розмірами 4.5 на 4.7 на 1.4 мм (Рисунок 2.10). Цей
сенсор кардинально відрізняється від стандартних RGB-датчиків, оскільки
розбиває світловий потік на значно вужчі спектральні зони. Електричне живлення
Арк.
РТ225.026342.001 ПЗ
34
Змн. Арк. № докум. Підпис Дата
мікросхеми здійснюється напругою від 2.7 В до 3.6 В. Через складну внутрішню
цифрову архітектуру та наявність інтегрованого периферійного драйвера для
підключення зовнішніх калібрувальних світлодіодів, струм споживання в
активному режимі є вищим і становить близько 5 мА. Для комунікації з
мікроконтролером розробнику доступна не лише шина I2C, а й апаратний
інтерфейс UART, який підтримує керування за допомогою текстових AT-команд.
Середня ринкова ціна такої спектральної системи є вищою та становить приблизно
6.50$.
Метод обробки світлових сигналів у AS7262 базується на використанні
унікальної технології інтерференційних нанооптичних фільтрів (Nano-optical
interference filters), які вирощені безпосередньо на поверхні кремнієвої матриці.
Замість трьох широких зон, матриця AS7262 розділена на 6 незалежних оптичних
каналів з фіксованими центральними довжинами хвиль: 450 нм , 500 нм , 550 нм ,
570 нм , 600 нм та 650 нм. При цьому напівширина спектра пропускання для
кожного каналу становить всього 40 нм, що забезпечує квазі-спектрометричну
точність аналізу випромінювання світлодіода.
Аналоговий сигнал з кожної з шести оптичних зон надходить на
індивідуальні каскади підсилення, після чого оцифровується інтегрованим
багатоканальним 16-бітним Сигма-Дельта АЦП. Ключовою особливістю обробки
в AS7262 є наявність вбудованого цифрового сигнального процесора. Цей
процесор автоматично зчитує фабричні калібрувальні коефіцієнти, збережені в
енергонезалежній пам'яті чіпа, виконує компенсацію температурного дрейфу в
реальному часі та проводить нормалізацію даних. В результаті в регістри виходу
записуються не просто абстрактні відліки АЦП, а готові виміряні значення
абсолютної спектральної густини енергії випромінювання.
Арк.
РТ225.026342.001 ПЗ
35
Змн. Арк. № докум. Підпис Дата
Крім того, наявність електронного затвора дозволяє точно синхронізувати
час інтеграції з імпульсним режимом роботи досліджуваних світлодіодних
індикаторів.
При розгляді вищезазначених датчиків було обрано TCS34725. Він ідеально
підходить для проекту за рахунок своєї ціни та іч фільтрів що дозволить відсіяти
небажанні завади які в великій кількості присутні на виробництві. І через підтримку
I2C від зможе без проблем комунікувати з вже обраним STM32F103. Та на відміну
від аналого-частотного сенсора TCS3200, який функціонує на принципі прямого
перетворення фотоструму в послідовність імпульсів і створює значне
обчислювальне навантаження на ядро мікроконтролера через необхідність
безперервного використання апаратних таймерів у режимі захоплення входу,
TCS34725 видає готові оцифровані 16-бітні значення. Це кардинально знижує
вимоги до таймінгів опитування периферії та звільняє ресурси процесора. У
порівнянні з багатофункціональною системою APDS-9960, обраний датчик не
містить надлишкових каналів локації жестів та вбудованого інфрачервоного
світлодіода, що виключає появу внутрішніх перехресних завад і дозволяє повністю
зосередити весь динамічний діапазон матриці на аналізі видимого спектра.
Таким чином, інтегрований ІЧ-фільтр, висока розрядність вбудованого
Сигма-Дельта АЦП та зручний інтерфейс взаємодії I2C забезпечують максимальну
точність визначення колірних характеристик та яскравості досліджуваного
світлодіода при найнижчій ринковій вартості компонента.
2.3. Вибір DC-DC перетворювача
Для забезпечення стабільної та високоефективної роботи апаратно-
програмного комплексу з LED-індикацією та цифровими сенсорами виникає
необхідність проектування надійної підсистеми живлення. Оскільки первинна
Арк.
РТ225.026342.001 ПЗ
36
Змн. Арк. № докум. Підпис Дата
напруга живлення вхідної лінії в тестовій станції становить 5 В і 12 В, а
обчислювальний центр системи STM32F103 та оптичний датчик TCS34725
вимагають стабілізованої напруги 3.3 В із низьким рівнем пульсацій, у проекті
необхідно застосувати понижуючий імпульсний перетворювач напруги.
Використання застарілих лінійних стабілізаторів є недоцільним через їхній
низький коефіцієнт корисної дії та високе виділення тепла.
Рисунок 2.11 - Понижаючий DC-DC конвертор на базі мікросхеми LM2596
Модуль на основі мікросхеми LM2596 [16] є класичним і дуже поширеним
рішенням у радіоінженерії, яке виготовляється на базі монолітного
напівпровідникового кристала в корпусі TO-263 та розміщується на платі з
габаритами 43 на 21 на 14 мм (Рисунок 2.11). Цей пристрій розрахований на
широкий діапазон вхідної напруги від 4.5 В до 40 В і здатний забезпечувати
регульовану вихідну напругу від 1.23 В до 35 В. Максимальний вихідний струм
Арк.
РТ225.026342.001 ПЗ
37
Змн. Арк. № докум. Підпис Дата
модуля становить 3 А, проте при тривалій роботі на струмах вище 2 А мікросхема
вимагає встановлення додаткового алюмінієвого радіатора для відведення тепла.
Середня ринкова вартість такого готового модуля становить приблизно 1.20$.
Метод обробки та регулювання енергетичного сигналу в LM2596 базується
на класичній несинхронній топології Buck-перетворювача з фіксованою
внутрішньою частотою перемикання силового транзистора, яка становить 150 кГц.
Керування вихідною напругою здійснюється за допомогою методу широко-
імпульсної модуляції. Внутрішній силовий біполярний транзистор з високим
падінням напруги замикає та розмикає вхідний ланцюг, передаючи енергію на
накопичувальний дросель та фільтруючі електролітичні конденсатори. Оскільки
топологія є несинхронною, для замикання струму під час закритого стану
транзистора на платі обов'язково встановлюється зовнішній потужний діод Шотткі.
Низька частота перемикання 150 кГц змушує виробників використовувати
габаритні дроселі та фільтри великої ємності, що суттєво збільшує фізичні розміри
всього модуля. Крім того, через значні динамічні втрати на діоді Шотткі та
біполярному ключі, реальний ККД пристрою при зниженні напруги з 12 В до 3.3 В
рідко перевищує 75–80%, що призводить до значного розсіювання енергії у вигляді
тепла та є критичним недоліком для малогабаритних закритих корпусів.
Арк.
РТ225.026342.001 ПЗ
38
Змн. Арк. № докум. Підпис Дата
Рисунок 2.12 - Понижаючий DC-DC конвертор на базі мікросхеми LM2596
Модуль MP1584EN [17] від компанії Monolithic Power Systems є сучаснішим
та значно компактнішим аналогом попереднього датчика живлення. Плата має
фізичні розміри 22 на 17 на 4 мм і побудована на базі високовольтного ШІМ-
контролера в корпусі SOIC-8 (Рисунок 2.12). Пристрій підтримує вхідну напругу в
діапазоні від 4.5 В до 28 В та дозволяє налаштовувати вихідні параметри в межах
від 0.8 В до 20 В. Максимальна навантажувальна здатність модуля по струму
заявлена на рівні 3 А, але в реальних тривалих режимах роботи без примусового
охолодження вона обмежена значенням 1.5–1.8 А. Ціна такого регулятора на ринку
становить близько 0.85$.
Метод обробки та перетворення енергії в MP1584EN оптимізований завдяки
переходу на високу частоту тактування. Внутрішній генератор мікросхеми працює
на частотах до 1.5 МГц, що дозволяє кардинально зменшити індуктивність та
фізичні габарити силового дроселя, а також використовувати керамічні SMD-
конденсатори замість великих електролітичних бочок. Стабілізація вихідної
напруги реалізована за допомогою схеми керування за піковим струмом (Current
Арк.
РТ225.026342.001 ПЗ
39
Змн. Арк. № докум. Підпис Дата
Mode Control), яка забезпечує швидкий динамічний відгук при різких змінах
навантаження наприклад, при увімкненні LED-індикації. Проте, цей модуль також
виконаний за несинхронною топологією з використанням зовнішнього діода
Шотткі для зворотного струму дроселя. Хоча висока частота перемикання
мінімізує пульсації вихідної напруги, вона одночасно збільшує комутаційні втрати
в напівпровідникових переходах. При великій різниці між вхідною та вихідною
напругою ККД становить близько 85%, а сам модуль потребує точного
налаштування дрібного підстроювального резистора, який чутливий до механічних
вібрацій на виробництві.
Рисунок 2.13 - Понижаючий DC-DC конвертор на базі мікросхеми Mini360
Модуль Mini360 [18] це один із найменших імпульсних понижуючих
регуляторів у світі, виконаний на базі високоефективного чіпа MP2307DN у
корпусі SOIC-8, а загальні габарити всієї друкованої плати становлять всього 17 на
Арк.
РТ225.026342.001 ПЗ
40
Змн. Арк. № докум. Підпис Дата
11 на 3.8 мм (Рисунок 2.13). Електричні характеристики пристрою ідеально
узгоджені з мікропроцесорною технікою: робочий діапазон вхідної напруги
становить від 4.75 В до 23 В, вихідна напруга гнучко регулюється мініатюрним
потенціометром у межах від 1.0 В до 17 В. Номінальний тривалий струм
навантаження становить 1.8 А, що повністю перекриває потреби в
енергоспоживанні мікроконтролера STM32 та сенсора кольору. Ціна модуля є
мінімальною і становить приблизно 0.50$.
Головна перевага та ключовий метод обробки сигналів живлення в Mini360
полягає в реалізації топології синхронного випрямлення (Synchronous
Rectification). На відміну від LM2596 та MP1584EN, де для замикання ланцюга
дроселя використовується діод Шотткі з постійним падінням напруги, в
архітектуру MP2307DN інтегровано відразу два силові польові транзистори з
наднизьким опором відкритого каналу, який становить всього 130 мОм для
верхнього ключа та 130 мОм для нижнього синхронного ключа. Внутрішня логіка
ШІМ-контролера працює на фіксованій частоті перемикання 340 кГц та почередно
відкриває ці транзистори з мікросекундними затримками для виключення
наскрізних струмів.
Завдяки заміні діода на синхронний польовий транзистор, втрати на
нагрівання в режимі провідності практично зведені до нуля. Це дозволяє досягти
колосального коефіцієнта корисної дії - до 96%. Завдяки цьому пристрій майже не
виділяє тепла навіть під час монтажу всередині компактного герметичного корпусу
LED-датчика. Робота на частоті 340 кГц дозволила інтегрувати на плату
надкомпактний монолітний екранований дросель та багатошарові керамічні
конденсатори, які гарантують низький рівень високочастотних пульсацій на.
Стабілізація забезпечується вбудованою схемою плавного пуску, захистом від
короткого замикання, перевантаження по струму та термічного перегріву при
перевищенні температури кристала понад 160 градусів Цельсія.
Арк.
РТ225.026342.001 ПЗ
41
Змн. Арк. № докум. Підпис Дата
При розгляді вищезазначених модулів для інтеграції в апаратно-програмний
комплекс було обрано Mini360. Він ідеально підходить для проекту завдяки своїм
ультрамалим габаритам (17х11 мм), що дозволяє розпаяти його безпосередньо на
платі LED-сенсора без збільшення розмірів корпусу. Синхронна архітектура чіпа
MP2307DN забезпечує максимальну енергоефективність та повністю виключає
необхідність використання громіздких радіаторів охолодження, що вкрай важливо
для стабільної роботи пристрою в умовах промислового виробництва. На відміну
від LM2596, даний модуль забезпечує значно менший рівень високочастотних
завад, що гарантує точність аналогово-цифрового перетворення на боці датчика
кольору TCS34725 та стабільність тактової частоти мікроконтролера STM32F103.
2.4. Вибір модуля для комунікації з інтерфейсом RS-232
Для інтеграції розроблюваного апаратно-програмного комплексу сенсорів
LED-індикації в єдину промислову або лабораторну мережу виникає необхідність
організації надійного каналу зв'язку на великі відстані. Оскільки базовий
мікроконтролер системи STM32F103 оперує низьковольтними логічними рівнями
TTL з напругою 3.3 В, його пряме підключення до інтерфейсу керування в тестері
є неможливим через високу чутливість до високочастотних завад та загрозу пробою
виводів. Для забезпечення завадостійкого обміну даними на відстанях до 15 метрів
використовується класичний промисловий стандарт RS-232, який використовує
високовольтну двополярну схему кодування сигналів.
Арк.
РТ225.026342.001 ПЗ
42
Змн. Арк. № докум. Підпис Дата
Рисунок 2.14 - Модуль на базі інтегральної мікросхеми MAX232
Модуль на базі інтегральної мікросхеми MAX232 [19] виробництва компанії
Texas Instruments тривалий час залишався індустріальним стандартом для
конвертації логічних рівнів TTL в сигнали інтерфейсу RS-232. Плата зазвичай
виготовляється у повнорозмірному варіанті з габаритами 32 на 30 на 14 мм і містить
роз'єм DB9 для безпосереднього підключення послідовного кабелю (Рисунок 2.14).
Електричні параметри мікросхеми жорстко обмежені її архітектурою: для
повноцінної роботи їй необхідна стабільна напруга живлення лінії VCC строго на
рівні 5.0 В, при цьому номінальний струм споживання в режимі передачі даних
досягає 8–10 мА. Середня ринкова вартість такого модуля разом із пасивним
обв'язуванням становить приблизно 0.70$.
Метод обробки та формування сигналів у MAX232 базується на роботі
внутрішнього генератора та однокаскадної помпи заряду (Charge Pump). Для
подвоєння та інвертування вхідної п'ятивольтової напруги до рівнів ліній RS-232
(що становлять близько +10 В та -10 В) на платі обов'язково встановлюються
чотири громіздкі зовнішні електролітичні конденсатори ємністю 1.0 мкФ.
Арк.
РТ225.026342.001 ПЗ
43
Змн. Арк. № докум. Підпис Дата
Головним архітектурним недоліком цього рішення в рамках сучасних проектів є
повна несумісність із 3.3-вольтовою логікою. При спробі подачі сигналів від
STM32F103 вихідна висока напруга TTL-рівня з боку MAX232 підтягується до 5 В,
що створює критичне навантаження на піни мікроконтролера і може призвести до
теплового деградаційного пробою напівпровідника. Крім того, низька частота
перемикання транзисторів обмежує максимальну швидкість передачі даних
значенням всього 120 кбіт/с, чого недостатньо для високошвидкісного зняття
спектральних характеристик з оптичної матриці.
Рисунок 2.15 - Модуль HW-044 на базі інтегральної мікросхеми MAX3232
Модуль HW-044 це ультракомпактна плата з лінійними розмірами всього 15
на 11 на 3.2 мм, побудована на базі високоефективного трансивера MAX3232 [20]
від компанії Texas Instruments (Рисунок 2.15). Пристрій спеціально спроектований
для роботи в сучасних мікропроцесорних системах з низьковольтним живленням:
робочий діапазон напруги становить від 3.0 В до 5.5 В, що забезпечує ідеальну
Арк.
РТ225.026342.001 ПЗ
44
Змн. Арк. № докум. Підпис Дата
апаратну сумісність із 3.3 В логікою STM32F103 без використання додаткових
подільників або транзисторних ключів. В активному стані модуль споживає
рекордно низький струм - всього 300 мкА, а його середня ринкова ціна є
мінімальною і становить приблизно 0.60$.
Ключовий метод обробки інформаційних сигналів у HW-044 полягає в
реалізації архітектури двокаскадної помпи заряду з низьким рівнем внутрішніх
втрат. Всередині чіпа MAX3232 інтегровано два незалежні перетворювачі напруги
на базі внутрішніх MOSFET-ключів, які працюють на високій тактовій частоті. Для
їх стабільного функціонування використовуються чотири мініатюрні керамічні
SMD-конденсатори ємністю всього 0.1 мкФ замість 1.0 мкФ як у MAX232. Перший
каскад помпи працює як подвоювач напруги, генеруючи позитивний потенціал +5.5
В із вхідних 3.3 В, а другий каскад працює як інвертор, формуючи негативну
напругу -5.5 В. Створена двополярна шина живлення повністю відповідає
специфікаціям стандарту RS-232, де логічна одиниця кодується негативною
напругою в діапазоні від -3 В до -15 В, а логічний нуль - позитивною напругою від
+3 В до +15 В.
Високошвидкісні вихідні каскади передавачів забезпечують швидкість
наростання фронтів сигналу, достатню для стабільної передачі даних на
швидкостях до 250 кбіт/с, що повністю покриває пропускну здатність каналу
зв'язку LED-комплексу. Двоканальна архітектура дозволяє одночасно передавати
лінії RX та TX. Вбудовані вхідні приймачі мають захист від електростатичних
розрядів силою до 15 кВ та вбудовані резистори підтяжки. Завдяки високій
амплітуді сигналу RS-232, модуль HW-044 демонструє колосальну завадостійкість
до імпульсних шумів на виробництві, гарантуючи передачу інформації по лініях
довжиною до 15 метрів без втрати бітів.
При розгляді вищезазначених інтерфейсних рішень для інтеграції в апаратно-
програмний комплекс було обрано модуль HW-044 на базі мікросхеми MAX3232.
Арк.
РТ225.026342.001 ПЗ
45
Змн. Арк. № докум. Підпис Дата
Його використання є технічно обґрунтованим завдяки повній сумісності за рівнями
напруги 3.3 В із мікроконтролером STM32F103, ультрамалим габаритам (15х11
мм), що дозволяє інтегрувати його безпосередньо в корпус LED-сенсора, та
низькому струму споживання 300 мкА. На відміну від модуля на MAX232, це
рішення не загрожує виходу з ладу пінів процесора.
В результаті даного розділу було обрано компоненти які ідеально підходять
до побудованої структурної схеми та мають задовольнити всі вимоги висунуті в
розділі 1.
Арк.
РТ225.026342.001 ПЗ
46
Змн. Арк. № докум. Підпис Дата
3. ВИБІР СЕРЕДОВИЩА ПРОГРАМУВАННЯ ТА НАПИСАННЯ
ПРОГРАМИ
В минулому розділі було обґрунтовано вибір компонентів для комплексу
перевірки світлодіодів. Включно з мікроконтролером STM32F103 для якого
виникає необхідність написати програму яку буде виконувати пристрій щоб він міг
виконувати задумані функції. Для цього в даному розділі будуть розглянуті
особливості даного мікроконтролера та його характеристики. Для програмування
чіпа буде розглянуто різні середовища програмування та можливості його
програмування. В обраному середовищу буде написано код який і буде записаний
в STM32F103.
3.1. Вибір середовища програмування
Щоб написати код програми для комплексу потрібно розглянути основні
особливості обчислювального ядра ARM Cortex-M3 [6], що вимагає розуміння його
архітектури. На відміну від традиційних восьми бітних мікроконтролерів сімейства
AVR, де керування периферійними модулями здійснюється безпосередньо через
маніпулювання окремими регістрами, архітектура даного чіпа побудована за
модульно-шинним принципом. Через це спочатку потрібно налаштувати
обов’язкові модулі щоб запустити сам мікроконтролер в робочий стан.
Внаслідок цього, першочерговим та базовим кроком алгоритму у будь-якій
програмі є обов’язана конфігурація сигналів Reset та тактового сигналу. Без
попередньої подачі тактового сигналу на відповідний периферійний модуль будь-
яка спроба модифікації його конфігураційних регістрів повністю ігнорується
процесорним ядром, а у деяких випадках може викликати критичну апаратну
Арк.
РТ225.026342.001 ПЗ
47
Змн. Арк. № докум. Підпис Дата
помилку типу HardFault, що означає аварійне виключення ядра. Іншим важливим
аспектом є програмування вбудованого контролера вкладених векторних
переривань. Він підтримує дворівневу систему пріоритетів, включаючи основний
пріоритет та субпріоритет, що дозволяє гнучко налаштовувати реакцію системи на
зовнішні події та забезпечувати мікросекундну точність збору даних з оптичного
датчика TCS34725, повністю мінімізуючи затримки обробки сигналів. Для
полегшення написання програмного коду використовується дворівнева модель
абстракції, що базується на промисловому стандарті CMSIS (Cortex Microcontroller
Software Interface Standard) [21] для низькорівневого доступу до регістрів
процесора та бібліотеках апаратної абстракції HAL (Hardware Abstraction Layer)
або LL (Low-Layer) , які спрощують ініціалізацію таймінгів та конфігурацію
розгалуженої периферії.
Для ефективного написання, відлагодження та прошивки програми
необхідно вибрати середовище програмування яке допоможе в створені коду.
Вибір правильного середовище являється важливим для створення програми яке
спростить процес написання коду в рази. На практиці для мікроконтролерів
сімейства STM32 розглядають кілька альтернативних програмних комплексів, які
володіють різним рівнем функціональності. Першим варіантом є середовище Keil
MDK-ARM [23], яке являє собою класичний професійний індустріальний
інструментарій, оснащений високо оптимізованим компіляторним ядром ARMCC.
Це середовище забезпечує детальний аналіз пам'яті та потужні засоби симуляції
процесів у реальному часі, проте Keil є комерційним закритим продуктом із
високою вартістю ліцензії, має графічний інтерфейс застарілого зразка та жорстко
обмежений роботою виключно в операційній системі Windows.
Альтернативним безкоштовним рішенням від виробника чіпів є середовище
STM32CubeIDE [22], побудоване на базі платформи Eclipse. Головна його перевага
полягає в інтеграції з графічним конфігуратором STM32CubeMX, що дозволяє
візуально налаштовувати піни та автоматично генерувати початковий код
Арк.
РТ225.026342.001 ПЗ
48
Змн. Арк. № докум. Підпис Дата
ініціалізації. Основними мінусами цього середовища є висока громіздкість
системи, повільна швидкість роботи інтерфейсу розробника та надлишкова
структура генерованих файлів HAL, що суттєво ускладнює глибоку оптимізацію
коду. У свою чергу, популярне середовище Arduino IDE [24] пропонує
максимально спрощену концепцію програмування за рахунок великої кількості
готових високорівневих бібліотек, що підходить для швидкого макетування, але
має натомість Arduino IDE має недоліки які є критичні для професійних систем.
Наприклад відсутність інтелектуального автодоповнення коду, неможливість
налаштування прапорів компілятора та повну відсутність інструментів апаратного
покрового відлагодження.
В свою чергу середовище Visual Studio Code [25], цей програмний комплекс
об'єднує швидкість сучасного редактора розробки з потужністю універсальної
модульної системи збирання проектів для вбудованих систем. Основна перевага VS
Code полягає в інтеграції інтелектуальної системи аналізу коду IntelliSense, яка в
реальному часі виконує статичну перевірку синтаксису, пропонує контекстне
автодоповнення функцій та забезпечує миттєву навігацію по вихідних файлах
бібліотек, що суттєво прискорює написання драйверів для взаємодії
мікроконтролера по шині I2C. Також VS Code має велику кількість розширеннь які
можуть бути написані як окремим людьми так і великими компаніями для їхньої
продукції. Одне з таких розширень є PlatformIO яке написано розробниками з
України. Це розширення являється крос-платформним та крос-архітектурним
фреймворком яке допомогає в розробці систем для багатьох мікроконтролерів
включно з STM32 що є ключовим для розробки даного приладу.
PlatformIO [26] повністю автоматизує керування інструментарієм
розробника. Вона самостійно завантажує крос-компілятор, необхідні системні
інструменти та залежності бібліотек під конкретну плату Blue Pill, повністю
позбавляючи нас від ручного налаштування конфігураційних змінних операційної
системи. Вся архітектура проекту детерміновано описується в одному
Арк.
РТ225.026342.001 ПЗ
49
Змн. Арк. № докум. Підпис Дата
конфігураційному текстовому файлі platformio.ini, де чітко вказуються параметри
мікроконтролера, тип використовуваного фреймворку, швидкість передачі даних
по апаратному UART та прапори оптимізації машинного коду, зокрема флаг -O2
для оптимізації за швидкістю виконання.
Важливим аргументом на користь PlatformIO є його нативна інтеграція з
апаратною утилітою OpenOCD та професійним програматором ST-Link V2. Це
дозволяє реалізувати повноцінне внутрішньосхемне відлагодження через
інтерфейс SWD безпосередньо всередині вікна VS Code. їЦе дасть нам можливість
встановлювати апаратні точки зупину, покроково відстежувати виконання
лінійного автомата станів, аналізувати поточний вміст оперативної пам'яті SRAM
та інспектувати стан регістрів мікроконтролера під час обробки динамічних
шаблонів поведінки світлодіодів та прийому команд від ПК через інтерфейс RS-
232.
Зважаючи на всі плюси та мінуси представлених даних редакторів було
обрано редактор VSCode. Основними аргументами які вплинули на прийняття
рішення являються велика кількість розширень та наявність системи дебагу коду.
Основним розширенням буде PlatformIO за допомогою якого і буде створено
проект та буде відбуватись процес прошивки.
3.2. Написання коду в середовищі VSCode
Після остаточного вибору і налаштування інтегрованого середовища
розробки Visual Studio Code з плагіном PlatformIO можна приступити до
безпосереднього проектування та написання керуючого коду системи. Основний
функціонал розроблюваного програмного забезпечення на цьому етапі є
безперервний апаратний моніторинг сигналу зовнішнього переривання Interrupt,
Арк.
РТ225.026342.001 ПЗ
50
Змн. Арк. № докум. Підпис Дата
що генерується цифровим датчиком кольору TCS34725, та забезпечення
завадостійкої трансляції результатів тестування через інтерфейс RS-232. Коли
інтенсивність світлового потоку від досліджуваного індикаторного світлодіода
змінюється або перетинає встановлені користувачем верхню чи нижню цифрові
межі в регістрі допусків датчика, внутрішня логіка TCS34725 миттєво замикає
вихідний пін INT на землю, формуючи спадаючий фронт сигналу. Цей вивід
фізично з'єднаний з однією з ліній зовнішнього переривання мікроконтролера
STM32F103. Як тільки модуль переривань мікроконтролера фіксує перехід сигналу
з логічної одиниці в логічний нуль, процесорне ядро ARM Cortex-M3 миттєво
зупиняє виконання лінійних функцій головного циклу і викликає спеціалізований
обробник переривання. Використання апаратних переривань дозволяє зафіксувати
спалах або зміну режиму роботи світлодіода з мікросекундною точністю,
виключаючи ризик пропуску короткочасних імпульсів індикації, що часто
трапляється при стандартному покроковому виконанні програми. З метою
забезпечення стабільності системи, всередині функції обробника переривання не
виконуються важкі обчислювальні операції чи повільний обмін по шині I2C. Вже
в основному циклі виконання мікроконтролер запускає транзакцію по шині I2C1.
Через інтерфейс апаратних драйверів здійснюється послідовне зчитування пакета з
8 байт сирих спектральних даних R, G, B, C з внутрішніх регістрів датчика.
Отримані первинні коди спектральних каналів миттєво зберігаються у
структурованому буфері оперативної пам'яті мікроконтролера. Наявність
програмного буфера дозволяє ізолювати виміряні значення від випадкових
комутаційних завад та не дозволить передавати одночасно декілька даних
одночасно. Після успішного заповнення буфера активується математичний блок
обробки та аналізу оптичних сигналів. Програма проводить векторну нормалізацію
колірних складових відносно інтегрального каналу Clear, що дозволяє повністю
відокремити чистий колір від коливань яскравості. Далі обчислені нормалізовані
коефіцієнти порівнюються з зашитим у пам'ять шаблоном допусків конкретного
Арк.
РТ225.026342.001 ПЗ
51
Змн. Арк. № докум. Підпис Дата
виробу. Фінальним етапом алгоритму є формування звіту про працездатність
компонента. Якщо колірні координати та рівень освітленості успішно потрапляють
у задане вікно параметрів шаблону, тест вважається пройденим успішно, а
програма генерує статус pass. У випадку виявлення невідповідного кольору чи
низької інтенсивності випромінювання, система фіксує відмову і формує статус
faill. Сформований пакет звіту передається в буфер передавача апаратного модуля
USART1. Сигнал логічного рівня TTL з піна TX мікроконтролера надходить на вхід
мікросхеми MAX3232, де трансформується у високовольтні двополярні імпульси
стандарту RS-232. По екранованій лінії зв'язку дані надходять до стендового
тестера, де за результами тесту юніт миттєво буде передано далі в залежності від
результату.
Написання коду в PlatformIO можна виконувати за допомогою трьох
основних фреймворків Arduino, STM32Cube та CMSIS. Arduino являється самим
простим та високорівневим з усі трьох. В ньому вже реалізовані більшість функцій
через це не потрібно додатково опрацьовувати інтерфейси мікроконтролера а
можна просто застосувати готові функції. Проте через це функції написані так щоб
підходили для більшості користуваців, тому дані функції будуть займати більше
ресурсів ніж нам може знадобитись. Крім того для роботи цього фреймворка також
потрібна велика кількість бібліотек яку ми не використаєм в даному проекті. В
свою чергу фреймворк CMSIS явлюється найбільш низькорівневим з усіх. Він
працює напряму з регістрами що дозволить ідеально контролювати наший
мікроконтролер. Це зменшить розмір самої прошивки та в рази збільшить
швидкість пристрою так як буде виконуватись тільки ті оберації які нам потрібні в
даний момент. Проте це означає що всі взаємодії з інтерфейсами потрібно буде
прописати з самого нуля, також якщо помилитись з назвою регістра то дебаг коду
може зайняти години або навіть дні. В свою чергу STM32Cube являється золотою
серединою між даними фреймворками та обєднує сильні сторони їх двох що
частково компенсує їх слабкі сторони. Цей фреймворк використовує бібліотеки
Арк.
РТ225.026342.001 ПЗ
52
Змн. Арк. № докум. Підпис Дата
HAL та LL. Що дозволить прописувати високорівневий код в частині коду з
взаємодією інтерфейсів, та низькорівневий для аналізу даних та їх зберігання. Саме
через ці фактори в даному пректі й буде використано фреймворк STM32Cube.
Сам код буде написано намові програмування C та розбито на два файла на
файл заголовків main.h та сам виконуючий файл main.c.
/**
* @file : main.h
**/
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
#include "stm32f1xx_hal.h"
#include "stm32f1xx_ll_exti.h" // Низькорівневий драйвер для оптимізації лінії EXTI0
#include <stdbool.h>
#include <stdint.h>
/* Апаратна конфігурація датчика TCS34725 */
#define TCS_I2C_ADDR (0x29 << 1) // 0x52 для STM32Cube HAL
#define TCS_CMD_BIT 0x80
#define TCS_CMD_AUTO_INC 0x20
#define TCS_REG_ENABLE 0x00
#define TCS_REG_ATIME 0x01
#define TCS_REG_CONTROL 0x0F
#define TCS_REG_ID 0x12
#define TCS_REG_AIHT_L 0x06
#define TCS_REG_CDATA_L 0x14
#define TCS_ENABLE_PON 0x01
#define TCS_ENABLE_AEN 0x02
#define TCS_GAIN_4X 0x01
#define TCS_ATIME_2_4MS 0xFF // Екстремально швидка інтеграція для мигаючих
світлодіодів
/* Константи інтерфейсу зв'язку RS-232 */
#define CMD_START_TEST 0x30
#define PACKET_START_MARKER 0xAA
Арк.
РТ225.026342.001 ПЗ
53
Змн. Арк. № докум. Підпис Дата
#define MIN_BRIGHTNESS 150 // Мінімальний поріг Clear-каналу для фіксації
світіння
#define TEST_PASS 0x00
#define TEST_FAIL 0x01
/* Параметри фільтруючого колірного буфера */
#define FILTER_BUFFER_SIZE 5
/* Структура ізольованого зберігання спектральних даних (Колірний буфер) */
typedef struct {
uint16_t r[FILTER_BUFFER_SIZE];
uint16_t g[FILTER_BUFFER_SIZE];
uint16_t b[FILTER_BUFFER_SIZE];
uint16_t c[FILTER_BUFFER_SIZE];
uint8_t write_index;
} RGBC_Buffer_t;
/* Структура вихідного пакету телеметрії для ЕОМ */
typedef struct __attribute__((__packed__)) {
uint8_t marker;
uint8_t test_result;
uint16_t r_avg;
uint16_t g_avg;
uint16_t b_avg;
uint8_t crc8;
} ResultPacket_t;
/* Структура меж колірного вікна шаблону */
typedef struct {
uint16_t r_min; uint16_t r_max;
uint16_t g_min; uint16_t g_max;
uint16_t b_min; uint16_t b_max;
} ColorBounds_t;
/* Прототипи системних функцій ініціалізації периферії */
void SystemClock_Config(void);
void MX_GPIO_Init(void);
void MX_I2C1_Init(void);
void MX_USART1_Init(void);
/* Прототипи функцій драйвера та бізнес-логіки */
void TCS34725_WriteReg(uint8_t reg, uint8_t value);
bool TCS34725_Init(void);
void TCS34725_ReadRaw(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c);
void Buffer_Push(uint16_t r, uint16_t g, uint16_t b, uint16_t c);
void Buffer_GetAverage(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c);
void Buffer_Clear(void);
Арк.
РТ225.026342.001 ПЗ
54
Змн. Арк. № докум. Підпис Дата
uint8_t Calculate_CRC8(const uint8_t *data, uint8_t len);
void Process_And_Respond(void);
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */
В цьому файлі наведені статичні зміні, константи, підключення бібліотек та
оголошення основних функцій що буде використано в виконоючому файлі main.c.
/**
* @file main.c
**/
#include "main.h"
#include <stdio.h>
#include <string.h>
I2C_HandleTypeDef hi2c1;
UART_HandleTypeDef huart1;
RGBC_Buffer_t data_buffer;
volatile bool sensor_interrupt_flag = false;
const ColorBounds_t GREEN_LED_TEMPLATE = {100, 300, 500, 750, 150, 350};
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) {
__HAL_RCC_TIM2_CLK_ENABLE();
TIM2->PSC = (SystemCoreClock / 1000) - 1;
TIM2->ARR = 1;
TIM2->DIER |= TIM_DIER_UIE;
HAL_NVIC_SetPriority(TIM2_IRQn, TickPriority, 0);
HAL_NVIC_EnableIRQ(TIM2_IRQn);
TIM2->CR1 |= TIM_CR1_CEN;
return HAL_OK;
}
void TIM2_IRQHandler(void) {
if (TIM2->SR & TIM_SR_UIF) {
TIM2->SR &= ~TIM_SR_UIF;
Арк.
РТ225.026342.001 ПЗ
55
Змн. Арк. № докум. Підпис Дата
HAL_IncTick();
}
}
/* --- ГОЛОВНИЙ ЦИКЛ ПРОГРАМИ --- */
int main(void) {
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_Init();
UART_Log("System ready.");
MX_I2C1_Init();
if (TCS34725_Init()) {
UART_Log("Sensor TCS34725 Connected Successfully!");
} else {
UART_Log("ERROR: Sensor TCS34725 Not Found!");
}
Buffer_Clear();
while (1) {
uint8_t rx_cmd = 0;
if (sensor_interrupt_flag) {
sensor_interrupt_flag = false;
UART_Log("Start ...");
Process_And_Respond();
}
}
}
void UART_Log(char* message) {
HAL_UART_Transmit(&huart1, (uint8_t*)message, strlen(message), 100);
HAL_UART_Transmit(&huart1, (uint8_t*)"\r\n", 2, 10);
}
void EXTI0_IRQHandler(void) {
if (LL_EXTI_IsActiveFlag_0_31(LL_EXTI_LINE_0) != RESET) {
LL_EXTI_ClearFlag_0_31(LL_EXTI_LINE_0);
sensor_interrupt_flag = true;
}
}
Арк.
РТ225.026342.001 ПЗ
56
Змн. Арк. № докум. Підпис Дата
void Process_And_Respond(void) {
uint16_t r_raw = 0, g_raw = 0, b_raw = 0, c_raw = 0;
for (int i = 0; i < FILTER_BUFFER_SIZE; i++) {
TCS34725_ReadRaw(&r_raw, &g_raw, &b_raw, &c_raw);
Buffer_Push(r_raw, g_raw, b_raw, c_raw);
HAL_Delay(3);
}
uint16_t r_avg, g_avg, b_avg, c_avg;
Buffer_GetAverage(&r_avg, &g_avg, &b_avg, &c_avg);
uint8_t test_result = TEST_FAIL;
if (c_avg >= MIN_BRIGHTNESS) {
uint32_t r_norm = ((uint32_t)r_avg * 1000) / c_avg;
uint32_t g_norm = ((uint32_t)g_avg * 1000) / c_avg;
uint32_t b_norm = ((uint32_t)b_avg * 1000) / c_avg;
bool color_valid = (r_norm >= GREEN_LED_TEMPLATE.r_min && r_norm <=
GREEN_LED_TEMPLATE.r_max) &&
(g_norm >= GREEN_LED_TEMPLATE.g_min && g_norm <=
GREEN_LED_TEMPLATE.g_max) &&
(b_norm >= GREEN_LED_TEMPLATE.b_min && b_norm <=
GREEN_LED_TEMPLATE.b_max);
if (color_valid) {
test_result = TEST_PASS;
}
}
ResultPacket_t packet;
packet.marker = PACKET_START_MARKER;
packet.test_result = test_result;
packet.r_avg = r_avg;
packet.g_avg = g_avg;
packet.b_avg = b_avg;
packet.crc8 = Calculate_CRC8((uint8_t*)&packet, 7);
HAL_UART_Transmit(&huart1, (uint8_t*)&packet, sizeof(ResultPacket_t), 500);
uint8_t clear_cmd = 0xE6;
HAL_I2C_Master_Transmit(&hi2c1, TCS_I2C_ADDR, &clear_cmd, 1, 500);
}
/* --- ФУНКЦІЇ КЕРУВАННЯ БУФЕРОМ --- */
void Buffer_Push(uint16_t r, uint16_t g, uint16_t b, uint16_t c) {
Арк.
РТ225.026342.001 ПЗ
57
Змн. Арк. № докум. Підпис Дата
data_buffer.r[data_buffer.write_index] = r;
data_buffer.g[data_buffer.write_index] = g;
data_buffer.b[data_buffer.write_index] = b;
data_buffer.c[data_buffer.write_index] = c;
data_buffer.write_index = (data_buffer.write_index + 1) % FILTER_BUFFER_SIZE;
}
void Buffer_GetAverage(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c) {
uint32_t sum_r = 0, sum_g = 0, sum_b = 0, sum_c = 0;
for (int i = 0; i < FILTER_BUFFER_SIZE; i++) {
sum_r += data_buffer.r[i];
sum_g += data_buffer.g[i];
sum_b += data_buffer.b[i];
sum_c += data_buffer.c[i];
}
*r = sum_r / FILTER_BUFFER_SIZE;
*g = sum_g / FILTER_BUFFER_SIZE;
*b = sum_b / FILTER_BUFFER_SIZE;
*c = sum_c / FILTER_BUFFER_SIZE;
}
void Buffer_Clear(void) {
memset(&data_buffer, 0, sizeof(RGBC_Buffer_t));
}
/* --- ДРАЙВЕРИ СЕНСОРА --- */
void TCS34725_WriteReg(uint8_t reg, uint8_t value) {
uint8_t buf[2] = {TCS_CMD_BIT | reg, value};
HAL_I2C_Master_Transmit(&hi2c1, TCS_I2C_ADDR, buf, 2, 500);
}
bool TCS34725_Init(void) {
uint8_t reg_id = TCS_CMD_BIT | TCS_REG_ID, id = 0;
HAL_I2C_Master_Transmit(&hi2c1, TCS_I2C_ADDR, ®_id, 1, 500);
HAL_I2C_Master_Receive(&hi2c1, TCS_I2C_ADDR, &id, 1, 500);
if (id != 0x44 && id != 0x4D) return false;
TCS34725_WriteReg(TCS_REG_ENABLE, TCS_ENABLE_PON);
HAL_Delay(3);
TCS34725_WriteReg(TCS_REG_ENABLE, TCS_ENABLE_PON | TCS_ENABLE_AEN);
TCS34725_WriteReg(TCS_REG_ATIME, TCS_ATIME_2_4MS);
TCS34725_WriteReg(TCS_REG_CONTROL, TCS_GAIN_1X);
TCS34725_WriteReg(TCS_REG_AIHT_L, 0x00);
TCS34725_WriteReg(TCS_REG_AIHT_L + 1, 0x80);
TCS34725_WriteReg(TCS_REG_ENABLE, 0x13);
Арк.
РТ225.026342.001 ПЗ
58
Змн. Арк. № докум. Підпис Дата
uint8_t clear_cmd = 0xE6;
HAL_I2C_Master_Transmit(&hi2c1, TCS_I2C_ADDR, &clear_cmd, 1, 500);
return true;
}
void TCS34725_ReadRaw(uint16_t *r, uint16_t *g, uint16_t *b, uint16_t *c) {
uint8_t reg = TCS_CMD_BIT | TCS_CMD_AUTO_INC | TCS_REG_CDATA_L, buf[8];
HAL_I2C_Master_Transmit(&hi2c1, TCS_I2C_ADDR, ®, 1, 500);
HAL_I2C_Master_Receive(&hi2c1, TCS_I2C_ADDR, buf, 8, 500);
*c = buf[0] | (buf[1] << 8); *r = buf[2] | (buf[3] << 8);
*g = buf[4] | (buf[5] << 8); *b = buf[6] | (buf[7] << 8);
}
uint8_t Calculate_CRC8(const uint8_t *data, uint8_t len) {
uint8_t crc = 0x00;
for (uint8_t i = 0; i < len; i++) {
crc ^= data[i];
for (uint8_t j = 0; j < 8; j++) {
if (crc & 0x80) crc = (crc << 1) ^ 0x07;
else crc <<= 1;
}
}
return crc;
}
/* --- АПАРТАТНА КОНФІГУРАЦІЯ ТАКТУВАННЯ (Зовнішній кварц 72 МГц) --- */
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType =
RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
Арк.
РТ225.026342.001 ПЗ
59
Змн. Арк. № докум. Підпис Дата
SystemCoreClockUpdate();
}
/* --- МСП-ІНІЦІАЛІЗАЦІЯ ПЕРИФЕРІЇ --- */
void HAL_UART_MspInit(UART_HandleTypeDef* huart) {
if(huart->Instance == USART1) {
__HAL_RCC_USART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
}
}
void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) {
if(hi2c->Instance == I2C1) {
__HAL_RCC_I2C1_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
}
}
void MX_I2C1_Init(void) {
hi2c1.Instance = I2C1;
hi2c1.Init.ClockSpeed = 100000;
hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;
hi2c1.Init.OwnAddress1 = 0;
hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
HAL_I2C_Init(&hi2c1);
}
void MX_USART1_Init(void) {
huart1.Instance = USART1;
huart1.Init.BaudRate = 115200;
huart1.Init.WordLength = UART_WORDLENGTH_8B;
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_NONE;
huart1.Init.Mode = UART_MODE_TX_RX;
HAL_UART_Init(&huart1);
}
void MX_GPIO_Init(void) {
GPIO_InitTypeDef GPIO_InitStruct = {0};
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
// Пін апаратного переривання EXTI0 від датчика (PA0)
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
Арк.
РТ225.026342.001 ПЗ
60
Змн. Арк. № докум. Підпис Дата
// I2C Світлодіодні шини (PB6 - SCL, PB7 - SDA)
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
// UART TX Пін (PA9)
GPIO_InitStruct.Pin = GPIO_PIN_9;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
// UART RX Пін (PA10)
GPIO_InitStruct.Pin = GPIO_PIN_10;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
HAL_NVIC_SetPriority(EXTI0_IRQn, 2, 0);
HAL_NVIC_EnableIRQ(EXTI0_IRQn);
}
В даному файлій міститься основна логіка та її функції. Спочатку йду фукція
яка перевизначає системний сигнал clock. Далі відбувається ініціілізація бібліотек
та запуск системного сигналу clock. Наступним відбувається налаштування
тактового сигналу який відбувається за допомогогою зовнішнього кварцу в 8МГц
та за допомогою особливостям чіпа було розігнуто до 72МГц. Наступним кроком
іде налаштування пінів та ініціалізація інтерфейсів. Виконавши ці дії
мікроконтролер повноціно запуститься та почне виконання циклу. В нашому
випадку перевіряючи прапорець про детекцію зміни сигналу на нозі int.
Арк.
РТ225.026342.001 ПЗ
61
Змн. Арк. № докум. Підпис Дата
4. ВПРОВАДЖЕННЯ ПРОТОТИПУ НА ВИРОБНИЦТВІ
В минулих розділах було обрано компоненти та написаний функціональний
код що дає зібрати повністю функціональний прототип. В даном розділі буде
розглянута можливівість збірки прототипа та його перевірка. Він почне
фукцінувати тоді коли засічезміну статус світлодіода. Далі по запрограмованому
патерну відбудеться перевірка світлодіода й результат буде передано до тестера.
Для перевірки функцінування приладу та чи задовільняданий пристрій вимоги
помтавленого технічного завдання його було примонтовано на певний час та
відбулось порівняння результатів до впровадження та після впровадження
прототипа.
4.1. Збірка прототипу та методика проведення випробувань
На основі розробленої структурної схеми та написаного програмного
забезпечення було виконано фізичне з'єднання електронних компонентів для
приведення системи до робочого стану.
Для початку відбувся монтаж DC-DC перетворювача. Даний модуль має 4
функціональні виводи:
IN - призначений для подачі нестабілізованої вхідної напруги від
первинного джерела живлення 12V.
OUT - вихідний пін, що видає чітко трансформовану та стабілізовану
напругу значення якої можна налаштувати за допомогою варістора на
перетворювачі
GND - земля.
Арк.
РТ225.026342.001 ПЗ
62
Змн. Арк. № докум. Підпис Дата
EN - керуючий вивід, призначений для апаратного ввімкнення або
вимкнення перетворювача. Якщо на цей вхід подати рівень логічного
нуля, процес перетворення припиняється, і на піні OUT напруга стає
рівною нулю. Конструктивно виробником модуля передбачено
підтяжку цього входу до лінії живлення через резистор, тому за
відсутності зовнішнього сигналу на вході EN присутня логічна
одиниця, і перетворювач за замовчуванням функціонує в штатному
режимі.
Далі відбувся монтаж плати Blue Pill ця плата має по 20 контактів з одногота
з іншого боку, але в даному розділі будуть перелічині тільки ті, які безпосередньо
будуть використовуватись в даному проєкті. Для реалізації пректа потрібно
використати такі піни:
5V та GND - ці піни потрібні для живлення плати. В самій платі Blue
Pill 5V будуть понижені до рівння 3.3V які потім можна зняти для
живлення перефірії.
PA0 - цифровий пін який налаштований в коді на прослуховування
стану датчика кольору TCS34725. Підключення відбувається до вивода
INT який змінює свій стан на логічний при зміністану світлодіода.
Оскільки в самому датчику не реалізовано ніяку підтяжку до 3.3V її
також потрібно виконати.
PB6 та PB7 - дані піни виступають в якості SCL та SDA для
послідовного цифрового інтерфейсу I2C відповідно. Підключаються
дані піни до відповідним до них пінам на датчику TCS34725.
PA9 - цей пін налаштовано для апаратного інтерфейсу UART. Він
використовується для відправки даних по цьому інтерфейсу та має бути
відключений до піна RX модуля MAX3232
Арк.
РТ225.026342.001 ПЗ
63
Змн. Арк. № докум. Підпис Дата
PA10 - цей пін налаштовано для апаратного інтерфейсу UART. Він
використовується для прийому даних по цьому інтерфейсу та має бути
відключений до піна TX модуля MAX3232
Інші компоненти монтується вже до вище згаданих пінів. Після монтажу
компонентів потрібно запрограмувати STM32F103C8. Для цього потрібно
переставити джампер BOOT0 в положення 1. В такому положенні мікроконтролер
зупинить виконання програми та перейде в режим очікування нової прошивки. Далі
потрібно підключити USB-UART перетворювач до вже вищевказаних пінів PA9,
PA10, 3.3V та GND. Останнім кроком залишиться тільки зібрати та завантажити
наш код в пам’ять мікроконтролера, проте завдяки PlatformIO це можна зробити
одним кліком миші. Після успішного зашиття потрібно повернути джампер BOOT0
назад в положення 0, щоб дозволити виконання коду.
Рисунок 4.1 - Зібраний прототип
Тепер, коли ми маємо на руках готовий і повністю запрограмований прототип
пристрою, його потрібно протестувати для перевірки коректності функціонування
та точності роботи всіх програмно-апаратних модулів у реальному часі. Щоб
реалізувати тестовий стенд було обрано плату яка при ввімкнені живлення увімкне
зелений світлодіод. Щоб відстежувати та фіксувати вихідні результати тестування,
Арк.
РТ225.026342.001 ПЗ
64
Змн. Арк. № докум. Підпис Дата
було організовано прослуховування послідовного COM-порту за допомогою
програмного забезпечення Tera Term. Також було зашито тестову прошивку яка
спрацьовує 2 рази за хвилину, це було зроблено для спрощення і більш автономного
тестування.
Рисунок 4.1. - Запуск тестової прошивки
В результаті цього тесту було зафіксовану миттєву відповідь через порт що
прослуховується. З цього можна зробити висновок що даний прототип є функційно
робочим.
4.2. Порівняльний аналіз результатів після впровадження прототипу
Після перевірки даного пристрою можна упевненістю констатувати, що
прототип пристрою спроектований та зібраний коректно. Основним критерієм
успішної апаратної інтеграції є стабільний двосторонній обмін даними:
мікроконтролер STM32F103C8 успішно відповідає на запити керуючої ЕОМ через
послідовний інтерфейс зв'язку стандарту RS-232, безпомилково ініціалізує за
Арк.
РТ225.026342.001 ПЗ
65
Змн. Арк. № докум. Підпис Дата
низькорівневим протоколом I2C цифровий оптичний сенсор TCS34725 та здійснює
прецизійне зчитування спектральних характеристик у реальному часі.
Тому наступним кроком буде впровадження прототипа до реального тестера
на період 4 змін та відслідковування й аналіз роботи прототипа. Результати були
представлені в вигляді таблиці.
Таблиця 4.1. Результати тестування прототипа
Параметри та Перша Друга Третя Четверта
критерії аналізу зміна зміна зміна зміна
Кількість
протестованих 29 30 30 36
одиниць
Успішно
виявлених 3 4 0 3
дефектів
Всього дефектів 3 4 0 3
хибних
спрацьовувань 9 8 10 9
приладу
Середній час
26мс 27мс 27мс 26мс
повного аналізу
Збої
Відсутні Відсутні Відсутні Відсутні
мікроконтролера
Арк.
РТ225.026342.001 ПЗ
66
Змн. Арк. № докум. Підпис Дата
Згідно з результатами пристрій правильно розрізняє дефектні юніти. Проте
кількість хибних спрацювань надзвичайно висока, після проведення дослідження
було вирішено поставити підтягуючий резистор між шиною INT та 3.3V а не
генерувати їх з мікроконтролера. По всім іншим параметрами прототип успішно
пройшов тестування і можна виробляти корпус та впроваджувати прилад в масове
виробництво.
Арк.
РТ225.026342.001 ПЗ
67
Змн. Арк. № докум. Підпис Дата
5. ОХОРОНА ПРАЦІ
5.1. Аналіз небезпек і шкідливостей, що впливають на працівників техніко-
енергетичного відділу
Для ефективного виробництва необхідно щоб в приміщені де проводиться
тестування та збірка продукції були дотримані параметри в межах норми які
можуть впливати на здоров’я та працездатність працівників.
Виробниче приміщення відділу представлене у вигляді лабораторії площею
40 м². За умови що висота стелі становить 3 м, загальний геометричний об'єм
приміщення становить 120 м³. Враховуючи, що в приміщенні працюють 4 особи
над виготовленням та тестуванням електронних плат, на кожного працівника
припадає 10 м² площі та 30 м³ повітряного об'єму. Зазначені параметри повністю
відповідають санітарно-гігієнічним нормам та вимогам ДБН В.2.2-28:2010.
Основна діяльність працівників полягає в виправлені дефектів на платі за
допомогою паяльника, програмуванні мікроконтролерів на готових платах, збір
плат до корпусів, процес тестування на персональних комп’ютерах та візуальна
інспекція продукту.
Природне освітлення лабораторії забезпечується через два металопластикові
вікна, які інтегрують світловий потік у робочий простір. Недостатній рівень
освітленості у виробничому середовищі має прямий негативний вплив на
працюючих, оскільки викликає швидке зорове та загальне стомлення, зниження
концентрації уваги й уповільнення психомоторних реакцій. За умов виконання
робіт високої зорової точності III розряду за ДБН В.2.5-28-2018, тривалий дефіцит
світла спричиняє перенапруження зорового аналізатора, що суттєво підвищує
ризик допущення технологічного браку під час паяння чи контролю плат, а також
збільшує ймовірність виникнення мікротравм і нещасних випадків.
Арк.
РТ225.026342.001 ПЗ
68
Змн. Арк. № докум. Підпис Дата
Для компенсації дефіциту природного світла та забезпечення нормативних
умов праці в приміщенні застосовується комбінована система штучного
освітлення, яка поділяється на загальне та місцеве освітлення. Загальне освітлення
реалізоване за допомогою стельових світильників денного світла, які рівномірно
розподіляють світловий потік по всій площі лабораторії та створюють базовий
фоновий рівень освітленості. Натомість місцеве освітлення організоване за
допомогою індивідуальних робочих світильників, які розташовані безпосередньо
на кожному робочому місці для концентрованого підсвічування зони маніпуляцій
із мікроконтролерами та друкованими платами.
Ці освітлювальні мережі підключені до двох різних ліній електропостачання.
Лінія загального освітлення працює стабільно та безперервно протягом усієї зміни,
тоді як лінія живлення місцевих світильників та вимірювальних тестерів
активується безпосередньо робітниками вручну під час виконання конкретних
операцій, що дозволяє оптимізувати енергоспоживання.
Головними джерелами штучного освітлення в лабораторії є люмінесцентні
лампи, які забезпечують сприятливий спектральний склад світла та високу
автентичність передачі кольорів. Система загального штучного освітлення
приміщення обладнана 4 світильниками денного світла типу ЛСП02-2х-58-001
(кожен оснащений двома лампами потужністю по 58 Вт), які розташовані
симетрично та рівновіддалено від стін для забезпечення максимальної однорідності
світлового потоку. Інші 4 світильники, що мають менші габаритні розміри та
меншу потужність, встановлені безпосередньо на робочих місцях для організації
локального (місцевого) підсвічування зон паяння та дебагу.
Відповідно до нормативних вимог ДБН В.2.5-28-2018, мінімальна
нормативна освітленість для робіт III розряду зорової точності має становити не
менше 300 лк.
Арк.
РТ225.026342.001 ПЗ
69
Змн. Арк. № докум. Підпис Дата
Фактичний рівень загального штучного освітлення в робочій зоні лабораторії
становить 345 лк. Ці показники повністю задовольняють вимоги чинних
стандартів.
Кожне робоче місце працівника обладнане технологічною стільницею
довжиною 1 м. Конструкція стільниці надійно закріплена на опорному металевому
каркасі (монтажному столі) на фіксованій висоті 850–900 мм від рівня підлоги, що
забезпечує оптимальне та зручне положення рук під час виконання дрібних
паяльних і складальних операцій.
Для забезпечення фізіологічно раціональної робочої пози, зниження
статичного навантаження на хребет та запобігання втомі персоналу, робочі місця
комплектуються індивідуальними підйомний-поворотними кріслами. Конструкція
цих крісел має п'ятиопорну основу та механізми для швидкої зміни висоти сидіння,
а також регулювання кута нахилу спинки під антропометричні дані конкретного
працівника без застосування додаткових інструментів. Конструктивні параметри та
ергономічні властивості цих робочих сидінь повністю відповідають вимогам ДСТУ
7951:2015. Таким чином робоче місце оператора відповідає вимогам ДСТУ
8604:2015 про організацію робочих місць.
Також важливим фактором є мікроклімат в лабораторії. Стала температура
дотримується за рахунок систем витяжок, обігрівачів та кондиціонерів, що
дозволяють підтримувати сталу температуру в різні пори року в межах 23 - 24°С.
Для автоматичного забезпечення цих параметрів у приміщенні площею 40 м²
встановлено одну інверторну спліт-систему Cooper&Hunter CH-S12FTXLA2-NG,
яка працює на охолодження та кондиціонування, один електричний конвектор
Atlantic Explorer 2000W для опалення в холодний період року, а також
загальнообмінну витяжну вентиляцію на базі осьового вентилятора ВЕНТС 100
Квайт у поєднанні з локальними димовловлювачами. Вологість повітря
контролюється завдяки індикаторам вологості, у ролі яких виступають два цифрові
Арк.
РТ225.026342.001 ПЗ
70
Змн. Арк. № докум. Підпис Дата
термогігрометри Testo 608-H1. Завдяки отриманим результатам від індикатора
вологість регулюється через ультразвуковий зволожувач повітря Electrolux EHU-
3715D, щоб завжди підтримувати вологість повітря близьку до 50%, на складі 40%,
в будь-якій порі року. Оцінка та нормування параметрів мікроклімату в лабораторії
здійснюються відповідно до вимог ДСН 3.3.6.042-99. Оскільки за нормативами
вологість повітря має складати 40%-60%, то вологість в приміщеннях є в нормі.
Окрім цього, за нормативними документами швидкість руху повітря не повинна
перевищувати 0,1 м/с. Фактичне значення швидкості повітряного потоку в
лабораторії становить 0,07–0,1 м/с, що свідчить про помірну рухливість повітряних
мас та повну відсутність протягів. Проведений аналіз фактичних показників
дозволяє сказати, що вони повністю відповідають нормативним.
При використанні технологічного обладнання та безпосередній роботі з
паяльником працівникам необхідно суворо дотримуватись комплексних вимог
техніки безпеки, щоб унеможливити травмування себе та оточуючих. Перед
початком маніпуляцій монтажник зобов'язаний візуально перевірити цілісність
ізоляції електричного кабелю живлення, справність корпусу паяльної станції та
надійність заземлення приладу. Під час виконання паяльних робіт інструмент
дозволяється розміщувати виключно на спеціальній вогнетривкій підставці, що
запобігає випадковому контакту нагрітого жала зі стільницею чи сторонніми
предметами. Для захисту органів дихання від токсичних аерозолів, продуктів
розпаду каніфолі та хімічних випарів флюсів працівник має обов'язково ввімкнути
систему локальної витяжної вентиляції, а самі маніпуляції виконувати в
антистатичних рукавичках із браслетом. Після завершення робочої зміни
інструмент обов'язково знеструмлюється, а працівник повинен ретельно вимити
руки. Категорично забороняється залишати ввімкнений паяльник без нагляду або
переносити його в розігрітому стані за межі робочої зони.
Для оперативного реагування на первинні осередки займання та ліквідації
небезпечних ситуацій, у приміщенні лабораторії безпосередньо біля виходу
Арк.
РТ225.026342.001 ПЗ
71
Змн. Арк. № докум. Підпис Дата
розміщено два вуглекислотні вогнегасники марки ВВК-5. Технічні характеристики
цих вогнегасників дозволяють ефективно гасити пожежі класу Е, тобто
електроустановки під напругою. Для забезпечення цілодобового контролю безпеки
саме виробниче приміщення обладнано автоматичною пожежною сигналізацією на
базі приймально-контрольного приладу Тірас-4П. Ця система інтегрує точкові
оптичні димові сповіщувачі СПД-3.2 та ручний сповіщувач СПР, що повністю
узгоджується з нормативними вимогами ДБН В-2.5-56-2014 та ДСТУ ЕН 54-1(12)-
2004. У разі спрацювання датчиків або виникнення іншої аварійної загрози
розпочинається негайна евакуація всього персоналу з приміщень лабораторії, яка
проводиться під чітким наглядом відділу охорони. Цей процес регламентується і
здійснюється у суворій відповідності до затвердженого графічного та текстового
Плану евакуації, розробленого для даного об'єкта згідно з вимогами НАПБ
А.01.001-2014.
Основними об'єктами захисного заземлення та зрівнювання потенціалів у
приміщенні лабораторії виступають тестові станції, паяльне обладнання, станції
прошивки мікроконтролерів, персональні комп’ютери, лабораторні блоки
живлення, а також антистатичні килими й індивідуальні браслети персоналу.
Оцінка та технічне нормування зазначеного фактора безпеки здійснюються
відповідно до вимог ПУЕ та НПАОП 40.1-1.21-98. Згідно з цими нормативними
документами, для промислових електроустановок напругою до 1000 В гранично
допустимий опір захисного заземлювального пристрою має становити не більше 4
Ом. Проте, за реальних умов експлуатації виробничої лінії внаслідок деградації
магістрального контуру та окиснення контактних з'єднань фактичний опір
заземлення в робочій зоні лабораторії є критично підвищеним і становить 45 Ом.
Порівняльний аналіз цих показників демонструє, що фактичний електричний
опір перевищує гранично допустиму технічну норму на 41 Ом, що свідчить про
грубе порушення вимог електробезпеки та чинних державних стандартів. Такий
незадовільний стан контуру призводить до вкрай небезпечних наслідків для
Арк.
РТ225.026342.001 ПЗ
72
Змн. Арк. № докум. Підпис Дата
персоналу та продукції, оскільки у разі аварійного пробою ізоляції обладнання під
напругою 220 В апаратура захисного вимкнення не спрацьовує через малу
величину струму витоку, створюючи постійну загрозу важкого ураження струмом,
судом та фібриляції серця у працівників при випадковому дотику до корпусів.
Окрім того, через надмірний опір заземлення унеможливлюється природне
стікання статичного розряду в землю, викликаючи накопичення електростатичного
потенціалу понад 2000 В на робочих поверхнях і призводячи до миттєвого
термічного випалювання внутрішніх структур чутливих мікроконтролерів на
друкованих платах. Для вирішення цієї проблеми та ліквідації ризиків необхідно
виконати ревізію і відновлення контуру заземлення до нормативних значень опору,
та встановити систему моніторингу щоб дана проблема не повторилась знову.
Відповідно до НПАОП 0.00-4.12-05 «Типове положення про порядок
проведення навчання та перевірки знань з питань охорони праці», для всіх
новоприйнятих на підприємство працівників в обов’язковому порядку проводяться
вступний та первинний інструктажі з охорони праці. Під час вступного
інструктажу, який здійснює спеціаліст з охорони праці, робітників ознайомлюють
із загальними правилами безпеки, внутрішнім трудовим розпорядком та
специфікою підприємства, а вже безпосередньо на робочому місці в лабораторії
безпосередній керівник проводить первинний інструктаж з деталізацією безпечних
методів виконання конкретних технологічних операцій. Додатково працівникам
під підпис видається індивідуальний комплект локальних нормативних документів,
що включає інструкції з охорони праці за професіями та видами робіт, План
евакуації та наочні пам’ятки з надання першої домедичної допомоги.
Також кожен працівник проходить обов’язкове спеціальне навчання та
перевірку знань щодо алгоритму дій у різних критичних та аварійних ситуаціях,
яке охоплює базові правила пожежної безпеки, захисту від електроструму та
тактики надання невідкладної допомоги потерпілим. З метою постійної візуалізації
та підтримання належного рівня пильності, по всьому підприємстві розміщені
Арк.
РТ225.026342.001 ПЗ
73
Змн. Арк. № докум. Підпис Дата
інформаційні стенди з короткими інфографічними пам’ятками, а також функціонує
внутрішня гаряча лінія, за допомогою якої співробітники можуть оперативно
повідомити службу охорони праці про виявлені технічні чи режимні порушення.
На регулярній основі на підприємстві проводяться планові перевірки знань у
вигляді комп'ютерного тестування та усного опитування, що дозволяє
переконатися у чіткому розумінні персоналом усіх виробничих ризиків,
мінімізувати вплив людського фактора на виникнення небезпек та підтвердити
допуск працівників до самостійного виконання робіт підвищеної небезпеки.
Також для прийому на роботу працівник має пройти обов’язковим медичний
огляд. Це проводиться згідно норм статей 169 та 191 КЗпП, а також статті 17 Закону
про охорону праці, а їхнє проведення та організація відбуваються відповідно до
Наказу МОЗ України № 246. Ціль медогляду полягає в тому щоб переконатись що
працівник може виконувати свої обов’язки та не поставить під загрозу своє життя
та життя своїх колег. Після проходження медогляду організація проводить щорічні
планові огляди серед працівників щоб слідкувати за їхнім здоров’ям. При роботі
пов’язані з ризиками для здоров’я працівник має право взяти відпустку з метою
оздоровлення.
Основними джерелами акустичного навантаження та шуму в приміщенні
лабораторії виступають загальнообмінна вентиляція, внутрішня примусова
система повітряного охолодження вимірювальних тестерів, активні елементи
системних блоків персональних комп’ютерів та лазерний принтер під час друку
документації. Оцінка та гігієнічне нормування зазначеного фактора здійснюються
відповідно до вимог ДСН 3.3.6.037-99. Згідно з цим нормативним документом, для
приміщень лабораторій, де виконуються теоретичні та дослідницькі роботи, а
також для робочих місць операторів персональних обчислювальних машин
гранично допустимий рівень шуму становить 50 дБА. За реальних умов одночасної
експлуатації всього переліченого устаткування фактичний сумарний рівень шуму
в робочій зоні лабораторії стабільно не перевищує 47 дБА. Порівняльний аналіз
Арк.
РТ225.026342.001 ПЗ
74
Змн. Арк. № докум. Підпис Дата
цих показників демонструє, що фактичне акустичне навантаження є меншим за
гранично допустиму санітарну норму на 3 дБА, що підтверджує повну
відповідність умов праці чинним державним стандартам.
Провівши аналіз виробничого середовища лабораторії, в якій здійснюється
виготовлення та тестування електронних плат, було встановлено, що всі
досліджувані характеристики, окрім опору захисного заземлення, перебувають у
межах оптимальних або гранично допустимих нормативних значень. Виміряний
рівень опору заземлювального пристрою є абсолютно недопустимим та вважається
критичною невідповідністю і грубим порушенням вимог
5.2. Розробка заходів щодо модернізації системи захисного заземлення в
приміщенні відділу
Для повного усунення даної проблеми незадовільного захисту виробничої
лінії, ліквідації небезпечних потенціалів та проведення параметрів електробезпеки
до нормативних значень, впроваджуються система, яка буде складатись з монітора
заземлення Desco 19246 Multi-Mount Monitor та оновленої системи
заземлювального контуру ESD Ground, в результаті чого буде сформована виділена
мережа, що дозволить знизити та стабілізувати загальний опір лінії у межах
нормативних 4 Ом.
Головними перевагами та технологічними плюсами розгортання мережі
«ESD Ground» є її повна конструктивна незалежність від загальних силових ліній
живлення важкого промислового устаткування будівлі, що повністю ліквідує ризик
зворотного занесення високочастотних імпульсних завад, стрибків напруги чи
паразитних струмів на вимірювальні стенди. Головна магістральна шина мережі
виготовлена із суцільновитягнутої електротехнічної міді марки М1 із
Арк.
РТ225.026342.001 ПЗ
75
Змн. Арк. № докум. Підпис Дата
геометричними розмірами профілю 40 на 4 міліметри, що забезпечує сумарну
площу поперечного перерізу 160 квадратних міліметрів. Для підключення
індивідуальних робочих місць від головної шини відгалужуються мідні
багатожильні провідники марки ПВ-3 перерізом 6 квадратних міліметрів у гнучкій
полівінілхлоридній ізоляції жовто-зеленого кольору.
Для підтвердження ефективності обраних перерізів проведено розрахунок
їхнього власного електричного опору. За питомого опору електротехнічної міді =
Ω2
0,0175 погонний опір магістральної шини ( = 1602) становить:
1
1
шини = ∗ = 0,0175 ∗ = 1.09 ∗ 10−4 Ω⁄
1 160
Погонний опір відгалужувального провідника ПВ-3 2 = 6 дорівнює:
1
пров = ∗ = 0,0175 ∗ = 2,94 ∗ 10−3 Ω⁄
2 6
Навіть за максимальних довжин ділянок у межах лабораторії 20 м магістралі
та 3 м лінії відгалуження сумарний опір металозв'язку становитиме:
сум = (1,09 ∗ 10−4 ∗ 20) + (2,94 ∗ 10−3 ∗ 3) = 0,011Ω
Отримане значення 0,011Ω є малим і становить менш ніж 0,3% від
максимально дозволеного нормативного опору контуру заземлення ≤ 4Ω згідно
з ПУЕ для обладнання 220 В та ≤ 10Ω за стандартами ESD-захисту. Це
математично доводить, що обрані геометричні параметри повністю нівелюють
вплив провідників на загальний опір розтіканню струму, забезпечуючи миттєве
аварійне спрацьовування автоматики захисту та безперешкодне відведення
електростатичного потенціалу.
Важливою характеристикою мережі є її повна електрична ізоляція від
несучих металоконструкцій та стін будівлі, яка реалізована за допомогою силових
Арк.
РТ225.026342.001 ПЗ
76
Змн. Арк. № докум. Підпис Дата
діелектричних ізоляторів типу SM-25 із номінальною напругою ізоляції до 660
Вольт. Всі технологічні приєднання та відгалуження провідників у межах мережі
виконані виключно за допомогою гвинтових та болтових з'єднань класу міцності
8.8 із обов'язковим застосуванням пружинних шайб для запобігання
самовідкручуванню, що забезпечує стабільний перехідний опір контактних груп на
рівні не більше 0,05 Ом.
Головними перевагами та технологічними плюсами розгортання мережі
«ESD Ground» з такими характеристиками є її повна конструктивна незалежність
від загальних силових ліній живлення важкого промислового устаткування будівлі,
що повністю ліквідує ризик зворотного занесення високочастотних імпульсних
завад, стрибків напруги чи паразитних струмів на чутливі комп'ютерні та
вимірювальні стенди. Використання зазначених суцільнометалевих мідних шин
великого перерізу забезпечує високу механічну міцність до тривалих
технологічних вібрацій, а також абсолютну стійкість до хімічної та атмосферної
корозії в умовах виробничої лабораторії.
Рисунок 5.1. - Двооператорний монітор безперервної дії Desco 19246
Арк.
РТ225.026342.001 ПЗ
77
Змн. Арк. № докум. Підпис Дата
На базі цієї оновленої мережі безпосередньо на робочому місці лабораторії
розгортається монітор Desco 19246, який виступає центральним цифровим вузлом
безпеки і в режимі реального часу за допомогою технології хвильового аналізу
безперервно вимірює та аналізує опір оновленого заземлювального шляху. Прилад
гарантує надійність відновленого контуру шляхом організації безперервного
апаратного контролю кіл «оператор-браслет», «устаткування-земля» та
«антистатичний килим-земля», повністю ліквідуючи людський фактор та ризик
прихованої деградації ліній зв'язку в процесі експлуатації. Згідно з технічним
паспортом пристрою, його основними характеристиками є можливість
одночасного незалежного контролю двох операторів через індивідуальні
антистатичні браслети та двох антистатичних робочих поверхонь, що робить його
оптимальним для оптимізації суміжних робочих зон. Прилад живиться від
безпечного зовнішнього джерела напругою 24 Вольти постійного струму через
адаптер від промислової мережі. Вимірювальний тракт монітора працює в
тестовому діапазоні опору від 500 кОм до 10 МОм для лінії оператора, а граничний
ліміт опору для робочої поверхні зафіксовано на рівні 10 МОм. Завдяки
використанню запатентованої технології хвильового аналізу Wave Distortion
Technology, прилад забезпечує справжній безперервний моніторинг у режимі
реального часу, на відміну від імпульсних чи переривчастих систем аналізу.
Прилад має надзвичайно малий час відгуку аварійної сигналізації, який складає
менше 50 мілісекунд, що дозволяє миттєво ідентифікувати найменші коливання та
мікрообриви в заземлювальному шляху. Коли ж фактичний опір оновленого
заземлення через випадкове механічне пошкодження контактів, вібрацію чи
окиснення з'єднань перевищує критичний технічний поріг, прилад миттєво активує
гучний вбудований звуковий сигнал та яскраву червону світлодіодну індикацію
тривоги для відповідного каналу, що змушує персонал негайно призупинити
технологічний процес, повністю виключаючи тривалу роботу обладнання під
небезпечною напругою 220 В за умов несправного або пошкодженого захисту.
Арк.
РТ225.026342.001 ПЗ
78
Змн. Арк. № докум. Підпис Дата
Завдяки інтеграції монітора в оновлену низькоомну систему заземлення та
його внутрішній архітектурі, яка передбачає підключення всіх елементів лінії через
прецизійні захисні резистори номіналом 1 МОм, забезпечується постійне й
гарантоване вирівнювання потенціалів між корпусами паяльних станцій,
лабораторних блоків живлення, вимірювальних тестерів та тілом оператора. Нова
високопровідна мережа разом із приладом контролю забезпечує плавне і безіскрове
розсіювання накопиченого від тертя чи вентиляції електростатичного потенціалу
понад 2000 В безпосередньо в землю через оновлений контур, що повністю
захищає чутливі мікроконтролери друкованих плат від випадкового випалювання
статичною електрикою. Крім того, такий безперервний та стабільний шлях зв'язку
з відновленою землею, контрольований монітором, забезпечує миттєве скидання
залишкових зарядів із ємнісних елементів та конденсаторів виробу після
вимкнення живлення, а також гарантує негайне спрацювання автоматичних
вимикачів та пристроїв захисного вимкнення (ПЗВ) у разі аварійного пробою фази
на корпус. Впровадження монітора Desco 19246 у синергії з повним технічним
оновленням заземлювальних ліній дозволяє трансформувати аварійну виробничу
лінію у гарантовано безпечну EPA-зону, повністю захищаючи персонал від важких
електротравм чи судом та забезпечуючи стовідсоткову відповідність лабораторії
жорстким нормативним вимогам ПУЕ, НПАОП 40.1-1.21-98 та стандарту ДСТУ
IEC 61340-5-1.
Арк.
РТ225.026342.001 ПЗ
79
Змн. Арк. № докум. Підпис Дата
ВИСНОВКИ
В даній кваліфікаційній роботі було розглянуто проблему візуальною
інспекцією світлодіодної індикації оператором, та було запропоноване технічне
вирішення в вигляді програмно-апаратного комплексу світлодіодної індикації. Та
було реалізовано його прототип який був перевірений на практиці.
В ході розробки прототипу було проведено огляд готових рішень та аналіз
їхніх слабких і сильних сторін з ціль виділити ключові характеристики які мають
бути реалізовані в прототипі. Зважаючи на технічне завдання було визначено
основні характеристики яким мав би відповідати розробляймий прилад, а саме
швидкість роботи, компактність, підтримка відповідного інтерфейсу RS-232 та
дешевизна. Зважаючи на ці вимоги було проведено аналіз та вибір компонентів з
яких і був сформований прилад. Одним з основних компонентів стала
налагоджувальна плата Blue Pill з мікроконтролером STM32F103C8 який являється
досить потужний та економічно вигідним для цього проекту. Іншим компонентом
який теж являється критично важливим для даного проекту є датчик освітлення
TCS34725. Цей датчик виділявся поміж інших тим що він мав фільтри які
дозволяли розбивати світло на аспекти червоного, синього тазеленого що
дозволяло досить точно працювати та обробляти дані здатчика. В звязку з
особливостями тестового оладнанням для якого і створювався даний пристріт
також виникає необхідність перевасти логіку TTL яку використовує STM32F103C8
в RS-232. Для цих цілей було використано мікросхему MAX3232.
Розробка програмного забезпечення відбувалась в кросплатформному
редакторі коду VSCode з використанням розширенням PlatformIO який був
написаний відчизняними разробниками та дає широкі можливості для написання
коду і прошивці великої кількості мікроконтролерів включно з STM32. В самому
розширені написання коду відбувалось за допомогою фреймворка STM32Cube
який дозволяє писати які і високорівневий так і низькорівневий код що надає
Арк.
РТ225.026342.001 ПЗ
80
Змн. Арк. № докум. Підпис Дата
можливість контролювати час виконання та обсяг пам’яті мікроконтролера там де
це потрібно й не дармувати ресурси чіпа.
Виготовлений пристрій в рази спрощує процес тестування так як тепер
потрібно просто прикріпити пристрій до корпуса і він безпомилково оцінить стан
світлодіода та передасть результат до тестере що призведе до значного зменшення
пропущених браків в результаті людського фактора. Також в даній роботі було
підвернуто аналізу робочі місця виробництва. Під час цього аналізу було
розглянуто ризики які можуть виникнути при роботі з електроною продукцією.
Зважаючи на вище сказане можна ствержувати про виконання мети даної роботи
так як запропонований прототип задовільняє всі поставлені вимоги.
Арк.
РТ225.026342.001 ПЗ
81
Змн. Арк. № докум. Підпис Дата
Список використаних джерел
1. Gemini-Flash 3.5 (Версія від травня 2026 р.) / Google. - URL:
https://gemini.google.com/
2. Feasa LED Analyser Product Documentation / Feasa Enterprises Ltd. - URL:
https://www.feasa.ie/
3. FINNtrometer LED Testing Solutions / FINN Test Electronics. - URL:
https://www.finntestelectronics.com/product/finntrometer/
4. colorCONTROL MFA Multi-position Color Recognition System / Micro-Epsilon
Messtechnik GmbH. - URL: https://www-micro--epsilon-
com.translate.goog/industry-sensors/color-sensors/led-analyzers/
5. Cognex In-Sight Vision Systems Product Suite / Cognex Corporation. - URL:
https://cognex.pro/#!/tab/2099711451-4
6. STM32F103C8 Microcontroller Reference Documentation / STMicroelectronics.
- URL: https://www.st.com/en/microcontrollers-
microprocessors/stm32f103t6.html
7. ATmega328P 8-bit AVR Microcontroller with 32K Bytes In-System
Programmable Flash Datasheet / microchip Technology Inc. - URL:
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-
Microcontrollers-ATmega328P_Datasheet.pdf
8. Arduino Uno Rev3 Hardware Documentation / Arduino URL:
https://docs.arduino.cc/hardware/uno-rev3/
9. Arduino Nano Hardware Documentation / Arduino URL:
https://docs.arduino.cc/hardware/nano/
10. ESP32-WROOM-32 Datasheet v3.4 / Espressif Systems. —URL:
https://www.espressif.com/sites/default/files/documentation/esp32-wroom-
32_datasheet_en.pdf
11. APDS-9960 Digital Proximity, Ambient Light, RGB and Gesture Sensor :
Datasheet / Avago Technologies (Broadcom). - URL:
Арк.
РТ225.026342.001 ПЗ
82
Змн. Арк. № докум. Підпис Дата
https://www.alldatasheet.com/datasheet-pdf/pdf/918047/AVAGO/APDS-
9960.html
12. TCS3200 Programmable Color Light-to-Frequency Converter : Datasheet/ Texas
Advanced Optoelectronic Solutions Inc. (ams OSRAM). - URL:
https://look.ams-osram.com/m/664723bdb31f55db/original/TCS3200-
DS000107.pdf
13. TCS34725 Color Light-to-Digital Converter with IR Filter : Datasheet/ Texas
Advanced Optoelectronic Solutions Inc. (ams OSRAM). - URL: https://look.ams-
osram.com/m/7ec5bcc3e40679be/original/TCS3472-DS000390.pdf
14. ISL29125 Digital Red, Green and Blue Color Light Sensor with IR Blocking
Filter: Datasheet/ Renesas Electronics - URL:
https://www.renesas.com/en/products/isl29125
15. AS7262 Consumer Grade Smart 6-Channel VIS Sensor: Datasheet/ Texas
Advanced Optoelectronic Solutions Inc. (ams OSRAM) - URL: https://ams-
osram.com/products/sensor-solutions/ambient-light-color-spectral-proximity-
sensors/ams-as7262-consumer-grade-smart-6-channel-vis-sensor
16. LM2596 SIMPLE SWITCHER Power Converter 150-kHz 3-A Step-Down
Voltage Regulator : Datasheet/ Texas Instruments. - URL:
https://www.alldatasheet.com/datasheet-pdf/pdf/543770/TI1/LM2596.html
17. MP1584 3A, 1.5MHz, 28V Step-Down Converter : Datasheet/ Monolithic Power
Systems (MPS). - URL: https://www.alldatasheet.com/datasheet-
pdf/pdf/551592/MPS/MP1584.html
18. MP2307DN 3A, 23V, 340KHz Synchronous Step-Down Converter: Datasheet/
Monolithic Power Systems (MPS). - URL:
https://www.alldatasheet.com/datasheet-pdf/view/188828/MPS/MP2307DN.html
19. MAX232 Dual EIA-232 Drivers and Receivers : Datasheet/ Texas Instruments. -
URL: https://www.ti.com/lit/ds/symlink/max232.pdf
Арк.
РТ225.026342.001 ПЗ
83
Змн. Арк. № докум. Підпис Дата
20. MAX3232 3-V to 5.5-V Multichannel RS-232 Line Driver and Receiver:
Datasheet/ Texas Instruments. - URL:
https://www.ti.com/lit/ds/symlink/max3232.pdf
21. CMSIS - Cortex Microcontroller Software Interface Standard Framework / ARM
Software. - URL: https://arm-
software.github.io/CMSIS_6/latest/General/index.html
22. STM32CubeIDE User Guide / STMicroelectronics. - URL:
https://www.st.com/resource/en/user_manual/um2609-stm32cubeide-user-guide-
stmicroelectronics.pdf
23. Keil MDK-ARM Microcontroller Development Kit/ Arm Keil. - URL:
https://www.keil.com/mdk5/
24. ArduinoIDE 2.0/ Arduino - URL: https://docs.arduino.cc/software/ide/#ide-v2
25. Visual Studio Code open source AI code editor/ Microsoft - URL:
https://code.visualstudio.com
26. PlatformIO IDE for VS Code Documentation/ PlatformIO Labs. - URL:
https://docs.platformio.org/en/latest/integration/ide/vscode.html
Арк.
РТ225.026342.001 ПЗ
84
Змн. Арк. № докум. Підпис Дата