Робототехнічна модель на мікроконтролері сімейства AVR

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    611,35 Кб
  • Опубликовано:
    2013-02-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Робототехнічна модель на мікроконтролері сімейства AVR

ВНЗ "Відкритий Міжнародний Університет Розвитку Людини "Україна"

Новокаховський гуманітарний інститут

Кафедра Комп’ютерної інженерії








Курсова робота

з дисципліни: Комп’ютерна схемотехніка

на тему: Робототехнічна модель на мікроконтролері сімейства AVR


Виконав

Арутюнов А.А.

Перевірив: Шиліна В.О.





Нова Каховка

2011 р.

Зміст

Реферат

Вступ

. Постановка задачі

2. Аналіз існуючих рішень

. Апаратне забезпечення керуючого автомату

4. Опис електричної схеми керуючого автомату

5. Опис принципової схеми керуючого автомату

6. Програмне забезпечення керуючого автомату

Висновки

Додаток

Реферат

Пояснювальна записка містить аркушів, таблиці, рисунки.

В курсовій роботі розглядається робототехнічна модель на мікроко-нтролері сімейства AVR. Для даного пристрою розглянута структурна та принципова схеми.

Робот - автоматичний пристрій, яки частково або повністю замінює людину при виконанні робіт у небезпечних для життя умовах, при відносній недоступності об'єкта або для іншого використання.

Робот може управлятися оператором, або працювати за заздалегідь складеною програмою. Використання роботів дозволяє полегшити або зовсім замінити людську працю на виробництві, в будівництві, при рутинній роботі, при роботі з важкими вантажами, шкідливими матеріалами, а також в інших важких або небезпечних для людини умовах.

В курсовій роботі робототехнічна модель реалізована на мікроконтролері AT Tiny26 серії AVR компанії Atmel який має Flash-пам'ять 2Кбайт, пам’яттю EEPROM на 128 байта, 16 лініями введення\виведення.

СХЕМА ЕЛЕКТРИЧНА СТРУКТУРНА, СХЕМА ЕЛЕКТРИЧНА ПРИНЦИПОВА, МІКРОКОНТРОЛЕР, РОБОТ

Вступ

Темою курсової роботи є "Проектування робототехнічної моделі на мікроконтролері сімейства AVR".

Робототехніка грає важливу роль в людській діяльності. Актуальність теми не можна переоцінити. Робот може управлятися оператором, або працювати за заздалегідь складеною програмою. Використання роботів дозволяє полегшити або зовсім замінити людську працю на виробництві, в будівництві, при рутинній роботі, при роботі з важкими вантажами, шкідливими матеріалами, а також в інших важких або небезпечних для людини умовах.

Існую такі типи роботів на сьогоднішній день:

андроїд;

бойовий робот;

побутовий робот;

персональний робот;

промисловий робот;

соціальний робот;

шаробот.

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

Під микроконтроллером в загальному випадку розуміють мікропроцесорний пристрій, здатний виконувати обмежений набір функцій.

Найбільшого поширення мікроконтролери отримали у вбудованих системах контролю та управління.

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

Область застосування мікроконтролерів - це різні контролери пристроїв автоматики, пластикові картки, контролери периферійних пристроїв. Розвиток мікроелектроніки та її широке застосування промисловому виробництві, в пристроях і системах управління найрізноманітнішими об'єктами і процесами є в даний час одним з основних напрямів науково-технічного прогресу. Використання мікроконтролерів у виробах не тільки приводить до підвищення техніко-економічних показників (вартості, надійності, споживаної потужності, габаритних розмірів), але і дозволяє скоротити час розробки виробів і робить ії модифіковуваними, адаптивними. Використання мікроконтролерів в системах управління забезпечує досягнення високих показників ефективності при низькій вартості.

В даний час одними з найбільш популярних однокристальних ЕОМ є мікроконтролери сімейства AVR фірми Atmel. Вони представляють собою потужний інструмент, прекрасну основу для створення сучасних високопродуктивних і економічних вбудованих контролерів багатоцільового призначення.

