понеділок, 18 січня 2010 р.

Зробити робота - найпростіший робот на одній мікросхемі

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

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

Як перший досвід звернемося до пристрою BEAM-робота, що рухається вперед, коли на нього падає промінь світла, і що зупиняється, коли світло перестає його освітлювати. Поведінка такого робота називається фотокинезисом - ненапрямленим збільшенням або зменшенням рухливості у відповідь на зміни рівня освітленості
У пристрої робота, окрім мікросхеми драйвера моторів L293D , використовуватиметься лише один фотоелемент і один електромотор. Як фотоелемент можна застосувати не лише фототранзистор, але і фотодіод або фоторезистор.
У конструкції робота ми використовуємо фототранзистор n-p-n структури як фотосенсор. Фототранзистори на сьогоднішній день є, мабуть, одним з найпоширеніших видів оптоелектронних приладів і відрізняються хорошою чутливістю і сповна прийнятною ціною. На малюнку приведено монтажна і принципова схеми робота, і якщо Ви ще не дуже добре знайомі з умовними позначеннями, то, виходячи з двох схем, нескладно зрозуміти принцип позначення і з'єднання елементів. Дріт, що сполучає різні частини схеми з "землею" (негативним полюсом джерела живлення), зазвичай не замальовують повністю, а на схемі малюють невелику риску, що позначає, що це місце з'єднується з "землею". Інколи поряд з такою рискою пишуть три букви "GND", що означає "землю" (ground). Vcc позначає з'єднання з позитивним полюсом джерела живлення. Замість букв Vcc часто пишуть +5V, показуючи тим самим напругу джерела живлення.
Принцип дії схеми робота дуже проста. Коли на фототранзистор PTR1 впаде промінь світла, то на вході INPUT1 мікросхеми драйвера двигунів з'явиться позитивний сигнал і мотор M1 почне обертатися. Коли фототранзистор перестануть освітлювати, сигнал на вході INPUT1 зникне, мотор перестане обертатися і робот зупиниться. Аби компенсувати струм, що проходить через фототранзистор, в схему введений резистор R1, номінал якого можна вибрати близько 200 Ом. Від номінала резистора R1 залежатиме не лише нормальна робота фототранзистора, але і чутливість робота. Якщо опір резистора буде великим, то робот реагуватиме лише на дуже яскраве світло, якщо - невеликим, то чутливість буде вищою. В будь-якому разі не слід використовувати резистор з опором менше 100 Ом, аби оберегти фототранзистор від перегріву і виходу з ладу.
Зробити робота, що реалізовує реакцію фототаксису (направленого руху до світла або від світла), можна з використанням двох фотосенсорів.

Коли на один з фотосенсорів такого робота потрапляє світло, включається відповідний сенсору електромотор і робот повертає у бік світла до тих пір, поки світло не освітить обоє фотосенсора і не включиться другий мотор. Коли обоє сенсора освітлено, робот рухається назустріч джерелу світла. Якщо один з сенсорів перестає освітлювати, то робот знову повертає у бік джерела світла і, досягнувши положення, при якому світло падає на обоє сенсора, продовжує свій рух на світло. Якщо світло перестає падати на фотосенсори, робот зупиняється.
Схема робота симетрична і складається з двох частин, кожна з яких управляє відповідним електромотором. По суті, вона є як би подвоєною схемою попереднього робота. Фотосенсори слід розташовувати навхрест по відношенню до електромоторів так, як показано на малюнку робота вище. Також можна розташувати мотори навхрест відносно фотосенсорів так, як показано на монтажній схемі нижче.
Аби зробити робота, "бігаючого" за рукою, нам знадобляться два яскраві світлодіоди (на схемі LED1 і LED2). Підключимо їх через резистори R1 і R4, аби компенсувати струм, що протікає через них, і оберегти від виходу з ладу. Розташуємо світлодіоди поряд з фотосенсорами, направивши їх світло в ту ж сторону, в яку орієнтовані фотосенсори, і приберемо сигнал з входів INPUT2 і INPUT3.

Завдання робота, що вийшов - реагувати на відбите світло, яке випромінюють світлодіоди. Включимо робота і поставимо долоню перед одним з фотосенсорів. Робот обернеться у бік долоні. Перемістимо долоню трохи убік так, щоб вона сховалася з поля "зору" одного з фотосенсорів, у відповідь робот слухняно, як собачка, оберне за долонею.
Світлодіоди слід підбирати досить яскраві, аби відбите світло стійко уловлювалося фототранзисторами. Добрих результатів можна досягти при використанні червоних або помаранчевих світлодіодів з яскравістю більше 1000 мКд.
Якщо робот реагує на вашу руку лише тоді, коли вона майже торкається фотосенсора, то можна спробувати поекспериментувати з листочком білого паперу: здібності білого аркуша, що відображають, набагато вищі, ніж в людської руки, і реакція робота на білий листок буде набагато краще і стійкіше.

Білий колір володіє найвищими властивостями, що відображають, чорний - найменшими. Грунтуючись на цьому, можна зробити робота, що рухається по лінії. Сенсори при цьому слід розташувати так, щоб вони були направлені вниз. Відстань між сенсорами має бути трохи більше, чим ширина лінії.
Cхема робота, наступного по чорній лінії, ідентична попередній. Аби робот не втрачав чорну лінію, намальовану на білому полі, її ширина має бути близько 30 мм або ширше. Алгоритм поведінки робота досить простий. Коли оба фотосенсора уловлюють відбите від білого поля світло, робот рухається вперед. Коли один з сеносоров заїжджає на чорну лінію, відповідний електромотор зупиняється і робот починає обертатися, вирівнюючи своє положення. Після того, як обоє сенсора знову знаходяться над білим полем, робот продовжує свій рух вперед.
Оригінал статті: http://myrobot.ru/stepbystep/el_simple_robot.php

Немає коментарів:

Дописати коментар