РОБОТ LINE FOLLOWER - Batutu Raluca; Rosoiu Maria 331CA CS Open CourseWare

Послідовник лінії - це машина, яка може пройти шлях. Дорога видно чорною лінією на білій поверхні або навпаки.

Навіщо будувати послідовника ліній робота?

"Помацати" лінію, маневрувати роботом, щоб утриматися на маршруті, і створити код для цього, здавалося нам викликом. Це перший крок у створенні штучного інтелекту та ідеальний проект для навчання.

Практичні програми: ми можемо пізніше використовувати його для більш складних речей, таких як автомобілі майбутнього, які вивчать маршрут (наприклад: додому-школа) і будуть їздити за ним без потреби взаємодії з людьми.

Робот буде координуватися мікроконтролером ATMega 16, до якого буде підключений H-міст і лінія датчика. Лінія датчика буде підключена до перетворювача, який надсилатиме цифрові сигнали на висновки мікроконтролера.

follower

Перелік частин

Монтажна схема

line

Мікроконтролер буде живитися від 6 батарей 1,5 В, тобто загалом 9 В. Щоб уникнути горіння плати, ми підключимо її до стабілізатора напруги. З пластини ми також будемо подавати лінію датчика, і двигуни будуть живити окремо на 6В.

Міст Н

Вісь буде керувати 2 двигунами.

робот
робот

Я підключив штирі 2,7,10,15 на порту D мікроконтролера і штирі 3,6 до переднього двигуна і 11,14 до заднього двигуна. Увімкнути 1,9 висновки разом із vs (контакт 8) та vss (контакт 16) я підключив до VCC. Штирі заземлення з'єднані з землею. Для живлення двигунів ми використовуємо 4 батареї 1,5 В. Двигуни живляться окремо від пластини та датчиків.

Лінія датчика

робот

Сенсорна лінія була виконана з використанням 4-х ІЧ-діодів та 4-х фототранзисторів, потенціометра для встановлення опорної напруги та компаратора LM324. Кожен датчик був підключений наступним чином:

робот

Фототранзистор має випромінювач, заземлений разом з катодом діода. Я підключив резистор 10 кОм до колектора фототранзистора, а резистор 330 ом до діодного анода. Вони з'єднані на штифтах компаратора.

Щоб розрізнити 2 кольори, чорний та білий, ми використовували потенціометр для встановлення опорної напруги. Фототранзистор випромінює напругу нижче 2 В на білому та> 4 В на чорному. Ці результати надсилаються компаратору, який надсилає цифрове значення на мікроконтролер (на порту А.) Ми вибрали цей варіант з діодами та фототранзисторами замість того, що з датчиками, вже придбаними для фінансових цілей, і тому, що нам сподобалась проблема.

Слід зазначити, що лінія датчика повинна бути захищена від зовнішнього світла, щоб уникнути помилок.Я використовував імпровізацію: чорна ізоляційна стрічка, яка не дозволяє навколишньому світлу проникати через діод або фототранзистор, вони орієнтовані вниз. Залежно від значення датчиків, двигуни рухаються наступним чином:

Для реалізації коду я використовував AVR Studio. Як і в лабораторії, ми перейменовували штифти, на яких підключені датчики та мост H. Код простий, і в залежності від даних, отриманих від датчиків, мікроконтролер надсилає рішення на мост H. Я встановив вхідний порт A (DDRA = 0x00) і вихідний порт D як вихідний DDRD = 0xFF (підключений до двигунів). Я використовував прості бітові операції.

Ви можете знайти код у розділі завантаження.

Нам вдалося зробити функціональний автомобіль, лінійку датчиків для виявлення двох кольорів. На жаль, ми вже не змогли охолодити Н-вісь, оскільки машина змогла пробігти лише 30 секунд, перш ніж нам потрібно було її зупинити, щоб не спалити Н-вісь.

Слідом за проектом ми дізналися, як живити плату при напрузі вище 5 В, як ми можемо спалити 2 мікроконтролери в той же день, не подаючи живлення туди, куди потрібно, як зменшити чутливість лінії датчика і що спочатку слід використовувати якісні акумулятори тому що вони будуть спожиті швидко. Акумулятори 9 В не мають потужності для живлення двигунів, але 4 батареї по 1,5 банки.