Робототехнічна модель на мікроконтролері сімейства AVR
Класифікація роботів: андроїд, бойовий, побутовий, персональний, промисловий, соціальний та шаробот. Розробка принципової електричної схеми робототехнічної моделі. Блок схема мікроконтролера ATtiny26/L та програмне забезпечення керуючого автомату.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 25.02.2013 |
Размер файла | 936,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВНЗ "Відкритий Міжнародний Університет Розвитку Людини "Україна"
Новокаховський гуманітарний інститут
Кафедра Комп'ютерної інженерії
Курсова робота
з дисципліни: Комп'ютерна схемотехніка
на тему: Робототехнічна модель на мікроконтролері сімейства AVR
Виконав
Арутюнов А.А.
Перевірив: Шиліна В.О.
Нова Каховка
2011 р.
Зміст
Реферат
Вступ
1. Постановка задачі
2. Аналіз існуючих рішень
3. Апаратне забезпечення керуючого автомату
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. Забезпечення стабілізації живлення - один з найважливіших аспектів проектування пристроїв на мікроконтролерах.
Принцип роботи датчика кордону заснований на властивості поверхоні по-різному відображати падаюче на них світло. Чорні або темні поверхні відбивають світло набагато гірше, ніж білі або світлі. Вловлюючи відбите світло, ми зможемо визначити тип поверхні, що знаходиться під датчиком.
Для виготовлення датчика кордону нам знадобляться фототранзистор і яскравий світлодіод. Світлодіод і фототранзистор спрямовані в бік досліджуваної поверхні. Відстань до поверхні залежить від сили світіння світлодіода і чутливості фототранзистора.
Схема датчика дуже проста, складається безпосередньо з фототранзистора, світлодіода і обмежуючих резисторів.
При спрацьовуванні фототранзистори на виході формується сигнал низького рівня, який і подається на один з вільних входів мікроконтролера.
3. Розробка структури пристрою
На фотодатчик 1 і фотодатчик 2 потрапляє світло, а операційні підсилювачі ОУ1 і ОУ2 підсилюють сигнал з фотодатчика, що потрапляє на АЦП, де він перетворюється в цифрові десятирозрядний дані D0-D10. Дані з обох датчиків обробляються в ядрі мікроконтролера tiny26. Їх рівні порівнюються за допомогою логічних і арифметичних дій, і в залежності від результату порівняння приймається рішення про напрямок руху всієї конструкції робота.
Крім того, на рішення схеми управління впливає замикання контактів перешкоди, встановлених ззаду і спереду конструкції. Якщо РІС наїхав на перешкоду, то він повинен від'їхати назад і згорнути вліво, щоб об'їхати перешкоду. Схема управління через порти А і В подає код в драйвери обмоток D1-D4, які можуть комутувати струм через обмотку в обох напрямках.
Драйвер побудований за мостовою схемою. Для кожної обмотки крокового двигуна (ШД) використовується свій драйвер, тому потрібно чотири мікросхеми. У світовій практиці застосовують готовий драйвер обмоток ШД L298 , однак вага мікросхеми L298 через наявність радіатора в два рази перевищує вагу двох мікросхем LB1642, тому було вирішено використовувати невеликі LB1642.
У міру протікання струму в обмотках збудження виникає обертове магнітне поле. Вал ШД1 і ШД2, в свою чергу, обертається згідно послідовності збудження магнітного поля. При подачі певної послідовності коду ШД1 і ШД2 обертаються, і конструкція рухається прямо або повертає в сторону.
Загальний висновок з усього вищесказаного такий: фотодатчики вказують курс руху конструкції, а контактні датчики виявляють локальні перешкоди і обумовлюють зміну маршруту руху РІС.
4. Вибір елементної бази
Мікроконтролер ATTINY26-16PU
Основним компонентом робота є мікроконтроллер. У процесі дослідження мікроконтролерів сімейства AVR обраний AT Tiny26.
ATtiny26 є 8 - бітним микроконтроллером побудованим на розширеній AVR RISC архітектурі. Використовуючи команди виконуються за один машинний такт, контролер досягає продуктивності в 1 MIPS на робочій частоті 1 МГц, що дозволяє розробнику ефективно оптимізувати споживання енергії за рахунок вибору оптимальної продуктивності.
ATtiny26 / L містить 2Кбайт FLASH пам'яті програм, 128 байт EEPROM, 128 байт SRAM, до 16 висновків цифрових входів / виходів загального застосування, 32 робочих регістра, 2 8 - бітових таймера-лічильника, один з виходом ШІМ, внутрішній і зовнішній генератор тактової частоти , внутрішні та зовнішні переривання, програмований Watchdog таймер, 11-и канальний, 10-й бітний АЦП з двох рівневим підсилювачем диференціального сигналу, і чотирма режимами заощадження енергії. В режимі очікування ЦПУ не функціонує в той час як функціонують таймери / лічильники і система переривань. В ATtiny26 існує спеціальний режим придушення шуму АЦП, при цьому в цілому в сплячому режимі функціонує тільки АЦП. В режимі Вимк. процесор зберігає вміст всіх регістрів, заморожує генератор тактових сигналів, призупиняє всі інші функції кристала до приходу зовнішнього переривання або надходження зовнішньої команди Reset. Другий режим очікування практично повторює режим Викл. але доступний зовнішній генератор тактових частот. Завдяки швидкому переходу в нормальний режим роботи в тому числі і за зовнішнім переривання ATtiny26 успішно пристосовується до зовнішніх умов роботи і вимагає менше енергії, частіше опиняючись в режимі Вимк.
Мікросхеми випускаються при використанні Atmel технології енергонезалежній пам'яті високої щільності. Комбінація розширеної 8 - і бітної
RISC архітектури ЦПУ і твердотільної 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 та інші.
Згідно з інструкцією на упаковці, перед вживанням акумулятор необхідно зарядити струмом 70 мА протягом 15 годин. Його пластикову упаковку утилізувати не треба - вона знадобиться для виготовлення ізоляційного відсіку.
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 0
rjmp RESET
nop ;rjmp EXT_INT0
nop ;rjmp EXT_PCINT
nop ;rjmp TIME_CMPA
nop ;rjmp TIME_CMPB
nop ;rjmp TIME_OVF1
nop ;rjmp TIME_OVF0
nop ;rjmp UCI_START
nop ;rjmp UCI_OVF
nop ;rjmp EE_RDY
nop ;rjmp ANA_COMP
nop ;rjmp ADC
.org 20
RESET: nop
clr tmp
ldi tmp, $0F
Out DDRB, tmp
out PORTB, tmp
clr tmp
ldi tmp, $F0
out DDRA, tmp
clr tmp
out PORTA, tmp
ldi tmp, low
out SP, tmp
nStart: nop
clr tmp
clt tmp2
clt tmp3
nop
ldi adc1, $40
ldi adc2, $C5
rcall adcn
mov d1, tmp2
mov d2, tmp3
nop
ldi adc1, $40
ldi adc2, $C5
rcal adcn
mov S1, tmp2
mov S2, tmp3
nop
rcall arifm
nop
brbs 2, min
nop
cls
cpi F, $0A
brlo pram
min: nop
cln
cls
cpi F, $0A
breq pram
nop
brge vpram
nop
rjmp nStart
nop
vlevo: nop
rcall SS
nop
ldi F1, $0A
nus: nop
rcall onevlev
nop
rcall zader
nop
clz
dec F1
brlo nus
nop
rjmp nStart
vpravo: nop
rcall SS
nop
idi Fl, SOA
nip: nop
rcaLl onevprav
nop
rcall zader
nop
clz
dec Fl
brio nip
nop
rjmp nStart
pram: nop
rcall SS
nop
ldi Fl, SOA
not : nop
rcall onestep
nop
rcall zader
nop
clz
dec Fl
brio not
nop
rjmp nStart
adcn: nop
nop
clr tmp
awe: nop
cpi tmp, S04
brsh ass
out ADMUX, adcl
clr tmp2
clr tmp3
out ADCSR, adc2
in tmp2, ADCL
in tmp3, ADCH
mov r2, tmp2
mov r3, tmp3
mov r4, г 2
mov r5, r3
mov r6, r4
mov r7, r5
inc tmp
rjmp awe
ass: nop
clr r8
clc
add tmp2, r2
adc r9, r8
add tmp2, r4
adc r9, r8
add tmp2, r6
adc r9, r8
clc
lsr r9
ror tmp2
lsr r9
ror tmp2
clr r9
clc
add tmp3, r3
adc r9, r8
add tmp3, r5
adc r9, r8
add tmp3, r7
adc r9, r8
clc
lsr r9
ror tmp3
lsr r9
ror tmp3
nop
ret
arifm: nop
sub dl, SI
cpi d2, 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
clz
cpi tmp3, 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
inc oar
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
1ПС oar
rjmp sldl
prvl: nop
clr par
cln
dec tmp
brmi nertl
rjmp sldl
nertl: nop
ret
zadstep: nop
clr tmp
ldi tmp. $0A
clr par
cln
cls
sld2: 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: nop
clr par
cln
dec cmp
brmi nert2
rjmp sld2
nert2: nop
ret
stop: nop
clr tmp
out DDRB, tmp
out PORTB, tmp
nop
ldi adc1, $49
ldi adc2, $C5
rcal adcn
mov d1, tmp3
mov d2, tmp3
nop
cpi tmp3, $02
brge foo
rcall mint
foo: nop
ret
zader: : nop wdr
ldi YL, low(9999)
ldi YL, high(9999)
ddd: Sbiw YL, 1
brne
ret ddd
mint: nop wdr
Ldi ZL, low(9999)
ldi ZL, high(9999)
rcall 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
Додаток Б
Код управління роботом.
020000020000FC
1000000013C000000000000000000000000000001D
08001OOU0OO0O0OOU0U00OO0E8
1000280000004 4274FE04 7BB4 8BB442740EF4ABB8A
1000380044274BBB4FED4DBF00004 4272227CC2758
100O4 8000OO0BOE4 55EC4 6D0022F1C2FOO00B0E4AD
1000580055EC40D0322FDC2F00006DDOOOC032F07C
1O0O680000O0C8946A3O4 0F100O00ACO0O00A894 5B
10007800C894 6A3009F100008CF40000DDCF00005C
10008800000064D000007AE000007FD0000007D1B3
10009800000098947A95C0F30000CECF00005 6D0A7
1000A80000007AE0000092DOOOOOF9D000009894 97
1000B8007A95C0F30000C0CF00004 8D000007AE075
1000C8000000A5DOOOOOEBD0000098947A95COF30A
1000D8000000B2CF0000000044270000443070F454
1000E800B7B92227CC2 756B924B1C5B1222E3C2E4 8
1000F8004 22C532C642C752C4 395EFCF0000882498
100108008894220D981C240D981C2 60D981C889400
10011800969427959694279599248894C30D981CAZ
10012800C50D981CC70D981C8894 9694C7959694ED
10013800C79500000895000003l59894i03021F02 3
10014 8004427441F1D1B141B000008950000CC27E2
10015800CBB300004CEOC42300009894C43049FOAD
1001680000009894C8304 9F000009894CC304 9FOC9
10017800000000004CD0000006C0000064D0000061
1001880002C000007CDOOOOOO895000044274AE027
10019800AA27A894C894 0000A83081FOF4EOEOE011
1001A800EA0FC895802D88BBF4E0E0E4EA0FC89513
1001B800902D92959B3B7 3DOA395EDCFOOOOAA2.7F5
1001C800A894 4A950AFOE7CF000008950000442754
1001D8004AEOAA27A894C8940000A83081FOF4E067
1001E800EOEOEAOFC895902D92959BBBF4EOEOE41F
1001F800EAOFC895802D88BB52DOA395EDCF00009B
10020800AA27A894 4A950AFOE7CF000008950000AD
1002180044274AEOAA27A894C8940000A83059FOB7
10022800F4E0E0E0EA0FC895902D98BB92959BBB4F
1002380036D0A395F2CF0000AA27A8944A950AFUD1
10024 800ECCF0000089500004 4274AEOAA27A894AC
10025800C8940000A83059F0F4E0E0E4EA0FC8952B
10026800902D98BB92959BBB1ADOA395F2CF000016
10027800AA27A8944A950AFOECCF0O000895000038
10028800442747BB4 8BB0000B9E4 55EC23DF022FE5
100298001C2FOOOOC2300CF40 9D0000008950000A3
1002A800A895CFE0C7E22197F1F708950000A89537
0C02B800EFE0E7E2F4DF3197F1F7089582
08040000080А020604050109С7
080440000901050406020А0887
00000001FF
Размещено на Allbest.ru
Подобные документы
Склад, особливості, технічні характеристики та архітектура вибраного мікроконтролера. Проектування керуючого автомату на мікроконтролері для пристрою світлових ефектів, побудова його принципової електричної схеми та розробка програмного забезпечення.
курсовая работа [422,1 K], добавлен 27.02.2013Розробка операційного автомату. Розробка машинного алгоритму: граф-схема алгоритму; приклад реалізації. Синтез керуючого автомату: основи теорії керуючих автоматів; опис керуючого автомату Мілі. Кодування граф-схеми автомату. Синтез керуючого автомату.
курсовая работа [121,0 K], добавлен 26.12.2009Дослідження можливостей та властивостей мікроконтролера ATtiny13, його архітектури. Розробка програми, що керує роботою мікропроцесора. Моделювання роботи системи кодового захисту з однією кнопкою. Організація пам’яті та розподіл адресного простору.
курсовая работа [1,0 M], добавлен 01.06.2013Створення схеми електричної принципової годинника-будильника-термометра з ІЧ ПК. Призначення проектуємого пристрою. Розробка структурнї та електричної принципової схеми пристрою та програми тестування роботи пристрою, розрахунок надійності його роботи.
курсовая работа [935,6 K], добавлен 23.03.2009Короткий опис мікроконтролера ATmega6450, його особливості та опис виводів. Розробка принципової схеми стенду. Написання програми на мові СІ при використанні програмного середовища CodeVisionAVR. Перепрограмування мікроконтролера ATmega6450 сімейства AVR.
курсовая работа [491,2 K], добавлен 15.05.2013Створення схеми електричної принципової МР-3 програвача – приставки до ПК, структурної та загальної схеми. Призначення проектуємого пристрою. Принцип роботи окремих ВІС. Розробка програми тестування роботи пристрою, розрахунок надійності його роботи.
курсовая работа [527,4 K], добавлен 24.03.2009Розвиток мікропроцесорної техніки. Здатність мікропроцесора 1-4004 до програмування послідовності виконуваних функцій. Модель „Лунохід” на мікроконтролерному управлінні. Виконання мікроконтролера. Розробка і обґрунтування схеми електричної структурної.
курсовая работа [117,5 K], добавлен 26.03.2009Розробка операційного автомату, що здійснює операцію прискореного множення в доповняльному коді, зі старших розрядів. Побудування алгоритму даної операції та його схематичного відображення. Поняття та синтез керуючого автомату, побудова його графу.
курсовая работа [55,2 K], добавлен 01.06.2010Опис великої інтегральної схеми пристрою множення. Аналіз розв’язків поставленої задачі, розробка принципової електричної схеми, логічної моделі і тесту перевірки, розрахунок швидкодії. Тестування з використанням пакету прикладних програм OrCAD 9.1.
курсовая работа [5,0 M], добавлен 22.02.2010Загальна класифікація роботів. Проектування та розробка системи управління промисловим роботом "Електроніка НЦ ТМ-01" на базі IBM–сумісного персонального комп’ютера. Структурно функціональна схема взаємодії систем робота. Блок схема системи управління.
дипломная работа [3,6 M], добавлен 25.10.2012