Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/6336
Full metadata record
DC FieldValueLanguage
dc.contributor.advisorНечипоренко, Ольга Володимирівна-
dc.contributor.authorНетахата, Юрій Володимирович-
dc.date.accessioned2025-12-17T15:11:45Z-
dc.date.available2025-12-17T15:11:45Z-
dc.date.issued2023-06-
dc.identifier.urihttps://er.chdtu.edu.ua/handle/ChSTU/6336-
dc.description.abstractДослідження, присвячене розробці системи автоматичного вимкненняметалообробних верстатів при перемиканні на резервне живлення за допомогою мікроконтролера, є актуальним у зв'язку з сучасними вимогами до ефективності, точності та безпеки виробничих процесів металообробки. У результаті дослідження було розроблено систему, яка забезпечує автоматичне вимкнення металообробних верстатів при перемиканні на резервне живлення. Для досягнення цієї мети було виконано такі завдання: проведено аналіз автоматизованих систем контролю виробничих процесів металообробки, а також аналіз системи автоматичного вимкнення при перемиканні на резервне живлення. Після аналізу вихідних даних було обрано спосіб реалізації задачі за допомогою мікроконтролера Atmega16 в системах CodeVisionAVR / Proteus, а також за допомогою плати Arduino UNO в системах Arduino IDE / Proteus. Було розроблено алгоритм автоматичного вимкнення та проведено тестування працездатності та ефективності програми в симуляції. Крім того, були проаналізовані додаткові можливості плат Arduino для масштабних проектів металообробних підприємств, що може сприяти подальшому розвитку і вдосконаленню системи автоматизованого контролю виробничих процесів металообробки. Результати даного дослідження сприятимуть підвищенню якості та ефективності виробництва в галузі еталообробки, а також сприятимуть поліпшенню безпеки роботи операторів та забезпеченню стабільної якості продукції.uk_UA
dc.language.isoukuk_UA
dc.titleАвтоматизована система контролю виробничого процесу металообробкиuk_UA
dc.typeBachelor Thesisuk_UA
Appears in Collections:174 Автоматизація, комп'ютерно-інтегровані технології та робототехніка (Автоматизація та комп'ютерно-інтегровані системи та компоненти)

Files in This Item:
File Description SizeFormat 
Б_151_2023_Нетахата.pdf
  Restricted Access
11.5 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
 
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ 
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ 
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ 
КАФЕДРА РОБОТОТЕХНІКИ ТА СПЕЦІАЛІЗОВАНИХ КОМП’ЮТЕРНИХ 
СИСТЕМ 
Пояснювальна записка 
до кваліфікаційної роботи 
освітнього ступеня «бакалавр» 
на тему: АВТОМАТИЗОВАНА СИСТЕМА КОНТРОЛЮ 
ВИРОБНИЧОГО ПРОЦЕСУ МЕТАЛООБРОБКИ 
 
 
 
 
 
 
 
Виконав: здобувач вищої освіти 2 курсу, 
групи АКІТС-2199 
 спеціальності 151 Автоматизація та 
