МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход

Двигаться по полосе

Идея создать "глазастого" робота не нова.

В интернете можно найти много статей про самодвижущиеся машинки-роботы, которые реагируют на свет или на рисунок нанесенный на пол.

Одна из наиболее подробных инструкций по созданию такого робота здесь: http://myrobot.ru/stepbystep/el_simple_robot.php. Это очень хорошая статья про робота на одной микросхеме L293D (драйвер двигателя). В этой статье описывается робот, двигающийся по полосе.

Мы попробуем в какой-то мере повторить такого робота, но на новом уровне - с применением платы Марсоход.  Почему нам нужна эта плата? Почему не сделать на одной микросхеме, как написано в той статье? Плата Марсоход позволит нам в будущем дать роботу больше ума. У нашей платы больше возможностей для развития.

Что нам понадобится?

  • платформа-машинка с двумя коллекторными двигателями с редукторами;
  • батарейки или аккумуляторы;
  • плата Марсоход;
  • "глаза" - светочувствительные датчики.

В качестве светочувствительного датчика можно использовать фототранзисторы типа PTR1, а можно взять "чувствительный модуль" со старого ненужного принтера. В принтерах бывает даже несколько таких датчиков. Они используются при подаче бумаги или как определитель крайнего положения печатающей головки. Вот такие датчики:

Светочувствительные датчики от принтера

У этих датчиков от принтеров есть полезное нам свойство. Они имеют в сборе на маленькой платке светоизлучатель и светоприемник (правда в невидимом инфракрасном диапазоне). Излучаемый свет, если есть светлое препятствие (например белая бумага),  возвращается назад и фотоприемник видит его.

Схема подключения датчиков вот такая:

Схема подключения датчиков к микросхеме Altera

На выходы DP и DN в проекте для платы Марсоход подаем сигнал логической единицы - это будет питание на излучающий светодиод. Коллекторы фототранзисторов подключаем ко входам key[2] и key[3]. Внутри микросхемы в свойствах этих входов мы включили "pull-up" резистор (подтягивающие к логической единицы резисторы).

Если датчик поднести к листу белой бумаги, то отраженный свет откроет фототранзистор и на входе key появится ноль вместо единицы.

Крепим эти датчики к нашей машинке вот так:

машинка со светочувствительными датчиками

Еще одно фото:

two_eyes_car2

В плату Марсоход нужно "залить" новый проект, который будет управлять моторами в зависимости от срабатывания фото датчиков. На самом деле проект этот минимальный. Его смысл очень прост. Пока оба датчика видят отраженный свет - оба двигателя включены и машинка едет прямо. Если один из датчиков не видит отраженного света, то значит дорожка уходит в сторону. Один двигатель выключается, а второй продолжает работать и машинка развернувшись возвращается на правильный путь.

Взять проект для платы Марсоход можно здесь:

Если Вы откроете проект в среде Altera QuartusII, то увидите следующую логическую схему:

prj_goline

Возможно Вы будете удивлены: "Зачем в таком проекте еще и счетчик и компаратор?". Это такая регулировка мощности/скорости двигателей. На двигатели мы подаем не постоянное напряжение, а импульсы. Чем шире подаваемые импульсы и короче паузы между ними, тем быстрее едет машинка.

Вообще, разные регулировки нужны и их довольно много. Нужно правильно выставить фото датчики, подобрать растояние от них до пола и расстояние между ними. Нужно выбрать оптимальную скорость машинки - определяется компаратором в схеме - когда значение счетчика меньше некоторого порога - импульс на двигатели подается, если больше порога, то пауза. Даже освещение в комнате может влиять Smile. Тем не менее, все реализуемо. Нужно только чуть чуть терпения.

На большом листе белой бумаги рисуем черную "дорожку". И пробуем запустить робота.

Уррррра!!! Получилось!!!

 

 

Комментарии  

+2 #10 Веталь 22.08.2011 15:27
Какой милый кот
+1 #9 Ю р и й 13.11.2010 06:29
Будет.
+1 #8 andrey 12.11.2010 19:07
Цитирую Ю р и й:
Если нет старого принтера, можно от старых мышей.

У меня есть CNY70 , будет ли на нем работать?
+2 #7 Ю р и й 12.11.2010 06:33
Если нет старого принтера, можно от старых мышей.
+2 #6 andrey 11.11.2010 23:18
Скажите пожалуйста, а какие датчики можно использовать кроме PTR1 ? (фирмы, производители), а то старого принтера нет ... :sad:
+1 #5 Faxfrors 31.10.2010 17:17
На страничку зашёл случайно.. Но обязательно зайду ещё! Классная статья!
+1 #4 Chettuser 05.08.2010 14:37
По моему это и есть самый настоящий марсоход!
+2 #3 Chettuser 05.08.2010 14:35
Клево! Даже Котейке понравилось :lol:
+3 #2 Sl0n1k911 14.05.2010 10:32
Видел аналогичную игрушку в журнале "Юный Техник" совкового выпуска. Реализовано там правда все гораздо проще.
+4 #1 Владимир 21.04.2010 12:17
Прекрасный кот =)

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход Двигаться по полосе