ПРОСТ РОБОТ НА МИКРОКОНТРОЛЕР (Част 1)

Прост робот на микроконтролер може да бъде сглобен въз основа на драйвера за управление на двигателя и самия микроконтролер.

Използваме микросхемата L293D като двигателен драйвер, чиито входове са свързани към изходите на микроконтролера, както е показано на диаграмата. В този пример ще бъде разгледан микроконтролерът ATmega8, въпреки че може да се използва друг микроконтролер (например ATtiny26 или всеки микроконтролер от фамилията Mega).

микроконтролер

Коментар на диаграмата на робота

От разговорите на Бибот и Бобот

Уважаеми Bobot, на някои други вериги съм виждал допълнителни елементи, като резистор, който дърпа щифта RESET към захранването, или кондензатор, преместващ RESET към земята. Необходими ли са?

Това е много добър въпрос, стари Бибот. Външният подтягащ резистор, за който говориш, е свързан към извода RESET, за да предотврати случайно нулиране на микроконтролера при прекъсване на захранването, а кондензаторът е за допълнителна защита на линията RESET от външни смущения. Те не са в горната диаграма поради следната причина: AVR микроконтролерите от второ поколение вече имат вграден подтягащ резистор за линията RESET, чиято стойност е калибрирана във фабриката на Atmel по такъв начин, че да осигури най-стабилната работа на чипа без използване на външен подтягащ резистор [1]. И ако погледнете бележката за приложението на Atmel „AVR042: AVR Hardware Design Consideration“ (PDF), можете да прочетете следното за кондензатора, който споменахте: „Това не е директно необходимо, тъй като AVR имат нискочестотен филтър за елиминиране на пикове ишум, който може да причини нулиране."

Представената схема е максимално опростена и е най-простият пример за първите експерименти за изграждане на робот върху микроконтролер. И за да се предпази микроконтролера от евентуално намаляване на мощността, както можете да видите, във веригата е въведен кондензатор от 1000 микрофарада, който играе ролята на устройство за съхранение на енергия и осигурява нормалното функциониране на микроконтролера. Заслужава да се добави, че роботите, построени в строго съответствие със схемите, дадени в курса „Стъпка по стъпка“, въпреки цялата си простота, бяха многократни участници и победители в състезанията на Българската олимпиада по роботи, Открития турнир по роботика за Купата на Политехническия музей, Общобългарския фестивал на роботиката и състезанията на Фестивала на науката в Москва.

И какво трябва да добавя към веригата на първо място, ако искам да я направя по-сигурна?

Започнете с веригата за нулиране, за която току-що говорихме. Свържете външен изтеглящ резистор от 4,7 до 10 kΩ, както е показано на следващата фигура, и свържете "аналоговия" AVCC захранващ щифт. В този случай схемата няма да стане много по-сложна.

робот
В допълнение, за да избегнете проблеми със смущения при работещи двигатели, свържете 0,1uF керамичен кондензатор директно към всеки двигател.
микроконтролера
Как трябва да свържа микроконтролера, за да съм напълно сигурен в моето устройство?

Не можеш да си абсолютно сигурен в нищо (Бобот погледна със съжаление необосновано угасналата си лула). Но е напълно възможно да се предвидят някои мерки, така че работата на устройството да е близка до нивото на стабилност на индустриалната автоматизация. За повече подробности вижте статията "Свързване на AVR: стабилизиране на микроконтролера".

В диаграмата на робота входовете на драйвера на двигателя L293D са свързани към щифтовете на порт C на микроконтролера ATmega8, но те могат да бъдат свързани към всеки един от портовете на микроконтролера (в този случай ще е необходимо да направите промени в софтуерната част, като посочите порта и неговите щифтове директно в съответните редове на програмата по-долу).

Необходим е електролитен кондензатор C3 (1000uF, 10-25V) за изглаждане на пренапреженията на тока, причинени от работата на двигателите. Този кондензатор е много важен. Именно той прави възможно веригата да работи с необходимото ниво на стабилност. Могат да се използват два кондензатора вместо един. Стойността на всеки от тях в този случай може да бъде около 470 микрофарада. В този случай един от кондензаторите е инсталиран в непосредствена близост до щифтовете за захранване на микроконтролера, а вторият е монтиран до щифта Vs на микросхемата на драйвера на двигателя L293D. Осигуряването на стабилизиране на мощността е един от най-важните аспекти при проектирането на устройства, базирани на микроконтролери.

За по-нататъшно стабилизиране на работата на микроконтролера, керамичен кондензатор с капацитет около 0,1 микрофарада, свързан между захранващите изводи VCC, GND (крака 7 и 8) и разположен в непосредствена близост до тях (не е показано на диаграмата), може да служи като добро решение.

Механичната схема на разглеждания робот трябва да бъде сглобена на принципа на "резервоара": левият двигател предава движението на лявото колело, десният - на дясното. По друг начин такава механична схема се нарича схема за задвижване на двете колела.

След като изключите програматора, проверете посоката на въртене на колелата на робота. Ако двигателите въртят колелата в противоположни посоки, разменете проводниците им.

Следващата стъпка е да създадете програма, която изпълнява завъртането до желания ъгъл.спиране на един от двигателите.

Като промените времето за забавяне, опитайте се да постигнете завой под прав ъгъл, така че пътят на робота да прилича на квадрат.

За по-бързо завъртане на робота можете да използвате реверса (въртене в обратна посока) на един от двигателите. Написването на такава програма ще бъде добра практика за самопрограмиране на движението на робота.

прост

Въпреки че полученият робот е доста прост, с него могат да се проведат редица интересни експерименти, сред които може да има експерименти за създаване на робот за рисуване и робот танцьор.

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

прост

Ако последователно използвате няколко дебели цветни маркера с различни цветове на един лист, за всеки от които ще бъде написана специална програма, можете да получите истински шедьоври на абстрактното изкуство. Такива произведения на роботизираното изкуство вече се излагат дори в престижни галерии.

микроконтролера
Могат да се получат интересни резултати с помощта на маркери и флумастери от различни видове, дебелини и текстури. Текстурираната пунктирана линия, оставена от меката дебела стъклена графика, изглежда красива. А най-необичайни резултати дават нагретите восъчни пръчици за рисуване. Нагревателното устройство е лесно да се направи от малко парче нихромова тел и стъклена тръба. (Батериите на робота се изтощават бързо.)

файлове:

Описание на чипа за управление на двигателя L293D. L293D.pdf

Описание на микроконтролера ATmega8 (английски). ATmega8.pdf