комп’ютерно-інтегровані технології 
 Юрій НЕТАХАТА 
 (ім'я та ПРІЗВИЩЕ) 
Керівник Ольга НЕЧИПОРЕНКО 
 (ім'я та ПРІЗВИЩЕ) 
Рецензент Микола ОНИЩЕНКО 
 (ім'я та ПРІЗВИЩЕ) 
 
 
Черкаси 2023 року 
ЗМІСТ 
СПИСОК УМОВНИХ ПОЗНАЧЕНЬ ТА СКОРОЧЕНЬ ......................................... 4 
ВСТУП ...................................................................................................................... 5 
1. АВТОМАТИЗОВАНА СИСТЕМА КОНТРОЛЮ ВИРОБНИЧОГО ПРОЦЕСУ 
МЕТАЛООБРОБКИ ............................................................................................. 7 
1.1 ЗАГАЛЬНА ІНФОРМАЦІЯ ................................................................................. 7 
1.2 ВПЛИВ СИСТЕМ НА МЕТАЛООБРОБКУ ............................................................. 9 
1.3 ШТУЧНИЙ ІНТЕЛЕКТ В АСКВП МЕТАЛООБРОБКИ ....................................... 11 
1.4 СИСТЕМИ АВТОМАТИЧНОГО ВИМКНЕННЯ ВЕРСТАТІВ ................................... 13 
1.5 ОГЛЯД АНАЛОГІВ ......................................................................................... 15 
2.РОЗРОБКА СИСТЕМИ АВТОМАТИЧНОГО ВИМКНЕННЯ 
МЕТАЛООБРОБНИХ ВЕРСТАТІВ ПРИ ПЕРЕМИКАННІ НА РЕЗЕРВНЕ 
ЖИВЛЕННЯ ЗА ДОПОМОГОЮ МІКРОКОНТРОЛЕРА ................................ 18 
2.2 ЗАГАЛЬНА ПОСТАНОВКА ЗАДАЧІ .................................................................. 18 
2.2 РОЗРОБКА СИСТЕМИ ДЛЯ ВИРІШЕННЯ ЗАДАЧІ НА МІКРОКОНТРОЛЕРІ 
ATMEGA16 .................................................................................................. 19 
2.2.1 ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ ДЛЯ РЕАЛІЗАЦІЇ ЗАДАЧІ .................................. 24 
2.2.1.1 CODEVISIONAVR .................................................................................. 24 
2.2.1.2 PROTEUS DESIGN ................................................................................... 26 
2.2.2 СТВОРЕНЯ МОДЕЛІ СТЕНДУ В PROTEUS ..................................................... 28 
2.2.3 РОЗРОБКА ПРОГРАМИ ДЛЯ МІКРОКОНТРОЛЕРА ATMEGA16 ......................... 34 
2.3 РОЗРОБКА СИСТЕМИ ДЛЯ ВИРІШЕННЯ ЗАДАЧІ НА ARDUINO UNO .................. 41 
2.3.1 ЗМІНИ В ПРОГРАМНОМУ ЗАБЕЗПЕЧЕННІ ДЛЯ РЕАЛІЗАЦІЇ ЗАДАЧІ НА ARDUINO 
UNO ............................................................................................................ 44 
2.3.2 СТВОРЕННЯ МОДЕЛІ СТЕНДУ..................................................................... 46 
2.3.3 РОЗРОБКА ПРОГРАМИ ARDUINO UNO ........................................................ 49 
  
ЧДТУ.232254.001.ПЗ 
Змн. Арк. № докум. Підпис Дата 
 Розроб. Нетахата Ю.В. Літ. Лист. Листів 
 Перевір. Нечипоренко О.В Автоматизована система 
2 65 
контролю виробничого процесу 
 Реценз. Онищенко М.В. 
металообробки. Пояснювальна  
 Н. Контр.  
 записка ЧДТУ, АКІТС-2199 
 Затверд. Лукашенко В.М. 
 
 
2.3.4 ДОДАТКОВІ МОЖЛИВОСТІ ПЛАТ ARDUINO ................................................. 52 
2.3.4.1 ОБ’ЄДНАННЯ ПЛАТ ARDUINO ................................................................. 52 
2.3.4.2 ВИКОРИСТАННЯ ПЛАТ РОЗШИРЕННЯ ...................................................... 59 
2.3.4.3 ARDUINO MEGA ..................................................................................... 61 
ВИСНОВКИ............................................................................................................ 63 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ................................................................ 64 
Лист 
ЧДТУ.232254.004.ПЗ 3 
Змн. Арк. № докум. Підпис Дата 
 
СПИСОК УМОВНИХ ПОЗНАЧЕНЬ ТА СКОРОЧЕНЬ 
ARM – 32-бітові мікроконтролери 
AVR, PIC  – восьмибітові мікроконтролери  
B – Вольти 
BPS – backup power supply/ резервне живлення 
DIY – Do it yourself / зроби сам 
EEPROM – Electrically Erasable Programmable Read-Only Memory/ постійний 
запам’ятовувач  
GND – вивід землі 
GPIO – General Purpose Input/Output / порти введеня виведення 
I2C – Inter-Integrated Circuit /послідовна шина даних  
IDE – (Integrated Development Environment) / інтегроване середовище 
розробки 
PWM(ШІМ) – pulse-width modulation / широтно імпульсна модуляція 
SPI – Serial Peripheral Interface / послідовний периферійний інтерфейс 
SRAM – static random access memory / Статична оперативна пам'ять 
TWI  – Two-Wire Interface / альтернативна назва I2C 
USART – Universal Synchronous/Asynchronous Receiver/Transmitter / 
універсальний синхронно-асинхронний прийомопередатчик  
VCC – виводи джерела живлення 
АСКВП – Автоматизована система контролю виробничого процесу 
АЦП – аналогово цифровий пертворювач 
БД – База даних 
БІ – Біометрична ідентифікація  
КЗ – Коротке замикання 
МГц – Мегагерц 
МК – Мікроконтролер 
ПЗ – Програмне забезпечення 
ПК – Персональний комп’ютер 
ШІ – Штучний Інтелект 
Лист 
ЧДТУ.232254.001.ПЗ 4 
Змн. Арк. № докум. Підпис Дата 
 
ВСТУП 
 
Актуальність теми. 
Автоматизована система контролю виробничого процесу(АСКВП) 
металообробки є комплексом технологічних рішень і програмного забезпечення, 
призначених для моніторингу, керування та оптимізації процесів металообробки. 
Ця система використовується для автоматизації виробничих ліній і допомагає 
забезпечити ефективність та якість виробництва.[1] 
Переваги використання автоматизованої системи контролю виробничого 
процесу металообробки включають підвищену точність обробки, зменшення 
відхилень, зниження витрат на матеріали та енергію, покращення безпеки роботи 
та забезпечення стабільної якості продукції. 
Застосування АСКВП може бути різноманітним, тому і встановлюються такі 
системи майже на будь-які металообробні верстати, наприклад, навіть на верстати, 
що були модифіковані за допомогою програмованих реле, що є економічно 
вигіднішим, ніж купувати дороговартісні верстати з системою числового 
програмного управління.[1] 
В цілому, автоматизована система контролю виробничого процесу 
металообробки допомагає підвищити продуктивність, якість та ефективність 
виробництва, забезпечуючи оптимальне функціонування обладнання та процесів 
металообробки.[2] 
Переваги використання автоматизованої системи контролю виробничого 
процесу металообробки включають підвищену точність обробки, зменшення 
відхилень, зниження витрат на матеріали та енергію, покращення безпеки роботи 
та забезпечення стабільної якості продукції.[1] 
З огляду на ситуацію, що склалася в країні на момент написання роботи, а 
саме можливі збої в електроживлення, які негативно впливають на якість 
виготовлених деталей і можливі поломки інструменту або робочих вузлів верстата. 
На підставі викладеного можна охарактеризувати дану роботу як актуальну. 
Лист 
ЧДТУ.232254.001.ПЗ 5 
Змн. Арк. № докум. Підпис Дата 
 
Мета і завдання дослідження. Метою роботи є розробка системи 
автоматичного вимкнення металообробних верстатів при перемиканні на резервне 
живлення за допомогою мікроконтролера 
Для досягнення поставленої мети необхідно поставити і виконати такі 
завдання: 
1. Виконати аналіз автоматизованих систем контролю виробничих систем 
металообробки, надати загальну інформацію про такі системи, 
проаналізувати вплив таких систем на галузь, розглянути впровадження 
штучного інтелекту в АСКВП. 
2. Виконати аналіз системи автоматичного вимкнення металообробних 
верстатів при перемиканні на резервне живлення, надати аналоги системи. 
3. Розробити систему автоматичного вимкнення металообробних верстатів 
при перемиканні на резервне живлення проаналізувавши вихідні дані, 
обрати спосіб реалізації задачі за допомогою мікроконтролера Atmega16 в 
системах CodeVisionAVR / Proteus. 
4. Розробити аналог системи автоматичного вимкнення металообробних 
верстатів при перемиканні на резервне живлення проаналізувавши вихідні 
дані, обрати спосіб реалізації задачі за допомогою Arduino UNO в системах 
Arduino IDE/ Proteus. 
5.  Проаналізувати додаткові можливості плат Arduino для масштабних 
проектів металообробних підприємств 
Об'єкт дослідження – процес автоматичного вимкнення металообробних 
верстатів при перемиканні на резервне живлення за допомогою мікроконтролера 
Предмет дослідження – Розробка алгоритму автоматичного вимкнення 
тестування працездатності та ефективності програми в симуляції. 
Методи досліджень. У процесі дослідження застосовувались: Система 
розробки і програмування для AVR мікроконтролерів CodeVisionAVR. Система 
розробки і програмування для плат Arduino UNO Arduino IDE. Система 
моделювання і візуалізації роботи програми Proteus Design. 
  
Лист 
ЧДТУ.232254.001.ПЗ 6 
Змн. Арк. № докум. Підпис Дата 
 
1. АВТОМАТИЗОВАНА СИСТЕМА КОНТРОЛЮ ВИРОБНИЧОГО 
ПРОЦЕСУ МЕТАЛООБРОБКИ 
 
1.1 Загальна інформація 
Автоматизована система контролю виробничого процесу(АСКВП) 
металообробки є комплексом різноманітних технологічних рішень та 
спеціалізованого програмного забезпечення, розробленого з метою ефективного 
моніторингу, точного керування та оптимізації всіх етапів металообробного 
процесу. Ця комплексна система впроваджується з метою автоматизації виробничих 
ліній, і вона виявляється надзвичайно корисною в покращенні продуктивності та 
підвищенні якості виробництва.[1] 
Основні компоненти АСКВП включають сенсори та вимірювальні прилади, 
системи керування, програмне забезпечення для аналізу даних та інтерфейс 
користувача. Сенсори збирають дані про параметри обробки, які передаються 
системі керування для обробки та прийняття рішень. Програмне забезпечення 
аналізує ці дані, виявляє аномалії та допомагає операторам у покращенні процесів. 
Інтерфейс користувача надає зручний спосіб відстежування та налаштування 
параметрів системи.[1] 
Використання АСКВП має численні переваги, включаючи підвищену 
точність обробки, зменшення відхилень, зниження витрат на матеріали та енергію, 
поліпшення безпеки роботи та забезпечення стабільної якості продукції. Вона 
застосовується в різних областях металообробки, таких як автоматичні лінії 
зварювання, гнуття металу та термообробка.  
Автоматизована система контролю виробничого процесу металообробки 
дозволяє досягти ряду значних переваг для підприємств. Нижче перераховано деякі 
з них: 
1. Підвищення продуктивності: АСКВП допомагає оптимізувати робочі 
процеси, автоматизувати виробничі лінії та забезпечити більш ефективне 
використання обладнання. Це призводить до збільшення виробничої 
Лист 
ЧДТУ.232254.001.ПЗ 7 
Змн. Арк. № докум. Підпис Дата 
 
потужності та зниження часу циклу, що дозволяє більше деталей 
виготовляти за коротший період.[2] 
2. Покращення якості продукції: АСКВП дозволяє контролювати параметри 
обробки в реальному часі та вживати необхідні корективи для забезпечення 
високої якості виготовлених деталей. Вона також допомагає виявляти 
непередбачені аномалії та запобігати виникненню бракованих виробів.[1] 
3. Зниження витрат: АСКВП допомагає знизити витрати на матеріали та 
енергію шляхом оптимізації процесів. Вона контролює параметри обробки, 
що дозволяє ефективніше використовувати різальні інструменти та 
матеріали, а також раціонально розподіляти енергетичні ресурси.[4] 
4. Підвищення безпеки: АСКВП дозволяє виявляти потенційно небезпечні 
ситуації та вживати відповідних заходів для запобігання аваріям та травмам. 
Вона забезпечує постійний моніторинг параметрів обладнання та реагує на 
відхилення, що допомагає забезпечити безпеку працівників.[4] 
5. Збільшення гнучкості: АСКВП може бути налаштована для виконання різних 
завдань металообробки. Вона може працювати з різними типами обладнання 
та процесів, що дає можливість підприємствам гнучко адаптуватися до 
змінних виробничих потреб.[1] 
6. Оптимальне управління ресурсами: АСКВП допомагає підприємствам 
ефективно використовувати ресурси, такі як робочий час, матеріали та 
обладнання. Вона допомагає планувати та розподіляти ресурси таким чином, 
щоб досягти найкращих результатів з мінімальними витратами.[2] 
 
Загалом, АСКВП є незамінним інструментом для підвищення 
продуктивності, якості та ефективності виробництва в сфері металообробки. Вона 
допомагає підприємствам досягти конкурентної переваги, забезпечуючи 
оптимальне функціонування обладнання та процесів металообробки. 
 
Лист 
ЧДТУ.232254.001.ПЗ 8 
Змн. Арк. № докум. Підпис Дата 
 
1.2 Вплив систем на металообробку 
АСКВП мають значний вплив на галузь металообробки, забезпечуючи численні 
переваги та покращення. Розглянемо декілька способів якими автоматизовані 
системи контролю виробничого процесу вплинули на галузь металообробки: 
1. Підвищена точність та якість обробки: АСКВП дозволяють контролювати та 
керувати процесами металообробки з високою точністю. Системи здатні 
моніторити різні параметри обробки, такі як швидкість різання, температура, 
тиск та розміри деталей. Це дозволяє досягати більш точних і однорідних 
результатів, знижуючи відхилення та помилки виробництва. 
2. Підвищення продуктивності: АСКВП забезпечують автоматизацію та 
оптимізацію процесів металообробки. Вони здатні аналізувати дані про 
продуктивність, ефективність та час виконання завдань. За допомогою 
автоматичної корекції параметрів та оптимізації режимів обробки, АСКВП 
допомагають збільшити продуктивність, скоротити час виробництва та 
знизити витрати. 
3. Підвищення безпеки праці: Автоматизовані системи контролю 
виробничого процесу металообробки значно впливають на галузь 
металообробки, особливо щодо безпеки праці. Ці системи вводяться з метою 
забезпечення безпечного та надійного функціонування виробничих ліній і 
захисту операторів та працівників від потенційних ризиків і небезпек.  
АСКВП впливають на безпеку праці в галузі металообробки через 
декілька способів. Вони постійно моніторять різні параметри безпеки, такі як 
тиск, температура, вібрація та рівень шуму, аналізуючи їх у реальному часі. 
У разі виявлення небезпечних відхилень або перевищення допустимих 
значень, АСКВП спрацьовують і ініціюють безпечні заходи, такі як 
автоматичне зупинення обладнання або відключення джерел енергії. 
Крім того, АСКВП оснащені сенсорами та датчиками, які виявляють 
потенційно небезпечні ситуації або аварії, такі як перегрів обладнання, 
витоки рідин або газів, затримки в руху частин машини тощо. Ці системи 
Лист 
ЧДТУ.232254.001.ПЗ 9 
Змн. Арк. № докум. Підпис Дата 
 
негайно спрацьовують і сповіщають операторів або відповідний персонал для 
подальших дій. 
АСКВП також можуть автоматично виконувати безпечні процедури або 
установки перед початком роботи. Наприклад, система може перевіряти 
наявність необхідних захисних пристроїв, відсутність перешкод для руху 
обладнання або належну фіксацію деталей. Це допомагає уникнути 
небезпечних ситуацій, спричинених неправильною настройкою або 
незадовільними умовами для роботи.  
Крім того, АСКВП можуть бути налаштовані для автоматичного 
реагування на небезпечні події або аварії. Наприклад, система може 
автоматично зупиняти рух обладнання або відключати джерела енергії в разі 
виявлення небезпечної ситуації. Це допомагає попередити подальші 
ушкодження обладнання, зменшити ризик для працівників та забезпечити 
швидку реакцію на небезпеку. [2] 
4. Ефективне управління ресурсами: Автоматизовані системи контролю 
виробничого процесу металообробки надають велику перевагу в 
ефективному управлінні ресурсами. Ці системи сприяють зниженню витрат, 
оптимізації використання ресурсів та покращенню енергоефективності. 
Вони здатні моніторити та аналізувати енергоспоживання обладнання та 
процесів металообробки, що дозволяє виявляти енергоефективність та 
ідентифікувати можливості для зменшення споживання енергії. 
Крім того, АСКВП контролюють використання матеріалів, що сприяє виявленню 
шляхів покращення управління матеріалами та зменшенню відходів. 
Використання аналітичних алгоритмів та моделей у прогнозуванні попиту, 
ресурсних потреб та виробничої потужності дозволяє підприємствам планувати 
використання ресурсів та оптимізувати виробничі процеси. 
Крім того, АСКВП можуть інтегруватись з системами управління ланцюгом 
постачання, що сприяє покращенню координації та ефективності процесів 
постачання матеріалів та компонентів. 
Лист 
ЧДТУ.232254.001.ПЗ 10 
Змн. Арк. № докум. Підпис Дата 
 
Впровадження АСКВП сприяє ефективному управлінню ресурсами, 
зниженню витрат та підвищенню енергоефективності, що приносить значні 
економічні переваги та сприяє збереженню ресурсів. 
5. Підвищення конкурентоспроможності: Впровадження АСКВП дозволяє 
підприємствам в галузі металообробки підвищити свою 
конкурентоспроможність. Завдяки поліпшенню точності, якості та 
продуктивності, підприємства можуть виготовляти високоякісні вироби 
швидше та ефективніше. Автоматизовані системи також дозволяють швидко 
реагувати на змінні потреби ринку та забезпечувати гнучкість виробництва. 
В цілому, АСКВП мають значний позитивний вплив на галузь металообробки, 
забезпечуючи покращення продуктивності, якості, безпеки та управління 
ресурсами. Ці системи допомагають підприємствам досягати високих стандартів 
виробництва та залишатися конкурентоспроможними на ринку. 
 
1.3 Штучний інтелект в АСКВП металообробки 
Багато сучасних Автоматизовані системи контролю виробничого процесу 
металообробки використовують штучний інтелект для покращення своїх 
можливостей. Штучний інтелект є ключовою технологією, що дозволяє системам 
автоматизованого контролю виробничого процесу металообробки розуміти, 
аналізувати та приймати рішення на основі складних даних та ситуацій.[2] 
Ось деякі способи, якими штучний інтелект використовується в АСКВП: 
1. Аналітика даних: ШІ допомагає обробляти та аналізувати великі обсяги 
даних, зібраних з датчиків та інших джерел, що стосуються виробничих 
процесів. Він може виявляти корисні зв'язки, тренди та закономірності, що 
допомагають зрозуміти причини неполадок, виявляти можливості для 
покращення та робити передбачення.[2] 
2. Автоматичне прийняття рішень: штучний інтелект може використовувати 
алгоритми прийняття рішень для автоматичного реагування на відхилення та 
небезпечні ситуації. Він може аналізувати дані з сенсорів та систем контролю, 
порівнювати їх зі заздалегідь заданими стандартами та вимогами безпеки, і 
Лист 
ЧДТУ.232254.001.ПЗ 11 
Змн. Арк. № докум. Підпис Дата 
 
при потребі запускати відповідні заходи безпеки, наприклад, зупинку 
обладнання або активацію аварійних систем. 
3. Прогнозування та планування: ШІ може використовуватись для 
прогнозування попиту, визначення оптимального розподілу ресурсів, а також 
планування виробництва. Він аналізує історичні дані, зовнішні фактори та 
інші вхідні параметри, щоб зробити прогнози та рекомендації для 
ефективного використання ресурсів та покращення планування. 
4. Оптимізація параметрів процесів: ШІ може використовуватись для 
оптимізації робочих параметрів процесів металообробки. Він аналізує дані з 
сенсорів та інших джерел, шукає оптимальні комбінації параметрів та робить 
рекомендації для досягнення найкращої продуктивності, ефективності та 
якості виробництва. 
5. Підтримка прийняття рішень: АСКВП, що використовують штучний 
інтелект, можуть надавати підтримку прийняття рішень менеджерам та 
операторам металообробки. Вони аналізують дані з виробничих процесів, 
включаючи параметри обладнання, якість виробів, витрати ресурсів та інші 
фактори, і надають рекомендації щодо оптимальних дій. Наприклад, система 
може пропонувати оптимальні налаштування обладнання або варіанти 
оптимізації виробничих процесів.[2] 
6. Прогнозування обсягів виробництва: Штучний інтелект допомагає 
виробництву прогнозувати обсяги виробництва на основі різних факторів, 
таких як попит, ринкові тенденції, історичні дані та інші. Це дозволяє 
підприємствам планувати свої виробничі потужності, запаси та постачання, 
що сприяє зниженню витрат та покращенню ефективності. 
7. Автоматичне налаштування та оптимізація: АСКВП можуть використовувати 
штучний інтелект для автоматичного налаштування параметрів виробничих 
процесів та оптимізації робочих умов. Вони аналізують дані з датчиків та 
систем контролю, і, за допомогою алгоритмів машинного навчання, 
самостійно визначають оптимальні налаштування, що призводить до 
зниження відхилень, покращення якості та ефективності виробництва. 
Лист 
ЧДТУ.232254.001.ПЗ 12 
Змн. Арк. № докум. Підпис Дата 
 
Застосування штучного інтелекту в АСКВП значно підвищує їх потенціал і 
дозволяє досягти більш точного контролю, ефективності та оптимізації 
металообробки. Це допомагає підприємствам підвищити конкурентоспроможність, 
знизити витрати та покращити якість продукції.[2] 
 
1.4 Системи автоматичного вимкнення верстатів 
Системи автоматичного вимкнення верстатів при перемиканні на резервне 
живлення за допомогою мікроконтролера є розповсюдженими в автоматизованих 
промислових процесах і допомагають забезпечити безпеку та надійність роботи 
верстатів. Основна ідея таких систем полягає в тому, щоб автоматично вимкнути 
верстат у разі виявлення втрати основного живлення та переключення на резервне 
живлення. Для цього використовуються мікроконтролери або інші програмовані 
електронні пристрої.[4] 
Основні компоненти та функції системи автоматичного вимкнення верстатів 
можуть включати: 
1. Мікроконтролер – він виконує центральну роль в системі, контролюючи та 
керуючи процесом автоматичного вимкнення верстату. Мікроконтролер 
отримує дані з датчиків і приймає рішення про вимкнення верстата, коли 
виявляється втрата основного живлення. 
2. Датчики  –  вони використовуються для моніторингу перемикання 
резервного живлення, також додатково встановлюють датчики які 
вимірюють значення струму або напруги верстату та передають ці дані до 
мікроконтролера для подальшого аналізу. 
3. Реле або керуючі пристрої, – ці компоненти відповідають за керування 
перемиканням між основним та резервним живленням. Мікроконтролер 
може використовувати реле або інші керуючі пристрої для управління 
живленням верстата відповідно до виявленої ситуації. 
4. Логіка керування – Мікроконтролер програмується для виконання 
необхідної логіки керування системою. Це включає визначення порогових 
значень для виявлення втрати основного живлення, прийняття рішення 
Лист 
ЧДТУ.232254.001.ПЗ 13 
Змн. Арк. № докум. Підпис Дата 
 
про перемикання на резервне живлення, вимкнення верстата та виконання 
інших необхідних дій.[4] 
5. Інтерфейс користувача: Деякі системи можуть мати інтерфейс користувача 
для налаштування параметрів системи, відображення статусу живлення та 
повідомлення про події. 
Системи автоматичного вимкнення верстатів з використанням 
мікроконтролера можуть бути розроблені та налаштовані з урахуванням 
конкретних потреб і характеристик верстата та живлення. Ці системи сприяють 
безпеці операторів та зменшенню можливих ризиків в разі втрати живлення, а 
також можуть покращити продуктивність та ефективність верстату. 
Системи можуть мати ряд додаткових функцій та особливостей: 
1. Послідовність вимкнення та включення: Система може встановлювати 
визначену послідовність дій для безпечного вимкнення та повторного 
включення верстата при перемиканні на резервне живлення. Наприклад, 
може бути встановлений часовий інтервал між вимкненням та включенням 
верстата для запобігання несприятливим ефектам, які можуть виникнути 
під час перехідного процесу.[4] 
2. Моніторинг стану живлення: Система може постійно моніторити стан 
основного та резервного живлення, а також контролювати параметри, такі 
як напруга, струм, частота тощо. Це дозволяє виявити аномалії або 
нестабільність живлення та прийняти відповідні заходи для забезпечення 
безпеки та надійності роботи верстата. 
3. Додаткові сигналізаційні засоби: Система може бути обладнана 
додатковими сигналізаційними пристроями, такими як світлові і звукові 
сигнали, щоб інформувати оператора про стан живлення та вимкнення 
верстата. Це допомагає операторам своєчасно реагувати на події та 
вживати необхідні заходи. 
4. Запис та аналіз подій: Деякі системи можуть здійснювати запис та 
зберігання історії подій, пов'язаних з вимкненням верстата та 
перемиканням на резервне живлення. Це дозволяє проводити аналіз та 
Лист 
ЧДТУ.232254.001.ПЗ 14 
Змн. Арк. № докум. Підпис Дата 
 
виявлення проблем, які можуть виникати в процесі роботи, а також 
допомагає вдосконалювати систему та забезпечувати високу доступність 
верстата.[4] 
 
1.5 Огляд аналогів 
Існують різні аналоги систем автоматичного вимкнення верстатів при 
перемиканні на резервне живлення за допомогою мікроконтролера. Ось кілька 
прикладів: 
1. Комерційні системи автоматичного вимкнення: Існують спеціалізовані 
компанії, які пропонують комерційні рішення для автоматичного 
вимкнення верстатів при перемиканні на резервне живлення. Ці системи 
можуть включати мікроконтролери, датчики струму або напруги, реле та 
інші компоненти для забезпечення автоматичного вимкнення верстатів у 
разі втрати основного живлення. 
2. DIY (зроби сам) проекти: Деякі ентузіасти і розробники створюють власні 
системи автоматичного вимкнення верстатів з використанням 
мікроконтролерів, датчиків та інших електронних компонентів. Ці 
проекти можуть бути засновані на відкритих платформах, таких як Arduino 
або Raspberry Pi, і можуть бути налаштовані відповідно до потреб 
користувача. 
3. Індивідуальні рішення виробників верстатів: Деякі виробники верстатів 
можуть включати в свої продукти вбудовані системи автоматичного 
вимкнення при перемиканні на резервне живлення. Ці системи можуть 
бути розроблені з використанням мікроконтролерів або інших 
електронних пристроїв, які дозволяють контролювати та керувати 
живленням верстату в разі втрати основного живлення. 
Існує багато компаній, які розробляють системи автоматичного вимкнення для 
промислового обладнання, включаючи металообробні верстати.  
Ось деякі з них: 
Лист 
ЧДТУ.232254.001.ПЗ 15 
Змн. Арк. № докум. Підпис Дата 
 
1. Siemens: Siemens є одним з провідних світових постачальників 
автоматизаційних та систем безпеки. Вони пропонують широкий спектр 
систем безпеки, включаючи системи аварійного вимкнення та контролю 
живлення для промислових верстатів. 
2. Rockwell Automation: Rockwell Automation є відомим постачальником 
програмованої автоматики та систем безпеки. Вони пропонують 
різноманітні рішення безпеки, включаючи системи автоматичного 
вимкнення для промислового обладнання. 
3. ABB: ABB є глобальним постачальником промислової автоматики та систем 
безпеки. Вони мають в своєму асортименті системи безпеки, які можуть 
включати функцію автоматичного вимкнення для металообробних 
верстатів. 
4. Schneider Electric: Schneider Electric є компанією, що спеціалізується на 
системах автоматизації та управління електроживленням. Вони пропонують 
рішення безпеки, які можуть включати системи автоматичного вимкнення 
для верстатів та іншого промислового обладнання. 
5. Pilz: Pilz є відомим постачальником систем безпеки та автоматизації. Вони 
розробляють рішення безпеки, включаючи системи автоматичного 
вимкнення, які можуть використовуватися для різних видів верстатів. 
Це лише кілька з багатьох компаній, які займаються розробкою систем 
автоматичного вимкнення для промислових верстатів. Кожна компанія може мати 
свої власні продукти та рішення.  
Системи автоматичного вимкнення можуть бути встановлені прямо в 
безперебійні пристрої для металообробних верстатів або іншого обладнання. 
Безперебійні пристрої призначені для забезпечення неперервного живлення під час 
вимкнення основного джерела електроживлення. 
Встановлення системи автоматичного вимкнення в безперебійний пристрій 
може забезпечити додатковий рівень безпеки та захисту обладнання. При виявленні 
збою або перемикання на резервне живлення, система автоматичного вимкнення 
Лист 
ЧДТУ.232254.001.ПЗ 16 
Змн. Арк. № докум. Підпис Дата 
 
може вимкнути верстати або зупинити їх роботу, запобігаючи можливим 
пошкодженням або аваріям. 
Однак, при встановленні такої системи в безперебійний пристрій, важливо 
враховувати сумісність та інтеграцію між системою автоматичного вимкнення та 
самим безперебійним пристроєм. Необхідно дослідити можливості та 
документацію безперебійного пристрою, щоб переконатися, що він підтримує 
підключення та інтеграцію з додатковими системами безпеки. 
 
Лист 
ЧДТУ.232254.001.ПЗ 17 
Змн. Арк. № докум. Підпис Дата 
 
2.РОЗРОБКА СИСТЕМИ АВТОМАТИЧНОГО ВИМКНЕННЯ 
МЕТАЛООБРОБНИХ ВЕРСТАТІВ ПРИ ПЕРЕМИКАННІ НА РЕЗЕРВНЕ 
ЖИВЛЕННЯ ЗА ДОПОМОГОЮ МІКРОКОНТРОЛЕРА 
 
2.2 Загальна постановка задачі 
Задача полягає у розробці системи автоматичного вимкнення для 
металообробних верстатів з використанням мікроконтролера Atmega16 та Arduino 
Uno у разі перемикання живлення на резервне. 
В першій частині розробляється програмне забезпечення в середовищі 
розробки CodeVisionAVR для мікроконтролера Atmega16, яке моніторитиме стан 
живлення та забезпечуватиме автоматичне вимкнення верстату при перемиканні на 
резервне живлення, написану програму потрібно перевірити за допомогою емуляції 
в програмному забезпеченні Proteus Design перед цим розробивши стенд для 
перевірки який буде включати всі основні вузли описані в задачі. 
 В другій частині буде розроблятися система аналогічна до системи на 
Atmega16 але включаючи зміни в мікроконтролері, середовищі програмування та 
самої задачі. Використовується мікроконтролер Arduino Uno. Середовище розробки 
Arduino IDE. Написане програмне забезпечення повинно забезпечувати моніторинг 
живлення та автоматичне вимкнення верстату при перемиканні живлення на 
резервне, керувати освітленням. Подібно до першої частини необхідно перевірити 
програму на працездатність за допомогою емуляції в ПЗ Proteus Design внесши 
зміни в розроблений стенд та додати нові вузли описані в задачі. 
 Додатково описуються функції Arduino, які можуть бути корисними для 
масштабних проектів підприємств, Спілкування Плат між собою, плати 
розширення, більш потужні продукти Arduino. Розглядаються можливості 
використання цих функцій для поліпшення системи автоматичного вимкнення 
металообробних верстатів та забезпечення масштабованості проектів на 
підприємствах. 
 
Лист 
ЧДТУ.232254.001.ПЗ 18 
Змн. Арк. № докум. Підпис Дата 
 
2.2 Розробка системи для вирішення задачі на мікроконтролері Atmega16 
Алгоритм задачі для виконання на мікроконтролері Atmega16 наведений на рис. 2.1.
 
Рисунок 2.1 – Блок схема задачі для мікроконтролера Atmega16 
В цьому випадку є два верстати та уже введена система автоматичного 
перемикання живлення на резервне, але резервне живлення являє собою тільки 
короткочасну заміну основному, яка потрібна лише для безпечного вимкнення 
верстатів.  
При запуску програми на мікроконтролері повинен виконуватись цикл 
перевірки резервного живлення, якщо резервне живлення не увімкнуто виконується 
затримка 1хв та повторення циклу, якщо ж резервне живлення увімкнене програма 
повинна переходити в наступний цикл в якому уже перевіряється інформація з 
датчика роботи верстату якщо верстат знаходиться в роботі і оброблює заготовку то 
програма не повинна виконувати ніяких дій і дочекатися того моменту коли верстат 
пришле сигнал про закінчення обробки деталі або якщо сигнал прийде від датчику 
Лист 
ЧДТУ.232254.001.ПЗ 19 
Змн. Арк. № докум. Підпис Дата 
 
на верстаті. У випадку якщо під’єднаний до мікроконтролера верстат з самого 
початку не буде увімкнений то цикл автоматично переходить до наступного 
верстату. У наступному циклі повинні виконуватись аналогічні дії які і з першим 
верстатом. Далі програма повинна переходити до останього етапу, вимкнення 
резервного живлення шляхом подачі сигналу на відповідний пристрій перемикання. 
 
Ця задача, максимально проста, не потребує додаткової індикації, тому 
будемо використовувати Мікроконтролер на чипі ATmega16[18] який зображений 
на рис. 2.2 
 
Рисунок 2.2 – Вигляд мікроконтролера 
ATmega16 – це мікроконтролер, розроблений компанією Microchip 
Technology (раніше Atmel Corporation). Він належить до сімейства 
мікроконтролерів AVR і має наступні характеристики [18]: 
1. Архітектура: ATmega16 базується на оптимізованій гарвардській 
архітектурі, що дозволяє виконувати ефективні та швидкі операції з 
пам'яттю та периферійними пристроями. 
2. Частота роботи: Здатний працювати на високій частоті, зазвичай до 16 
МГц. Однак, частота роботи може бути зменшена для зниження 
споживання енергії або для роботи при низьких напругах живлення. 
3. Розмір пам'яті: ATmega16 має 16 КБ вбудованої флеш-пам'яті для 
зберігання програмного коду. Крім того, він має 1 КБ EEPROM для 
Лист 
ЧДТУ.232254.001.ПЗ 20 
Змн. Арк. № докум. Підпис Дата 
 
зберігання даних, а також 1 КБ вбудованої статичної оперативної пам'яті 
(SRAM) для зберігання змінних під час виконання програми. 
4. Кількість виводів: Мікроконтролер ATmega16 має 40 виводів загального 
призначення (GPIO), які можуть використовуватися для з'єднання з 
різними зовнішніми пристроями, такими як сенсори, дисплеї, кнопки, 
індикатори тощо.  
5. Інтерфейси: Він підтримує різноманітні інтерфейси, включаючи USART, 
SPI (Serial Peripheral Interface), TWI (Two-Wire Interface) (I2C-compatible) 
та інші. Це дозволяє зв'язувати мікроконтролер з різними пристроями та 
комунікувати з ними.  
6. АЦП: ATmega16 має вбудований 10-бітний аналого-цифровий 
перетворювач (АЦП) з 8 аналоговими входами, що дозволяє зчитувати 
аналогові сигнали з датчиків чи інших джерел.  
7. Таймери та лічильники: Мікроконтролер має кілька 8-бітних та 16-бітних 
таймерів/лічильників, які можуть використовуватися для вимірювання 
часу, генерації пульсацій, затримок тощо.  
8. Інші особливості: ATmega16 підтримує режими споживання енергії для 
зниження енергоспоживання, має вбудований захист від перевантажень 
та захист від статичного розряду.  
9. Вбудовані периферійні пристрої: ATmega16 має різноманітні вбудовані 
периферійні пристрої, такі як порти введення/виведення (GPIO), пристрій 
USART для зв'язку з іншими пристроями за допомогою протоколу UART, 
пристрій SPI для послідовного обміну даними, пристрій TWI для зв'язку 
по протоколу I2C, а також пристрої PWM (ШІМ) для генерації сигналів 
змінної ширини і таймери для вимірювання часу і затримок.  
10. Низькопотужний режим: ATmega16 підтримує режими зниженого 
споживання енергії, такі як режими сну (Sleep Mode) і Power-down Mode. 
Ці режими дозволяють зменшити споживання енергії, що робить його 
ідеальним вибором для пристроїв, які працюють від батарей або джерел 
з обмеженим живленням.  
Лист 
ЧДТУ.232254.001.ПЗ 21 
Змн. Арк. № докум. Підпис Дата 
 
11. Розширення пам'яті: ATmega16 має можливість розширення пам'яті за 
допомогою зовнішньої пам'яті, такої як EEPROM, SRAM або флеш-
пам'ять. Це дозволяє зберігати більше даних або програмного коду, що 
розширює функціональні можливості мікроконтролера.  
12. Розширені можливості програмування: ATmega16 може бути 
програмований за допомогою мови програмування C або асемблера, а 
також підтримує вбудовані розробницькі середовища (наприклад, Atmel 
Studio) та сторонні інструменти для розробки програмного забезпечення.  
13. Широке застосування: Завдяки своїм характеристикам, ATmega16 
широко використовується в різних галузях, таких як промислові 
автоматизація, системи контролю та моніторингу, робототехніка, 
побутова електроніка, освітні проекти та багато інших.  
 
Враховуючи свої можливості, ATmega16 є потужним мікроконтролером з 
розширеними функціями, який дозволяє розробникам реалізувати різноманітні 
проекти та системи, використовуючи мікроконтролерну технологію. [18] 
Проаналізуємо контакти мікроконтролера(рис. 2.3) 
 
Рисунок 2.3 – Конфігурація контактів 
Мікроконтролер ATmega16 має 40 контактів, розташованих на його корпусі. 
Основні контакти можна розділити на кілька груп [18]: 
Лист 
ЧДТУ.232254.001.ПЗ 22 
Змн. Арк. № докум. Підпис Дата 
 
1. Виводи живлення (Power Pins): ATmega16 має чотири виводи живлення: 
 VCC (вивід 10):  живлення, зазвичай підключається до джерела 
живлення з напругою 5 В. 
 GND (вивід 11, 31, 32): Земля, підключається до негативного полюса 
джерела живлення.  
2. Виводи вводу/виводу (GPIO Pins): ATmega16 має 32 виводи GPIO, які 
можуть використовуватися для підключення зовнішніх пристроїв, таких як 
сенсори, дисплеї, кнопки тощо. Кожен вивід може бути настроєний як ввід 
або вивід у програмному забезпеченні. 
3. Контакти комунікаційних інтерфейсів: ATmega16 підтримує різні 
комунікаційні інтерфейси, для яких передбачені відповідні контакти: 
 USART: Контакти для передачі і прийому даних за допомогою протоколу 
UART. 
 SPI: Контакти для послідовного обміну даними між мікроконтролером 
та зовнішніми пристроями за допомогою протоколу SPI. 
 TWI (I2C): Контакти для зв'язку по протоколу I2C (Twi) з іншими 
пристроями. 
4. Аналогові входи: ATmega16 має 8 аналогових входів, які 
використовуються для підключення аналогових сигналів, таких як 
сенсорні величини. Ці входи можуть використовуватися разом з 
внутрішнім аналого-цифровим перетворювачем (АЦП) для отримання 
цифрових значень аналогових сигналів. 
5. Інші контакти: ATmega16 також має контакти для підключення зовнішніх 
таймерів, переривань, сигналів годинника та інших функцій. 
Всі ці контакти можуть бути керовані програмним забезпеченням, що 
дозволяє розробникам забезпечити потрібну функціональність і взаємодію 
зовнішніх пристроїв з мікроконтролером ATmega16. [18] 
 
Лист 
ЧДТУ.232254.001.ПЗ 23 
Змн. Арк. № докум. Підпис Дата 
 
2.2.1 Програмне забезпечення для реалізації задачі 
Написання коду в програмному забезпеченні CodeVisionAVR фірми Atmel, 
яка підходить для мікроконтролерів AVR, програма базується на мові 
програмування С. [11] 
Для візуалізації роботи програми будемо використовувати proteus design від 
компанії Labcenter Electronics 
 
2.2.1.1 CodeVisionAVR 
Проаналізуємо основну інформацію про програму. (На рис. 2.4 зображений 
інтерфейс програми.) 
 
Рисунок 2.4 – Інтерфейс програми CodeVisionAVR 
CodeVisionAVR - це інтегроване середовище розробки (IDE) та компілятор 
для мікроконтролерів AVR, таких як ATmega16. Воно розроблено компанією HP 
InfoTech і надає зручні інструменти для програмування та розробки вбудованих 
систем на основі мікроконтролерів AVR. 
Основні особливості та можливості CodeVisionAVR включають [11]: 
1. CodeVisionAVR має вбудований компілятор, який перетворює вихідний 
код на мові програмування C або асемблер AVR в машинний код, 
зрозумілий мікроконтролеру.  
2. Інтегроване середовище розробки (IDE) – CodeVisionAVR надає зручне 
інтерфейсне середовище, де розробник може створювати, редагувати та 
Лист 
ЧДТУ.232254.001.ПЗ 24 
Змн. Арк. № докум. Підпис Дата 
 
компілювати свій програмний код. IDE містить текстовий редактор з 
підсвічуванням синтаксису, вікна для налаштувань проекту, 
налагоджувальний віконний інтерфейс та інші корисні інструменти.  
3. Підтримка AVR-периферії – CodeVisionAVR має вбудовані бібліотеки та 
функції, що спрощують програмування різних периферійних пристроїв 
AVR, таких як GPIO, АЦП, таймери, засоби комунікації (USART, SPI, I2C) 
та багато інших. Це дозволяє розробникам швидко налаштовувати та 
використовувати периферійні пристрої мікроконтролера.  
4. Візуальний дизайнер інтерфейсу (Graphic LCD Designer): CodeVisionAVR 
має вбудований інструмент для візуального створення графічних 
інтерфейсів на графічних LCD-дисплеях. Цей інструмент дозволяє 
розробникам створювати графічні об'єкти, налаштовувати їх властивості 
та генерувати відповідний програмний код.  
5. Інструменти налагодження: CodeVisionAVR надає інструменти для 
налагодження програмного коду, зокрема підтримку емуляції, стеження за 
змінними, відлагодження по крокам та інші корисні функції, які 
допомагають знайти та виправити помилки в програмі.  
6. Підтримка широкого спектру мікроконтролерів AVR: CodeVisionAVR 
підтримує багато моделей мікроконтролерів AVR, включаючи ATmega16. 
Це дозволяє розробникам використовувати одне середовище для розробки 
програмного забезпечення для різних мікроконтролерів AVR без 
необхідності перекомпіляції коду.  
CodeVisionAVR є популярним інструментом для розробки програмного 
забезпечення для мікроконтролерів AVR, зокрема ATmega16, завдяки своїм 
зручним інструментам, широкій функціональності та надійності. 
Додаткові особливості CodeVisionAVR включають [11]: 
1. Підтримка багатозадачності: CodeVisionAVR надає можливості для 
розробки багатозадачних програм, використовуючи систему переривань 
та планувальник завдань (Task Scheduler). Це дозволяє виконувати різні 
Лист 
ЧДТУ.232254.001.ПЗ 25 
Змн. Арк. № докум. Підпис Дата 
 
функції одночасно і забезпечувати ефективне використання ресурсів 
мікроконтролера.  
2. Вбудована бібліотека функцій: CodeVisionAVR постачається з великою 
кількістю вбудованих бібліотек функцій, які спрощують розробку різних 
додатків. Ці бібліотеки включають графічні функції, функції для роботи з 
LCD-дисплеями, звукові ефекти, роботу з EEPROM, засоби комунікації та 
багато інших.  
3. Швидкість компіляції: CodeVisionAVR володіє швидким процесом 
компіляції, що дозволяє розробникам ефективно працювати над 
проектами та скорочувати час розробки. 
4. Інтеграція з експериментальними платами: CodeVisionAVR підтримує 
різні експериментальні плати та системи розробки, що дозволяє легко 
почати роботу з мікроконтролерами AVR. Воно інтегрується з 
популярними платами, такими як Arduino та AVR Dragon, забезпечуючи 
зручний розробку та завантаження програмного коду на мікроконтролер.  
Це потужне середовище розробки, яке допомагає спростити процес розробки 
вбудованих систем на базі мікроконтролерів AVR, зокрема ATmega16, та забезпечує 
ефективну роботу з ними. 
 
2.2.1.2 Proteus Design 
 
Рисунок 2.5 – Інтерфейс програми Proteus 
Лист 
ЧДТУ.232254.001.ПЗ 26 
Змн. Арк. № докум. Підпис Дата 
 
Proteus - це інтегроване середовище моделювання та розробки електронних 
схем і вбудованих систем. Воно розроблено компанією Labcenter Electronics і 
широко використовується в інженерній галузі для проектування та тестування 
електронних пристроїв.  
Особливості та можливості Proteus включають [12]: 
1. Моделювання електронних схем: Proteus надає інструменти для створення 
та моделювання електронних схем з використанням графічного 
інтерфейсу. Користувачі можуть розташовувати елементи схеми, 
підключати їх, налаштовувати параметри компонентів та проводити 
симуляцію роботи схеми.  
2. Симуляція в реальному часі: Proteus дозволяє виконувати симуляцію 
роботи електронних схем в реальному часі. Це означає, що користувачі 
можуть спостерігати, як схема реагує на зміну вхідних сигналів і взаємодіє 
з компонентами в режимі реального часу.  
3. Моделювання вбудованих систем: Proteus має підтримку для моделювання 
вбудованих систем, включаючи мікроконтролери AVR, PIC, ARM та багато 
інших. Користувачі можуть створювати схеми з мікроконтролерами, 
підключати периферійні пристрої, програмувати їх та виконувати 
симуляцію роботи всієї системи.  
4. Інтерактивна візуалізація: Proteus надає можливість візуально 
спостерігати роботу електронної схеми під час симуляції. Користувачі 
можуть відстежувати стани виводів, переглядати сигнали на схемі, 
спостерігати за змінами станів під час виконання програми на 
мікроконтролері та багато іншого.  
5. Віртуальне тестування: Proteus дозволяє віртуально тестувати електронні 
пристрої та вбудовані системи перед фізичною реалізацією. Це дозволяє 
виявити й виправити помилки в дизайні, зменшити час та витрати на 
розробку та підвищити надійність кінцевого пристрою.  
Лист 
ЧДТУ.232254.001.ПЗ 27 
Змн. Арк. № докум. Підпис Дата 
 
6. Імпорт/експорт проектів: Proteus підтримує імпорт та експорт проектів у 
різних форматах, що дозволяє розподіляти схеми та дані між різними 
інструментами проектування та виробництва.  
Proteus є потужним інструментом для розробки електронних пристроїв та 
вбудованих систем, зокрема для мікроконтролерів AVR, PIC, ARM тощо. Воно 
дозволяє ефективно моделювати, симулювати та тестувати пристрої перед їх 
фізичною реалізацією, що допомагає прискорити процес розробки та покращити 
якість кінцевого продукту. 
 
2.2.2 Створеня моделі стенду в Proteus 
Для початку свторюємо верстат №1 (зображено на рис. 2.6) 
Данна схема є імпровізованою і відображає лише потрібні для реалізації 
проекту частини верстату тобто немає необхідності переносити та візуалізувати 
цілий верстат тим більше що це може загрузити схему непотрібною інформацією 
та знизити роботу симуляції, отже потрібно додати на схему блок ручного 
увімкнення і вимкнення верстату, блок управління верстатом від контролера, 
датчик роботи верстата та сам верстат, наприклад звичайний двигун. [12]  
 
 
Рисунок 2.6 – Верстат №1 в Proteus 
Лист 
ЧДТУ.232254.001.ПЗ 28 
Змн. Арк. № докум. Підпис Дата 
 
Розглянемо основні елементи схеми: 
 Кнопка Е1 – кнопка включення верстату. При замиканні верстат вважається 
увімкненим. 
 Транзистор Q1 – являється логічним перемикачем схеми який вмикає верстат 
в увімкнений стан. 
 Транзистор Q2 – логічний перемикач, який призначений для розмикання кола 
при поданні сигналу від мікроконтролера, в реальних верстатах це модуль 
числового програмного управліня або програмоване реле, яке приймає 
сигнали з зовні, наприклад від ПК, МК. 
 CHPU – Тригер Шмітта, використовується для запам’ятовування логічного 
сигналу від мікроконтролера та інвертно виводить його до Q2 щоб вимикати 
верстат. 
 Кнопка MC1 – кнопка вимкнення верстату, в подальшому буде замінена 
мікроконтролером 
 SENSOR1 – імпровізований датчик роботи верстату, подає сигнал в МК про 
роботу верстату, коли датчик замикається вважається що верстат закінчив 
обробку. 
 MACHINE1 – електродвигун, потрібен для візуального відображення роботи 
верстату. 
 R1-R3 – резистори, необхідні для зменшення струму та правильної роботи 
схеми в Proteus. 
 C1 – Конденсатор, для більш плавного увімкнення і вимкнення верстату. 
 
Далі створюємо верстат №2 (Рис. 2.7) 
Лист 
ЧДТУ.232254.001.ПЗ 29 
Змн. Арк. № докум. Підпис Дата 
 
 
Рисунок 2.7 – Верстат №2 в Proteus 
Так як ці схеми є ідентичними, додаткової інформації про схему верстата №2 
нема. 
Створюємо схему передачі сигналу про перемикання живлення в 
мікроконтролер.  
 
Рисунок 2.8 – Схема передачі сигналу про перемикання живлення в Proteus 
Лист 
ЧДТУ.232254.001.ПЗ 30 
Змн. Арк. № докум. Підпис Дата 
 
Найкращим для візуалізації роботи перемикача живлення буде створення 
схеми з використання реле, та під’єднати до його виходів лампочки. Для активації 
реле під’єднаємо кнопку. 
 
Рисунок 2.9 – Схема передачі сигналу про перемикання живлення в Proteus 
 Кнопка Е3 – кнопка подачі сигналу про увімкнення резервного живлення. при 
замиканні, активує реле RL1 яке в свою чергу перемикається і сигнал 
подається на мікроконтролер.  
 C3 – Конденсатор, для правильної роботи реле. 
 R3 – резистор, необхідний для зменшення струму який буде проходити в 
мікроконтролер, для запобігання КЗ. 
 Лампочка D1 – сигналізує про те що резервне живлення вимкнено, має 
зелений колір світіння 
 Лампочка D2 – сигналізує про те що резервне живлення увімкнуто , має 
червоний колір світіння 
 Створюємо схему перемикання живлення на основне, найкращим варіантом 
буде використання реле яке в замкненому стані під’єднане до резервного живлення 
а при розмиканні перемкнеться на основне джерело живлення.  
Лист 
ЧДТУ.232254.001.ПЗ 31 
Змн. Арк. № докум. Підпис Дата 
 
 
Рисунок 2.10 – Схема перемикання резервного живлення Proteus 
Як у випадку з схемами верстатів, використовується транзистор Q5 в якості 
ключа, та тригер Шмітта BPS для запам’ятовування сигналу від мікроконтролера, 
як і в варіанті з верстатом сигнал інвертований для початкової активації реле, реле 
RL2 аналогічно з випадком у схемі передачі сигналу перемикає живлення з 
резервного на основне у випадку розімкнення. 
Отже при завершені роботи двох верстатів потрібно лише подати сигнал на BPS що 
перемкне резервне живлення на основне і після цього цикл програми буде 
завершеним. 
Приступаємо до компоновки схеми: 
Додаємо кнопку скидання RESET, вона необхідна наприклад в тих випадках, 
коли програма зависає або якщо перехід на резервне живлення був короткочасним 
і завершувати роботу не потрібно. Щоб скидання відбулось правильно кнопка 
підведена до мікроконтролера замикається на 0. 
Хоча в середовищі Proteus не обов’язково встановлювати живлення для 
мікроконтролеру, але в реальних умовах без цього не обійтись тому додаємо і його. 
Продовжуємо компонувати схему, об’єднуємо всі змодельовані до цього 
частини схеми в одну, підключаємо всі необхідні вузли до мікроконтролера. 
Лист 
ЧДТУ.232254.001.ПЗ 32 
Змн. Арк. № докум. Підпис Дата 
 
 
Рисунок 2.11 – Мікроконтролер Atmega16, кнопка скидання, живлення 
мікроконтролера в Proteus 
 
Рисунок 2.12 – Скомпонована схема стенду 
На даному рисунку уже під’єднані всі елементи схеми, дані від датчиків 
підходять до портів B5-7, додатково підключимо 2 датчика від верстатів до портів 
Лист 
ЧДТУ.232254.001.ПЗ 33 
Змн. Арк. № докум. Підпис Дата 
 
В3-4 для зворотнього зв’язку. виводитись команди з мікроконтролера будуть від 
портів D6 та D7 для відключення верстатів, та порт D5 для переключення 
резервного живлення. 
Наступним етапом розробки буде створення коду. 
 
2.2.3 Розробка програми для мікроконтролера Atmega16  
Розпочнемо зі створення нового проекту в CodeVisionAVR, вибору чіпу 
налаштувань частоти та портів які задіяні у схемі, в середовищі розробки Сode 
Visoin це виконується за допомогою інтерфейсу створення[11] 
 
 
Рисунок 2.13 – Вибір мікроконтролера, налаштування портів 
Для даної схеми обраємо частоту 1МГц, її буде більше чим достатньо для 
виконання роботи програми. Хоча контролер може працювати з частотою до 16 
МГц. 
Отже після генерації програма має такий вигляд:  
#include <mega16.h> 
#include <delay.h> 
В цьому фрагменті коду відбувається підключення біблотек які будуть 
використовуватись в програмі. 
void main(void) 
{ 
DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | 
(0<<DDA2) | (0<<DDA1) | (0<<DDA0); //port A initialization 
Лист 
ЧДТУ.232254.001.ПЗ 34 
Змн. Арк. № докум. Підпис Дата 
 
PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | 
(0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); 
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | 
(0<<DDB2) | (0<<DDB1) | (0<<DDB0);  //Port B initialization 
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | 
(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); 
DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | 
(0<<DDC2) | (0<<DDC1) | (0<<DDC0);   //port C initialization 
PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | 
(0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); 
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (0<<DDD4) | (0<<DDD3) | 
(0<<DDD2) | (0<<DDD1) | (0<<DDD0);  //Porty D initialization 
PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | 
(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); 
В даній частині коду виконана автоматична генерація налаштування портів, 
але вона також дозволяє робити в ній зміни, тому не потрібно генерувати проект з 
самого початку. Також тут виконано налаштуваня підтягуючих резисторів до 
кожного з портів, але для реалізації програми вони не потрібні так як на 
мікроконтролер підходять високі потенціали, тобто 1 а не 0. 
TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | 
(0<<CS01) | (0<<CS00); 
TCNT0=0x00; 
OCR0=0x00;        //timer 0 disable 
В цьому фрагменті коду відбувається ініціалізація  таймера 0 який 
вимкнений тому що система не потребує додаткових налаштування переривань. 
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | 
(0<<WGM11) | (0<<WGM10); 
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | 
(0<<CS11) | (0<<CS10); 
TCNT1H=0x00; 
Лист 
ЧДТУ.232254.001.ПЗ 35 
Змн. Арк. № докум. Підпис Дата 
 
TCNT1L=0x00; 
ICR1H=0x00; 
ICR1L=0x00; 
OCR1AH=0x00; 
OCR1AL=0x00; 
OCR1BH=0x00; 
OCR1BL=0x00; 
В даному відрізку коду відбувається налаштування системного годинника 
мікроконтролера, через те що програма не потребує спеціальних налаштувань 
переривань він вимкнений. 
ASSR=0<<AS2; 
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | 
(0<<CS21) | (0<<CS20); 
TCNT2=0x00; 
OCR2=0x00; 
В цьому фрагменті коду відбувається ініціалізація таймеру 2, як у випадку з 
попередніми залишаємо вимкненим щоб не перевантажувати систему. 
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | 
(0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);       
В даному фрагменті коду відбувається ініціалізація системних переривань.  
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); 
MCUCSR=(0<<ISC2); 
Цей фрагмент коду відповідає за  додаткові налаштування переривань, які 
може виконувати програма, але для виконання поставлених завдань додаткові 
налаштування переривань не обов’язкові тому і вимкнені. 
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | 
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); 
В даному фрагменті коду відбувається ініціалізація USART, так як 
розробленій програмі не потрібно спілкуватися з іншими мікроконтролерами або 
Лист 
ЧДТУ.232254.001.ПЗ 36 
Змн. Арк. № докум. Підпис Дата 
 
пристроями які мають USART отже необхідність у ньому відсутня тому він 
вимкнений.  
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | 
(0<<ACIS1) | (0<<ACIS0); 
SFIOR=(0<<ACME); 
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | 
(0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); 
В цьому фрагменті коду відбувається ініціалізація АЦП, так як всі вхідні і 
вихідні сигнали являються логічним, тобто нулями і одиницям, тому вбудований 
модуль АЦП вимкнений так як у ньому нема необхідності 
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | 
(0<<SPR1) | (0<<SPR0); 
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE); 
В цьому фрагменті коду відбувається налаштування TWI інтерфейсу, як і у 
випадку з USART не спілкується з зовнішніми пристроями та контролерами тому і 
вимкнений. 
Закінчивши налаштування перейдемо до головної частини коду, а саме 
програми виконання задачі 
{ 
   { 
    while (!(PINB & (1 << 7)))   
    { 
        delay_ms(60000);   
    } 
В даному відрізку коду відбувається створення першого зовнішнього циклу 
який відбувається за умови якщо PINB.7 не дорівнює 1 тобто виконується перевірка 
значення біта 7 регістра PINB, якщо ж умова не виконується встановлюється 
затримка в одну хвилину. Це значення може змінюватися в залежності від потреб 
підприємства на якому буде встановлюватись це обладнання. 
    while (1) 
Лист 
ЧДТУ.232254.001.ПЗ 37 
Змн. Арк. № докум. Підпис Дата 
 
    { 
        if (!(PINB & (1 << 6)))   
        { 
            delay_ms(500);   
        } 
        else 
        { 
            if (PINB & (1 << 7))   
            { 
                PORTD |= (1 << 7);   
            } 
            break;   
        } 
    } 
В цьому фрагменті коду відбувається створення другого зовнішнього циклу 
умовою якого PINB.6 не дорівнює 1 якщо ж рівність виконується слідують такі дії: 
Якщо значення біта 6 регістра PINB дорівнює 1, виконується затримка 500 
міллісекунд, а якщо значення біта дорівнює 0, встановлюється біт регістра 7 
PORTD в 1 тим самим відмикає верстат №1. 
Але слідує зауважити що перемикання не відбудеться якщо PINB.7 не буде 
мати значення 1, тобто сигнал про увімкнення резервного живлення повинен бути 
активним. 
    while (1) 
    { 
        if (!(PINB & (1 << 5)))   
        { 
            delay_ms(500);   
        } 
        else 
        { 
Лист 
ЧДТУ.232254.001.ПЗ 38 
Змн. Арк. № докум. Підпис Дата 
 
            if (PINB & (1 << 7))   
            { 
                PORTD |= (1 << 6);   
            } 
            break;   
        } 
    } 
В цьому фрагменті коду відбувається створення другого зовнішнього циклу 
умовою якого PINB.5 не дорівнює 1 якщо ж рівність виконується слідують такі дії: 
Якщо значення біта 5 регістра PINB дорівнює 1, виконується затримка 500 
міллісекунд, а якщо значення біта дорівнює 0, встановлюється біт регістра 6 
PORTD в 1 тим самим відмикає верстат №2. Як і в попередньому циклі перемикання 
не відбуваються без сигналу PINB.7 в значені 1. 
Такі зовнішні цикли можна повторювати ще декілька разів в залежності від 
кількості необхідних верстатів або пристроїв на підприємстві які можуть 
керуватися від мікроконтролера. 
    if (!(PINB & (1 << 4)) && !(PINB & (1 << 3)))   
    { 
        PORTD |= (1 << 5);   
    } 
Цей фрагмент коду виконує перевірку значень бітів 4 та 3 регістра PINB. 
Якщо обидва дорівнюють 0, встановлюється біт 5 регістра PORTD в 1 тим самим 
вимикаючи резервне живлення. 
    while (1) 
    { 
        MCUCR = (1 << IVCE);   
        MCUCR = 0;   
    } 
} 
} 
Лист 
ЧДТУ.232254.001.ПЗ 39 
Змн. Арк. № докум. Підпис Дата 
 
В даному  фрагменті коду відбується перехід на початок програми який 
виконано  за допомогою вектора переривань. 
Переходимо до перевірки програми на стенді: 
 
Рисунок 2.14 – Програма в дії 
Отже програма працює таким чином: 
При вмиканні мікроконтролер перевіяє наявність високого потенціалу тобто 
1 на контакті порту B7 при його відсутності виконується затримка 1хв та повторна 
перевірка. Далі відбувається перевірка стану кожного з верстатів за допомогою 
SENSOR1 та SENSOR2 які приєднані до портів B6 і B5, в свою чергу сигналізують 
про закінчення роботи верстатів та дозволяють програмі за наявності вхідного 
сигналу порту B7 видавати керуючі сигнали на порти D7 та D6 для вимкнення 
верстатів. Далі програма аналізує значення з портів B4 і B3 які дають інформацію 
про повне вимкнення верстатів, і якщо обидва сигнали мають низький потенціал 
програма подає сигнал на порт D5 тим самим перемикає живлення з резервного на 
Лист 
ЧДТУ.232254.001.ПЗ 40 
Змн. Арк. № докум. Підпис Дата 
 
основне. На цьому програма закінчує роботу та переходить на початок циклу щоб 
в наступне перемикання живлення повторити процес. 
 
2.3 Розробка системи для вирішення задачі на Arduino Uno 
Алгоритм задачі для виконання на мікроконтролері Arduino Uno наведений на рис. 
2.11 
 
Рис. 2.15 – Блок схема задачі для мікроконтролера Arduino Uno 
Задача є схожою до попередньої але має декілька змін тепер контролер 
повинен керувати і освітленням, тобто на початку програми вмикати світло або 
тримати його увімкненим якщо увімкнення відбулося зовні далі програма повинна 
виконувати постійну перевірку з датчика резервного живлення і при наявності 
сигналу переходити на наступний етап перевірки роботи верстату №1 а потім і до 
верстата №2 вони є аналогічними задачі для контролера Atmega16, тому перейдемо 
до наступного етапу, після завершення роботи останього верстату повинно 
Лист 
ЧДТУ.232254.001.ПЗ 41 
Змн. Арк. № докум. Підпис Дата 
 
вимикатись світло за допомогую Arduino UNO та останьою дією буде 
вимкнення/розмикання резервного живлення аналогічне до першої задачі. 
Чому саме Arduino Uno? 
Можливо деякі підприємства уже використовують технології 
мікроконтролерів інших виробників, і тому щоб перекрити цей факт я також 
розроблю альтернативну версію програми на Arduino, тому далі буде йти мова про 
цю платформу  
 
Рис. 2.16 – Плата Arduino Uno 
Arduino UNO[5] - це одна з найпопулярніших і доступних плат Arduino, яка 
має наступні характеристики: 
1. Мікроконтролер – Arduino UNO використовує мікроконтролер 
ATmega328P. Це 8-бітний мікроконтролер з тактовою частотою 16 МГц і має 32 кБ 
флеш-пам'яті для зберігання програмного коду. [20] 
2. Вхідні/вихідні піни – Arduino UNO має 14 цифрових вхідно-вихідних пінів 
(включаючи 6 пінів, які можуть бути використані для формування шім-сигналу) і 6 
аналогових вхідних пінів. Всі ці піни можуть бути використані для підключення 
зовнішніх пристроїв і сенсорів. [20] 
Лист 
ЧДТУ.232254.001.ПЗ 42 
Змн. Арк. № докум. Підпис Дата 
 
3. Пам'ять – Arduino UNO має 2 кБ оперативної пам'яті (SRAM), де 
зберігаються змінні під час виконання програми. Також є 1 кБ EEPROM для 
зберігання постійних даних і 32 кБ флеш-пам'яті для зберігання програмного коду. 
[20] 
4. Інтерфейси – плата має USB-порт для підключення до комп'ютера або 
іншого пристрою для програмування та комунікації. Крім того, є 6-контактний 
роз'єм ICSP (In-Circuit Serial Programming), який дозволяє програмувати 
мікроконтролер безпосередньо на платі Arduino UNO. Також є UART-порт для 
зв'язку з іншими пристроями через UART протокол. [20] 
5. Живлення – плата Arduino UNO може бути живлена від USB-порту 
комп'ютера або зовнішнього джерела живлення через роз'єм живлення. Вона 
працює з напругою 5V, і є регулятор напруги, який дозволяє живити плату від 
джерела живлення з напругою 7-12V. [20] 
6. Сумісність – Arduino UNO є сумісним з більшістю стандартних 
компонентів та додаткових модулів Arduino, таких як сенсори, дисплеї, модулі 
зв'язку, моторні шилди та багато іншого. Це робить його вельми гнучким для 
розширення функціональності і використання в різних проектах. [20] 
7. Програмування – Arduino UNO може бути програмований за допомогою 
Arduino IDE (інтегроване середовище розробки), яке надає простий і зрозумілий 
інтерфейс для написання програмного коду. Він базується на мові програмування 
C/C++ і має багато вбудованих функцій та бібліотек, що спрощують розробку 
програм для Arduino UNO. [20] 
8. Розміри і компактність – Arduino UNO має компактний розмір, стандартна 
версія плати має приблизні розміри 68.6мм x 53.4мм. Це робить його легким у 
використанні і зручним для вбудовування в різні прототипи та пристрої. 
9. Відкритий вихідний код – Arduino UNO базується на відкритому вихідному 
коді, що означає, що схеми, схематичні креслення та програмне забезпечення 
доступні для використання та модифікації спільнотою. Це сприяє співпраці, обміну 
знаннями та розвитку широкого спектру проектів. [20] 
Лист 
ЧДТУ.232254.001.ПЗ 43 
Змн. Арк. № докум. Підпис Дата 
 
10. Вартість – Arduino UNO є відносно доступною платою, яка має досить 
низьку ціну порівняно з іншими мікроконтролерами або платами розробки. Це 
робить його популярним в освітніх закладах, хобі-проектах та прототипування. 
 
2.3.1 Зміни в програмному забезпеченні для реалізації задачі на Arduino Uno 
Через зміну мікроконтролера змінилось і ПЗ а саме: 
Написання коду в програмному забезпеченні Arduino IDE  
Arduino IDE (Integrated Development Environment) є інтегрованою 
середовищем розробки для програмування мікроконтролерів Arduino. Arduino IDE 
надає зручні інструменти для написання коду, компіляції та завантаження програм 
на плати Arduino. Воно доступне для використання на різних операційних 
системах, таких як Windows, macOS і Linux. [14] 
Інтерфейс програми зображений на рис. 2.17 
 
Рисунок 2.17 – Інтерфейс програми Arduino IDE 
Основні особливості Arduino IDE включають наступне: 
1. Редактор коду – Arduino IDE має простий текстовий редактор, який підтримує 
кольорове виділення синтаксису для кількох мов програмування, включаючи 
мову Arduino. [14] 
2. Компіляція та завантаження – середовище розробки вбудовано підтримує 
компіляцію коду і його завантаження на плату Arduino. Користувач може 
вибрати плату Arduino, до якої буде завантажено програму. [14] 
Лист 
ЧДТУ.232254.001.ПЗ 44 
Змн. Арк. № докум. Підпис Дата 
 
3. Серійний монітор (Serial Monitor) - це інструмент, який надає Arduino IDE 
для відстеження та відображення даних, які виводяться з плати Arduino через 
порт серійного з'єднання (Serial port). Це дозволяє виводити рядки тексту, 
значення сенсорів та інші дані, які можуть бути корисними під час розробки. 
4. Бібліотеки – Arduino IDE має велику кількість стандартних бібліотек, які 
полегшують роботу з різними пристроями та модулями, такими як LCD-
дисплеї, сенсори, мережеві модулі та інші. Крім того, користувачі можуть 
створювати власні бібліотеки для використання власного коду. [14] 
5. Приклади – Arduino IDE містить багато прикладів, які демонструють різні 
функції та можливості плат Arduino. Це дає новачкам змогу швидко 
ознайомитися з платформою та вивчити основні концепції програмування. 
Arduino IDE є дуже популярним серед розробників, особливо серед 
початківців, завдяки своїй простоті використання та широким можливостям. 
Однак, існують також альтернативні середовища розробки, такі як PlatformIO, 
які надають розширені функції та інтеграцію з іншими платформами. 
6. Можливість програмування на мові Arduino – ПЗ використовує спеціальну 
мову програмування, яка базується на мові C/C++. Ця мова має спеціальні 
функції та бібліотеки, спрощуючи роботу з платами Arduino. Користувачі 
можуть використовувати функції для керування вводом-виводом, роботи з 
аналоговими та цифровими пінами, таймерами, перериваннями та іншими 
функціями платформи Arduino. [14] 
7. Підтримка інших мікроконтролерів – крім плат Arduino, Arduino IDE також 
підтримує інші мікроконтролери, такі як ESP8266 та ESP32, що дає змогу 
розширити можливості розробки Інтернету речей (IoT) та бездротових 
додатків. [14] 
8. Відлагодження коду – Arduino IDE надає прості інструменти для 
відлагодження коду, такі як можливість додавати точки зупинки (breakpoints) 
для зупинки виконання програми та перегляд значень змінних у режимі 
реального часу. Це допомагає виявити й усунути помилки в програмі. 
Лист 
ЧДТУ.232254.001.ПЗ 45 
Змн. Арк. № докум. Підпис Дата 
 
9. Підтримка багатьох платформ –  крім офіційних плат Arduino, Arduino IDE 
також підтримує плати від інших виробників, таких як Adafruit, SparkFun, 
Seeed Studio та інші. Це дозволяє розробляти програми для різних 
мікроконтролерних плат, розширюючи можливості розробки. [14] 
10. Розширення функціональності – середовище розробки можна розширити за 
допомогою додаткових плагінів та бібліотек. Існує багато сторонніх плагінів, 
які додають нові функції, інтеграцію з іншими середовищами розробки та 
покращену роботу зі складними проектами. [14] 
11. Можливість роботи офлайн – Arduino IDE може працювати в офлайн-режимі, 
що дозволяє розробляти програми без необхідності підключення до 
Інтернету. Це особливо зручно в ситуаціях, коли доступ до мережі обмежений 
або відсутній. [14] 
Arduino IDE є потужним інструментом для розробки програм для плат 
Arduino та інших мікроконтролерів. Воно спрощує процес програмування та 
дозволяє швидко розпочати роботу з розробкою електронних проектів.  
Так як Proteus Design може працювати і з платами Arduino лише під’єднавши 
бібліотеку та не має проблем у візуалізації роботи програми тому я продовжу 
використовувати його. 
 
2.3.2 Створення моделі стенду 
 
Рисунок 2.18 – Плата Arduino Uno в Proteus 
Лист 
ЧДТУ.232254.001.ПЗ 46 
Змн. Арк. № докум. Підпис Дата 
 
Arduino Uno уже готова плата, а не просто мікроконтролер як у попередньому 
варіанті, тому кнопка скидання є уже вбудованою в плату і не потребує зовнішнього 
підключення в реальній платі. Живлення в реальній платі під’єднується по USB 
порту тому додатково встановлюватись в Proteus не буде.  
Так як плата Arduino UNO споживає більше ресурсів в симуляції тому 
необхідно внести декілька змін уже в розроблену схему, (Зміна елементів зображена 
на рис. 2.19) 
 
Рисунок 2.19 – Заміна елементів схеми верстату №1 в Proteus 
Для зменшення споживання ресурсів було замінено двигун який відповідав 
за візуалізацію роботи верстата на LED лампу це вплинуло лише на візуальний вид 
схеми в усьому іншому схема залишається такою ж. Для верстату №2 були внесені 
такі самі зміни. 
Додаткових змін у схемі не послідувало тому подальшим етапом буде в 
середовищі проектування Prоteus створення схеми освітлення та компоновка схеми. 
  
Лист 
ЧДТУ.232254.001.ПЗ 47 
Змн. Арк. № докум. Підпис Дата 
 
Перейдемо до освітлення, створюємо візуальну схему освітлення на діодах. 
Ця схема подібна до схеми перемикання живлення, тобто при подачі на 
Тригер Шмітта логічних сигналів відбувається розмикання та замикання схеми 
освітлення, але в даному випадку він інвертує вихідні сигнали, тобто початково 
розмикає схему(рис. 2.20.) 
 
Рисунок 2.20 – Схема освітлення  в Proteus 
Перейдемо до компоновки схеми. Збираємо всі вище зазначені елементи в одне 
ціле.(рис 2.21) 
 
Рисунок 2.21 – Скомпонована схема стенду в Proteus 
Лист 
ЧДТУ.232254.001.ПЗ 48 
Змн. Арк. № докум. Підпис Дата 
 
Отже маємо таке:  
Інформаційні сигнали від датчиків роботи верстату, зворотній зв'язок 
верстатів та інформація про живлення під’єднані до пінів 0-4 керуючі сигнали 
відмикання верстатів, вимкнення світла та перемикання живлення до пінві 8,9 та 
12,13. 
Перейдемо до написання коду. 
 
2.3.3 Розробка програми Arduino Uno 
const int inputPin1 = 1;  
const int inputPin2 = 2;  
const int inputPin3 = 3;  
const int inputPin4 = 4;  
const int outputPin1 = 8;  
const int outputPin2 = 9;  
const int outputPin3 = 13;  
const int outputPin4 = 12;  
В даному фрагменті коду відбувається ініціалізація та присвоєння значень 
пінів для зчитування і видачі сигналів  
void setup() { 
  pinMode(inputPin1, INPUT); // Установка піна 1 режим входу 
  pinMode(inputPin2, INPUT); // Установка піна 2 режим входу 
  pinMode(inputPin3, INPUT); // Установка піна 3 режим входу 
  pinMode(inputPin4, INPUT); // Установка піна 4 режим входу 
  pinMode(outputPin1, OUTPUT); // Установка піна 8 режим виходу 
  pinMode(outputPin2, OUTPUT); // Установка піна 9 режим виходу 
  pinMode(outputPin3, OUTPUT); // Установка піна 13 режим виходу 
  pinMode(outputPin4, OUTPUT); // Установка піна 12 режим виходу} 
На цій діляці коду виконується установка пінів в режим входу і виходу сигналів 
void loop() { 
  int inputState1 = digitalRead(inputPin1);   
Лист 
ЧДТУ.232254.001.ПЗ 49 
Змн. Арк. № докум. Підпис Дата 
 
  int inputState2 = digitalRead(inputPin2);   
  if (inputState1 == HIGH && digitalRead(0) == HIGH) { 
    digitalWrite(outputPin1, HIGH);   
  } else { 
    digitalWrite(outputPin1, LOW);    
  } 
В даній частині коду виконується перевірка стану вхідних пінів 1 та 2 та 
виконання умови з подачею сигналу на вимкнення верстату №1 при увімкненому 
резервному живлені, якщо верстат працює або ж навпаки резервне живлення не 
увімкнуто дія не відбувається.  
  if (inputState2 == HIGH && digitalRead(0) == HIGH) { 
    digitalWrite(outputPin2, HIGH);   
  } else { 
    digitalWrite(outputPin2, LOW);  
  } 
В Даній частині коду виконується така ж сама умова вимкнення але для 
верстату №2. Як і у випадку з мікроконтролером Atmega16 ця частина коду може 
дублюватись в залежності від заданих задач підприємства і мають обмеження 
тільки кількість доступних портів підключення.    
  if (inputState1 == HIGH && inputState2 == HIGH) { 
    int inputState3 = digitalRead(inputPin3);   
    int inputState4 = digitalRead(inputPin4);   
    if (inputState3 == LOW && inputState4 == LOW) { 
      digitalWrite(outputPin3, HIGH);   
      delay(5000);                      
      digitalWrite(outputPin4, HIGH);   
    } else { 
      digitalWrite(outputPin3, LOW);    
      digitalWrite(outputPin4, LOW);    
    } 
Лист 
ЧДТУ.232254.001.ПЗ 50 
Змн. Арк. № докум. Підпис Дата 
 
  } else { 
    digitalWrite(outputPin3, LOW); 
    digitalWrite(outputPin4, LOW);   
  } 
} 
В даній частині коду виконується перевірка стану вхідних пінв 3 та 4 та 
виконання умов з подачею сигналів на вимкнення світла та виконання затримки 5 
секунд до перемикання живлення на постійне. Затримка може бути змінена на будь 
яке інше значення потрібне для підприємства, також вимкнення світла може бути 
не обов’язковим і також ситуативне для кожного підприємства.  
Перевіремо роботу програми.(рис.2.22) 
 
Рисунок 2.22 – Програма в дії 
При вмиканні плата Arduino Uno перевіяє наявність високого потенціалу на 
контакт 0 при його відсутності програма не виконує ніяких дій. Далі відбувається 
перевірка стану кожного з верстатів за допомогою SENSOR1 та SENSOR2 які 
приєднані до контактів 1 і 2 , в свою чергу сигналізують про закінчення роботи 
верстатів та дозволяють програмі за наявності вхідного сигналу PIN0 видавати 
керуючі сигнали на контактах 8 та 9 для вимкнення верстатів. Далі програма 
Лист 
ЧДТУ.232254.001.ПЗ 51 
Змн. Арк. № докум. Підпис Дата 
 
аналізує значення з контактів 3 і 4 які дають інформацію про повне вимкнення 
верстатів, і якщо обидва сигнали мають низький потенціал програма подає сигнал 
на контакт 13 тим самим вимикаючи світло, після цього виконується затримка 5 
секунд та подача сигналу на контакт 12 для перемикання живлення з резервного на 
основне. На цьому програма закінчує роботу та переходить на початок циклу щоб 
в наступне перемикання живлення повторити процес. 
 
2.3.4 Додаткові можливості плат Arduino 
Якщо підприємство має великі масштаби і все обладнання потребує 
безпечного вимкнення і фізично просто неможливо вмістити все в одну Arduino 
Uno то можна використовувати дві або більше об’єднаних плат, використання плат 
розширення або просто використавши плати Arduino Megа. Далі розглянемо всі ці 
три способи розширення. 
 
2.3.4.1 об’єднання плат Arduino 
Для об'єднання двох плат Arduino Uno знадобиться додатковий апаратний або 
програмний[14] зв'язок між ними. Ось кілька способів, які ви можете 
використовувати для поєднання двох плат Arduino Uno: 
1. З'єднання плат Arduino Uno за допомогою проводів – можна з'єднати піни 
однієї плати з пінами іншої плати, використовуючи дроти. Наприклад, можна 
підключити піни TX (передача) однієї плати до пін RX (прийом) іншої плати, 
щоб забезпечити послідовний зв'язок між ними. [13] 
2. Використання шин I2C – Arduino Uno підтримує комунікацію по шині I2C. 
Можна підключити обидві плати до шини I2C, використовуючи піни A4 
(SDA) та A5 (SCL), та встановити відповідні адреси для кожної плати. Це 
дозволить обмінюватися даними між платами через шину I2C. [13] 
3. Використання інших інтерфейсів – Залежно від ваших потреб, ви також 
можете використовувати інші інтерфейси, такі як SPI або UART для зв'язку 
між двома платами Arduino Uno. У цьому випадку вам знадобляться 
Лист 
ЧДТУ.232254.001.ПЗ 52 
Змн. Арк. № докум. Підпис Дата 
 
відповідні дроти та налаштування для обміну даними за вибраним 
інтерфейсом. [13] 
 
Необхідність вибору певного способу поєднання двох плат Arduino Uno 
залежить від конкретних вимог та завдань, які потрібно вирішити. 
Розгляну декілька з цих способів: 
1. Надсилання даних з однієї плати Arduino Uno на іншу плату Arduino Uno 
через послідовне з'єднання (наприклад, через піни TX і RX), потрібно 
використовувати бібліотеку SoftwareSerial або HardwareSerial, залежно від 
пінів. Приклад коду для надсилання даних із першої плати на другу плату: 
На першій платі (відправник): 
#include <SoftwareSerial.h> 
Цей фрагмент коду відповідає за підключення бібліотеки необхідної для передачі 
даних 
SoftwareSerial mySerial(2, 3);  
В цьому фрагменті коду виконується об’єкт SoftwareSerial і зазначаються піни по 
яким будуть передаватись дані. 
void setup() { 
   Serial.begin(9600);  
   mySerial.begin(9600);  
} 
Цей фрагмент коду призначений для ініціалізації послідовного порту, увімкнення 
монітору порту. 
void loop() { 
   if (Serial.available()) { 
     char data = Serial.read();  
     mySerial.write(data);  
   } 
} 
Лист 
ЧДТУ.232254.001.ПЗ 53 
Змн. Арк. № докум. Підпис Дата 
 
В даній частині коду виконується зчитування даних з монітору порту та передача їх 
на іншу плату Arduino 
На другій платі (одержувач): 
#include <SoftwareSerial.h> 
Цей фрагмент коду відповідає за підключення бібліотеки необхідної для приймання  
даних 
SoftwareSerial mySerial(2, 3);  
В цьому фрагменті коду виконується об’єкт SoftwareSerial і зазначаються піни 
по яким будуть прийматись дані. 
void setup() { 
   Serial.begin(9600);  
   mySerial.begin(9600);  
} 
Цей фрагмент коду призначений для ініалізаці послідовного порту на другому 
мікроконтролері, увімкненя монітору порту. 
void loop() { 
   if (mySerial.available()) { 
     char data = mySerial.read();  
     Serial.write(data);  
   } 
} 
В даній частині коду виконується зчитування даних з монітору порту та 
передача їх на іншу плату Arduino 
У цьому прикладі плати Arduino Uno з'єднані через піни 2 та 3 з використанням 
SoftwareSerial. [13] 
2. Для об'єднання плат Arduino Uno з використанням шини I2C, потрібно буде 
використовувати бібліотеку Wire, яка надає функціональність для комунікації 
по I2C. Приклад коду для надсилання даних із першої плати на другу плату 
по шині I2C: 
На першій платі (відправник): 
Лист 
ЧДТУ.232254.001.ПЗ 54 
Змн. Арк. № докум. Підпис Дата 
 
#include <Wire.h> 
Цей фрагмент коду відповідає за підключення бібліотеки необхідної для 
передачі даних 
void setup() { 
   Wire.begin();  
   Serial.begin(9600);  
} 
Цей фрагмент коду призначений для ініціалізації шини I2C та увімкнення 
монітору порту. 
void loop() { 
   Wire.beginTransmission(8);  
   Wire.write("Hello");  
   Wire.endTransmission();  
   delay(1000);  
} 
В даній частині коду виконується вказування адреси другої плати, відправка 
даних, завершення та витримка часе між відправками. 
На другій платі (одержувач): 
#include <Wire.h> 
Цей фрагмент коду відповідає за підключення бібліотеки необхідної для приймання 
даних 
void setup() { 
   Wire.begin(8); 
   Wire.onReceive(receiveEvent);  
   Serial.begin(9600);  
} 
Цей фрагмент коду призначений для ініціалізації шини I2C, вказується адреса 
плати, функція обробки даних, увімкнення монітору порту. 
void loop() { 
   delay(100); 
Лист 
ЧДТУ.232254.001.ПЗ 55 
Змн. Арк. № докум. Підпис Дата 
 
} 
В цьому фрагменті коду виконується невелика затримка перед зчитуванням.  
void receiveEvent(int bytes) { 
   while (Wire.available()) { 
     char data = Wire.read();  
     Serial.print(data);  
   } 
} 
В даній частині коду виконується зчитування отриманих даних та виведення 
їх на монітор порту 
У цьому прикладі плати Arduino Uno з'єднані по шині I2C, де перша плата є 
відправником, періодично надсилає дані "Hello", а друга плата є одержувачем, 
приймає дані та виводить їх у монітор порту. що адреса другої плати задана як 8, 
але можна використовувати будь-яку іншу доступну адресу в діапазоні 0-127 в 
залежності від потреб. [13] 
3. Якщо є один вільний пін на кожній платі для передачі сигналу, можна 
використовувати просту комунікацію односпрямованим сигналом. Приклад 
коду передачі сигналу з першої плати на другу плату з використанням одного 
піна: 
На першій платі (відправник): 
const int pinToSend = 2;  
void setup() { 
   pinMode(pinToSend, OUTPUT);  
} 
В даному фрагменті коду виконується установка піну для надсилання сигналу 
та налаштування його як вихідного. 
void loop() { 
   digitalWrite(pinToSend, HIGH);  
   delay(1000);  
   digitalWrite(pinToSend, LOW);  
Лист 
ЧДТУ.232254.001.ПЗ 56 
Змн. Арк. № докум. Підпис Дата 
 
   delay(1000);  
} 
Цей фрагмент коду виконує періодичну подачу високих і низьких сигналів на 
вихідний пін та виконання затримок після подачі. 
На другій платі (одержувач): 
const int pinToReceive = 3;  
void setup() { 
   pinMode(pinToReceive, INPUT);  
   Serial.begin(9600);  
} 
В даному фрагменті коду виконується встановлення піну для прийому 
сигналу та налаштування його як вхідного, вмикається монітор порту. 
void loop() { 
   int signal = digitalRead(pinToReceive);  
   if (signal == HIGH) { 
     Serial.println("Signal received!");  
   } 
} 
У цьому фрагменті коду виконується  зчитування стан піна прийому, і якщо 
сигнал високий, виводиться повідомлення на монітор порту 
В даному прикладі перша плата відправляє періодичний сигнал на вільний 
пін (пін 2), а друга плата перевіряє стан свого вільного піна (пін 3) і виводить 
повідомлення монітор порту, якщо сигнал є високим, для правильної роботи цього 
підходу необхідно підключити землю (GND) обох плат разом, щоб забезпечити 
загальну опору. [13] 
Вибір найкращого способу залежить від конкретних вимог та обмежень. 
Розглянемо переваги та недоліки кожного з описаних способів:  
 
1. Використання окремих пінів на кожній платі: 
Лист 
ЧДТУ.232254.001.ПЗ 57 
Змн. Арк. № докум. Підпис Дата 
 
 Переваги: простота реалізації, що не вимагає додаткових бібліотек або 
налаштувань. Може бути корисним, якщо вам потрібно просто передати 
сигнал без складної комунікації. 
 Недоліки: потрібна достатня кількість вільних пінів на кожній платі.  
 Масштабування на більшу кількість плат може бути складним через 
обмеження кількості доступних пінів. 
 
2. Використання шини I2C: 
 Переваги: дозволяє комунікувати з кількома пристроями, використовуючи 
лише два піни (SDA та SCL). Має стандартизований протокол із підтримкою 
безлічі пристроїв. Масштабованість на велику кількість пристроїв. 
 Недоліки: потребує налаштування та використання бібліотеки для роботи з 
I2C. Деякі піни (A4 та A5 на Arduino Uno) зарезервовані для підключення I2C. 
 
3. Використання одного вільного піна на кожній платі для односпрямованої 
комунікації: 
 Переваги: простота реалізації, що не вимагає додаткових бібліотек або 
налаштувань. Може бути корисним для простої передачі сигналу між 
платами. 
 Недоліки: вимагає достатньої кількості вільних пінів на кожній платі. 
Обмежений односпрямованою комунікацією, що не підтримує зворотний 
зв'язок. 
Вибір способу залежить від конкретного завдання, кількості пристроїв, 
складності комунікації та доступних пінів. Якщо потрібно просто передати сигнал 
без складної комунікації, використання окремих пінів може бути найпростішим 
рішенням. Якщо потрібна комунікація з кількома пристроями або складна 
взаємодія, шина I2C може бути зручнішою. [13] 
 
Лист 
ЧДТУ.232254.001.ПЗ 58 
Змн. Арк. № докум. Підпис Дата 
 
2.3.4.2 Використання плат розширення 
Плати розширення, також відомі як шилди (shields), є додатковими модулями 
або платами, які можна підключати до мікроконтролерів Arduino. Вони 
розширюють функціональність базової плати, додаючи додаткові можливості та 
периферійні пристрої.[6] 
Ось деяк типи плат розширення для Arduino: 
1. Ethernet Shield: Дозволяє підключити Arduino до Ethernet. Зазвичай має роз'єм 
Ethernet і може бути використаний для створення мережевих програм або 
віддаленого керування пристроями.  
2. LCD Shield: Включає дисплей LCD та кнопки безпосередньо на платі 
розширення. Забезпечує простий спосіб додавання текстового або графічного 
дисплея Arduino для відображення інформації або створення інтерфейсів. 
3. Motor Shield: Розширення, призначене для керування двигунами. Зазвичай має 
драйвери для підключення та керування різними типами двигунів, такими як 
крокові або постійного струму.  
4. Wireless Shield: Дозволяє підключити Arduino до бездротових мереж, таких як 
Wi-Fi, Bluetooth або Zigbee. Надає можливість бездротового зв'язку та 
управління Arduino з віддаленого місця. 
5. Sensor Shield: Плата розширення із попередньо встановленими датчиками. 
Полегшує підключення різних типів датчиків, таких як температурні, світлові, 
звукові та ін. 
6. GPS Shield: Дозволяє Arduino отримувати дані про місцезнаходження за 
допомогою GPS-модуля. Використовується для створення програм, пов'язаних із 
геолокацією та навігацією. 
7. Proto Shield: Звичайна плата розширення з набором отворів та висновків, що 
дозволяє створювати власні схеми та підключати інші компоненти. 
Це лише деякі приклади плат розширення для Arduino. Існує безліч інших 
шилдів, які пропонують різні функціональності та можливості. Вибір плати 
розширення залежить від конкретних потреб та необхідної функціональності для 
проекту. 
Лист 
ЧДТУ.232254.001.ПЗ 59 
Змн. Арк. № докум. Підпис Дата 
 
В кваліфікаційній роботі зупинимося на платах розширення пінів.  
Плати розширення кількості пінів, також відомі як порт-експандери або порт-
шилди (port expanders/shields), призначені для розширення кількості доступних 
входів/виходів на мікроконтролері, такому як Arduino. Вони дозволяють 
підключити більше периферійних пристроїв, датчиків або виконавчих механізмів, 
які потребують додаткових пін для керування. 
Бувають такі плати розширення кількості пінів: 
1. GPIO (General Purpose Input/Output) Expander: Це плата, яка додає додаткові 
цифрові входи/виходи (GPIO) для підключення додаткових пристроїв. Вони 
можуть бути використані для підключення кнопок, світлодіодів, реле, 
датчиків та інших периферійних пристроїв. [10] 
2. I2C або SPI Expander: Ці плати розширення використовують протоколи 
зв'язку, такі як I2C (Inter-Integrated Circuit) або SPI (Serial Peripheral Interface), 
щоб розширити кількість доступних пінів. Вони зазвичай підключаються до 
основної плати Arduino через шину I2C або SPI та надають додаткові GPIO-
піни для підключення пристроїв. [7] 
3. Shift Register: Плата розширення, яка використовує регістр зсуву (shift 
register) збільшення кількості пінів. Регістр зсуву дозволяє керувати кількома 
пінами за допомогою невеликої кількості пінів на мікроконтролері. Це 
особливо корисно для керування великою кількістю світлодіодів або інших 
пристроїв, що потребують окремого керування. [9] 
4. Multiplexer/Demultiplexer: Ці плати дозволяють об'єднувати або розділяти 
сигнали з кількох пінів на одному піні мікроконтролера. Вони дозволяють 
заощаджувати піни на мікроконтролері, коли необхідно обробляти безліч 
входів/виходів. [8] 
5. Port Expander Shield: Це тип плати розширення, який підключається до 
основної плати Arduino, забезпечуючи додаткові GPIO-піни. Вони зазвичай 
мають фіксовану кількість пінів і можуть бути встановлені зверху Arduino для 
розширення функціональності. [10] 
 
Лист 
ЧДТУ.232254.001.ПЗ 60 
Змн. Арк. № докум. Підпис Дата 
 
2.3.4.3 Arduino Mega 
 
Рисунок 2.23 – Arduino Mega 
Arduino Mega є однією з платформ, розроблених компанією Arduino, яка є  
популярною серед хобі-розробників, студентів і професіоналів. Arduino Mega є 
вдосконаленою версією платформи Arduino Uno і має більше введення/виведення 
(I/O) та більшу обчислювальну потужність [19]: 
1. Arduino Mega базується на мікроконтролері ATMega2560, який має 54 
цифрових входи/виходи, з яких 15 можуть використовуватися як PWM (ШІМ) 
виходи, 16 аналогових входів та 4 UART-інтерфейси для зв'язку з іншими 
пристроями. Також є можливість використовувати зовнішню пам'ять для 
зберігання додаткових даних.  
2. Arduino Mega має більший розмір у порівнянні з Arduino Uno, що дозволяє 
підключати більше периферійних пристроїв і розширювачів. Завдяки цьому, 
Arduino Mega є дуже популярним використовувати в проектах, які вимагають 
більшої кількості підключених датчиків, приводів або інших зовнішніх 
пристроїв.] 
3. Arduino Mega сумісна з багатьма додатковими модулями, розширювачами і 
датчиками, що дозволяє розширити її функціональність і використовувати 
для різних застосувань. Наприклад, її можна використовувати для створення 
роботів, автоматизації домашньої техніки, інтерактивних проектів, 
вимірювальних систем, освітніх проектів та багатьох інших.  
Лист 
ЧДТУ.232254.001.ПЗ 61 
Змн. Арк. № докум. Підпис Дата 
 
4. Програмування Arduino Mega здійснюється за допомогою Arduino IDE 
(інтегроване середовище розробки), яке надає простий інтерфейс для 
написання коду та завантаження його на плату. Користувачі можуть 
використовувати мови програмування C або C++ для створення програм для 
Arduino Mega.  
Оглядаючи всі його можливості, Arduino Mega є потужною платформою для 
розробки різноманітних електронних проектів, яка дозволяє зробити 
багатоцільові проекти більш складними та функціональними. Вона надає 
широкі можливості для креативної роботи з електронікою і програмуванням, і 
допомагає людям будь-якого рівня досвіду реалізувати свої ідеї.  
 
Лист 
ЧДТУ.232254.001.ПЗ 62 
Змн. Арк. № докум. Підпис Дата 
 
ВИСНОВКИ 
 
Дослідження, присвячене розробці системи автоматичного вимкнення 
металообробних верстатів при перемиканні на резервне живлення за допомогою 
мікроконтролера, є актуальним у зв'язку з сучасними вимогами до ефективності, 
точності та безпеки виробничих процесів металообробки. 
У результаті дослідження було розроблено систему, яка забезпечує 
автоматичне вимкнення металообробних верстатів при перемиканні на резервне 
живлення. Для досягнення цієї мети було виконано такі завдання: проведено аналіз 
автоматизованих систем контролю виробничих процесів металообробки, а також 
аналіз системи автоматичного вимкнення при перемиканні на резервне живлення.  
Після аналізу вихідних даних було обрано спосіб реалізації задачі за 
допомогою мікроконтролера Atmega16 в системах CodeVisionAVR / Proteus, а також 
за допомогою плати Arduino UNO в системах Arduino IDE / Proteus. Було 
розроблено алгоритм автоматичного вимкнення та проведено тестування 
працездатності та ефективності програми в симуляції. 
Крім того, були проаналізовані додаткові можливості плат Arduino для 
масштабних проектів металообробних підприємств, що може сприяти подальшому 
розвитку і вдосконаленню системи автоматизованого контролю виробничих 
процесів металообробки. 
Результати даного дослідження сприятимуть підвищенню якості та 
ефективності виробництва в галузі металообробки, а також сприятимуть 
поліпшенню безпеки роботи операторів та забезпеченню стабільної якості 
продукції..  
Лист 
ЧДТУ.232254.001.ПЗ 63 
Змн. Арк. № докум. Підпис Дата 
 
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 
 
1. Mikell P. Groover, Automation, Production Systems, and Computer-Integrated 
Manufacturing, USA, Lehigh University.—Fourth edition, 2015 
2. Tuan Anh Nguyen, Digital Manufacturing: Principles, Systems and 
Applications, Australia Queensland University of Technology, 2016 
3. Блок схема [Електронний ресурс] : [Веб-сайт]. – Режим доступу: 
https://uk.wikipedia.org/wiki/Блок-схема 
4. Пальчевський Б. О. Дослідження технологічних систем (моделювання, 
проектування, оптимізація) / Б. О. Пальчевський. – Львів : Світ, 2001. 
5. Плата Arduino Uno [Електронний ресурс] : [Веб-сайт]. – Режим доступу: 
https://doc.arduino.ua/ru/hardware/Uno/ (дата звернення 25.05.2023) – Назва 
з екрана. 
6. Плата Arduino Uno Rev3 [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу: https://store.arduino.cc/usa/arduino-Uno-rev3/ (дата звернення 
25.05.2023) – Назва з екрана. 
7. Плати розширення I2C Arduino [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу: https://store.ncd.io/product/i2c-shield-for-arduino-Uno/ (дата 
звернення 25.05.2023) – Назва з екрана. 
8. Плати розширення Multiplexer/Demultiplexer Arduino [Електронний 
ресурс] : [Веб-сайт]. – Режим доступу: https://www.codrey.com/arduino-
projects/analog-multiplexer-demultiplexer-primer/ (дата звернення 
25.05.2023) – Назва з екрана. 
9. Плати розширення Shift Register Arduino [Електронний ресурс] : [Веб-
сайт]. – Режим доступу: https://lastminuteengineers.com/74hc595-shift-
register-arduino-tutorial/ (дата звернення 25.05.2023) – Назва з екрана. 
10. Плати розширення пінів Arduino [Електронний ресурс] : [Веб-сайт]. – 
Режим доступу: https://arduino.ua/ru/prod1959-gpio-shield-for-arduino (дата 
звернення 25.05.2023) – Назва з екрана. 
Лист 
ЧДТУ.232254.001.ПЗ 64 
Змн. Арк. № докум. Підпис Дата 
 
