Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)

Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)

Полювання на роботів.

Отже. Наш невеликий електричний звірок повинен бачити свого супротивника, виштовхнути його за межі рингу, а сам повинен залишені на рингу. Правила гри можна прочитати тут: _ // moscowservice.org/roboty_sumo/68-obshhie-pravila-minisumo.html. Значить треба два типи сенсорів - ті, які "бачать" іншого робота, і сенсори визначення наявності білої ліній на краю рингу. У першому випадку вибір досить широкий - тут можна використовувати ІК датчики (їх теж багато всяких. Наприклад ІК фототранзистори, модульовані ІК приймачі, ІК вимірювачі відстані фірми SHARP, і.т.д.), ультразвукові датчики, лазерні сенсори і іншу екзотику.







Нам важлива чутливість і завадостійкість сенсора. Також бажано виключити помилкове спрацьовування (припустимо, хто захоче сфотографувати Вашого робота під час раунду. Спалах при цьому може дати помилковий сигнал і робот поведе себе неадекватно). Значить, прості елементи, як фотодіоди і фототранзистори, в цьому випадку нехай полежать ще в коробочці. З дешевих варіантів нам найбільш підходять модульовані ІК приймачі - ті, які є у всіх пристроях, керованих від пульта дистанційного керування. Вони бувають на різні частоти-від 32 КГц до 56 КГц. Я взяв на 38 КГц. Якщо у Вас будуть на іншу частоту - не біда. Підкоригує значення частоти в програмі МК і все!
Датчики ліній - фотоінтерруптери, наприклад такі, як показано на наступній картинці.

Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)

Вони повинні в собі містити ІК світлодіод і ІК фототранзистор. Принцип дії вже описаний в моїй статті про робота GOOFY.
Мізки робота - це мікроконтролер АТМЕГА 8 - він дешевий і доступний. Завдання його - генерувати меандр частотою 38 КГц для управління ІК світлодіодами (необхідні для роботи модульованих ІК приймачів), реагувати на сигнали від датчиків і управляти модифікованими модельними сервомоторами використовуючи ШІМ за програмою.

Виключений фрагмент. Повний варіант статті доступний тільки повноправним членам спільноти і передплатникам.
Будь ласка, ознайомтеся з умовами доступу.


МК тактується кварцом на частоту 16МГц. Під цю частоту і визначалися значення ШІМ. Канали OC1A (вив.15) і OC1B (вив.16) керують сервомоторчікамі. Для цього потрібен сигнал частотою 50 Гц, а швидкість і напрямок визначає довжина імпульсу від 1.0 мс до 2.0 мс. При 1.5 мс мотор повинен стояти. Більш докладно про дії і будову модельних сервомоторів можна прочитати в інтернеті.






Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)


Є одне АЛЕ! Нам доведеться злегка переробити такий мотор, так як він розрахований на позиціонування тільки по 180 градусам, а нам треба, щоб він обертався на 360 градусів.

Прямуємо по цій інструкцій: _ // www.seattlerobotics.org/guide/servohack.html. Все, що треба, це зняти / відрізати обмежувач з головною шестерні і замість змінного резистора зворотного зв'язку впаяти два постійних резистора. Зазвичай переменнік там стоїть на 5к - значить треба впаяти два по 2.5к (при довжині імпульсу 1.5мС мотор буде стояти. Змінюючи довжину імпульсу в сторону 1.0 мс або 2.0 мс мотор, відповідно, буде змінювати напрямок і швидкість обертання валу). У серво три дроти - чорний (GND, "-"), червоний (+ 5V, "+") і білий (PWM). Такі мотори продаються в магазинах для моделістів і, звичайно ж, в інтернет-магазинах.

Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)


Далі за схемою: висновки МК порту З підтягнуті внутрішніми резисторами до + 5в. Тобто на ньому логічний 1. При спрацьовувань будь-якого сенсора (а їх у нас чотири) вхід скидає на логічний 0.

Програма МК реалізована досить примітивно - в ній чотири функції - дві для пауз, третя - опитування сенсорів використовуючи IFи, а четверта - управління моторами по SWITCH (STATE). Я думаю, розібратись в програмі Вам не важко буде.
Окреме слово слід сказати про підлаштування резистора R2, R3, R5. Спочатку їх треба встановити в середнє положення і потім, при необхідності, підлаштувати. R2 і R3 треба підлаштувати так, щоб при наїзді на білу лінію робот почав рухатись назад. R5 регулює струм через світлодіоди HL1, HL2. Принцип такий - чим яскравіше горить ІК світлодіоди, тим далі робот "бачить". Але менше 50 Ом зменшувати опір R5 не слід. Також, на ці світлодіоди бажано надіти світлонепроникні трубки для виключення випромінювання з боків світлодіодів. При виявленні цілі робот повинен рухатись в сторону того сенсора, який спрацював. Якщо спрацювали обидва (противник спереду), то мінісумо йде повним ходом вперед. Сенсори ліній встановлюють спереду робота за лопатою. Те, в якій стороні знаходиться кожен сенсор, значення не має, так як пріоритет у них один і той же.

Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)

Поруч інша - більш потужна версія міні сумо робота. Схема там вже інша.

Мінісумо робот - журнал практичної електроніки датагор (datagor practical electronics magazine)

В архіві source код для CodeVisionAVR. Вам залишиться тільки відкомпілювати його і залити в МК. Плати для робота спеціально розроблялися - все робиться на макетке, так як схема не дуже складна.
▼ sumo.7z | Файл 1,38 Kb завантажений 132 раз.

Потрібен архів до статті?
Вибирайте свій варіант отримання повного доступу до матеріалів «Журналу практичної електроніки Датагор».