Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/8002Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Зорін, Олександр Сергійович | - |
| dc.contributor.author | Вербицький, Олександр Анатолійович | - |
| dc.date.accessioned | 2026-03-12T11:46:11Z | - |
| dc.date.available | 2026-03-12T11:46:11Z | - |
| dc.date.issued | 2022 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/8002 | - |
| dc.description.abstract | "Розроблено бюджетнийпрограмно – апаратного комплексу на базі платформи Arduino та MATLAB/Simulink що в свою чергу дозволить створити доступну споживачеві, гнучку інформаційно–вимірювальну систему, яка дозволить проводити лабораторні дослідження у віртуальному середови-щі MATLAB/Simulink, застосовуючи реальні датчики та вимірювальні систе-ми. Це в свою чергу дозволить більш правдоподібно оцінювати параметри та похибки реальних досліджуваних систем (зразків), згідно з вимогами ТЗ. Методи дослідження – патентний пошук та огляд існуючих рішень, об-ґрунтування технічного завдання, написання програмного забезпечення, для платформи ARDUINO В роботі розглянуто сучасні підходи до вирішення поставленого за-вдання, проведемо огляд існуючих рішень реалізації програмно – апаратних комплексів як у вітчизняних джерелах, так і зарубіжних. Для вирішення зада-чі застосовано платформу Arduino, для цього контролер приймає сигнали на максимальній частоті перетворення АЦП, що в свою чергу дозволяє спостері-гати спектр максимально в широкої смузі частот. " | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | arduino UNO | uk_UA |
| dc.subject | програмно-апаратний комплекс | uk_UA |
| dc.subject | matlab/simulink | uk_UA |
| dc.subject | інтерфейс | uk_UA |
| dc.subject | АЦП | uk_UA |
| dc.title | Розробка програмно- апаратного комплексу на базі платформи Arduino та MATLAB/Simulink | uk_UA |
| dc.type | Bachelor Thesis | uk_UA |
| Appears in Collections: | 172 Електронні комунікації та радіотехніка (Радіотехніка та робототехнічні системи) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| Б_172_Вербицький_Зорін.pdf Restricted Access | 2.11 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ, АВТОТРАНСПОРТУ ТА
МАШИНОБУДУВАННЯ
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ ТА
КІБЕРБЕЗПЕКИ
Пояснювальна записка
до кваліфікаційної роботи
бакалавра
(освітній ступінь)
на тему: Розробка програмно- апаратного комплексу на базі платформи Arduino
та MATLAB/Simulink
Виконав: студент 4 курсу, групи РТ-86СК
спеціальності
172 «Телекомунікації та радіотехніка»
(шифр і назва напряму підготовки, спеціальності)
(освітня програма – «Радіотехніка та
робототехнічні системи»)
Вербицький О.А.
(прізвище та ініціали)
Керівник Зорін О.С.
(прізвище та ініціали)
Рецензент Гальченко В.Я
(прізвище та ініціали)
Черкаси – 2022 року
Форма № Н-9.01
Черкаський державний технологічний університет
Факультет електронних технологій і робототехніки
Кафедра кафедра робототехнічних і телекомунікаційних систем та
кібербезпеки
Освітня програма Радіотехніка та робототехнічні системи
Спеціальність 172 – ‘’Телекомунікація та радіотехніка’’
ЗАТВЕРДЖУЮ
Зав. кафедри ______ Володимир ПАЛАГІН
“_____” ___________________ 2022 року
З А В Д А Н Н Я
на дипломний проект (роботу) здобувачу освітнього ступеня
‘’бакалавр‘’
(назва ступеня)
Вербицький Олександр Анатолійович
(прізвище, ім’я, по батькові)
1. Тема проекту (роботи): Розробка програмно- апаратного комплексу на базі
платформи Arduino та MATLAB/Simulink
керівник проекту (роботи) Зорін Олександр Сергійович
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом вищого навчального закладу від “18” лютого 2022 року № 58/04
2. Строк подання студентом проекту (роботи) “13” червня 2022 року
3. Вихідні дані до проекту (роботи) Пристрій повинен забезпечувати наступні
характеристики: напруга живлення 5В, гранична частота обробки сигналу 70
кГц, кількість АЦП-1,розрядність АЦП, не нижче 8-ми, середовище обробки
сигналу MATLAB/SIMULINK. В роботі повинні бути проведені наступні
дослідження: дослідження спектру сигналу, дослідження осцилограм сигналу.
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно
розробити) вступ, патентний пошук та огляд наявних рішень, обґрунтування
технічного завдання, проектування програмно – апаратного комплексу,
апаратна реалізація програмно – апаратного комплексу на базі платформи
arduino та matlab/simulink, охорона праці, висновок
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень)
6. Консультанти розділів проекту (роботи)
Підпис, дата
Прізвище, ініціали та посада
Розділ завдання завдання
консультанта
видав прийняв
Охорона праці Кожем’якін О.С.,
старший викладач
7. Дата видачі завдання 13 січня 2022 року
КАЛЕНДАРНИЙ ПЛАН
№ Назва етапів дипломного Строк виконання Примітка
з/п проекту (роботи) етапів проекту
(роботи)
1 Аналіз технічного завдання та огляд 20.01.2022- 31.01.2022
літератури
2 Патентний пошук та огляд аналогічних 01.02.2022- 20.02.2022
рішень
3 Обґрунтування технічного завдання 21.02.2022-01.03.2022
Проектування програмно – апаратного
4 02.03.2022-20.03.2022
комплексу
6 Апаратна реалізація програмно –
Апаратного комплексу на базі
Платформи arduino та 23.03.2022–15.05.2022
Matlab/simulink
7 Розробка розділу охорони праці 15.05.2022–20.05.2022
8 Оформлення пояснювальної записки 20.05.2022–25.05.2022
9 Оформлення креслень 29.05.2022-05.06.2022
Студент Вербицький О.А.
(підпис) (прізвище та ініціали)
Керівник проекту (роботи) Зорін О.С.
(підпис) (прізвище та ініціали)
ЗМІСТ
ВСТУП ................................................................................................................... 5
РОЗДІЛ 1. ПАТЕНТНИЙ ПОШУК ТА ОГЛЯД НАЯВНИХ РІШЕНЬ ........... 7
1.1 Актуальність обраної теми. ............................................................................ 7
1.2 Підключення до ПК цифрового осцилографа. ............................................. 7
1.3 Стикування цифрового осцилографа із системою MATLAB. .................... 8
1.4 Зчитування сигналу з звукової карти за допомогою MATLAB ............... 15
1.5 Операції над звуковими файлами. ............................................................... 20
1.6 Висновки. ....................................................................................................... 22
РОЗДІЛ 2. ПРОЕКТУВАННЯ ПРОГРАМНО – АПАРАТНОГО
КОМПЛЕКСУ ...................................................................................................... 23
2.1 Проектування алгоритму роботи програмно – апаратного комплексу. .. 23
2.2 Мікроконтроллерна платформа Arduino. .................................................... 25
2.3 Архітектура мікроконтролера ATmega328P. ............................................. 28
2.4 Середовище програмування Arduino. ........................................................ 33
РОЗДІЛ 3. АПАРАТНА РЕАЛІЗАЦІЯ ПРОГРАМНО – АПАРАТНОГО
КОМПЛЕКСУ НА БАЗІ ПЛАТФОРМИ ARDUINO ТА MATLAB/SIMULINK
............................................................................................................................... 36
3.1 Синтез програмного забезпечення matlab/simulink та відладочної плати
Arduino UNO. ....................................................................................................... 36
3.2 Обробка та відображення сигналів на частоті перетворення АЦП. ........ 43
3.3 Накопичення, передача та відображення відмасштабованих даних ....... 51
3.4 Побудова спектра сигналу реальному часі. ................................................ 54
3.5 Побудова каналу швидкісної потокової передачі та обробки 8р даних у
реальному часі без пропуску даних................................................................... 58
3.6 Збільшення частоти дискретизації сигналу АЦП. ..................................... 63
РТ86.022079.248 ПЗ
Змн. Арк. № докум. Підпис Дат
Розро а
б. Вербицький Розробка програмно- апаратного Літ. Арк. Акрушів
Перевір. Зорін О.С. комплексу на базі платформи
3 87
Реценз. Arduino та MATLAB/Simulink
Н. Контр. Зорін О.С. Пояснювальна записка ЧДТУ 2022
Затверд.
3.7. Висновки ....................................................................................................... 67
РОЗДІЛ 4 ОХОРОНА ПРАЦІ ............................................................................ 68
4.1. Аналіз небезпек та шкідливостей, які виникають у приміщенні проектно-
технічної лабораторії. ......................................................................................... 68
4.2 Порівняльна характеристика сучасних джерел світла і вибір .................. 74
системи освітлення лабораторії ......................................................................... 74
ВИСНОВКИ ......................................................................................................... 83
Список використаної літератури ....................................................................... 85
Арк.
РТ86.022079.248 ПЗ
4
Змн. Арк. № докум. Підпис Дата
ВСТУП
Автоматизація управління обладнанням дає ряд незаперечних переваг
на всіх рівнях поза залежністю від глибини впровадження. Це зниження
енергозатрат, експлуатаційних утримань, підвищення безпеки, контроль
рівня обладнання, посилення системи управління в цілому, а також, як
слідство, попередження і попередження аварійних ситуацій, технологічність
процесу управління об'єктом з можливістю створити індивідуальну програму
роботи для кожної підсистеми і багато іншого [1] .
Поява перших мікропроцесорів означало початок нової ери в розвитку
мікропроцесорної техніки та автоматизації. Наявність в одному корпусі
більшості системних пристроїв, зробило мікроконтролер подібним
звичайному комп'ютеру. Раніше вони називалися однокристальні мікро-ЕВМ
[2]. Щоб зібрати пристрій з застосуванням мікроконтролера, необхідно знати
основи схемотехніки, принцип роботи відповідного процесора, уміти
програмувати на асемблері і виготовляти електронну техніку.
В сучасному світі розроблено безліч різних автоматизованих систем.
Але всі вони мають ряд недоліків, таких як: відсутність адаптації під
вітчизняний ринок, такі системи створені з урахуванням європейських або
американських стандартів управління. Основна проблема полягає в тому, що
створення автоматизованих систем є дуже трудомістким процесом, в якому
необхідно постійне участь різних фахівців і розробників. При цьому основна
складність полягає в тому, що ці системи встановлюють комплектом,
заздалегідь підготовленим інженерно-архітектурної концепції, з якою не
повинно бути невідповідності. Всі ці фактори в сукупності роблять
«програмно апаратні комплекси» недоступними для величезної частини
споживачів вітчизняного ринку, так як у більшості або немає коштів, для
покупки цілого комплекту систем, або через відсутність у компаній-
виробників вузького напрямку для конкретних цілей у побуті, доступної та
Арк.
РТ86.022079.248 ПЗ
5
Змн. Арк. № докум. Підпис Дата
гнучкої інформаційно-вимірювальної системи на базі платформи Arduino та
MATLAB/Simulink.
Метою роботи є розробка бюджетного програмно – апаратного
комплексу на базі платформи Arduino та MATLAB/Simulink що в свою чергу
дозволить створити доступну споживачеві, гнучку інформаційно-
вимірювальну систему, яка дозволить проводити лабораторні дослідження у
віртуальному середовищі MATLAB/Simulink, застосовуючи реальні датчики
та вимірювальні системи. Це в свою чергу дозволить більш правдоподібно
оцінювати параметри та похибки реальних досліджуваних систем (зразків).
Арк.
РТ86.022079.248 ПЗ
6
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 1. ПАТЕНТНИЙ ПОШУК ТА ОГЛЯД НАЯВНИХ
РІШЕНЬ
У цьому розділі проаналізуємо сучасні підходи до вирішення
поставленого завдання, проведемо огляд існуючих рішень програмно –
апаратних комплексів як у вітчизняних джерелах, так і зарубіжних для
підтвердження актуальності роботи.
1.1 Актуальність обраної теми.
Розробка програмних засобів для спостереження, аналізу та обробки
сигналів на рівні контролерів потребує значних часових витрат. Підключення
контролера до спеціалізованого середовища високого рівня дозволяє значно
скоротити час проектування алгоритму для контролера з урахуванням
обмежень його ресурсів.
Хорошим прикладом потужного спеціалізованого середовища для
роботи із сигналами є MATLAB. Для аналізу сигналів часто потрібно
спостерігати його спектр максимально широкої смузі частот. Для цього
інтерфейс повинен приймати сигнали на максимальній частоті перетворення
АЦП. В подальшому розглянемо існуючі методи взаємодії апаратних
комплексів з програмними.
1.2 Підключення до ПК цифрового осцилографа.
Цифрові осцилографи оснащені досить простими фірмовими
програмами, що забезпечують введення осцилограм у ПК для їх подальшої
обробки та програмне керування осцилографом. Наприклад, осцилографи
компанії Tektronix можуть використовувати програму OpenChoice. На
рис. 1.1 показано вікно цієї програми під час роботи з осцилографом TDS
2024В, підключеним до ПК через USB-порт.
Візуально орієнтований інтерфейс цієї програми гранично зрозумілий і
вимагає особливих пояснень. Ще одна програма – це N1 Signal Express (рис.
Арк.
РТ86.022079.248 ПЗ
7
Змн. Арк. № докум. Підпис Дата
1.2). При цьому остання програма має великі засоби обробки осцилограм,
включаючи їх подання на екрані комп'ютера, проведення автоматичних
обчислень, спектральний аналіз, побудова частотних характеристик,
дистанційне управління приладами і т. д.
1.3 Стикування цифрового осцилографа із системою MATLAB.
Невичерпні можливості відкриває спільна робота осцилографів та й
інших приладів із сучасними системами контролю та
моніторингу. Безперечно, тут лідирує потужна матрична лабораторія
MATLAB, що має багато десятків пакетів розширення в різних галузях
науки, техніки та виробництва, наприклад
Рис. 1.1 – Вікно програми OpenChoice з копією вікна осцилографа
Арк.
РТ86.022079.248 ПЗ
8
Змн. Арк. № докум. Підпис Дата
Рис. 1.2 – Приклад роботи з програмою Nl Signal Express в галузі
обробки
обробка сигналів, вейвлет-перетвореня, біоінформатика, штучний інтелекту
тощо. Нижче представлена невелика вибірка функцій для роботи цієї системи
з вимірювальними приладами:
• instrhwinfo - повертає інформацію про підключений до ПК
пристрій;
• visa – конструювання VISA-об'єкта;
• fopen – підключення VISA-об'єкта до приладу;
• query – запис або читання форматованих даних з приладу;
• fprintf – запис тексту в прилад;
• fclose - відключає зв'язок із приладом;
• binblockread - читання побічних даних з приладу.
Арк.
РТ86.022079.248 ПЗ
9
Змн. Арк. № докум. Підпис Дата
Ці функції входять до складу спеціального пакету розширення
Instrumental Toolbox, призначеного для стикування з MATLAB великої
кількості цифрових вимірювальних приладів усіх провідних фірм
світу. Функціональна схема вимірювальної установки з урахуванням системи
MATLAB показано на рис. 1.3. Для створення тестових сигналів
використаний генератор довільних функцій Tektronix AFG 3101. Другий
функціональний генератор Metex MXG-9810, підключений до входу
зовнішнього сигналу додається генератора AFG 3101, служить для створення
сигналів, що додаються до основного сигналу генератора AFG 3101.
ArbExpress Tektronix Edition.
Рис. 1.3 – Вимірювальна установка
Цифровий осцилограф у цій установці, в принципі, може бути будь-
яким, що має інтерфейс 118В. Можливе застосування масових осцилографів
Tektronix серій 1000/2000/3000 і старших 4000/5000 та ін. На рис. 1.4.
показаний екран цього осцилографа з осцилограмою, яка буде використана
для опису можливостей встановлення.
Основою програмного забезпечення комплексу є матрична
система. Вона дозволяє аналізувати дані, представлені у вигляді звичайних
векторів та матриць. МАТLАВ має спеціальний пакет розширення для
підтримки
Арк.
РТ86.022079.248 ПЗ
10
Змн. Арк. № докум. Підпис Дата
Рис. 1.4 – Екран осцилографа Tektronix DPO 4101 з однією з
тестових осцилограм
засобів Instrument Control Toolbox. Він підтримує роботу з вимірювальними
приладами фірм Tektronix, Agilent Technologies, Hewlett Packard, LeCroy та
ін. Крім того, MATLAB має близько сотні професійно-орієнтованих пакетів
розширення у різних галузях науки та техніки. Нижче використані окремі
засоби пакетів Signal Processing Toolbox та Wavelet Toolbox. Вони
розташовані в інструментальній скриньці Toolbox. В іншому блоці Blockset є
засоби, зокрема бібліотеки блоків, для системи блочного імітаційного
моделювання Simulink, що набула великої популярності.
Після підключення приладів до USB-порту та їх увімкнення треба
забезпечити роботу приладів з ПК. Для цього можна використовувати
команду tmtool і вікно, що викликається нею - рис. 1.5. У дереві лівої частини
Арк.
РТ86.022079.248 ПЗ
11
Змн. Арк. № докум. Підпис Дата
треба послідовно забезпечити вибір USB-пристроїв, створення interface- та
device-об'єктів та встановлення драйверів. Можна також використовувати
фірмові програми для цих приладів Open-Choice та Arb Express Tektronix
Edition. На рис.1.5 представлений випадок, коли забезпечено ідентифікацію,
встановлення генератора AFG 3101 та осцилографа DPO 4101 та
встановлення їх драйверів для роботи з системою MATLAB.
Рис. 1.5 – Застосування інструменту Test&Measuring Tool для
підготовки приладів фірми Tektronix для роботи із системою MATLAB
Для введення осцилограм в MATLAB потрібна спеціальна
узгоджувальна програма osc, яка переносить дані аналізу осцилограми
в робочий простір MATLAB з урахуванням реального розміщення
осцилограми, її положення (зсуву) по осі часу і по осі рівня сигналу з
урахуванням масштабуючих коефіцієнтів за часом і по масштабуючих
коефіцієнтів за часом і по масштабу. Нижче наведено листинг цієї програми
(файл osc.m) мовою програмування системи MATLAB, орієнтованої на
осцилограф DPO 4101:
Арк.
РТ86.022079.248 ПЗ
12
Змн. Арк. № докум. Підпис Дата
% Програма забезпечує передачу даних з осцилографа DPO4101 % у
робочий простір (пам'ять) системи MATLAB
vu = visa(' tek','USBO::1689::1025::C020348::0::INSTR'); % створення
VISA-об'єкта fopen (vu); % Відкриття об'єкта vu
% Зчитування даних із каналу СН1 та визначення довжини запису
id=query(vu,'* IDN? 1 ); fprintf(vu,'DATA:SOURCE CHI');
L=query(vu,'HORIZONTAL:RECORDLENGTH?','%s','%d'); fclose(vu); %
Закриття об'єкта
vu.InputBufferSize = L; % Завдання довжини вхідного буфера fopen(vu)
% Відкриття об'єкта vu % Зчитування даних побудови осцилограм fprintf(vu,
'CURVE?') data=binblockread(vu,'schar');
ymult = str2num(query(vu,'WFMP:YMULT?'));% масштаб no Y каналу
CHI yoff = str2num(query(vu,'WFMP:YOFF?')); % зсув по осі Y каналу CHI
xmult = str2num (query (vu, 'WFMP: XINCR?')); % масштаб по осі X (часу)
xoff = str2num (query (vu, 'WFMP: PT_OFF?')); % зсув по осі X xzero = str2num
(query (vu, 'WFMP: XZERO?')); % нуль на осі X % Реконструкція даних для
побудови графіка осцилограми ydata = ymult * (data - yoff); % координати
точок по осі Y xdata = xmult * ((0: length (data)-1)-xoff) + xzero; % те саме по
осі X % Побудова осцилограми у графічному вікні MATLAB plot(xdata,ydata)
title('Scaled Waveform Data'); ylabel('Amplitude (V)');
xlabel('Time(s)')
fclose(vu) % Закриття об'єкта vu
Fs = 1/xmult; % Обчислення частоти відліків
NFFT = 1024; % Завдання числа гармонік FFT (за замовчуванням)
Файл програми OSC розміщується в директорії WORK системи
MATLAB, і ця директорія повинна бути задана в MATLAB як робоча. У
рядку 3 програми використовується ідентифікатор осцилографа – див.
рис. 6.72 або дані програми OpenChoice. Він має унікальний характер для
Арк.
РТ86.022079.248 ПЗ
13
Змн. Арк. № докум. Підпис Дата
кожного типу осцилографа. І його треба змінити при зміні осцилографа –
наприклад, при використанні приладу серії TDS2000.
Програма OSC повинна запускатися перед кожним виміром. Вона визначає
довжину вихідної осцилограми та створює вектори координат xdata та ydata з
урахуванням зрушень та масштабів по осях X (частоти) та Y (напруги), а
також будує графік осцилограми у графічному вікні системи MATLAB (рис.
1.6). Крім того, програма обчислює частоту дискретизації осцилограми Fs та
задає число кроків швидкого перетворення Фур'є NFFT за умовчанням. Вид
осцилограми на екрані осцилографа залежить від яскравості екрану, ступеня
післясвітлення і роботи системи цифрового фосфору, рівня власних шумів,
усереднення осцилограм, стійкості синхронізації і т. д. Осцилограма на
екрані двічі квантована відповідного каналу та системою виведення
осцилограм на екран дисплея з кінцевою роздільною здатністю. Це означає
наявність помітних шумів квантування, які відсутні в сигналі.
Рис. 1.7 – Приклад отримання даних у робочому просторі МАЛАВ та
побудови осцилограми
Арк.
РТ86.022079.248 ПЗ
14
Змн. Арк. № докум. Підпис Дата
1.4 Зчитування сигналу з звукової карти за допомогою MATLAB
У MATLAB передбачено засоби для відтворення та запису сигналу, а
також для роботи зі звуковими файлами формату wav.
Читання wav-файлів. Для зчитування wav-файлів у MATLAB
використовується функція wavread. У найпростішому випадку вона може
бути використана так:
у = wavread ('filename'), де 'filename' - ім'я звукового файла (розширення
wav вказувати необов'язково). В ім'я файлу необхідно включити повний
шлях, за винятком тих випадків, коли файл знаходиться в поточному (для
MATLAB) каталозі або одному з каталогів, що входять до списку пошуку
MATLAB. Інший спосіб, який не вимагає вказівки імені файлу, - повний
шлях, який полягає у визначенні місцезнаходження файлу на жорсткому
диску за допомогою меню MATLAB.
В результаті виклику функції змінну буде поміщено весь вміст
зазначеного файлу. Рядки матриці відповідають відлікам сигналу, стовпці -
каналам, яких у wav-файлі може бути один (моно - канал) або два
(стереоканал).
Крім відліків сигналу, у wav-файлах зберігається і службова
інформація, яка містить наступні параметри:
частоту дискретизації, визначення якої у зазначену функцію необхідно
включити другий вихідний параметр:
[у, Fs] = wavread ('filename'),
де Fs – частота дискретизації, Гц;
число біт на відлік, для визначення якого необхідно додати ще один
вихідний параметр:
[у, Fs, bils] = wavread('filename');
Арк.
РТ86.022079.248 ПЗ
15
Змн. Арк. № докум. Підпис Дата
- Число відліків і каналів запису. Для отримання даної інформації
необхідно викликати функцію wavread з двома вхідними параметрами: ім'ям
файлу та текстовим рядком 'size': wavesize = wavread ('filename*, 'size').
При виклику такої функції з wav-файлу вилучається службова
інформація, яка повертається у вигляді двоелементного вектор-рядки,
перший елемент якого містить число відліків, другий - число каналів;
тривалість звучання сигналу (в секундах), яку можна визначити так:
wavesize (1) Fs, де 1 вказує перший параметр вектора wavesize.
Є й можливості зчитування даних із wav-файлу, а окремими
фрагментами. Для цього використовується другий вхідний параметр функції
wavread. Якщо цей параметр є числом, буде зчитано відповідну кількість
відліків, починаючи з першого:
у = wavread('filename', N).
Якщо потрібний фрагмент розташований не на початку файлу,
доведеться вказати його початок та кінець:
у = wavread ('filename', [nl, n2]).
У результаті змінну у будуть раховані відліки з номерами від n1 до n2
включно (нумерація відліків починається з одиниці).
Щоб дізнатися обсяг пам'яті (у кілобайтах), необхідний MATLAB для
зберігання запису, необхідно використовувати таку функцію:
prod (wavesize) * 8/1024.
Для перегляду мовного (звукового) сигналу виведемо його як графіка з
допомогою наступної функції: plot (у).
Якщо необхідно вивести графік каналами стереозапису, то
застосовують такі функції:
subplot (2, 1, 1); plot (:, 1); subplot (2, 1, 2); plot(:, 2) або просто plot(y).
Якщо сигнал має велику довжину, можна використовувати наступну
функцію (фрагменти виводяться один під одним): strips (х, N), де х - вектор
відліків сигналу (двовимірний масив не допускається), N - число відліків у
Арк.
РТ86.022079.248 ПЗ
16
Змн. Арк. № докум. Підпис Дата
кожному фрагменті (цей параметр можна опустити, за замовчуванням розмір
фрагмента становить 200 відліків).
Запис wav-файлів. Для запису вектора (або матриці) на диск у вигляді
wav-файлу використовується функція wavwrite (у, Fs, N, 'filename'), де у -
записувані дані, Fs - частота дискретизації, Гц, N - число біт на відлік (8 або
16), 'filename' - ім'я створюваного файлу. Параметри Fs і N можна опускати, у
своїй використовуються значення по умовчанню: Fs = 8 000 Гц, N= 16.
Дані, що записуються, повинні бути лежати в діапазоні від -1 до 1.
Значення, що виходять з цього діапазону, будуть обрізані і зроблені рівними.
Відтворення звукових файлів. Крім роботи з wav-файлами можна
відтворювати вектор і матрицю у звуковому вигляді з використанням
наступних функцій:
sound, синтаксис якої записується наступним чином:
sound (у, Fs, bits),
де у - вектор або двостовпцева матриця сигналу, Fs - частота
дискретизації, Гц, bits - число біт на відлік (8 або 16).
Параметри Fs і bits можна опускати, при цьому їх значення
прийматимуться за умовчанням.
Вихідних параметрів у функції немає. Після виклику вона передає
вектор у звуковій карті для відтворення і відразу ж, не чекаючи закінчення
звуку, повертає керування MATLAB;
wavplay, синтаксис якої має такий вигляд:
wavplay (у, Fs, 'mode'), де параметр mode керує режимом відтворення,
який може приймати два значення:
'sync' - синхронний режим, що означає, що функція поверне управління
інтерпретатору MATLAB тільки після закінчення звуку;
'async' - асинхронний режим, при якому функція передає дані для
відтворення звуковим драйверам Windows і відразу повертає керування
системі MATLAB[3]. не чекаючи закінчення звуку.
Арк.
РТ86.022079.248 ПЗ
17
Змн. Арк. № докум. Підпис Дата
Параметри Fs і mode можна опускати, при цьому їх значення
набираються за замовчуванням: Fs = 11025 Гц і 'mode' = 'async'.
Запис звуку (промови). Функція wavrecord дозволяє записати звук у
змінну MATLAB за допомогою звукової карти комп'ютера:
у = wavrecord (n, Fs, ch, 'dtype'), де n - число відліків, що записуються,
Fs - частота дискретизації, Гц. ch - число каналів запису, 'dtype' - тип даних,
що записуються.
Повертається результату - матриця, кожен стовпець якої відповідає
одному каналу запису. При стерео записі перший стовпець – лівий канал,
другий – правий канал.
Для параметра dtype можливі такі значення:
'double' - 16-бітний запис, дані масштабуються до діапазону від -1 до 1 і
подаються у восьми байтовому форматі з плаваючою комою;
'single' - 16-бітний запис, дані масштабуються до діапазону -1…1 і
подаються у чотири байтовому форматі з плаваючою комою;
'untl6' - 16-бітний запис, дані подаються в двобайтовому ціло-
чисельному форматі (діапазон від-32768 до 32767);
'unint8' - 8-бітний запис, дані подаються в однобайтовому без
знаковому цілочисельному форматі (діапазон від 0 до 255, нульовому напрузі
на вході відповідає значення «128»).
Вхідні параметри Fs, ch, dtype можна опускати, при цьому їх значення
будуть прийматися за умовчанням: Fs = 11025 Гц, ch = 1, dtype = = 'double'
Якщо спектр сигналу змінюється у часі, то оцінки спектра доцільно
використовувати спектрограму сигналу. Спектрограмою (spectrogram)
сигналу називається його миттєвий діапазон, що залежить від часу. Для
обчислення спектрограм вектор сигналу розбивається на сегменти (в
загальному випадку з перекриттям). До кожного сегмента обчислюється
спектр з допомогою функції fft. Набір спектрів всіх сегментів та утворює
спектрограму. Для обчислення спектрограми служить функція spectrogram.
Арк.
РТ86.022079.248 ПЗ
18
Змн. Арк. № докум. Підпис Дата
Синтаксис виклику функції: [S, F, T] = spectrogram (x, window, nover -
lap, nfft, Fs), де x - вектор сигналу; window – вектор вагової функції (якщо
замість вектора використовується ціле число, то використовується вагова
функція за умовчанням – функція Хеммінгу відповідної довжини); noverlap –
величина перекриття сусідніх сегментів сигналу; nfft - кількість точок
перетворення Фур'є; Fs – частота дискретизації. S - матриця, кожна колонка
якої містить (nfft/2+l) відліків спектра для даного моменту часу (якщо nfft -
непарне число, кількість відліків дорівнює (nfft+l)/2). Число колонок k = nx
((nx-noverlap) / (length (window) - noverlap)), де nх - Довжина вектора сигналу.
Параметр F – вектор частот, Т – вектор моментів часу, його довжина
дорівнює k.
Якщо вихідні параметри функції не вказуються (spectrogram (x,
window, noverlap, nfft, Fs)), будується тривимірний графік спектральної
щільності потужності в координатах: час, частота, рівень.
Обов'язковим вхідним параметром функції є вектор значень сигналу х,
решта параметрів мають значення за замовчуванням, які використовуються,
якщо як параметр вказана порожня матриця ([]) або якщо кілька останніх
параметрів під час виклику опущені.
[V, fs, b] = wavread ( 'c: \ 1 \ female1f.wav'); spectrogram (V, 256,128, [],
fs, 'yaxis');
Арк.
РТ86.022079.248 ПЗ
19
Змн. Арк. № докум. Підпис Дата
Рис. 1.8 – Спектрограма файлу wav
Тут у другому рядку прикладу для параметра nnft використовується
значення за замовчуванням – максимальне з двох чисел: 256 та 2k. Значення
таке, що виконується умова 2k> window.
1.5 Операції над звуковими файлами.
Система MATLAB дозволяє читати та записувати файли формату wav.
Читання здійснюється за допомогою функції wavread, а запис - за допомогою
функції wavwrite. [V, f, b] = wavread('*.wav');
Інформація з файлу зчитується в матрицю V, що складається з двох
стовпців, в скалярну змінну f зчитується значення частоти дискретизації, а
змінну b - число двійкових розрядів.
Додамо до матриці V білий шум. [m, n] = size (V); VI = гаndn (m, n); s =
0.05; V2 = V + 5 * VI; Тут у першому рядку визначається число рядків і
стовпців матриці V. Другий рядок за допомогою функції randn (m, n) створює
матрицю VI, яка містить випадкові числа, розподілені за законом Гауса (за
нормальним законом), і яка має той самий розмір, що і матриця V. Матриця
Арк.
РТ86.022079.248 ПЗ
20
Змн. Арк. № докум. Підпис Дата
VI множиться коефіцієнт s і складається з матрицею V, утворюючи матрицю
V2 зашумленого звуку. Функція sound здійснює відтворення звуку,
отримуючи як аргумент сигнальний вектор або матрицю розмірами N х 2
(для стереозвуку), що містять послідовності вимірювань гучності звуку[4].
soundsc (V, f, b) soundsc (V2, f, b). Значення елементів матриці відліків
мають бути обмежені діапазоном від -1.0 до +1.0. Поза цим діапазоном
значення матриці обмежуються (є кліпований сигнал). Аналогічна функція
soundsc перед відтворенням сигналу забезпечує автоматичне масштабування
значень матриці до діапазону: -1…+1 – кліпування сигналу не відбувається.
soundsc (V, f, b) soundsc (V2, f, b). Щоб зберегти результати
експериментів зі сигналом у звуковому файлі, слід застосувати функцію
wavwrite. В даному випадку результати експерименту із зашумленням
збережемо у файлі 'Soundl.wav':
wavwrite (V2, f, b, 'Soundl.wav'); Тут першим аргументом є матриця (для
монофонічного звуку – це вектор) звукових відліків, другим – частота
дискретизації, третім – розрядність відліків, а останнім – ім'я файлу. Якщо не
вказувати шляхи до файлу, він буде записаний у поточний робочий каталог
пакету МАТLAB.
Розглянемо приклад побудови спектрограми АМ сигнал на фоні шуму.
У пакеті MATLAB побудуємо їх спектрограми, амплітудний та фазовий
спектри.
Амплітудний спектр будуємо наступним чином:
[s, fs] = wavread (c:\1\female1f.wav');
= abs (fft(s));
= spec (1:end/2);
= (fs/2)*(1:length( spec))/length(spec);(freq, spec);('Frequency: Hz');
ylabel ('Amplitude spectrum');
Арк.
РТ86.022079.248 ПЗ
21
Змн. Арк. № докум. Підпис Дата
Рис. 1.9 – Амплітудний спектр АМ сигналу на фоні шуму
Фазовий спектр
[s, fs] = wavread (c:\1\female1f.wav');
= phase (fft(s));
= spec (1:end/2);
= (fs/2)*(1:length( spec))/length(spec);
(freq, spec);('Frequency: Hz');
ylabel ('Phase spectrum');
Рис. 1.10 – Фазовый спектр АМ сигналу на фоні шуму
1.6 Висновки.
В даному розділі розглянуто сучасні підходи до вирішення
поставленого завдання, проведемо огляд існуючих рішень програмно –
Арк.
РТ86.022079.248 ПЗ
22
Змн. Арк. № докум. Підпис Дата
апаратних комплексів як у вітчизняних джерелах, так і зарубіжних для
підтвердження актуальності роботи. Огляд джерел показав що для виконання
поставленої задачі існує два методи перший з них це застосування цифрового
осцилографа в якості інтерфейсу для MATLAB, але даний метод має свої
недоліки перший з них це їхня вартість а другий недолік полягає в тому що
не кожен цифровий осцилограф може працювати з середовищем MATLAB.
Другий метод полягає в застосуванні звукової карти я якості інтерфейсу для
середовища MATLAB, даний метод має також недоліків а саме: дуже малий
частотний діапазон роботи звукової кати який складає від 20 Гц., 20кГц.,
інший недолік це неможливість в реальному часі з сигналами, так як відразу
потрібно зробити запис сигналу а уже потім його вже можна досліджувати.
Після аналізу існуючих інтерфейсів для роботи з MATLAB, слід
зробити висновок що тема є актуальною і потребує подальших досліджень і
доопрацювань. Для вирішення задачі застосуємо платформу Arduino, для
цього контролер повинен приймати сигнали на максимальній частоті
перетворення АЦП, що в свою чергу дозволить спостерігати спектр
максимально в широкої смузі частот.
РОЗДІЛ 2. ПРОЕКТУВАННЯ ПРОГРАМНО – АПАРАТНОГО
КОМПЛЕКСУ
В даному розділі розглянемо методи проектування програмно –
апаратного комплексу, більш детально ознайомимося з платформою
ARDUINO UNO, а також з середовищем розробки ARDUINO IDE.
2.1 Проектування алгоритму роботи програмно – апаратного
комплексу.
Для розробки програмно – апаратного комплексу доцільно застосувати
платформу Arduino яка широко себе зарекомендувала [5], як серед інженерів
так і розробників різних електронних пристроїв, так як дана платформа
Арк.
РТ86.022079.248 ПЗ
23
Змн. Арк. № докум. Підпис Дата
дозволяє без зайвих трудовитрат будувати потужні різноманітні цифрові
системи. Для побудови робочого каналу Arduino – MATLAB для
спостереження та обробки сигналів у реальному часі на граничній частоті
перетворення АЦП що в свою чергу дозволить досліджувати ширший спектр
частот. Особливістю цього каналу є те, що такти реального часу задаються не
MATLAB, а контролером Arduino. Така побудова не потребує компіляції
моделі з бібліотекою реального часу (rtwin.tlc), що дозволяє використовувати
в моделі практично будь-які блоки бібліотеки Simulink рис. 2.1.
Рис. 2.1 – Порівняння засобів розробки алгоритмів
Для проектування алгоритмів лише на рівні спеціалізованого
середовища необхідний канал передачі між контролером і середовищем
проектування, засіб накопичення, аналізу, обробки та відображення сигналів.
Доцільно використати середовище Simulink для прийому та відображення
даних контролера Arduino.
Simulink – це інтерактивне середовище та мова програмування для
імітаційного моделювання, що дозволяє за допомогою блок-діаграм будувати
динамічні моделі процесів. Simulink інтегрована у середу MATLAB.
Інтеграція дозволяє використовувати вже готові бібліотеки блоків, вбудовані
математичні алгоритми, потужні засоби обробки та графічного відображення
даних для вирішення всього спектра завдань від розробки концепції моделі
до тестування, перевірки, генерації коду та апаратної реалізації.
Арк.
РТ86.022079.248 ПЗ
24
Змн. Арк. № докум. Підпис Дата
Склад пакетів розширення бібліотеки Simulink з прикладу пакета
цифрової обробки сигналу “DSP System Toolbox” показано на Рис. 2.
Рис. 2.2 – Приклад додаткового пакета Simulink розширення для
моделювання систем обробки сигналів: DSP System Toolbox
У пакеті застосовуються новітні алгоритми спектрального аналізу.
Виділено вміст розділу Power Spectrum Estimation – блоки для спектральної
оцінки сигналу.
Використання двох буферів для накопичення та передачі даних
дозволяє організувати без розривів збору даних, обробку та візуалізацію
даних (для уникнення втрати даних швидкість наступного процесу повинна
бути не нижчою за швидкість попереднього процесу).
Вхідні дані спочатку заносяться до першої половини FIFO буфера
АЦП. Після її заповнення дані починають передаватися в PC, у той же час не
припиняється збір даних у другу половинку буфера FIFO. Після накопичення
даних у другій половинці FIFO буфера знову починається передача даних у
PC і паралельно продовжується збір даних у першу половинку.
2.2 Мікроконтроллерна платформа Arduino.
Арк.
РТ86.022079.248 ПЗ
25
Змн. Арк. № докум. Підпис Дата
На ринку мікроконтролерних пристроїв Arduino займає одну з
лідируючих позицій. Компанія популярна з тієї причини, що надає
архітектуру своєї продукції у відкритому доступі. Це дозволяє вільно
копіювати або доповнювати лінійку продукції Arduino. Важливим перевагою
є те, що існує безліч уже написаних бібліотек програм, що дозволяють
використовувати апаратні ресурси Arduino. Що головним чином дозволяє
розробнику зосередитись на основній поставленій задачі і не відволікатися на
розробку інших, необхідних для виконання цієї задачі алгоритмів і пристроїв.
Лінійка продукції складається з кількох десятків моделей
мікроконтролерних плат (платформ). Присутні конструктивні та
функціональні відмінності різних платформ. Розпочинаючи з самих
маленьких плат, розміром з монетою (Arduino Mini) закінчуються платами, у
яких більш п’ятдесяти виводів і широкий набір досить потужних
периферійних пристроїв (Arduino Due) [15].
В якості пристрою, що виконує роль інтерфейсу, обрана
мікроконтролерна платформа Arduino Uno. Вибір ґрунтується на тому, що
дана платформа досить популярна, а значить, для неї існує більш широкого
вибору бібліотек і готових рішень, а також у невідповідному співвідношенні
цін і функціональних можливостей. Зовнішній вигляд платформи Arduino
Uno і розташування її портів показано на рис. 2.3 і 2.4 відповідно [16].
Рис. 2.3 — Зовнішній вигляд платформи Arduino Uno
Арк.
РТ86.022079.248 ПЗ
26
Змн. Арк. № докум. Підпис Дата
Рис. 2.4 – Структура портів платформи Arduino Uno.
Наряду з іншими перевагами платформи варто відзначити, що вона
містить такі корисні елементи, як: кварц номіналом 16 МГц (для тактування
мікроконтролера), порт USB (для підключення до комп'ютера), вбудовані
світлодіоди, кнопку перезавантаження і т.д. [16].
Платформа Arduino Uno побудована на основі мікроконтролера
ATmega328P з достатнім об'ємом пам'яті для виконання безлічі прикладних
завдань обробки інформації [4 - 15]. Цоколівка даного мікроконтролера
представлено на рис. 2.5.
Арк.
РТ86.022079.248 ПЗ
27
Змн. Арк. № докум. Підпис Дата
Рис.2.5 – Цоколівка мікроконтролера ATmega328P
2.3 Архітектура мікроконтролера ATmega328P.
Мікроконтролер – комп'ютер на одній мікросхемі. Він призначений для
управління різними електронними пристроями та здійснення взаємодії між
ними відповідно до закладеної в програмі мікроконтролера. На відміну від
мікропроцесорів, використовуваних в персональних комп'ютерах,
мікроконтролери містять вбудовані додаткові пристрої. Ці пристрої
виконують свої завдання під управлінням мікропроцесорного ядра
мікроконтролера.
Основним класифікаційним визнанням мікроконтролерів є розрядність
даних, оброблених арифметико-логічним пристроєм (АЛП). По цьому
визнанню вони діляться на 4, 8, 16, 32 і 64-розрядні. Сьогодні найбільша доля
мікроконтролерів світового ринку належить восьми розрядним пристроям.
Всередині кожної групи мікроконтролерів діють CISC- і RISC-пристрої [10].
Тактова частота МК визначає його продуктивність - кількість
обчислень, які можна виконати за одиницю часу. Продуктивність
Арк.
РТ86.022079.248 ПЗ
28
Змн. Арк. № докум. Підпис Дата
мікроконтролера вимірюють в MIPS (Million Instructions per Second - мільйон
інструкцій в секунду) [17]. В основному продуктивність мікроконтролера і
потрібна їм потужність збільшуються з підвищенням тактової частоти.
На рисунку 2.6 представлена структурна схема архітектури
мікроконтролера AVR.
Рис. 2.6 – Архітектура мікроконтролера AVR
Основними важливими елементами мікроконтролера є: центральний
процесорний пристрій (мікропроцесорне ядро), кілька видів пам'яті (пам'ять
програм, даних, реєстраційна пам'ять, оперативна та енергонезалежна
пам'ять), порти вводу/виводу (I/O), аналого-цифровий перетворювач (АЦП),
таймери/ лічильники.
Порти вводу-виводу (I/O) є основним засобом зв'язку мікроконтролерів
AVR з навколишнім світом. Вони представлені незалежними електричними
лініями, розміщеними на корпусі інтегральної мікросхеми. Будь-який порт
лінії може бути запрограмований на вхід або на вихід. Потужні вихідні
драйвери забезпечують токову навантажувальну здатність 20 мА на лінії
порту при максимальному значенні 40 мА, що дозволяє, наприклад,
безпосередньо підключити до мікроконтролера світло діод, біполярний
транзистор тощо. Загальне токове навантаження на всі лінії одного порту не
Арк.
РТ86.022079.248 ПЗ
29
Змн. Арк. № докум. Підпис Дата
повинна перевищувати 80 мА (всі значення наведені для напруги живлення 5
В).
Архітектурна особливість побудови портів виводу/виводу в AVR
полягає в тому, що для кожного фізичного виводу (піна) існує 3 біта
контролю/управління, а не 2, як у поширених 8-розрядних мікроконтролерах
(Intel, Microchip, Motorola та ін.). Схема порту вводу-виводу наведена на
малюнку рис.2.7. Кожен однорозрядний порт вводу/виводу має доступ до
магістральних даних, управління та адресації мікроконтролера наступних
основних узлів:
а) MD - магістральний порт зв'язку даних з процесором.
б) Тригер напряму. Призначений для запису інформації, що вказує
режими роботи порту (режим входу або виводу). Він є елементом реєстру
напрямків паралельного порту DDRx (Direction Date Register) і позначається
DDRx (наприклад - DD3).
Рис. 2.7 – Структура однорозрядного цифрового порту входу/виводу
Арк.
РТ86.022079.248 ПЗ
30
Змн. Арк. № докум. Підпис Дата
в) Тригер даних порту, призначений для зберігання інформації, що
передається на вихід. Тригер є складовою частиною реєстрації даних
паралельного порту PORTx і позначається PORTx.
Кожен однорозрядний порт вводу/виводу містить ряд ліній управління
та адресації:
RESET - загальна лінія скидання тригерів DDRx і PORTx.
WDX, RDX - загальні лінії запису і зчитування (Write, Read) реєстру
напрямків DDRx.
WPX, RPX - загальні лінії запису і зчитування реєстру виводу PORTx.
RPINX — лінія зчитування тригера-засувка PINx.
PUD - загальна лінія виключення підтягуючих резисторів усіх портів.
Керуючий сигнал на цю лінію вибирається з другого розряду реєстру
спеціальних функцій SFIOR (The Register Special Function Input/Output).
SLEEP - загальна лінія управління режимом сну.
CLK — загальна лінія тактової синхронізації.
У різних мікроконтролерів різна кількість портів. Наприклад,
розглянемо цоколівку мікроконтролера ATmega328P на рис.2.5. З малюнка
видно, що в ATmega328P 3 порта введення/виводу. Два повних порту (8 біт) -
"PB" і "PD" і один неповний (7 біт) - "PC".
АЦП перш за все призначений для перетворення аналогового сигналу в
цифровий. У мікроконтролері ATmega328P в корпусі DIР-28 є можливість
вибрати один з 6 входів, для перетворення, а також джерело опорної напруги
[18].
В МК ATmega328P є вбудований 10-бітний АЦП. Вимірювана напруга
йде на вхід мікроконтролера. Після чого запускається процес його
перетворення в число.
Використання АЦП здійснюється шляхом конфігурації описаних
нижче регістрів. Номер виводу, підключеного до входу АЦП, видається за
допомогою ререгістру ADMUХ - регістр мультиплексора АЦП (рис.2.8) [18].
Арк.
РТ86.022079.248 ПЗ
31
Змн. Арк. № докум. Підпис Дата
Рис. 2.8 – Регістр мультиплексора АЦП
Біти 7:6 - біти вибору опорної напруги. Біти 3:0 - биті вибору
аналогового каналу. Біт 5 - визначає, як результат перетворення записується
в реєстри.
У мікроконтролерах AVR реалізована Гарвардська архітектура, у
відповідності з якою розділені не тільки адресні простори пам'яті програм і
пам'яті даних, але і доступу до них. Будь-яка з областей пам'яті даних
(оперативна та EEPROM) також розташована у своєму адресному просторі
[17].
а) Пам'ять програм призначена для зберігання послідовності команд,
керуючих функціонуванням мікроконтроллера, і має 16-ти розрядну
організацію. Всі AVR мають Flash-пам'ять програм, яка може бути різного
розміру - від 1 до 256 кБайт. Головна перевага в тому, що вона побудована на
принципі електричної перепрограмованої, тобто допускає багатократне
стирання і запис інформації. Програма записується в Flash-пам'ять AVR як за
допомогою звичайного програматора, так і за допомогою SPI-інтерфейсу, в
тому числі безпосередньо на зібраній платі. Можливістю
внутрішньосхемного програмування (функція ISP) через комунікаційний
інтерфейс SPI володіють всі мікроконтролери AVR, крім Tiny 1 і Tiny28 [17].
б) Пам'ять даних розділена на три частини: реєстрова пам'ять,
оперативна пам'ять (ОЗП - оперативне запам'ятовуючий пристрій або RAM) і
енергонезалежна пам'ять (EEPROM) [16].
Арк.
РТ86.022079.248 ПЗ
32
Змн. Арк. № докум. Підпис Дата
1) Реєстраційна пам'ять включає 32 реєрегістри загального призначення
(, об'єднаних у файл, і службові реєстри входу/виводу. І ті, і інші розташовані
в адресному просторі ОЗП, але не є його частиною [17].
2) Внутрішня оперативна статична пам'ять Static RAM (SRAM) має
байтовий формат і використовується для оперативного зберігання даних [17].
3) Енергонезалежна пам'ять даних (EEPROM) служить для тривалого
зберігання різної інформації, яка може змінюватися в процесі
функціонування мікроконтролерної системи. Всі AVR мають блок
енергонезалежної електричної перезапису пам'яті даних EEPROM від 64 Байт
до 4 кБайт [17].
2.4 Середовище програмування Arduino.
Компанія Arduino для своєї продукції безкоштовно надає програмне
забезпечення, що дозволяє запрограмувати власний алгоритм і записати його
в мікроконтроллер, вбудований в наявну платформу Arduino. Середа
розробки Arduino складається з вбудованого текстового редактора
програмного коду, області повідомлень, вікна виведення тексту, панелі
інструментів з кнопками часто використовуваних команд і кількох меню
(рис.2.9). Для завантаження програм і зв'язків середовище розробки
підключається до апаратної частини Arduino [16].
Арк.
РТ86.022079.248 ПЗ
33
Змн. Арк. № докум. Підпис Дата
Рис. 2.9 – Зовнішній вигляд вікна середовища Arduino IDE
Програма, написана в середу Arduino, називається скетч. Скетч
пишеться в текстовому редакторі, що має інструменти вирізки/вставки,
пошуку/заміни тексту. Під час збереження та експорту проекту в області
повідомлень з’являються пояснення, а також можуть відображатися
виникненні помилки. Вікно виведення тексту (консоль) показує
повідомлення Arduino, включаючи повні звіти про помилки та інша
інформація. Кнопки панелі інструментів дозволяють перевірити і записати
програму, створити, відкрити і зберегти скетч, відкрити моніторинг
послідовної шини. При завантаженні скетча використовується завантажувач
(Bootloader) Arduino, це невелика програма, що завантажена в
мікроконтролер. Вона дозволяє завантажити програму через UART
інтерфейс.
2.4 Висновки.
В даному розділі розглянемо методи проектування програмно –
апаратного комплексу а саме: метод проектування на рівні контролера і
Арк.
РТ86.022079.248 ПЗ
34
Змн. Арк. № докум. Підпис Дата
проектування на рівні спеціалізованого середовища, було вирішено в якості
спеціалізованого середовища використати середовище MATLAB/SIMULIK, а
в якості інтерфейсу який дозволить спілкуватися з зовнішнім середовищем
програмі MATLAB/SIMULIK, було вирішено використати платформу
ARDUINO UNO. Розглянули всі основні параметри платформи ARDUINO
UNO. В наступному розділі проведемо апаратну реалізацію програмно –
апаратного комплексу на базі платформи arduino та matlab/simulink.
Проведемо різноманітні дослідження.
Арк.
РТ86.022079.248 ПЗ
35
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 3. АПАРАТНА РЕАЛІЗАЦІЯ ПРОГРАМНО –
АПАРАТНОГО КОМПЛЕКСУ НА БАЗІ ПЛАТФОРМИ ARDUINO ТА
MATLAB/SIMULINK
В літературі а також в мережі Інтернет дуже мало методичних вказівок
про синтез програмного забезпечення (ПЗ) MatLab/Simulink та
налагоджувальних плат Arduino. Тим часом цей процес є досить об'ємним і
вимагає відповідного аналізу. Тому в даному розділі проведемо синтез
програмного забезпечення matlab/simulink та відладочної плати Arduino
UNO, та проведемо ряд експериментів.
3.1 Синтез програмного забезпечення matlab/simulink та
відладочної плати Arduino UNO.
В літературі а також в мережі Інтернет дуже мало методичних вказівок
про синтез програмного забезпечення (ПЗ) MatLab/Simulink та
налагоджувальних плат Arduino. Тим часом цей процес є досить об'ємним і
вимагає відповідного аналізу. Апаратні платформи Arduino мають
величезний потенціал у галузі автоматизації виробничих процесів, а
програмне забезпечення MatLab/Simulink удосконалює процес
програмування та управління самою платою. Приклад використання такої
синтезованої моделі наводиться у [2].
Як цільову плату обрана Arduino UNO, докладно описана в [1]. Вона
має широкий спектр можливостей, в першу чергу, обумовлених самим
мікроконтролером Arduino UNO. Також великою перевагою плати є велика
кількість цифрових входів-виходів (54) та 16 аналогових входів. Плата
приєднується до персонального комп'ютера за допомогою USB-шнура. Сама
плата Arduino UNO та процес комунікації з ноутбуком зображені на рис.3.1.
Арк.
РТ86.022079.248 ПЗ
36
Змн. Арк. № докум. Підпис Дата
.
Рис. 3.1 – Процес комунікації з ноутбуком за допомогою USB-
кабелю
Перш ніж безпосередньо почати працювати з MatLab, плату необхідно
попередньо прошити програмою для обміну даними з послідовним портом
персонального комп'ютера. Варіанти завантажувальних файлів досить великі,
можна вибрати будь-який із них. У цьому випадку вибрано файл
завантаження adioеs.pde, написаний безпосередньо в середовищі Arduino.
Рис. 3.2 – Зовнішній вигляд інтерфейсу середовища Arduino
Арк.
РТ86.022079.248 ПЗ
37
Змн. Арк. № докум. Підпис Дата
Середовище Arduino – спеціальна програмна оболонка для роботи з
налагоджувальними платами Arduino. При відкритті програмного
середовища необхідно вибрати COM-порт, на якому встановилася плата та
цільову плату (Вкладка «Інструменти»). Далі відкривається необхідний файл
прошивки та функціональною клавішею «Завантажити» здійснюється
прошивка мікроконтролера Arduino UNO плати. Зовнішній вигляд
інтерфейсу середовища Arduino із завантаженим файлом adioеs.pde
зображено на рис.3.2. Тепер плата готова до синтезу з MatLab. ПЗ Matlab
вибрано версію 2012b, що підтримує програмування плати як через
командний рядок, так і через пакет Simulink.
Необхідно завантажити набір файлів Arduino I/O, щоб мати можливість
програмувати плату через командний рядок MatLab. Для цього необхідно
прописати команду «install_arduino» та вказати папку, де встановлено
програмне забезпечення MatLab2012b. Незабаром вийде повідомлення про
те, що файли додані до встановлених (рис.3.3).
Рис. 3.3. – Додавання файлів Arduino I/O до файлів MatLab2012b
Арк.
РТ86.022079.248 ПЗ
38
Змн. Арк. № докум. Підпис Дата
Тепер можна встановити пакети для роботи з Arduino в Simulink. Для
цього в командному рядку прописується "targetinstaller". ПЗ пропонує
перезавантажити MatLab, необхідно натиснути «ні». Починається процес
ініціалізації файлів, що завантажуються, і MatLab пропонує вибрати спосіб
завантаження (рекомендовано зробити це через Інтернет). Остаточно ПЗ
пропонує вибрати апаратну платформу, на яку завантажується пакет
(вибирається Arduino). Процес встановлення пакету Arduino/Simulink
представлений рис3.4.
а)
Арк.
РТ86.022079.248 ПЗ
39
Змн. Арк. № докум. Підпис Дата
б)
в)
Арк.
РТ86.022079.248 ПЗ
40
Змн. Арк. № докум. Підпис Дата
г)
Рис. 3.4 – Процес встановлення пакету Arduino/Simulink: а)
операція в командному рядку б) ініціалізація пакету, що завантажується
в) спосіб завантаження г) вибір цільової плати.
Тепер необхідні пакети встановлені, можна безпосередньо синтезувати
плату і ПЗ MatLab / Simulink. Переходимо в режим командного рядка,
вибираємо папку, де зберігатимемо моделі Simulink (за умовчанням це папка,
де встановлений MatLab, тому обов'язково її потрібно поміняти на іншу, з
латинською назвою). Прописуємо команду a = arduino ( COM X ), де X -
номер послідовного порту, де розташувалася плата. Починається процес
комунікації, який триває кілька секунд. Коли MatLab видасть повідомлення
"Arduino successfully connected!", можна запускати пакет Simulink. Тепер
можна спостерігати у доступних об'єктах для моделювання папки Arduino IO
Library та Target for use with Arduino hardware.
В якості експериментальної моделі зберемо схему для миготіння
контрольного світлодіода, розташованого на 13-му піні плати. Для цього
збирається модель у новому файлі, що складається з генератора меандрів, 13-
Арк.
РТ86.022079.248 ПЗ
41
Змн. Арк. № докум. Підпис Дата
го піна плати та осцилографа. У вкладці Tools вказується необхідний COM-
порт та плата Arduino Mega 2560, редагуються налаштування генератора.
Після запуску симуляції мікроконтролер ATmega2560 прошивається
графічним кодом і контрольний світлодіод на платі починає загорятися і
гаситись із зазначеною затримкою. Експериментальна модель Simulink і
епюри, що знімаються з генератора імпульсів, представлені на рис. 3.5.
а)
б)
Рис. 3.5 – а) Модель Simulink для тестування плати б) Епюри імпульсів,
що подаються на 13 пін плати
Арк.
РТ86.022079.248 ПЗ
42
Змн. Арк. № докум. Підпис Дата
Таким чином, процес комунікації налагоджувальної плати Arduino
UNO та ПЗ Matlab/Simulink повністю завершено.
3.2 Обробка та відображення сигналів на частоті перетворення
АЦП.
Розглянемо приклади застосування синтезованого програмно –
апаратного комплексу. Розглянкмо особливості введення та відображення
широкосмугових сигналів, побудову каналу введення, обробки та
відображення сигналів на максимальній частоті перетворення АЦП
контролера Arduino.
Використовуючи виведення результату на монітор редактора Arduino
рис 3.6 на максимальній частоті (57600 біт/с), напишемо програму
підрахунку перетворень АЦП за фіксований період.
Рис. 3.6 – Кнопка виведення результату на монітор
Програма вимірювання швидкості перетворення АЦП:
const int adc_5 = A5; // ADC port number
unsigned long time_start; // Start of capturing, ms
unsigned long time_end; // End of capturing, ms
void setup() {
Serial.begin (57600); // 9600, 19200, 38400, 57600 та 115200 bit/s
}
void loop(){
time_start = millis();
for (int i = 0; i < 1024; i++) {
Арк.
РТ86.022079.248 ПЗ
43
Змн. Арк. № докум. Підпис Дата
int val = analogRead(adc_5);
}
time_end = millis();
int period = time_end - time_start;
Serial.println(period);
Рисунок 3.7 – Час (в мсек) 1024 і 512 перетворень АЦП. Середній
час перетворення АЦП: 0.1123 мсек (як 115/1024).Час масштабування
даних АЦП
Для підвищення частоти роботи АЦП переведемо його режим роботи з
10 розрядних даних АЦП у 8, для переводу 10 розрядних даних АЦП у 8
розрядні використовується функція
map(val, 0, 1023, 0, 255);
де val - int змінна з 10 значними розрядами.
Програма вимірювання часу перетворення АЦП з масштабуванням та
запису в масив:
Арк.
РТ86.022079.248 ПЗ
44
Змн. Арк. № докум. Підпис Дата
const int adc_5 = A5; // ADC port number
unsigned long time_start; // Start of capturing, ms
unsigned long time_end; // End of capturing, ms
byte adc_bytes [1024]; // Buffer for ADC data
void setup() {
Serial.begin (57600); // bit/s
}
void loop(){
time_start = millis();
for (int i = 0; i < 1024; i++) {
int val = analogRead(adc_5);
adc_bytes[i] = map(val, 0, 1023, 0, 255);
}
time_end = millis();
int period = time_end - time_start;
Serial.println(period);}
Рис. 3.8 – Час (мсек) 1024 перетворень АЦП, перекладу 10 р. даних у
8 розрядні та запис у масив. Період АЦП перетворення із
масштабуванням: 0.1611 мсек (як 165/1024)
Арк.
РТ86.022079.248 ПЗ
45
Змн. Арк. № докум. Підпис Дата
Для визначення швидкості побайтової передачі до послідовного каналу
в циклі передається код символу Serial.write(1) який не відображається на
моніторі.
Основний блок програми визначення швидкості передачі:
void loop(){ //Do stuff here
unsigned long time = millis();
Serial.write(1);
rate = rate + 1;
if (time > set_time) {
set_time = set_time + 30; // 30 ms RT clock
Serial.println(rate);
rate = 0;
}
}
Тест показав, що передача 173 байт займає 30 мсек, з іншого боку за 30
мсек швидкості 57600 біт/с можна передати 1728 біт. Отже, на передачу
одного байта витрачається час передачі 10 біт. Використовуючи це
відношення для режиму передачі можна підрахувати час потокової передачі
масиву даних різних швидкостях.
Передача, наприклад, 256 байт швидкості 9600 бод (біт/c) займає 267
мсек, швидкості 57600 бод – 44 мсек; і швидкості 115200 бод – 22 мсек (як
256*10/115200).
Розмір оперативної пам'яті Arduino UNO складає 2 Кбайт. Тестування
програми циклічного зчитування АЦП, масштабування 10 розрядних даних
до 8 розрядних, тактування та побайтної передачі даних показало, що
максимальний розмір масиву для накопичення та відправлення даних не
повинен перевищувати 1800 байт.
Арк.
РТ86.022079.248 ПЗ
46
Змн. Арк. № докум. Підпис Дата
Більш складні програми можуть вимагати більшої додаткової пам'яті
SRAM. Тому масив для накопичення та передачі АЦП обмежений 1024
байтами чи 512 словами.
Рис. 3.9 – Шматок дроту, приєднаний до аналогового входу А5
контролера Arduino для посилення наведення мережі 50 Гц
Таблиця 3.1 – Час операцій програми з урахуванням нестабільності циклів
Довжина Час Час Час передачі Час циклу
масиву перетворення перетворення масиву на програми
байт\слів АЦП, мс АЦП з швидкості
масштабуванням 115200 біт/с
10 в 8 біт, мс
256 байт 42 23 70 (65+5)
512 байт 83 45 140 (128+12)
768 байт 110 67 190 (177)
1024 байт 165 89 270 (254+16)
512 слів 58 89 160(147+13)
Установка каналу відображення 256 масштабованих значень АЦП при
максимальній швидкості накопичення і передачі даних. Код програми
контролера Arduino:
const int adc_5 = A5; // ADC port number
unsigned long set_time; // Time of next clock
byte adc_bytes [256]; // Buffer for scaled ADC data
Арк.
РТ86.022079.248 ПЗ
47
Змн. Арк. № докум. Підпис Дата
void setup() {
Serial.begin (115200); // bit/s
}
void loop(){
unsigned long time = millis(); // Current time in ms
// ADC data capturing
for (int i = 0; i < 256; i++) {
int val = analogRead(adc_5);
adc_bytes[i] = map(val, 0, 1023, 0, 255);
}
// send ADC data в serial port
Serial.print(«A»); // "A" is header
for (int i = 0; i < 256; i++) {
Serial.write(adc_bytes[i]);
}
if (time > set_time) {
set_time = set_time + 70; // RT clock is 70 ms
}
}
Рис. 3.10 – Визначення номера порту в середовищі Arduino.
Арк.
РТ86.022079.248 ПЗ
48
Змн. Арк. № докум. Підпис Дата
Рис. 3.11 – Simulink модель для прийому АЦП даних контролера,
масштабування вектора даних за часом, відображення даних у
реальному часі та збереження потоку даних у пам'яті workspace.
Рис. 3.12 – Параметри COM порту в Simulink (блок моделі: Serial
Configuration)
Арк.
РТ86.022079.248 ПЗ
49
Змн. Арк. № докум. Підпис Дата
Рис. 3.13 – Параметри блоків Simulink моделі та режиму моделювання
Модель запускається натисканням кнопки Start simulation:
Рис. 3.14 – Кнопка запуску моделі
Арк.
РТ86.022079.248 ПЗ
50
Змн. Арк. № докум. Підпис Дата
Рис. 3.15 – Вид мережного наведення з накладенням кадрів (ліве вікно)
та в окремому кадрі (праве вікно)
3.3 Накопичення, передача та відображення відмасштабованих даних
Напишемо для контролера Arduino UNO програму циклічного
зчитування показань АЦП, масштабування, запису даних масив 1024 байт і
передачі масиву в послідовний канал. Програма має виконуватися з
максимальною швидкістю. Символ A – заголовок маси, що передається:
const int adc_5 = A5; // ADC port number
unsigned long set_time; // Time of next clock
byte adc_bytes [1024]; // Buffer for ADC data
void setup() {
Serial.begin (115200); // bit/s
}
void loop(){
unsigned long time = millis(); // Current time in ms
// ADC data capturing
for (int i = 0; i < 1024; i++) {
Арк.
РТ86.022079.248 ПЗ
51
Змн. Арк. № докум. Підпис Дата
int val = analogRead(adc_5);
adc_bytes[i] = map(val, 0, 1023, 0, 255);
}
// send ADC data в serial port
Serial.print(«A»); // "A" is header
for (int i = 0; i < 1024; i++) {
Serial.write(adc_bytes[i]);
}
if (time > set_time) {
set_time = set_time + 270; // RT clock is 270 ms
}
}
У середовищі MATLAB складаємо програму в Simulink для прийому та
відображення даних контролера в реальному часі. Швидкість, розмір пакета,
період даних і такт роботи моделі повинні відповідати відповідним
параметрам контролера. Також від масштабуємо час даних, що
відображаються.
Рис. 3.16 – Simulink модель для прийому даних на максимальній частоті:
115 200 бод. Поєднання векторів (Vector Concatenate) використовується
для масштабування сигналу за шкалою часу кадру (frame)
Арк.
РТ86.022079.248 ПЗ
52
Змн. Арк. № докум. Підпис Дата
Перевіримо якість каналу «Вхід АЦП – дисплей MATLAB», наприклад,
за періодом мережевого 50 Гц наведення на вході АЦП. Для збільшення
амплітуди наведення до входу АЦП приєднаємо шматок дроту. Амплітуда
наведення залежить від відстані між проводом та вашою рукою.
Рис. 3.17 – Накладення 4 кадрів під час сканування частоти 50Гц на
вході АЦП контролера Arduino
Рис. 3.18 – Частота мережі на вході АЦП контролера
Арк.
РТ86.022079.248 ПЗ
53
Змн. Арк. № докум. Підпис Дата
3.4 Побудова спектра сигналу реальному часі.
Для спостереження частотного спектра сигналу підключаємо до
відображуваного сигналу моделі блок швидкого перетворення Фур'є
(Spectrum Scope: FFT) з розділу бібліотеки Simulink > DSP System Toolbox >
Sinks.
Рис. 3.20 – Модель із спектроскопом
Арк.
РТ86.022079.248 ПЗ
54
Змн. Арк. № докум. Підпис Дата
Рис. 3.21 – Спектр мережного наведення
Арк.
РТ86.022079.248 ПЗ
55
Змн. Арк. № докум. Підпис Дата
Рис. 3.22 – Гармоніка сигналу на частоті 50 Гц
Підключаємо блок Spectrum Scope: FFT до невідмасштабованого (за
часом) сигналу.
Арк.
РТ86.022079.248 ПЗ
56
Змн. Арк. № докум. Підпис Дата
Рис. 3.23 – Перенесення точки підключення спектрографа
Вибераємо тип спектру, що відображається: Spectrum Type.
Рис. 3.24 – Параметри спектрометра невідмасштабованого сигналу з 1024
амплітуд
Арк.
РТ86.022079.248 ПЗ
57
Змн. Арк. № докум. Підпис Дата
3.5 Побудова каналу швидкісної потокової передачі та обробки 8р
даних у реальному часі без пропуску даних.
Напишемо для контролера Arduino UNO програму циклічного
зчитування показань АЦП, масштабування та передачі у послідовний канал
2048 байт із заголовком. Програма повинна прочитувати показання АЦП на
постійній частоті без перерв:
const int adc_5 = A5; // ADC port number
void setup() {
Serial.begin (115200); // bit/s
}
void loop(){
for (int i = 0; i < 2048; i++) {
if (i == 0) Serial.print(«A „); // "A" is header
int val = analogRead(adc_5);
byte adc_byte = map (val, 0, 1023, 0, 255);
Serial.write(adc_byte);
}
}
Налаштовуємо модель Simulink (MATLAB) на прийом даних з
контролера.
Рис. 3.25 – Приклад моделі відображення безперервного потоку даних
Арк.
РТ86.022079.248 ПЗ
58
Змн. Арк. № докум. Підпис Дата
Налаштовуємо час моделювання моделі (Меню > Simulation > Configuration
Parameters > Solver > Fixed-step size) і такт блоку Serial Receive > Block
Sample Time (див. рис 3.13) за періодом 50 Гц мережі. Розрахунковий час
кадру за даними Таблиця 1: 254 мсек (для 1024 байт) => 508 мсек для 2048
байт, Насправді час кадру програми (в якій зчитування АЦП і передача
виконуються по черзі) становить 375 мсек.
Рис. 3.26 – Кадр графобудівника Vector Scope.
У командному вікні MATLAB набераємо команду формування 5
кадрового сигналу.
sgnl = [simout.Data(:,1,1)' simout.Data(:,1,2)' simout.Data(:,1,3)'
simout.Data(:,1,4)' simout.Data (:, 1,5) '];
Рис. 3.27 – П'ять кадрів вхідного сигналу моделі
Арк.
РТ86.022079.248 ПЗ
59
Змн. Арк. № докум. Підпис Дата
Рис. 3.28 – Стики п'яти кадрів
На рис 3.28 показані стики п'яти кадрів, як видно із осцилограми
помітні спотворення у першому байті кожного кадру.
Підключаємо до вхідного сигналу моделі аналізатор
спектра. Спостерігайте спектр сигналу реального часу.
Рис. 3.29 – Модель відображення спектра вхідного сигналу (АЦП Arduino
UNO) у реальному часі
Арк.
РТ86.022079.248 ПЗ
60
Змн. Арк. № докум. Підпис Дата
Рис. 3.30 – Спектр наведення мережі на вході АЦП контролера Arduino
Підключаємо до вхідного сигналу моделі осцилограф Time Scope із
бібліотеки Simulink > DSP System Toolbox > Sinks.
Рис. 3.31 – Осцилограф у моделі для відображення вхідного сигналу
контролера Arduino
Налаштовуємо осцилограф на відображення вмісту поточного кадру та
частоти сигналу.
Арк.
РТ86.022079.248 ПЗ
61
Змн. Арк. № докум. Підпис Дата
Рис. 3.32 Налаштування осцилографа Time Scope > Menu > View > Properties
Запускаємо модель та спостерігаємо стабільність сигнальних
параметрів.
Рис. 3.33 – Відображення сигналу та його параметрів у реальному часі на
осцилографі Simulink моделі
Арк.
РТ86.022079.248 ПЗ
62
Змн. Арк. № докум. Підпис Дата
Останній варіант каналу контролер Arduino – MATLAB у порівнянні з
попередніми варіантами має такі переваги:
• не використовується пам'ять контролера для накопичення АЦП даних;
• забезпечується малий такт перетворення АЦП з масштабуванням,
який трохи більше за такт перетворення АЦП з масштабуванням за
відсутності передачі;
• не потрібно масштабування сигналу за часом у моделі Simulink;
• модель містить менше блоків;
• практично не обмежений розмір вектора та час кадру.
3.6 Збільшення частоти дискретизації сигналу АЦП.
Частоту дискретизації АЦП контролера Arduino можна підвищити до
15 кГц в 10-розрядному режимі і до 77 кГц в 8-розрядному режимі [3],
замінивши бібліотечні функції на більш швидкий варіант, використання
регістрів мікроконтролера. Функцію користувача можна створити в програмі
*.ino або в системному файлі контролера ...\arduino-
1.0.6\hardware\arduino\cores\arduino\ wiring_analog.c, зареєструвавши її в
...\arduino-1.0.6\hardware \arduino\cores\arduino\ Arduino.h Для побудови 8-
розрядного високошвидкісного каналу Arduino – MATLAB необхідно
виконати таке:
1. Напишемо програму визначення часу заповнення масиву АЦП
даними з відображенням результату у вікні Serial Monitor. Розмір масиву має
бути досить великим, наприклад, половину пам'яті SRAM. Для збільшення
точності слід вимірювати час багаторазового наповнення масиву.
Приклад програми:
byte adc_bytes [1024]; // Резервування масиву АЦП даних
void setup() {
Serial.begin (57600); // bit/s
Арк.
РТ86.022079.248 ПЗ
63
Змн. Арк. № докум. Підпис Дата
ADCSRA = (1 << ADEN) // Включення АЦП
| (1 << ADPS2); // Установка граничного перетворювача на 8
ADMUX = (1 << ADLAR) | (1 << REFS0) // Підключення зовнішнього ІОН
| (1 << MUX2) | (0 << MUX1) | (1 << MUX0); // підключення АЦП A5 == 101
}
void loop(){
unsigned long time_start = millis();
for (int j = 0; j < 100; j++) {
for (int i = 0; i < 1024; i++) {
ADCSRA |= (1 << ADSC); // Запуск перетворення АЦП
while ((ADCSRA & (1 << ADIF)) == 0); // Очікування прапора закінчення
перетворення
adc_bytes [i] = ADCH;
unsigned int dt = time_end - time_start;
Serial.println (dt);
}
Після запуску програми маємонаступне, сто заповнень масиву з 1024 байт
виконано за 1542 мсек .
2. Доповнюємо одноразове заповнення масиву даними АЦП
подальшою передачею всього масиву до послідовного порту на максимальній
швидкості.
Приклад програми:
byte adc_bytes [1024]; // Резервування масиву для АЦП даних
void setup() {
Serial.begin (115200); // bit/s
ADCSRA = (1 << ADEN) // Включення АЦП
| (1 << ADPS2); // Установка предделителя перетворювача на 8
ADMUX = (1 << ADLAR) | (1 << REFS0) // Підключення зовнішнього ІОН
Арк.
РТ86.022079.248 ПЗ
64
Змн. Арк. № докум. Підпис Дата
| (1 << MUX2) | (0 << MUX1) | (1 << MUX0);
void loop(){
for (int i = 0; i < 1024; i++) {
ADCSRA |= (1 << ADSC); // Запуск перетворення АЦП
while ((ADCSRA & (1 << ADIF)) == 0); //Очікування прапора закінчення
перетворення
adc_bytes[i] = ADCH; // Зчитуємо отримане значення
}
// send ADC data in serial port
Serial.print(«A»); // "A" is header
for (int i = 0; i < 1024; i++) {
Serial.write(adc_bytes[i]);
}
}
3. У моделі Simulink (рис. 3.34) у форматі 0.01542 прописуємо
експериментальне значення часу запису в масив, а саме, у рядку “Block
sample time” блоку “Serial Receive” та у рядку меню > simulation >
Configuration Parameters > Fixed- step size (fundamental sample time).
Рис. 3.34 – Модель Simulink для прийому та відображення даних із COM
порту
Арк.
РТ86.022079.248 ПЗ
65
Змн. Арк. № докум. Підпис Дата
4. Підключаємо на вхід АЦП тестовий сигнал. Запусткаємо програму
Arduino і потім модель Simulink (MatLAB).
Рис. 3.35 – Відображення у реальному часі мережевий 50 Гц
наведення. Кадр містить 1024 точки. Час кадру – 15.42 мсек. Частота
семплювання 66 КГц (як 1/(0.01542_сек/1024)). Сигнал має розриви:
процес запису переривається передачею кадру в послідовний канал.
Рис. 3.36 – Відображення в режимі реального часу пилкоподібного
сигналу
Арк.
РТ86.022079.248 ПЗ
66
Змн. Арк. № докум. Підпис Дата
Рис. 3.37 – Сигнал 500 Гц, Помилка такту (15.42 мсек) Simulink моделі без
додаткового коригування менше 1% (як 100% * (504.72Гц -
500Гц)/500Гц)
3.7. Висновки
В даному розділі проведено синтез програмного забезпечення
matlab/simulink та відладочної плати Arduino UNO. Проведено обробку та
відображення сигналів на частоті перетворення АЦП, розглянутий метод
побудови спектру сигналу в реальному часі. Також побудований канал
швидкісної потокової передачі та обробки восьми розрядних даних у
реальному часі без пропуску даних
Такі моделі, дають величезний потенціал для автоматизації виробничих
процесів і спрощують процес управління і корекції.
Арк.
РТ86.022079.248 ПЗ
67
Змн. Арк. № докум. Підпис Дата
РОЗДІЛ 4 ОХОРОНА ПРАЦІ
4.1. Аналіз небезпек та шкідливостей, які виникають у приміщенні
проектно-технічної лабораторії.
В даній кваліфікаційній роботі проводиться розробка програмно-
апаратного комплексу. Подібні роботи передбачають використання сучасної
комп’ютерної техніки для опрацювання великої кількості теоретичного
матеріалу та складних математичних розрахунків. Саме тому, необхідно
звернути увагу на фактори робочого середовища, які безпосередньо
впливають на працюючого, і як наслідок призводять до зміни його
продуктивності. Фізичне навантаження слід віднести до категорії Ιа, оскільки
робота здійснюється сидячи та без фізичної напруги.
Розробка проекту проводиться в приміщенні лабораторії з наступними
геометричними розмірами: довжина – 7 м, ширина – 5 м та висота – 3 м.
Площа всього приміщення складає 35 м2, а об’єм – 105 м3. В приміщенні
працюють чотири працівника, тому на одного працюючого припадає 8,75 м2
площі та 26,25 м3 об’єму, що відповідає вимогам ДСанПіН 3.3.2-007-98,
відповідно до яких площа, виділена для одного робочого місця з ПК, повинна
складати не менше 6 м2, а об’єм – не менше 20 м3.
Мікроклімат виробничих приміщень – це сукупність параметрів
повітря у виробничому приміщенні, які діють на людину у процесі праці, на
його робочому місці, у робочій зоні. Значні коливання параметрів
мікроклімату можуть привести до порушення терморегуляції організму
(здатність організму утримувати постійну температуру), що приводить до
порушення системи кровообіг, загальної слабкості і т.п.
Мікроклімат формують наступні параметри: температура повітря,
вологість повітря, швидкість руху повітря;
Нормування параметрів мікроклімату здійснюється згідно ДСН
3.3.6.042-99. Встановлені оптимальні та допустимі параметри мікроклімату.
Арк.
РТ86.022079.248 ПЗ
68
Змн. Арк. № докум. Підпис Дата
Оптимальні – найбільш сприятливі (комфортні) забезпечують роботу
системи терморегуляції без напруги. Допустимі – допускають напругу
реакції терморегуляції організму у межах її пристосування без шкоди для
здоров'я.
Основна роль у підтриманні оптимального теплового стану відводиться
терморегуляції, тобто процесам утворення тепла і віддачі тепла в зовнішнє
середовище, спрямованих на забезпечення термостабільності організму,
тобто підтримка внутрішньої температури тіла на постійному рівні.
Таблиця 4.1 - Нормативні параметри мікроклімату для категорії роботи Iа
Відносна
Температура, Швидкість руху
Період Категорія вологість,
°С повітря, м/с
року роботи %
Опт. Доп. Опт. Опт. Допуст.
Холодний Iа 22-24 21-25 40-60 0,1 ≤ 0,1
Теплий Iа 23-25 22-28 40-60 0,1 0,1-0,2
Фактичні значення даних параметрів становлять відповідно:
Температури повітря:
- В теплий період року – 25-26 °С ;
- В холодний період року – 21-23 °С .
Вологість повітря:
- В теплий період року – 50-54 %;
- В холодний період року – 50-52 %.
Швидкість руху повітря:
- В теплий період року – 0,1-0,2 м/с;
- В холодний період року – 0,1-0,15 м/с.
Видно, що вище наведені фактичні значення задовольняють вимогам
ДСН 3.3.6.042-99.
Арк.
РТ86.022079.248 ПЗ
69
Змн. Арк. № докум. Підпис Дата
Для підтримки оптимальної температури в теплий період року
використовується 1 кондиціонер типу Fujitsu General Nocria AWHZ14L з
площею обслуговування – 42 м2 та продуктивністю охолодження – 4,2 кВт.
В приміщенні використовується система центрального водяного
опалення. Для забезпечення оптимальної температури використовуються 2
радіатора типу KORADO 11-К. Усі системи підтримки нормативних
параметрів повітряного середовища повністю відповідають вимогам ДБН
В.2.5.67-2013.
Серед факторів зовнішнього середовища, що впливають на організм
людини в процесі праці, освітлення займає одне з перших місць. Адже
відомо, що майже 90% всієї інформації про довкілля людина одержує через
органи зору. Під час здійснення будь-якої трудової діяльності втомлюваність
очей, в основному, залежить від напруженості процесів, що супроводжують
зорове сприйняття.
Світло впливає не лише на функцію органів зору, а й на діяльність
організму в цілому. При поганому освітленні людина швидко втомлюється,
працює менш продуктивно, зростає потенційна небезпека помилкових дій.
Врешті, погане освітлення може призвести до професійних захворювань,
наприклад, таких як робоча міопія (короткозорість), спазм акомодації.
Для створення оптимальних умов зорової праці слід враховувати не
лише кількість та якість освітлення, а й кольорове оточення. Так, при
світлому пофарбуванні інтер'єру завдяки збільшенню кількості відбитого
світла рівень освітленості підвищується на 20-40% (при тій же потужності
джерел світла), різкість тіней зменшується, покращується рівномірність
освітлення.
При надмірній яскравості джерел світла та оточуючих предметів може
відбутись засліплення працівника. Нерівномірність освітлення та неоднакова
яскравість оточуючих предметів призводять до частої переадаптації очей під
час виконання роботи і, як наслідок цього — до швидкого втомлення органів
Арк.
РТ86.022079.248 ПЗ
70
Змн. Арк. № докум. Підпис Дата
зору. Тому поверхні, що добре освітлюються і знаходяться в полі зору, краще
фарбувати в кольори середньої світлості, коефіцієнт відбивання яких
знаходиться в межах 30-60%, і, бажано, щоб вони мали матову або
напівматову поверхню.
У відповідності з ДСТУ 8604:2015 кожне робоче місце розташоване
біля вікна таким чином, щоб світло падало на робоче місце з лівого
(рекомендовано) або правого боку.
Освітлення робочого приміщення проектується згідно з ДБН В.2.5-28-
2018 «Природне і штучне освітлення». Природне освітлення здійснюється
через 2 вікна розмірами 1,5×2 м та загальною площею – 6 м2. З метою
регулювання природного освітлення приміщення, на вікна встановлені
жалюзі.
Вибір величини штучного освітлення залежить від найменшого об’єкту
розрізнення. Оскільки робота пов’язана з використанням ПК, то найменшим
об’єктом розрізнення є крапка на екрані монітора, розмір якої приблизно
знаходиться в межах 0,15-0,3 мм. Отже, робота працівника відповідає
розряду – ІІ г, тобто дуже точній зоровій праці. Контраст об’єкта з фоном –
великий. Нормативне значення КПО ен = 1,5 %, а фактичне значення – 29-32
%, що задовольняє нормам.
Штучне освітлення приміщення здійснюється 4 світильниками
ORO418N, кожен з яких має 2 люмінесцентні лампи типу TL-D. Фактичне
значення величини штучного загального освітлення дорівнює 225 лк, тоді як
для даного типу зорової праці повинна складати 400 лк. Отже, система
штучного освітлення на робочому місці потребує модернізації.
Шум також являється важливим фактором виробничого середовища,
який може негативно впливати на працівника. Інтенсивний шумовий вплив в
організмі людини може викликати специфічні і неспецифічні зміни. До
специфічних змін відносять враження органу слуху, а саме: зниження
адаптації, слухова втома, приглухуватість.
Арк.
РТ86.022079.248 ПЗ
71
Змн. Арк. № докум. Підпис Дата
В основі цих проявів шумової патології лежить повільно прогресуюче
зниження слуху по типу неврита, що підіймається (тобто в основі
професійного зниження слуху лежить нейросенсорне зниження слуху
внаслідок враження звуко-сприймаючого апарату. До числа неспецифічних
змін відносять: нейроциркуляторну дистонію, дисфункції шлунку, зниження
імунологічної реактивності, зниження працездатності і виробничої
діяльності, передчасна втома, зниження розбірливості і внятності мови та
інші неприємні відчуття.
В приміщенні основним джерелом шуму являються вентилятори
системних блоків ПК. Згідно вимог ДСН 3.3.6.037-99 «Державні санітарні
норми виробничого шуму, ультразвуку та інфразвуку» нормативне значення
еквівалентного рівня шуму становить 50 дБА. Шум від вентиляторів
становить – 30-35 дБА, а отже відповідає вимогам.
Внаслідок дії електромагнітних полів на організм людини виникають
функціональні зміни центральної нервової системи. При цьому
спостерігається підвищена втомлюваність, біль голови. Первинний прояв дії
електромагнітної хвилі – нагрівання, яке призводить до пошкодження тканин
і органів. Поля надвисоких частот впливають на очі, викликаючи виникнення
катаракти. Багаторазовий вплив випромінювання малої інтенсивності
призводить до стійких функціональних змін центральної нервової системи.
Головними джерелами електромагнітного випромінювання в
приміщенні є системний блок ПК та монітор. Випромінювання від яких
відповідає нормам ДСН 3.3.6.096-2002.
В даному приміщенні використовується електропроводка прихованого
типу. ПК живляться напругою 220В і споживають не менше 1000 Вт.
Оскільки ПК має металевий корпус, то для захисту людини від ураження
електричним струмом в приміщенні передбачена магістраль захисного
заземлення згідно ДСТУ Б В.2.5-82:2016.
Арк.
РТ86.022079.248 ПЗ
72
Змн. Арк. № докум. Підпис Дата
Для даного приміщення категорія за вибухопожежонебезпечністю
відповідає типу В (пожежонебезпечна), а клас пожежі – Е (горіння установок
і обладнання, які знаходяться під напругою), А2 (горіння твердих матеріалів
яке не супроводжується тлінням).
В приміщенні знаходяться 2 переносних вуглекислотних вогнегасника
ВВК-5 (при використанні яких слід пам’ятати, що при гасінні пожежі в
приміщенні необхідно враховувати можливість зниження вмісту кисню в
повітрі приміщення нижче гранично-допустимого значення), які
використовуються для гасіння легкозаймистих та горючих рідин, твердих
горючих речовин та матеріалів, електропроводок, що знаходяться під
напругою до 1000 В, що відповідає Правилам експлуатації вогнегасників,
згідно якого на кожні 20 кв. м. площі приміщення повинен припадати 1
вогнегасник.
Для попередження пожеж використовується звукова система
оповіщення та 4 димових пожежних оповісника ИП-212-54Р, відповідно ДБН
В.2.5.56-2014.
Конструкція робочого місця забезпечує підтримання оптимальної
робочої пози та відповідає сучасним вимогам ергономіки і забезпечує
оптимальне розміщення на робочій поверхні використовуваного обладнання
(дисплея, клавіатури, принтера) і документів. Саме ж робоче місце
розташоване відносно світових прорізів, щоб природне світло падало збоку.
Висота робочої поверхні робочого столу становить 800 мм, а ширина і
глибина – 1200 і 800 мм відповідно, що в свою чергу дозволяє забезпечити
можливість виконання операцій у зоні досяжності моторного поля та
розташувати дисплей на оптимальній відстані від очей користувача, що
становить 600...700 мм, але не ближче ніж за 600 мм.
Робочий стілець – підйомно-поворотний, регульований за висотою та
кутом нахилу спинки, поверхня сидіння – м'яка, що дозволяє уникнути
передавлення судин на ногах, передній край – заокруглений. Регулювання за
Арк.
РТ86.022079.248 ПЗ
73
Змн. Арк. № докум. Підпис Дата
кожним із параметрів здійснюється незалежно, легко і надійно фіксується.
Висота поверхні сидіння регулюється в межах 400...500 мм, загальна висота –
1000 мм, ширина і глибина – по 500 мм.
Отже, організація робочого місця повністю задовольняє ергономічним
вимогам ДСТУ 8604:2015.
Для того, щоб уникнути нещасні випадки на робочому місці складені та
проведені інструктажі з техніки електробезпеки працівників (вступний,
первинний, повторний, позаплановий, цільовий), з врахуванням ДНАОП
0.00-1.21-98 «Правила безпечної експлуатації електроустановок споживачів»,
відповідно НПАОП 0.00-4.12-05.
Отже, детальний аналіз приміщення та безпосередньо робочого місця
показав, що всі фактори виробничого середовища, крім штучного освітлення
відповідають своїм нормативним значенням. Тому необхідною є
модернізація загального штучного освітлення для забезпечення відповідності
нормі, тобто величина штучного загального освітлення повинна складати не
менше 400 лк.
4.2 Порівняльна характеристика сучасних джерел світла і вибір
системи освітлення лабораторії
Для нормальної зорової роботи необхідно створювати такі умови, щоб
не виникали професійні захворювання або виробничий травматизм.
Освітлення має відповідати встановленим нормативам та характеру зорової
виробничої діяльності:
- забезпечувати достатню рівнозмінність та постійність освітлення
відсутність умов переадаптації органів зору;
- не створювати сліпучої дії від джерела світла і предметів, що
знаходяться в полі зору;
- не створювати на робочих поверхнях різких та глибоких тіней, бути
рівномірним на площині, що освітлюється.
Арк.
РТ86.022079.248 ПЗ
74
Змн. Арк. № докум. Підпис Дата
Раціонально виконане освітлення виробничих приміщень надає
позитивного психофізіологічного впливу на працюючих, сприяє підвищенню
якості продукції та продуктивності праці, забезпеченню її безпеки, знижує
втому і травматизм на виробництві, зберігає високу працездатність в процесі
праці.
Сучасні матеріали і технології дозволили далеко не нове відкриття
вчених, широко поширити по світу у вигляді світлодіодних джерел світла, як
в побуті людства, так і в промислових технологіях. Світлодіодні лампи це
твердотільні джерела світла. Принцип їх роботи заснований на тому, що при
проходженні електричного струму через р-n зону напівпровідника, він
починає світитися. Світлодіодні джерела світла все активніше витісняють
сьогодні всі традиційні технології освітлення.
Відомо, що лампи розжарювання були винайдені більше 100 років
тому. При замиканні, вольфрамова нитка нагрівається і починає
випромінювати світло. При цьому вісімдесят відсотків її енергії витрачається
на тепло і лише двадцять відсотків на освітлення. На жаль вольфрамова
спіраль більше випромінює теплових фотонів (світло довжиною хвилі більше
700-800 нм) і дає менше світла у видимому діапазоні (300-700 нм). Таким
чином ККД роботи ламп розжарювання всього 20 відсотків.
Люмінесцентні лампи мають ряд істотних недоліків, наприклад у
скляних колбах і трубках містяться отруйні пари ртуті, які вимагають
дотримання спеціальних умов зберігання та утилізації відпрацьованих ламп.
Для цього потрібне спеціальне устаткування і навчений персонал. Інший
істотний недолік, постійне мерехтіння ламп при роботі, що сильно
позначається на так званій втоми очей.
Арк.
РТ86.022079.248 ПЗ
75
Змн. Арк. № докум. Підпис Дата
Рис. 4.1 - Зовнішній вигляд світлодіодів
Світлодіодні лампи — екологічно чисті лампи, які не містять отруйних
парів ртуті, або інших газів, з тривалим терміном служби — безперервне
світіння гарантується протягом більш ніж 5 років.
У чому ж полягають переваги світлодіодних ламп. Для того, щоб
забезпечити існуючі стандарти освітлення, конструктори, вчені застосували
сучасні світлодіодні технології, які дозволили уникнути тих недоліків, що
були в лампах розжарювання і люмінесцентних лампах. Світлодіодна лампа:
вона складається з цоколя, вбудованого блоку живлення постійного струму,
спеціально спроектованої потужної плати з напівпровідників. Цоколі
спроектовані вже під сучасні стандарти, блок живлення забезпечує
безперервне світлове випромінювання. Яскраве світіння ми отримуємо, коли
пропускаємо електричний струм через напівпровідник, в цьому і полягає
принцип роботи світлодіода.
Переваги роботи світлодіодних ламп, у порівнянні з традиційними
способами освітлення:
- низьке споживання електричної енергії та високий коефіцієнт
корисної дії;
- тривалий термін служби — 50000 годин безперервної роботи або 5
років безперервного світіння;
- оптимальне співвідношення ціни та якості;
Арк.
РТ86.022079.248 ПЗ
76
Змн. Арк. № докум. Підпис Дата
- швидка окупність протягом півроку з моменту початку експлуатації;
- висока міцність і стійкість до будь-яких зовнішніх впливів;
- екологічна безпека, відсутність шкідливих компонентів і
випромінювань, відсутність спеціальних вимог щодо утилізації;
- діапазон робочих температур від -50° до +50°С;
- безінерційність включення/вимикання, моментальний перехід у
робочий стан;
- відсутність мерехтіння і сліпучого ефекту впливає на втому очей;
- сучасний вигляд і дизайн.
Таблиця 4.2 - Основні типи ламп, що використовуються в системах
освітлення
Потужність, Світловий Термін
Вт потік, служби,
лм годин
Лампи розжарювання 60 650 1000
Люмінесцентні лампи 15 680 15000
LED лампи (світлодіодні) 7 680 50000
Термін служби світлодіодних ламп перевищує термін служби
традиційних ламп розжарювання в 40 разів. Дуже низьке енергоспоживання
разюче відрізняє світлодіодні лампочки від люмінесцентних та інших
енергозберігаючих ламп. Так, при потужності в 7 Вт, світлодіодна лампочка
еквівалентна люмінесцентній - 15 Вт, а лампочки розжарювання потужністю
60 Вт. У наявності економія електроенергії в 9 разів, в умовах постійного
зростання тарифів на послуги ЖКГ, це дуже серйозна економія. Для
освітлення промислових об'єктів і побутових приміщень, передбачено
варіанти освітлення з вхідною напругою як 220 В, так і 12 В.
Арк.
РТ86.022079.248 ПЗ
77
Змн. Арк. № докум. Підпис Дата
Першим основоположним критерієм, є конструкція самої лампи. Існує
всього два основних типи конструкції світлодіодних ламп. У першій
конструкції формує світловий пучок набір матриць світлодіодів. У другій
конструкції формується світловий пучок розсіюючими лінзами. Друга
конструкція отримала найбільший пріоритет у конструкторських розробках,
звідси різноманіття світильників розсіюючого світла.
Крім того, так як робоча напруга світлодіодних ламп всього 10-12 В, то
при такій низькій напрузі відпадає необхідність у дроті живлення великого
перетину з кількома шарами ізоляції. Світлодіодні лампи відразу починають
випромінювати світло при їх включенні. Яскравість лампи можна
регулювати за допомогою додатково встановленого дімера, відразу ж після
включення. Нормальна напруга, необхідна для роботи одного світлодіода - 3-
4 вольта, в світильник їх встановлюють декілька, тому коли з міркувань
електробезпеки та пожежної безпеки неможливо подати високу напругу,
світлодіодні світильники є добрим виходом із ситуації. Ще одна важлива
якість світлодіодних ламп, це їх висока міцність від механічних пошкоджень.
На відміну від люмінесцентних ламп, колби яких, як правило, виготовлені зі
скла, світлодіодні лампи виготовлені з алюмінію і пластика — досить міцних
матеріалів. Це значно розширює діапазон їх застосування, особливо в
промисловості, вуличному і дворовому освітленні, оскільки вони мають дуже
високий імунітет проти вуличного вандалізма. Світлодіодні лампи мають
стандартні цоколі Е14, Е27, GU10, GU5.
Ще однією важливою перевагою світлодіодних ламп є їх здатність
працювати при низьких температурах. Якщо в люмінесцентних лампах, при
низьких температурах, пари ртуті вимерзають і яскравість світіння
знижується, то світлодіодні працюють в інтервалі температур від -50 градусів
до +50 градусів, без втрати якості освітлення.
Арк.
РТ86.022079.248 ПЗ
78
Змн. Арк. № докум. Підпис Дата
Рис. 4.2 – Зовнішній вигляд світлодіодних джерел світла
Світлодіодні лампи можуть працювати практично вічно при правильно
організованому конструктивно відводі тепла. При установці світлодіодних
ламп дуже важливо знати, в якому конкретно місці вони будуть стояти на
письмовому столі, на верстаті, на торговому прилавку або під стелею,
важливо знати відстані до об'єктів. Це допоможе визначити кут світіння,
потужність світлового потоку, колірну температуру і можна буде більш
кваліфіковано підібрати світильники.
Для того, щоб порахувати економічну доцільність переходу на
світлодіодні джерела світла, необхідно знати: тривалість використання ламп,
вартість електроенергії, середній термін служби традиційної і нової
світлодіодної лампи і їх вартості.
Арк.
РТ86.022079.248 ПЗ
79
Змн. Арк. № докум. Підпис Дата
Рис. 4.3 - Конструкція світлодіодної лампи
Світлодіодна лампа (Рис.4.3) складається з розсіювача (1), власне
світлодіодів (2), плати, на яку вони монтуються (3), радіатори для
охолодження світлодіодів (4), драйвера (5), вентиляційних отворів для
циркуляції повітря (6), цоколя (7).
Світлодіодні лампи дають досить вузький пучок світла, приблизно, 60
градусів. Тому для освітлення кімнат використовуються розсіювачі, які
розширюють світловий потік. У випадках, коли потрібно вузько направлений
пучок світла, наприклад, в настільних лампах, використовують лампи без
розсіювача.
Світлодіод (Рис.4.4) являє собою напівпровідниковий прилад, що
перетворює, що протікає через нього струм, в світлове випромінювання. На
жаль, потужний світлодіод, саме такі використовуються у світлодіодних
лампах, має один недолік. Його основа – p-n перехід, не досконала, тобто
частина енергії електронів витрачається не тільки на витяг фотонів з цієї
спайки (p-n), але і на тепло. Фактично це втрати. Тим не менш, з цією
особливістю треба щось робити. Тому з метою охолодження світлодіодів
встановлюється радіатор.
Арк.
РТ86.022079.248 ПЗ
80
Змн. Арк. № докум. Підпис Дата
Рис. 4.4 – Схема світлодіода
Драйвер, являє собою електронну схему, яка служить для перетворення
вхідної напруги в напругу, придатну для використання в світлодіодній лампі.
Крім того драйвер задає певну частоту для живлячої напруги і струму
світлодіода. Ця частота живлення важлива, по-перше, для того щоб задати
певну яскравість світіння, оскільки яскравість світіння для світлодіода
задається «правильно» саме не зміною напруги, а певною частотою
живлення. По-друге, це обмеження частоти через драйвер дозволяє
потужному світлодіоду довше «деградувати» (втрачати вихідний світловий
потік), тобто світлодіод пропрацює довше. Стандартна схема драйвера
світлодіодної лампи зображено на рис. 4.5.
Вентиляційні отвори служать для циркуляції повітря в лампі і
відведення тепла від драйвера. Світлодіоди охолоджуються радіатором.
Цоколь служить для приєднання до електричної мережі. Світлодіодні лампи
випускаються з різними видами цоколів і, в тому числі, зі стандартним
цоколем Е27, як у звичайних ламп розжарювання.
Арк.
РТ86.022079.248 ПЗ
81
Змн. Арк. № докум. Підпис Дата
Рис. 4.5 – Схема стандартного драйвера світлодіодної лампи
Зі всього вищенаведеного можливо зробити висновок, що саме
світлодіодні світильники доцільніше за все застосовувати в системах
освітлення сучасних офісів, лабораторій, підприємств та інше.
Арк.
РТ86.022079.248 ПЗ
82
Змн. Арк. № докум. Підпис Дата
ВИСНОВКИ
В даній роботі розглянуто сучасні підходи до вирішення поставленого
завдання, проведемо огляд існуючих рішень реалізації програмно –
апаратних комплексів як у вітчизняних джерелах, так і зарубіжних. Огляд
джерел показав що для виконання поставленої задачі існує два методи
перший з них це застосування цифрового осцилографа в якості інтерфейсу
для MATLAB, але даний метод має свої недоліки перший з них це їхня
вартість а другий недолік полягає в тому що не кожен цифровий осцилограф
може працювати з середовищем MATLAB. А інший метод полягає в
застосуванні звукової карти в якості інтерфейсу для середовища MATLAB,
даний метод має також недоліків а саме: дуже малий частотний діапазон
роботи звукової кати, який складає 20 Гц. – 20кГц., інший недолік це
неможливість спостерігати в реальному часі сигнали, так як відразу потрібно
зробити запис сигналу а уже потім його вже можна досліджувати. Для
вирішення задачі застосовано платформу Arduino, для цього контролер
приймає сигнали на максимальній частоті перетворення АЦП, що в свою
чергу дозволяє спостерігати спектр максимально в широкої смузі частот.
Розглянуто методи проектування програмно – апаратного комплексу а
саме: метод проектування на рівні контролера і проектування на рівні
спеціалізованого середовища, було вирішено в якості спеціалізованого
середовища використати середовище MATLAB/SIMULIK.
Проведено синтез програмного забезпечення matlab/simulink та
відладочної плати Arduino UNO. Проведено обробку та відображення
сигналів на частоті перетворення АЦП, розглянутий метод побудови спектру
сигналу в реальному часі. Також побудований канал швидкісної потокової
передачі та обробки восьми розрядних даних у реальному часі без пропуску
даних.
Арк.
РТ86.022079.248 ПЗ
83
Змн. Арк. № докум. Підпис Дата
Такі моделі, дають величезний потенціал для автоматизації виробничих
процесів і спрощують процес управління і корекції.
В розділі охорона праці та безпека в надзвичайних ситуаціях поведений
аналіз небезпек та шкідливостей, які виникають у приміщенні проектно-
технічної лабораторії при розробці програмно – апаратного комплексу на базі
платформи Arduino та MATLAB/Simulink, детальний аналіз приміщення та
безпосередньо робочого місця показав, що всі фактори виробничого
середовища, крім штучного освітлення відповідають своїм нормативним
значенням. Тому було вирішено провести модернізацію загального штучного
освітлення для забезпечення відповідності нормі.
Арк.
РТ86.022079.248 ПЗ
84
Змн. Арк. № докум. Підпис Дата
Список використаної літератури
1. Общие сведения о плате Arduino Mega 2560 [Электронный ресурс].
URL: http://arduino.ru/Hardware/ArduinoBoardMega2560 (Дата обращения
25.02.16 г.)
2. Петров П.А., Ивель В.П. Синтез адаптивной системы управления
вращением-подъемом железнодорожных вагонов // Технические науки - от
теории к практике: сб. ст. по матер. LXV междунар. науч.-практ. конф. №
12(60). – Новосибирск: СибАК, 2016. – С. 21-27.
3. Зюбин В. Е. Итерационная разработка управляющих алгоритмов на
основе имитационного моделирования объекта управления / В.Е. Зюбин //
Автоматизация в промышленности. – 2010. – № 11. – С. 43-48.
4. Закревский А. Д. Логические основы проектирования дискретных
устройств / А. Д. Закревский, Ю. В. Поттосин, Л. Д. Черемисинова. – М.:
ФИЗМАТЛИТ, 2007. – 592 с.
5. Лях Т.В. Автоматизированная верификация алгоритмов управления
сложными технологическими объектами на программных имитаторах / Т.В.
Лях, В.Е. Зюбин, Н.О. Гаранина // Вестник НГУ. Серия: Информационные
технологии. –2018. – Т. 16, № 4. – С. 85-94.
6. Зюбин В. Е. Программирование ПЛК: языки МЭК 61131-3 и
возможные альтернативы // Промышленные АСУ и контроллеры. – 2005. – №
11. С. 31-35.
7. Лях Т. В., Зюбин В. Е., Сизов М. М. Опыт применения языка Reflex
при автоматизации Большого солнечного вакуумного телескопа //
Промышленные АСУ и контроллеры. – 2016. – № 7. – С. 37-43.
8. Зюбин В.Е. Программирование ПЛК: языки МЭК 61131-3 и
возможные альтернативы // Промышленные АСУ и контроллеры. – 2005. – №
11. – С. 31-35.
Арк.
РТ86.022079.248 ПЗ
85
Змн. Арк. № докум. Підпис Дата
9. Ефремов А.А. Модельноориентированное проектирование –
международный стандарт инженерных разработок / А.А. Ефремов, С.С.
Сорокин, С.М. Зенков. Дата доступу: 09.11.19. – Режим доступу:
https://matlab.ru/upload/resources/EDU%20Conf/pp%2040-43%20Sorokin.pdf.–
Загол. з екрану.
10. Поликарпова Н.И. Автоматное программирование / Н.И.
Поликарпова, А.А. Шалыто. – СПб., 2008. – 167 с.
11. Шалыто А.А. SWITCH-технология – автоматный подход к
созданию программного обеспечения «реактивных» систем / А.А. Шалыто,
Н.И. Туккель // Программирование. – 2001. – № 5. – С. 45-62.
12. Зюбин В.Е. Программирование информационно-управляющих
систем на основе конечных автоматов: учеб.-метод. пособие. / В.Е. Зюбин //
Новосиб. гос. университет. – Новосибирск, 2006. – 96 с.
13. Антипова Е.В., Негода В.Н. Автоматизация проектирования
программно-аппаратных реализаций автоматных диаграмм систем
управления / Е.В. Антипова, В.Н. Негода // Автоматизация процессов
управления. – 2012. – № 1 (27). – С. 47-55.
14. Спеціалізовані мікроконтролерні системи. Теорія і практика:
Підручник / Є. І. Сокол, І. Ф. Домнін, О. М. Рисований та ін. – Харків: НТУ
“ХПІ”, 2007. – 252 с.
15. Jones D. Model-Based Design of control systems: Simulate and test
before committing to hardware / Doug Jones, Brian McKay // Undustrial
embedded systems. – Режим доступу: http://industrial.embedded-
computing.com/articles/model-based-design-control-systems-simulate-test-
committing-hardware/ . – Дата звернення: 27.11.19. – Загол. з екр.
16. Волков Ю.В. Системы технического диагностирования,
автоматичечкого управления и защиты. Часть 2: учебное пособие / Ю.В.
Волков // ВШТЭ СПбГУПТД. – СПб, 2017. – 117 с.
Арк.
РТ86.022079.248 ПЗ
86
Змн. Арк. № докум. Підпис Дата
17. Ryssel U. Generative function block design and composition / U. Ryssel,
J. Ploennigs, K. Kabitzsch, // 6th IEEE Workshop on Factory Communication
Systems, Torino, Italy, 2006, pp. 253-262.
18. Медведев В. Имитационное моделирование в промышленности //
Plm news. Инновации в промышленности. Май 2008.
http://simulation.su/uploads/files/default/2008-medvedev-1.pdf.
19. Зюбин В.Е. Итерационная разработка управляющих алгоритмов на
основе имитационного моделирования объекта управления: учеб.-метод.
Арк.
РТ86.022079.248 ПЗ
87
Змн. Арк. № докум. Підпис Дата