Незважаючи на те, що мікроконтролери AVR з'явилися на ринку близько 10 років тому, їх популярність до цих пір дуже висока. З кожним роком вони захоплюють все нові і нові ніші на ринку. Не останню роль в цьому відіграє співвідношення показників ціна / швидкодія / енергоспоживання, до цих пір є чи не найкращим на ринку 8-бітних мікроконтролерів Все це дозволяє говорити про мікроконтролери AVR як про індустріальний стандарт серед 8-бітних мікроконтролерів.

1. Постановка задачі

Завданням даного курсової роботиє розробка робото технічної моделі на мікроконтролері сімейства AVR.

У ході виконання курсової роботи необхідно розробити:

принципову електричну схему робототехнічної моделі;

структурну схему робото технічної моделі;

програму робототехнічної моделі.

Оформити пояснювальну записку відповідно до регламентів ДСТУ.

2. Аналіз існуючих рішень

Аналогічний робот з фотодатчиком, що реагує на відбите світло. Цей робот зможе бігати по лінії, намальованої на поверхні, і навіть взяти участь у змаганнях з відстеження лінії. Крім того, для нього можна написати програму, яка буде утримувати робота в межах області, обмеженої лінією, що дозволить прийняти участь в змаганнях "Кегельрінг". Також варто зазначити, що датчик кордону, є необхідною частиною при створенні сумо-роботів.

В якості драйвера двигунів використовуємо мікросхему L293D, входи якого з'єднані до входів мікроконтролера так, як показано на схемі (див. рисунок 1),. У даному прикладі буде розглянуто мікроконтроллер ATmega8, хоча можна використовувати і інший мікроконтроллер (наприклад, ATtiny26 який розглядається в курсовій роботі або який-небудь мікроконтроллер з сімейства Mega).

Рисунок 1 - Схема робота на мікроконтролері AVR

На схемі робота входи драйвера двигунів L293D підключені до входів порту C мікроконтролера ATmega8, але їх можна підключити до будь-якого з портів мікроконтролера.

Електролітичний конденсатор C3 (1000 мкф, 10-25 ст.) Необхідний для того, щоб згладити кидки з живленням, викликані роботою моторів. Цей конденсатор дуже важливий. Саме він дає можливість працювати схемою з необхідним рівнем стабільності. Замість одного конденсатора можна використовувати два. Номінал кожного з них в цьому випадку може бути близько 470 мкф. При цьому один з конденсаторів встановлюють у безпосередній близькості від висновків харчування мікроконтролера, а другий - поруч з висновком Vs мікросхеми драйвера моторів L293D. Забезпечення стабілізації живлення - один з найважливіших аспектів проектування пристроїв на мікроконтролерах.

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

Для виготовлення датчика кордону нам знадобляться фототранзистор і яскравий світлодіод. Світлодіод і фототранзистор спрямовані в бік досліджуваної поверхні. Відстань до поверхні залежить від сили світіння світлодіода і чутливості фототранзистора.

Схема датчика дуже проста, складається безпосередньо з фототранзистора, світлодіода і обмежуючих резисторів.

При спрацьовуванні фототранзистори на виході формується сигнал низького рівня, який і подається на один з вільних входів мікроконтролера.

. Розробка структури пристрою

На фотодатчик 1 і фотодатчик 2 потрапляє світло, а операційні підсилювачі ОУ1 і ОУ2 підсилюють сигнал з фотодатчика, що потрапляє на АЦП, де він перетворюється в цифрові десятирозрядний дані D0-D10. Дані з обох датчиків обробляються в ядрі мікроконтролера tiny26. Їх рівні порівнюються за допомогою логічних і арифметичних дій, і в залежності від результату порівняння приймається рішення про напрямок руху всієї конструкції робота.

Крім того, на рішення схеми управління впливає замикання контактів перешкоди, встановлених ззаду і спереду конструкції. Якщо РІС наїхав на перешкоду, то він повинен від'їхати назад і згорнути вліво, щоб об'їхати перешкоду. Схема управління через порти А і В подає код в драйвери обмоток D1-D4, які можуть комутувати струм через обмотку в обох напрямках.

Драйвер побудований за мостовою схемою. Для кожної обмотки крокового двигуна (ШД) використовується свій драйвер, тому потрібно чотири мікросхеми. У світовій практиці застосовують готовий драйвер обмоток ШД L298 , однак вага мікросхеми L298 через наявність радіатора в два рази перевищує вагу двох мікросхем LB1642, тому було вирішено використовувати невеликі LB1642.

