ервоприводи бувають аналогові і цифрові. Зовні вони нічим не відрізняються: електромотори, редуктори, потенціометри у них однакові, відрізняються вони лише внутрішньої керуючою електронікою і вступникам сигналом (див. Малюнок 15).
Малюнок 15 - Тип сигналу сервоприводу
Замість спеціальної мікросхеми аналогового сервоприводу у цифрового аналога можна помітити на платі мікропроцесор, який приймає імпульси, аналізує їх і управляє мотором. Таким чином, у фізичному виконанні відмінність лише в способі обробки імпульсів і управлінні мотором. [7]
3. Програмування мікроконтролера
Метою програмування керуючого пристрою мобільного робота є забезпечення бажаної траєкторію руху робота, коли він слід по планованому шляху відповідно до керуючого впливами.
Більшість досліджень, присвячених проблемі планування переміщення робота без зіткнення з перешкодами на його шляху на основі нечіткої логіки, проводилися в умовах відомої навколишнього середовища.
Рішення розглянутої проблеми за допомогою нечіткої логіки є загальновизнаним, тому що в цьому випадку механізм прийняття рішення завжди дозволяє генерувати відповідні рухи робота, викликані появою перешкоди на його шляху.
Сама найпростіша модель нечіткої логіки виробляє необхідний вихідний сигнал без будь-якого навчання.
При виконанні багатьох завдань і операцій до роботів пред'являють жорсткі вимоги по плавності і точності виконуваних рухів.
Як правило, контур регулювання утворений механічними передачами, датчиком зворотного зв'язку, блокомпорівняння інформаційного пристрою з поточними значеннями датчиків, підсилювально-преосвітнім пристроєм у функції якого входить посилення сигналу датчиків, неузгодженості з попередніми значеннями отриманого від інформаційного пристрою і перетворення його в параметри механічного руху.
Очевидно, точність і плавність виконуваних рухів в системі мобільного робота визначається якістю всіх зазначених вище елементів.
Система управління містить повний набір необхідних для створення робота автоматичних пристроїв і систем, найбільш повно відповідає функціональним вимогам.
Згадані вище завдання найчастіше вирішуються в автоматичному режимі за допомогою відповідних технічних пристроїв і програм написаних індивідуально під даний зразок. [1]
. 1 Концепція програмування
Програмування ведеться цілком через власну програмну оболонку (IDE), безкоштовно доступну з сайту Ардуіно. У цій оболонці є текстовий редактор, менеджер проектів, препроцесор, компілятор та інструменти для завантаження програми в мікроконтролер. Оболонка написана на Java на основі проекту Processing raquo ;, працює під Windows raquo ;, Mac OS X і Linux raquo ;. [9]
3.2 Мова програмування
Мова програмування Ардуіно є стандартним C ++ (використовується компілятор AVR-GCC ) з деякими особливостями, що полегшують новачкам написання першого працюючої програми.
Програми, написані програмістом Ардуіно, називаються скетчі та зберігаються у файлах з розширенням ino. Ці файли перед компіляцією обробляються препроцесором Ардуіно. Також існує можливість створювати і підключати до проекту стандартні файли C ++.
Обов'язкову в C ++ функцію main () препроцесор Ардуіно створює сам, вставляючи туди необхідні чорнові дії. Програміст повинен написати дві обов'язкові для Ардуіно функції setup () і loop () raquo ;. Перша викликається одноразово при старті, друга виконується в нескінченному циклі.
У текст своєї програми (скетчу) програміст не зобов'язаний вставляти заголовні файли використовуваних бібліотек. Ці заголовні файли додасть препроцесор Ардуіно відповідно до конфігурації проекту. Менеджер проекту Arduino IDE має нестандартний механізм додавання бібліотек. Бібліотеки у вигляді вихідних текстів на стандартному C ++ додаються в спеціальну папку в робочому каталозі IDE raquo ;. При цьому назва бібліотеки додається в список бібліотек в меню IDE raquo ;. Програміст відзначає потрібні бібліотеки і вони вносяться до списку компіляції. Arduino IDE не пропонує ніяких налаштувань компілятора і мінімізує інші настройки, що спрощує початок роботи для новачків і зменшує ризик проблем.
просто програмний код складається з двох функцій:
а) setup () raquo ;: функція викликається одноразово при старті мікроконтролера.
б) loop () raquo ;: функція викликається після setup () у нескінченному циклі весь час роботи МІКРОКОМ?? троллера. ...