11. Посібник по роботі з CodeVisionAVR [Електронний ресурс] : [Веб-сайт]. –
Режим доступу: https://www.thierry-lequeu.fr/data/CodeVisionAVR-3-20-
User-Manual.pdf (дата звернення 25.05.2023) – Назва з екрана. 
12. Посібник по роботі з Proteus [Електронний ресурс] : [Веб-сайт]. –Режим 
доступу: https://labcenter.s3.amazonaws.com/downloads/Tutorials.pdf  (дата 
звернення 25.05.2023) – Назва з екрана. 
13. Практичний курс (Arduino) [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу: https://coursehunters.net/course/kurs-arduino-arduino-prakticheskiy-
kurs/ (дата звернення: 25.02.2023) – Назва з екрана. 
14. Програмування Ардуіно [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу: https://docs.arduino.cc/software/ide-v2 (дата звернення 25.02.2023) 
– Назва з екрана. 
15. Сайт Arduino  [Електронний ресурс] : [Веб-сайт]. – Режим доступу: 
www.arduino.cc/ (дата звернення 25.05.2023) – Назва з екрану. 
16. Сайт програми CodeVisionAVR [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу:  https://www.codevision.be (дата звернення 25.05.2023) - Назва з 
екрана. 
17. Сайт програми Proteus [Електронний ресурс] : [Веб-сайт]. –Режим доступу: 
https://www.labcenter.com (дата звернення 25.05.2023) – Назва з екрана. 
18. Cпецифікація Atmega16 [Електронний ресурс] : [Веб-сайт].– Режим 
доступу: https://octopart.com/datasheet/atmega16-16pu-microchip-77759861 
(дата звернення 25.05.2023) – Назва з екрана. 
19. Специфікація  Arduino Mega [Електронний ресурс] : [Веб-сайт].– Режим 
доступу:https://docs.arduino.cc/static/485e6334b1e721b013a4f9e3eb6ab508/
A000067-datasheet.pdf (дата звернення 25.05.2023) – Назва з екрана. 
20. Специфікація  Arduino Uno [Електронний ресурс] : [Веб-сайт]. – Режим 
доступу: https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf 
(дата звернення 25.05.2023) – Назва з екрана. 
Лист 
ЧДТУ.232254.001.ПЗ 65 
Змн. Арк. № докум. Підпис Дата