У міру протікання струму в обмотках збудження виникає обертове магнітне поле. Вал ШД1 і ШД2, в свою чергу, обертається згідно послідовності збудження магнітного поля. При подачі певної послідовності коду ШД1 і ШД2 обертаються, і конструкція рухається прямо або повертає в сторону.


. Вибір елементної бази

Мікроконтролер ATTINY26-16PU

Основним компонентом робота є мікроконтроллер. У процесі дослідження мікроконтролерів сімейства AVR обраний AT Tiny26.є 8 - бітним микроконтроллером побудованим на розширеній AVR RISC архітектурі. Використовуючи команди виконуються за один машинний такт, контролер досягає продуктивності в 1 MIPS на робочій частоті 1 МГц, що дозволяє розробнику ефективно оптимізувати споживання енергії за рахунок вибору оптимальної продуктивності./ L містить 2Кбайт FLASH пам'яті програм, 128 байт EEPROM, 128 байт SRAM, до 16 висновків цифрових входів / виходів загального застосування, 32 робочих регістра, 2 8 - бітових таймера-лічильника, один з виходом ШІМ, внутрішній і зовнішній генератор тактової частоти , внутрішні та зовнішні переривання, програмований Watchdog таймер, 11-и канальний, 10-й бітний АЦП з двох рівневим підсилювачем диференціального сигналу, і чотирма режимами заощадження енергії. В режимі очікування ЦПУ не функціонує в той час як функціонують таймери / лічильники і система переривань. В ATtiny26 існує спеціальний режим придушення шуму АЦП, при цьому в цілому в сплячому режимі функціонує тільки АЦП. В режимі Вимк. процесор зберігає вміст всіх регістрів, заморожує генератор тактових сигналів, призупиняє всі інші функції кристала до приходу зовнішнього переривання або надходження зовнішньої команди Reset. Другий режим очікування практично повторює режим Викл. але доступний зовнішній генератор тактових частот. Завдяки швидкому переходу в нормальний режим роботи в тому числі і за зовнішнім переривання ATtiny26 успішно пристосовується до зовнішніх умов роботи і вимагає менше енергії, частіше опиняючись в режимі Вимк.

Мікросхеми випускаються при використанні Atmel технології енергонезалежній пам'яті високої щільності. Комбінація розширеної 8 - і бітноїархітектури ЦПУ і твердотільної FLASH пам'яті забезпечують ATtiny26 високу гнучкість та економічну ефективність у вбудованих системах управління.

Рисунок 2 - Блок схема мікроконтролера ATtiny26/L

Рисунок 3 - Розположення виводів мікроконтролера ATtiny26/L

Характеристики:

·        Высокая производительность при малом потреблении

·              RISC архитектура

·              118- команд, большинство исполняемых за один машинный такт

·              328 рабочих регистра общего назначения

·              Полностью статический режим

·              16 MIPS производительность при 16 МГц

·              Память

·              2К байтов FLASH памяти программ с внутрисистемным программированием

·              1000 циклов записи- стирания

·              128 байтов EEPROM c внутрисистемным программированием

·              100 000 циклов записи- стирания

·              128 байтов внутренней SRAM

·              Программируемый ключ доступа к программам и памяти данных

·              Периферия

·              8- битный таймер/счётчик с программируемым предделителем

·              8- битный скоростной делитель с программируемым предделителем

·              2 скоростных ШИМ выхода с отдельным выходным регистром сравнения

·              не совмещённый выход инверсной ШИМ

·              Универсальный последовательный интерфейс с детектором старта

·              10- бит АЦП

·              11 простых униполярных входа

·              8 дифференциальных входа

·              7 дифференциальных входа с программируемым усилением ( 1, 10 )

·              Встроенный аналоговый компаратор

·              Внешние прерывания

·              11 прерываний по изменению потенциала вывода

·              Программируемый Watchdog с переключаемымим генераторами

·              Специальные функции контроллера

·              Режим экономии энергии, режим подавления шума, режим Выкл.

·              Сброс при включении и понижению напряжения питания

·              Внешние и внутренние источники прерывания

·              Внутрисистеммное программирование через SPI порт

