Тема 1. Апаратна частина ВКС покоління Arduino
Формування компетенцій
ЗК 3, ФК 2, ФК 7, ФК 10, ФК 12.
Будова плати Arduino Uno. Поняття дискретних та аналогових входів і виходів. Типи вихідних сигналів давачів фізичних величин. Засоби індикації: світлодіодні та рідкокристалічні дисплеї. Способи оновлення даних на дисплеях. Характеристика сенсорів та давачів Arduino.
1. Знайомство з апаратно-програмними засобами Arduino
Загальні відомості про Arduino
Ардуіно (Arduino) ця назва апаратно-програмних засобів для створення простих електронних систем автоматики і робототехніки. Система має повністю відкриту архітектуру і орієнтована на непрофесійних користувачів.
Програмна частина Ардуіно складається з інтегрованого програмного середовища (IDE), що дозволяє писати, компілювати програми, а також завантажувати їх в апаратуру.
Апаратна частина являє собою електронні плати з мікро контролером, супутніми елементами (стабілізатор живлення, кварцовий резонатор, блокувальні конденсатори і т.п.), портом для зв'язку з персональним комп'ютером, роз'ємами для сигналів вводу-виводу і т.п.
У платах Ардуіно використовуються мікроконтролери Atmel AVR з прошитим у них завантажувачем. За допомогою завантажувача записується програма в мікроконтролер з персонального комп'ютера без застосування апаратних програматорів.
Для програмуванні Ардуіно використовується мова C / C ++, з деякими особливостями.
Загальна інформація про контроллер ATmega328
Arduino UNO R3 виконаний на мікроконтролері ATmega328, що характеризується наявністю у нього:
• 14 цифрових портів входу-виходу (6 з них підтримують режим широтно-імпульсної модуляції (ШІМ));
• 6 аналогових входів;
• частота тактів до 16 МГц;
• USB порт;
• роз'єм для живлення;
• роз'єм внутрішньосхемного програмування;
• кнопка скидання (Reset).
У плати є всі необхідні компоненти для забезпечення роботи мікроконтролера. Досить підключити USB кабель до комп'ютера і подати живлення. Мікроконтролер встановлений на колодці, що дозволяє легко замінити його в разі виходу з ладу.
Програмування мікроконтролера Ардуіно
Контролер програмується з інтегрованого середовища програмного забезпечення Ардуіно (IDE). Програмування відбувається під управлінням резидентного завантажувача по протоколу STK500. Апаратний програматор при цьому не потрібен.
Мікроконтролер можна запрограмувати через роз'єм для внутрішньосхемного програматора ICSP, не використовуючи, завантажувач. Вихідний код програми-завантажувача знаходиться у вільному доступі.
Відмінність від інших контролерів Ардуіно
Arduino UNO R3, на відміну від попередніх версій, не використовує для підключення до комп'ютера міст USB-UART FTDI. Цю функцію в ньому виконує мікроконтролер ATmega16U2.
Система живлення мікроконтролера Ардуіно
Плата UNO може отримувати живлення від USB порту або від зовнішнього джерела. Джерело живлення вибирається автоматично. В якості зовнішнього джерела живлення може використовуватися мережевий адаптер або батарея. Адаптер підключається через роз'єм діаметром 2,1 мм (центральний контакт – позитивний). Батарея підключається до контактів GND і Vin роз'єму POWER.
Напруга зовнішнього джерела живлення може бути в діапазоні 6 - 20 В. Але рекомендується не допускати зниження напруги нижче 7 В через нестабільну роботу пристрою. Також не бажано підвищувати напруга живлення більш 12 В, тому що може перегріється стабілізатор і вийти з ладу. Тобто рекомендований діапазон напруги живлення 7 - 12 В.
Пам'ять мікроконтролера Ардуіно
У мікроконтролера Ардуіно три типи пам'яті:
• 32 кБ флеш (FLASH);
• 2 кБ оперативної пам'яті (SRAM);
• 1 кБ незалежній пам'яті (EEPROM).
Входи і виходи мікроконтролера Ардуіно
Кожен з 14 цифрових виводів може бути використаний в якості виходу або входу. Рівень напруги на виводах 5 В. Рекомендується вхідний та вихідний струми кожного виводу обмежувати на рівні 20 мА.
Увага! Гранично допустиме значення цього параметра складає 40 мА.
Кожен вивід має внутрішній підтягуючий резистор опором 20-50 кОм. Резистор може бути відключений програмно.
Деякі виводи можуть виконувати додаткові функції.
Послідовний інтерфейс: виводи 0 (Rx) і 1 (Tx). Використовуються для прийому (Rx) і передачі (Tx) послідовних даних логічних рівнів TTL. Ці виводи підключені до виводів передачі даних мікросхеми ATmega16U2, яку використовують як міст USB-UART.
Зовнішні переривання: виводи 2 і 3. Ці виводи можуть бути використані як входи зовнішніх переривань. Програмно можуть бути встановлені на переривання по низькому рівню, позитивному чи негативному фронту, або на зміну рівня сигналу.
ШІМ: виводи 3, 5, 6, 9, 10, 11. Чи можуть працювати в режимі ШІМ модуляції з роздільною здатністю 8 розрядів.
Послідовний інтерфейс SPI: виводи 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
Світлодіод: вивідк 13. Світлодіод, підключений до виводу 13. Світиться при високому рівні сигналу на виводі.
Інтерфейс TWI: вивід A4 або SDA і A5 або SCL. Комунікаційний інтерфейс TWI.
У плати Arduino UNO є 6 аналогових входів, позначених A0-A5. Роздільна здатність аналогового цифрового перетворення 10 розрядів. За замовчуванням, вхідна напруга вимірюється відносно землі в діапазоні 0-5 В, але може бути змінена за допомогою виводу AREF і програмних установок.
Ще 2 виводи плати мають функції:
AREF. Опорна напруга АЦП мікроконтролера.
RESET. Низький рівень на цьому виводі викликає скидання мікроконтролера.
Комунікаційні інтерфейси.
Модуль Arduino UNO має засоби для зв'язку з комп'ютером, з іншого платою UNO або з іншими микроконтроллерами. Для цього на платі існує інтерфейс UART з логічними рівнями TTL (5 В), пов'язаний з виводами 0 (RX) і 1 (TX). Мікросхема ATmega16U2 на платі зв'язує UART інтерфейс з USB портом комп'ютера. При підключенні до порту комп'ютера, з'являється віртуальний COM порт, через який програми комп'ютера працюють з Ардуіно. Прошивка ATmega16U2 використовує стандартні драйвери USB-COM і
установка додаткових драйверів не потрібно. Для операційної системи Windows необхідний відповідний .inf файл. В інтегроване середовище програмного забезпечення Ардуіно (IDE) включений монітор обміну по послідовному інтерфейсу, який дозволяє надсилати і отримувати з плати прості текстові дані. На платі є світлодіоди RX і TX, які слугують індикаторами стану відповідних сигналів для зв'язку через USB (але не для послідовного інтерфейсу на виводах 0 і 1).
Контрольні запитання:
1. Назвіть коротко основне призначення мікроконтролера Arduino.
2. Що являє собою програмна частина мікроконтролера Arduino?
3. Що являє собою апвратна частина мікроконтролера Arduino?
4. Яка кількість цифрових портів входу-виходу міститься на платі мікроконтролера Arduino?
5. Яка кількість аналогових входів міститься на платі мікроконтролера Arduino?
6. Як здійснюється програмування мікроконтролера Ардуіно?
7. Використовуючи рис. 6.2 поясніть функції входів і виходів мікроконтролера Ардуіно
8. Назвіть основні комунікаційні інтерфейси мікроконтролера Ардуіно
9. Як реалізовано в мікроконтролері Ардуіно автоматичне (програмне) скидання?
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання