Мобільний робот на мікроконтролері, що реагує на світ. Маленький саморобний робот. Є якісь особливі вимоги у вашого робота

Вибір мікроконтролера для створення вашого робота. Спершу потрібно розібратися з поняттям, що таке мікроконтролер і що він робить?

Мікроконтролер- Це обчислювальний пристрій, здатний виконувати програми (тобто послідовність інструкцій).

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

Для того, щоб взаємодіяти із зовнішнім світом, мікроконтролер має ряд штирів або висновків для електричного розпізнавання сигналу. Так сигнал може бути включений максимум (1/С) або мінімум (0/выкл) за допомогою інструкції програмування. Ці висновки можуть бути використані для зчитування електричних сигналів. Вони надходять з датчиків або інших приладів і визначають, чи є сигнали високими або низькими.

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

Що може робити мікроконтролер?

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

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


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

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

На відміну від мікропроцесорів (наприклад, центральний процесор у персональних комп'ютерах), мікроконтролер не потребує периферійних пристроїв. Таких як зовнішня оперативна пам'ять або зовнішній пристрій для зберігання даних для роботи. Це означає, що хоч мікроконтролер може бути менш потужним, ніж їхні колеги ПК. У більшості випадків розробка схем і продуктів, заснованих на мікроконтролерах значно простіше і дешевше. Тому що потрібно дуже мало додаткових апаратних компонентів.

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

Які існують спеціалізовані функції мікроконтролера?

Спеціальне обладнання, вбудоване в мікроконтролери дозволяє цим пристроям зробити більше, ніж звичайне цифрове введення/виведення, базові розрахунки та прийняття рішень. Багато мікроконтролерів охоче підтримує найбільш популярні протоколи зв'язку, такі як UART (RS232 або інший), SPI та I2C. Ця функція неймовірно корисна під час спілкування з іншими пристроями, такими як комп'ютери, датчики або інші мікроконтролери.

Хоча ці протоколи можна реалізувати вручну, завжди краще мати виділене вбудоване обладнання, яке дбає про деталі. Це дозволяє мікроконтролеру зосередитися на інших завданнях та забезпечує чистоту програми.


Аналого-цифрові перетворювачі (АЦП), що використовуються для перетворення аналогових сигналів напруги на цифрові. Там кількість пропорційна величині напруги, і це число може використовуватися потім у програмі мікроконтролера. Для того, щоб вихідна проміжна кількість енергії відрізняється від високої та низької, деякі мікроконтролери мають можливість використовувати широтно-імпульсну модуляцію (ШІМ). Наприклад, цей спосіб дозволяє плавно змінювати яскравість свічення світлодіода.

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

Аналогові чи цифрові?

Які потрібно використовувати вхідні та вихідні сигнали залежить від поставленого завдання та умов. Наприклад, якщо у вас стоїть завдання просто щось увімкнути або вимкнути, то вам достатньо, щоб сигнал на вхідному контакті мікроконтролера був цифровим. Двійковий стан перемикача 0 або 1. Високий рівень сигналу може бути 5 вольт, а низький 0. Якщо вам потрібно виміряти, наприклад, температуру, то потрібен аналоговий вхідний сигнал. Далі АЦП на мікроконтролері інтерпретує напругу і перетворює його на числове значення.


Як програмувати мікроконтролери?

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

В даний час мікроконтролери можуть бути запрограмовані різними мовами високого рівня. Це такі мови як C, C++, C#, Ява, Python, Basic та інші. Звичайно, завжди можна написати програму на асемблері. Хоча це для більш розвинених користувачів з особливими вимогами (з натяком на мазохізм). У цьому сенсі будь-яка має бути в змозі знайти мову програмування, яка найкраще відповідають її смаку та попередньому досвіду програмування.

Програмувати мікроконтролери стає простіше, оскільки виробники створюють графічні середовища програмування. Це піктограми, які містять кілька рядків коду. Піктограми з'єднуються один з одним. В результаті створюється програма візуально проста, але містить велику кількість коду. Наприклад, одне зображення може керувати двигуном. Від користувача потрібно лише розмістити піктограму там, де необхідно і вказати напрямок обертання та оберти.


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

Чому не використовувати стандартний комп'ютер?

Очевидно, що мікроконтролер дуже нагадує процесор комп'ютера. Якщо це так, то чому б просто не використовувати комп'ютер для управління роботом? Отже, що вибрати настільний комп'ютер чи мікроконтролер?


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

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

Як вибрати мікроконтролер правильно?

Якщо ви вивчаєте робототехніку, вам знадобиться мікроконтролер для будь-якого робототехнічного проекту. Для новачка вибір правильного мікроконтролера може здатися складним завданням. Особливо враховуючи асортимент, технічні характеристики та сфери застосування. Є багато різних мікроконтролерів доступні на ринку:

  • Ардуїно
  • BasicATOM
  • BasicX
  • Lego EV3
  • і багато інших

Для того щоб правильно вибрати мікроконтролер задайте собі такі питання:

Який мікроконтролер найпопулярніший для моєї програми?

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

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

Чи є якісь особливі вимоги у вашого робота?

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

Можливо іншим контролерам потрібне специфічне обладнання (наприклад, АЦП, ШІМ та комунікаційний протокол підтримки). Також вимоги до пам'яті та швидкості, а також кількість висновків мають бути прийняті до уваги.

Які компоненти доступні для конкретного мікроконтролера?

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

Більшість датчиків та компонентів можуть взаємодіяти безпосередньо з багатьма мікроконтролерами. Хоча деякі комплектуючі призначені для взаємодії із конкретним мікроконтролером. Можливо вони будуть унікальними та несумісними іншими типами мікроконтролерів.

Що на нас чекає в майбутньому?

Ціна на комп'ютери різко йде вниз, і досягнення в галузі технології роблять їх меншими та ефективнішими. В результаті, одноплатні комп'ютери стали привабливим варіантом для роботів. Вони можуть працювати з повноцінною операційною системою (Windows та Linux є найбільш поширеними).

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

Практична частина

Для того щоб вибрати мікроконтролер складемо список потрібних нам критеріїв:

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

Цим критеріям відповідає модуль EV3із набору Lego Mindstorms EV3.


Огляд модуля EV3

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

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

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

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

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

живлення

Найчастіше елементом живлення є батарейка. Але якщо ви хочете створити робота з автономним живленням, потрібно використовувати енергію випромінювання (наприклад сонячне світло). Пристрій, що перетворює сонячну енергію на постійний електричний струм, називається сонячна батарея, що складається з напівпровідникових фотоелементів. Сонячні батареї дають невелику кількість електричної енергії в режимі реального часу, але лише у присутності сонця. Для того щоб не "померти" за відсутності сонця, доцільно використовувати акумуляторні елементи для збереження накопиченої енергії на "чорний день" ... або на похмурий день.

Адаптація та поведінка

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

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

Види

Існують різні види роботів BEAM, які створені для виконання різних завдань.
Аудіотропи- Реагують на звуки.
Фототропи- реагують світ.
Радіотропи- Реагують на радіочастоти.
Термотропи- Реагують на теплове випромінювання.

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

Модульна структура

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

Шасі

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

1. Гусеничне.

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

2. Шасі на колесах.


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

3. Робот на ногах.


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

РОБИМО САМІ!

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

За основу можна взяти коробочку. Краще із пластмаси, тому що це легкий матеріал. У цій коробці зручно розмістити елемент живлення: акумулятор, батарейки і т.п.
Враховуйте, що чим більше колеса, тим повільніше їхатиме робот (а може й не зрушити з місця).

Другий варіант. Тут використано пластикові хомутики для закріплення моторчиків.

Електромотори можна взяти зі старої техніки: магнітофони, іграшки, дисководи та ін.

У мене вдома були моторчики трьох типів:

Вибір упав на верхній моторчик. Він показав хороші характеристики по тязі та споживанню струму.

Також нам знадобиться батарейний відсік, щоб забезпечити живлення. Живлення можна організувати роздільне: для моторів (силове) та для логічної схеми.

Нижче представлена ​​проста схема робота, який їде на світ ліхтарика.

Схема 1. "Той, хто йде світ".

У цій схемі використані фотодіоди. Їх вибираємо за діапазоном чутливості, тобто. з огляду на яке світло робот йтиме. Наприклад світ від ліхтарика (видимий діапазон) чи промінь пульта від телевізора (інфрачервоний діапазон). Якщо висвітлити фотоелемент VD1, то обертатиметься Мотор 1, а якщо висвітлити фотоелемент VD2, то обертатиметься Мотор 2. Враховуючи це, мотори розташуємо так, щоб коли VD1 освітлений Мотор 1 повертав робота до світла.

А якщо мотори поміняти місцями, то робот навпаки відвертатиметься від світла.

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

1. Фоторезистор: у темряві він є високоомним резистором, а при освітленні світлом його опір падає пропорційно інтенсивності світла, виявляючи лінійну залежність. Як правило, сприймають тільки видиме світло.

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

3. Фототранзистор: відрізняється від звичайного транзистора тим, що область бази подається світло, який керує посиленням струму емітер-колектор.

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

BEAM-робот, який вийшов у мене

У своєму роботі я використав різні фотодіоди невідомого походження. На відео видно, що чутливість одного з них більша.
Один із фотодіодів реагує на промінчик пульта від телевізора.
Також вся "начинка" залита термоклеєм.
Сподіваюся у вас вийде краще та красивіше!

Список радіоелементів

Позначення Тип Номінал Кількість ПриміткаМагазинМій блокнот
VT1, VT3 Біполярний транзистор

КТ3102

2 КТ315 До блокноту
VT2, VT4 Біполярний транзистор

КТ361Б

2 КТ816

Щоб створити свого робота, необов'язково отримувати вищу чи читати масу. Достатньо скористатися покроковою інструкцією, яку пропонують майстри робототехніки на своїх сайтах. В Інтернеті можна знайти багато корисної інформації, присвяченої розробці автономних роботизованих систем.

10 ресурсів для робототехніка-початківця

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

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

На сайті є спеціальний курс «Крок за кроком», де детально описаний процес створення найпростіших BEAM-роботів, а також автоматизованих систем на основі мікроконтролерів AVR.

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

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

Сайт про те, як зробити BEAM робота своїми руками. Тут є цілий розділ, присвячений основам, також наведено логічні схеми, приклади тощо.

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

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

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

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

26.01.2011, 09:18
Джерело:

Зазвичай, у статтях, я намагаюся викладати матеріал у порядку його розробки, але гадаю, що це не той випадок. Тому, пропустимо етапи проектування принципової електричної схеми, розведення друкованої плати та іншого. На малюнку 1 дивимося яке «неподобство» у мене вийшло.

З першого погляду здається просто нагромадженням заліза, електроніки та проводів. Напевно, це тому, що у хід пішли шматки різноманітних матеріалів. Давайте розумітися.

Тепер усе по черзі. На мікроконтролер Attiny2313 із двох інфрачервоних датчиків надходить сигнал про перешкоду (логічна одиниця або нуль). Потім, згідно, мікроконтролер прошивки керує мікросхемою драйвер двигуна L293D (струм управління до 1 Ампера). На малюнку 3 представлено фотографію перевернутого робота.

Основою конструкції саморобного робота є зігнута у трапецію металева смужка. Кут вигину порядку 120 °. Принципово важливо, щоб з обох боків вийшов однаковий вигин, інакше робот рухатиметься прямолінійно. Хоча, з іншого боку, що погано зробив механік чи електронік, іноді може загладити програміст, скажімо, за допомогою ШІМ домогтися прямолінійного руху робота

З курсу шкільної геометрії ми знаємо, що площина утворюється чи трьома точками чи прямий і точкою у просторі. Третьою точкою є роликове колесо, що вільно обертається.

Приймачі ІЧ-датчиків, фототранзистори знаходяться знизу, щоб знизити засвічення і звести до мінімуму хибне спрацювання. Самі ІЧ-датчики кріпляться на рухомих шарнірах, що дозволяє проводити налаштування зони сканування. Цікава, до речі, реакції була мого кота на повзаючого робота в коридорі? Кіт у мене чорний. ІЧ-датчики я налаштовував сірого кольору шпалери, тому робот повертав перед котом майже в останній момент, а кіт відстрибував на крок назад з гучним шипінням.

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

P.S. Нагородою за витрачений час на створення безглуздого пристрою, мабуть, буде наочність роботи мікроконтролера і пам'ять яка буде припадати пилом на полиці, доти поки їй може бути не зацікавиться чия дитина.