·              Внутренний калиброванный RC генератор

·              20- выводной корпус PDIP или SOIC

·              16 программируемых входа-выхода

·              Рабочее напряжение питания:

·              2.7 В до 5.5 В ATtiny26L

·              4.5 В до 5.5 В ATtiny26

·              Рабочая тактовая частота:

·              0- 8 МГц ATtiny26L

·              0-16 МГЦ ATtiny26

Фототранзистор

Компонентом робота є є фототранзистор - СФ2-2. Фоторезистори призначені для застосування в якості приймачів і датчиків оптичного випромінювання в складі оптоелектронної апаратури, систем фотоелектричної автоматики і телемеханіки, в радіометрах і в лічильно-вимірювальних приладах, експонометріческій приладах, що працюють в діапазоні хвиль від 0,4 до 1,1 мкм (фоторезистори видимої області спектра) і від 1,5 до 3,2 мкм (фоторезистори інфрачервоної області спектра).

Рисунок 3 - Схема фототранзистор - СФ2-2

Технічні параметри

довжина волниλ макс, мкм 0,6 - 0,7

робоча напруга, Uраб, В (не більше) 2

Загальний струм, Iобщ, мкА (не менше) 500

темновий опір, Rтем, мОм (не менше) 1

темновий струм, Iтем, мкА (не більше) 2

Основною областю застосування фоторезисторів є автоматика, де вони в деяких випадках з успіхом замінюють вакуумні та газонаповнені фотоелементи.

Акумулятор Ni-Cd

Акумулятор Ni-Cd обраний незвичайно. Його параметри: 4,8 В, 700 мАг. Компанія-виробник - Konnoc (див. Рисунок 4).

Рисунок 4 - Акумулятор Konnoc

Нікель-кадмієві акумулятори (Ni-Cd) - єдиний вид акумуляторів, які можуть зберігатися розрядженими. На відміну від нікель-метал-гідридних акумуляторів (Ni-MH), які потрібно зберігати повністю зарядженими і від літій-іонних акумуляторів (Li-ion), які необхідно зберігати при 40%-ом заряді від ємності акумулятора.

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

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

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

Ni-Cd акумулятори виробляють безліч фірм, в тому числі великі інтернаціональні фірми, такі як GP Batteries Int. Ltd., VARTA, GAZ, KONNOC, METABO, EMM, Advanced Battery Factory, Panasonic / Matsushita Electric Industrial, ANSMANN та інші.


5. Опис принципової електричної схеми

Схема робота складається з п'яти мікросхем. Задіяні в схемі деталі:

• фоторезистори Rl, R2 - СФ2-2;

• С2 - танталовий конденсатор ємністю 1 ТОВ мкФ, 6,3 В або електролітичний конденсатор з малим струмом витоку;

• мікроконтроллер ATTINY26-16PU в корпусі DIP;

• кнопки SI, S2 взяті з дисковода;

• електролітичні конденсатори - малогабаритні;

• індуктивність L5 - слабкострумове (не більше 50 мА) на 47 мкГн;

• кварцовий резонатор - 4,194 МГц;

• світлодіоди - на 3 мА;

• крокові двигуни - від дисководів.

Всією конструкцією робота управляє мікроконтролера tiny26

Живлення від акумуляторної батареї подається на плату (висновки +5 В і GND). Живлення - нестабілізована (напруга - від 4 до 5,5 В).

Мінімальна напруга, при якому нормально працює вихідний каскад на основі LB1642, становить 4,0 В . Максимальна напруга живлення мікроконтролера tiny26 - 5,5 В.

Оскільки вимикач живлення повинен забезпечувати струм споживання близько 1 А, його габарити і вага значно впливають на повноцінну роботу конструкції робота. З цієї причини вимикач живлення в схемі не використовується. Але тут виникає проблема: робот починає автоматично працювати при подачі напруги. Для її вирішення функцію відключення живлення виконує двопозиційна кнопка "RESET". При комутації кнопки S3 на "землю" мікроконтролер виявиться в стані режиму "Скидання", поки на виводі 10 буде низький логічний рівень. Про наявність живлення плати управління свідчить засвічення світлодіода LED1. Для активізації робота досить вийти з режиму "Скидання", розімкнувши зв'язок кнопки S3 з "землею".

У якості інформації про стан робота світяться два світлодіоди: LED2 і LED3. Це означає, що живлення присутнє, однак напруга - недостатня для роботи РІС, і необхідна підзарядка.

Роботу мікроконтролера tiny26 координує кварцовий резонатор Q1 номіналом 4,194 МГц. В такому режимі мікроконтролер працює більш стійко.

Аналоговий сигнал про освітленість шляху знімається з фотодатчиків R1 і R2. Вони включені за схемою дільників напруги, відповідно: Rl, R4 і R2, R5 (R4, R5 - під лаштуванні). На середній точці дільників АЦП мікроконтролера заміряє рівень напруги. Далі виконується програма.

Робота програми також залежить від стану контактів S1 та S2. У разі їх замикання робота змінює напрямок руху. При цьому замикання контактів сигналізує один із світлодіодів: LED2 або LED3. Якщо батарея живлення розрядилася, то засвітяться обидва світлодіода.

При комутації обмоток КД виникають провали в загальному живленні схеми. Щоб уникнути цього ефекту паралельно висновками харчування кожного драйвера підключені електролітичні конденсатори С6-С8. Крім того, при роботі обмоток КД можуть З'явиться електромагнітні скачки комутації, і, як наслідок, - електромагнітні перешкоди. Для їх усунення до висновків плати на обмотки КД підключені конденсатори С9-С16.

6. Розробка програми управління

Програма починається з установки стану портів введення висновку. Потім по черзі настроюється і опитується АЦП фотодатчика 1 і АЦП фотодатчика 2). Дані наводяться до середнього арифметичного і формуються значення D і S відповідно до освітленістю кожного фотодатчика. Для вирішення логічного завдання мікроконтролеру легше оперувати невеликими позитивними або негативними цифрами, близькими до нуля, тому на наступному етапі виконується віднімання F = D - S, а отриманий результат порівнюється по модулю з 10. Якщо він менший, то робот рухається прямо, якщо F> +10, то робот рухається вліво, якщо ж F <-10 то робот рухається вправо. В аналоговій техніці даний результат досягається легко, однак вона вимагає установки декількох корпусів операційних підсилювачів і резисторів, що збільшує вагу конструкції. Крім того, в ході експериментів може знадобитися програмно розширити область значень (наприклад, до ± 20 або ± 30). В аналоговій техніці для цього буде потрібно змінити схему, що трудомістко і невиправдано складно. В нашому ж варіанті робота програма може мінятися скільки завгодно під різні завдання і вимоги, але конструкція РІС залишається колишньою.

Наступний етап - перехід до другого алгоритму, що аналізує перешкоди на шляху прямування. У відповідній підпрограмі перевіряється стан контактних датчиків S1 та S2. Якщо спрацював датчик S2 , то робот робить чотири кроки назад, невеликий поворот вліво і чотири кроки вперед, після чого знову опитувається датчики S1 та S2. Якщо ситуація повторилася чотири рази, то робот зупиняється на одну хвилину для відновлення заряду акумулятора.

Як тільки ситуація з S1 та S2 виправилася, і контакти не замкнуті, підпрограма виходить в основну програму. Далі повторюються кроки робота, поки їх кількість не досягне десяти. Це число можна змінити під час експериментів з маневреністю робота. Оптимальний діапазон - від двох до 20 кроків. Як тільки відлік кроків завершений, програма переходить в початок, і весь цикл повторюється. Для підвищення точності руху робота можна збільшити кількість фотодатчиків або розмістити фотодатчик на поворотній платформі.

У розглянутій конструкції закладена програма із затримкою між імпульсами, поданими на КД, близько 3 мс. Це забезпечує постійне, досить швидкий рух робот.

Програма на асемблері представлена ​​в додатке .

Для зменшення швидкості в підпрограмі zader досить збільшити паузу між імпульсами. Для майбутніх розробок підпрограму zader краще реалізувати у вигляді відліку таймера і переривання. Це дозволить програмі зайнятися більш ретельною обробкою вступників сигналів. У ситуації з перешкодою на шляху проходження швидкість руху краще зменшити в два рази. Для цього слід збільшити вдвічі паузи між імпульсами. Даний прийом можна назвати "адаптацією до обстановки".

Блок-схема алгоритму розділена на дві частини, відповідні механічної (див. рисунок 5) і логічної (див. рисунок 6)частин програми. У першій блок-схемі вибирається курс руху РІС, а в другій - встановлюється маршрут руху (зародження примітивної штучної логіки мислення). Оскільки програма РІС має складну логічну структуру, поведінка робота в тій чи іншій ситуації відповідає окремим, неявним блокам стану. Неявні блоки стану виходять із загальної концепції логіки поведінки РІС, описаної вище, і змінюються при зміні поведінки на більш агресивне або малорухливе. Неявними блоками стану розглянутої моделі РІС є курс і маршрут руху. Збільшивши кількість неявних блоків (наприклад, додавши "зір" або здатність аналізувати розміри перешкоди), при достатньому ресурсі мікроконтролера (або наявності декількох мікроконтролерів) можна створити повноцінного робота. При створенні групи блоків, у вигляді групи мікроконтролерів, пов'язаних пріоритетами і логікою поведінки, досягається штучний інтелект. В цьому випадку побудова неявних блоків має відповідати поставленому завданню

робот мікроконтролер програмний автомат

Рисунок 5 - Алгоритм вибору напрямку руху робота

Рисунок 6 - Визначення маршруту руху робота

При русі РІС необхідно вирішувати проблему орієнтації. Орієнтація при повороті може бути задана заздалегідь за допомогою кодової таблиці, визначається по орієнтиру (датчик магнітного поля землі, GPS-навігатор) або за допомогою зворотного зв'язку у вигляді телекамери. Зрештою, автоматичному роботу нема чого розпізнавати положення півдня і півночі. Йому досить пересуватися в локальній області, прийнятної для виконання поставленого завдання. У розглянутому РОС застосована кодова таблиця заданої траєкторії руху.

Розглянемо блок-схему (див. рисунок 5). У її верхній частині АЦП зчитує дані двох фотодатчиків, які потім віднімаються і, залежно від результату, вибирається гілку управління рухом РІС. У кожної гілки присутня перевірка стану контактних датчиків S1 і S2 (див. рисунок 6).. Результат перевірки відображається на зміна маршруту згідно алгоритмом (див. рисунок 6)

При виникненні перешкоди руху робот реагує не відразу. Дрібні перешкоди робот може подолати силою, проштовхуючи їх по ходу руху. Якщо перешкода не зіштовхнути, то робот виконує маневр. Будь-які автоматичні дії робота засновані на проходженні заданої кількості кроків. Кожен поворот складається з комбінації повороту вала ШД1 і ШД2 на 360 °. Так, для повороту вліво необхідно виконати наступні операції: ШД1 (лівий) - один крок назад, ШД2 (Правий) - два кроки вперед. При повороті вліво вал ШД1 обертається проти годинникової стрілки, а вал ШД2 - за годинниковою стрілкою. Тим самим досягається гарна маневреність корпуса робота.

Автоматичний маневр у вигляді комбінації поворотів відповідає блок-схемою (див. рисунок 6). На ній зазначена вихідна точка "А" і кінцева точка "В" логіки управління. У точці "В" присутній загальна лінія зв'язку у вигляді штрихової лінії.

Висновки

Згідно з завданням розрглянуто робототехнічну модель. В якості основного компонента спроектованого пристрою виступає мікроконтролер AT Tiny 26 серії AVR компанії Atmel.

Була розглянута програма для мікроконтроллера, яка забезпечує роботу пристрою згідно і завданням.

Розглянуті електрична принципова та електрична структурна схеми.

В ході виконання роботи виникає питанням: "Навіщо нам цей робот із практичної точки зору?". Припустимо, ми хочемо доручити роботу автоматично обробляти землю. Вранці "Мисливець за світлом" буде працювати в східному напрямку. Опівдні, коли сонце буде деякий час знаходиться над роботом, він зробить невелику перерву, накопичуючи енергію в сонячних батареях. Увечері "Мисливець за світлом" продовжить обробляти землю у зворотному напрямку, на захід сонця, і зупиниться в повній темряві. Після закінчення однієї смуги обробки робот переходить на іншу. Через певний час можна прийти і перевірити його роботу. Звичайно, це - спрощений варіант використання "Мисливеця за світлом". Конструкцію можна забезпечити датчиком магнітних ліній землі або орієнтувати за допомогою двох випромінювачів на краях поля і повністю автоматизувати управління і орієнтацію робота.

Собівартість конструкції робота становить близько 20 євро

Додаток А

Програма роботу "мисливець за свiтлом"

.include "с:\Program Files\Atmel\AVR Studio\Appnotes\tn26def. inc"

.list

.def adr = r0

.def adcl = r27

.def prgl = r24

.def prg2 = r25

.def dl = rl6

.def d2 = r17

.def tmp2 = rl8

.def tmp3 = r28

.def tmp = r20

.def adc2 = r21

.def F = r22

.def Fl = r23

.def par = r26

.def S1 = r19

.def S2 = r29

. cseg .

.org 0RESET;rjmp EXT_INT0;rjmp EXT_PCINT;rjmp TIME_CMPA;rjmp TIME_CMPB;rjmp TIME_OVF1;rjmp TIME_OVF0;rjmp UCI_START;rjmp UCI_OVF;rjmp EE_RDY;rjmp ANA_COMP;rjmp ADC

.org 20: noptmptmp, $0FDDRB, tmpPORTB, tmptmptmp, $F0DDRA, tmptmp

out PORTA, tmptmp, lowSP, tmp: noptmptmp2tmp3adc1, $40adc2, $C5adcnd1, tmp2

mov d2, tmp3

ldi adc1, $40adc2, $C5adcnS1, tmp2S2, tmp3arifm2, minF, $0Apram: nopF, $0ApramvpramnStart: nop

rcall SSF1, $0A: noponevlevzaderF1nus

rjmp nStart: nopSSFl, SOA: noponevpravzaderFlnipnStart: nopSSFl, SOA: nop

nop

rcall zader

nop

clz

dec Fl

brio not

nop

rjmp nStart

adcn: nop

nop

clr tmp: noptmp, S04assADMUX, adcltmp2tmp3ADCSR, adc2tmp2, ADCLtmp3, ADCHr2, tmp2r3, tmp3r4, г 2r5, r3r6, r4r7, r5tmpawe: nopr8

clctmp2, r2r9, r8tmp2, r4r9, r8tmp2, r6r9, r8r9tmp2r9tmp2r9tmp3, r3r9, r8tmp3, r5r9, r8tmp3, r7r9, r8r9tmp3r9tmp3: nopdl, SId2, 0

breq loki

clr cmp

rol tmp

sub d2, S2

sub d2, cmp

loki: nop

ret

SS: nop

clr tmp3

in tmp3,

nop

ldi tmp.

and tmp3,

nop

clz

cpi tmp3, 504

breq vperl

nop

clz

cpi tmp3, S08

breq nazad

nop

clztmp3, SOC

breq stopic

nop

Vperl: nop

rcall nop onestep

rjmp qlo

nazd: nop

rcall nop zadstep

rjmp qlo

stopic: nop

rcall Stop

qlo: nop

ret

onevlev: nop

clr Tmp

ldi tmp.

clr par

cln

cls

sfg: nop

cpi par, $08

breq prn2

ldi ZH,high(2*pro)

ldi ZL,Low(2*prog)

Add ZL, par

LPM

mov prgl, adr

out PORTB, prgl

ldi ZH,high(2*pro)

ldi ZL,Low{2*prog)

Add ZL, par

LPM

mov prg2, adr

swap prg2

out PORTA, prg2

-call zader

rjmp sfg

prn2: nop

clr par

cln

dec tmp

brmi hk}

rjmp sfg

hk}: nop

ret

onevprav: nop

clr tmp

ldi tmp, $0A

clr par

cln

els

sld: nop

cpi par, $08

breq prv

ldi ZH, high(2*progl)

ldi ZL, Low(2*progl)

Add ZL, Par

LPM

mov prg2 , adr

swap prg2

out PORTA, prg2

ldi ZH, high(2*prog2)

ldi ZL, Low(2*prog2)

Add Z L, par

LPM

mov prgl, adr

out PORTB, prgl

rcall zader

inc par

rjmp sld

prv: nop

clr

cln par

dec tmp

brmi nert

rjmp sld

nert: nop

ret

onestep: nop

clr tmp

ldi tmp, $0A

clr par

cln

cls

sldl: nop

cpi par, $08

breq prvl

ldi ZH, high(2*progl)

ldi ZL, Low(2*progl)

Add LPM ZL, par

mov prg2, adr

out PORTS, prg2

swap prg2

out PORTA, prg2

rcall zader

ПС oar

rjmp sldl

prvl: nop

clr par

cln

dec tmp

brmi nertl

rjmp sldl

nertl: nop

ret

zadstep: nop

cpi par, 508

breq prv2

Id: ZH, higb (2*prog2)

ldi ZL, Low (2*prog2)

Add ZL, par

LPM

mov prg2, adr

ouc PORTB, prg2

swap prg2

ouc PORTA, prg2

rcall zader

inc par

rjmp sld2

prv2: nopparcmpnert2sld2: nop: noptmpDDRB, tmpPORTB, tmpadc1, $49adc2, $C5adcnd1, tmp3d2, tmp3tmp3, $02foomint: nop

zader: : nop wdr

ldi YL, low(9999)

ldi YL, high(9999)

ddd: Sbiw YL, 1

brne

ret ddd: nop wdrZL, low(9999)ZL, high(9999)zader

dddl: sbiw ZL, 1

brne

ret dddl

.org S200

progl:

. DB $08, SOA, $02, $06, $04, $05, $01, $09

.org $220

prog2 :

.DB $09, $01, $05, $04, $06, $02, $0А, $08

.EXIT

Додаток Б

Код управління роботом.

FC

C000000000000000000000000000001D

08001OOÛ0OO0O0OOU0U00OO0E8

4274FE04 7BB4 8BB442740EF4ABB8A

BBB4FED4DBF00004 4272227CC2758

O4 8000OO0BOE4 55EC4 6D0022F1C2FOO00B0E4AD

EC40D0322FDC2F00006DDOOOC032F07C

O0O680000O0C8946A3O4 0F100O00ACO0O00A894 5B

C894 6A3009F100008CF40000DDCF00005C

D000007AE000007FD0000007D1B3

A95C0F30000CECF00005 6D0A7

A80000007AE0000092DOOOOOF9D000009894 97

B8007A95C0F30000C0CF00004 8D000007AE075

C8000000A5DOOOOOEBD0000098947A95ÇOF30A

D8000000B2CF0000000044270000443070F454

E800B7B92227CC2 756B924B1C5B1222E3C2E4 8

F8004 22C532C642C752C4 395EFCF0000882498

100108008894220D981C240D981C2 60D981C889400

C30D981CAZ

C50D981CC70D981C8894 9694C7959694ED

C79500000895000003l59894i03021F02 3

8004427441F1D1B141B000008950000CC27E2

CBB300004CEOC42300009894C43049FOAD

C8304 9F000009894CC304 9FOC9

CD0000006C0000064D0000061

C000007CDOOOOOO895000044274AE027

AA27A894C894 0000A83081FOF4EOEOE011

A800EA0FC895802D88BBF4E0E0E4EA0FC89513

B800902D92959B3B7 3DOA395EDCFOOOOAA2.7F5

C800A894 4A950AFOE7CF000008950000442754

D8004AEOAA27A894C8940000A83081FOF4E067

E800EOEOEAOFC895902D92959BBBF4EOEOE41F

F800EAOFC895802D88BB52DOA395EDCF00009B

AA27A894 4A950AFOE7CF000008950000AD

AEOAA27A894C8940000A83059FOB7

F4E0E0E0EA0FC895902D98BB92959BBB4F

6D0A395F2CF0000AA27A8944A950AFÛD1

10024 800ECCF0000089500004 4274AEOAA27A894AC

D98BB92959BBB1ADOA395F2CF000016

AA27A8944A950AFOECCF0O000895000038

BB4 8BB0000B9E4 55EC23DF022FE5

C2FOOOOC2300CF40 9D0000008950000A3

A800A895CFE0C7E22197F1F708950000A89537

0C02B800EFE0E7E2F4DF3197F1F7089582

А020604050109С7

А0887

FF

Похожие работы на - Робототехнічна модель на мікроконтролері сімейства AVR

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!