Разработка Open Robotics: Датчик линии

Правила форума
Правила раздела OpenRobotics

Re: Разработка Open Robotics: Датчик линии

Сообщение blindman » 28 июл 2009, 08:16

Я делал так: запускаю таймер. Настраиваю порт на вывод, конденсаторы разряжаются. Затем перевожу порт на ввод, запоминаю значение таймера. Потом в цикле проверяю биты порта. Если прошло определённое время, в течение которого конденсатор должен зарядиться, если датчик над светлой поверхностью (проверяю по таймеру) - выход из цикла. Если внутри цикла бит порта изменился на 0 (или на 1 - смотря как фототранзисторы включены - "снизу" или "сверху"), значит соответствующий датчик над светлой поверхностью. Здесь главное - экспериментальным путём найти то самое "определённое время" - а оно зависит от датчиков, расстояния до поверхности и от самой поверхности, да и у разных битов одного и того же порта напряжение, которое воспринимается как 0 или 1 вполне может немного отличаться.

Чтобы можно было работать с различными поверхностями, надо ввести автоматическую калибровку датчиков. Выглядит это так: робот устанавливается на линию. Включаются двигатели, чтобы он поворачивался на месте, все датчики при этом должны по очереди пересекать линию. Пока идёт поворот, непрерывно запускается процедура, описанная выше, причём время цикла выбирается достаточно большим, чтобы конденсатор успел зарядиться даже когда датчик над тёмной поверхностью, и для каждого датчика запоминаются максимальное и минимальное время срабатывания.

В приложении заготовка кода для калибровки датчиков, и чтения с учётом калибровки. Предполагается, что подключено до 8 датчиков к выводам порта А.
Вложения
sensors.zip
(1.16 КиБ) Скачиваний: 18
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: Разработка Open Robotics: Датчик линии

Сообщение VIRUS_V8 » 28 июл 2009, 22:09

blindman, большое спасибо!
VIRUS_V8
 
Сообщения: 170
Зарегистрирован: 06 май 2008, 18:33
Откуда: г. Щигры, Курская обл.
прог. языки: Delphi, BASCOM-AVR(basic)
ФИО: Павел

Re: Разработка Open Robotics: Датчик линии

Сообщение nest » 08 сен 2009, 19:08

модуль всё ещё актуален? есть в наличии в продаже ?
нужна документация.

появилась тут мысль интегрировать (пропиарить) такой тип датчика в будущем в одной из статеек...
или подскажите "доступные" аналоги ?
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
прог. языки: asm

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 08 сен 2009, 22:28

Актуален, в наличии 1 штука у меня и может быть у blindman'а, если он её собрал.

Скоро доделаю шасси на лазерной резке и буду этот модуль прикручивать, а там и на продажу выставим штуки 4 может быть. А документация какая именно нужна?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение nest » 08 сен 2009, 22:43

габариты, расположение разъёмов, дырок, если есть.
подошла бы печатка в Eagle, но боюсь мой старый 4.13 не примит новую версию.
Последний раз редактировалось nest 09 сен 2009, 19:13, всего редактировалось 1 раз.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
прог. языки: asm

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 08 сен 2009, 22:58

2nest: Не ленись, скачай свежий игл :)
viewtopic.php?p=91893#p91893 - вот тут последняя вроде печатка.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение nest » 09 сен 2009, 19:14

=DeaD=, так датчик точно будет предлагаться к продаже ?
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
прог. языки: asm

Re: Разработка Open Robotics: Датчик линии

Сообщение Duhas » 09 сен 2009, 19:19

имхо будет.. вопрос наверное скорее в именно таком ли виде )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 09 сен 2009, 19:49

2Duhas: Ну несколько штук минимум будет именно в таком виде. Вопрос скорее в том, когда до него дойдут руки :) я думаю сейчас первые наброски с манипулятором закончу и займусь шасси для лайнтрейсинга, кегельринга и мини-сумо, а там и датчик этот освоим :)

Добавлено спустя 24 секунды:
Скорее всего в пределах месяца соберу несколько штук и вышлю сетару, а там сколько почта будет идти.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 27 сен 2009, 22:35

nest писал(а):=DeaD=, так датчик точно будет предлагаться к продаже ?

Кстати, а ты с какой целью интересовался? ;)

Я тут спаял 3 штуки, думаю вот чего бы такого сделать - запаивать не хочется разъем - мало ли - кому прямой надо, а кому под углом, а кому не надо вообще, а как без него проверить - не знаю :(
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение Master » 27 сен 2009, 23:01

Припаять разъем на шлейфе, потом можно будет по-одному проводочку шлейф выпаять.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 27 сен 2009, 23:09

Как-то не серьезно паянные модули продавать... какой-то Б/У получается :(
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение Master » 28 сен 2009, 09:42

Так все равно потом на то место разъем паять, какой-нибудь.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: Разработка Open Robotics: Датчик линии

Сообщение =DeaD= » 28 сен 2009, 09:42

Короче видимо запаяю угловой, кому надо - пусть разогнёт :crazy:
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Разработка Open Robotics: Датчик линии

Сообщение Алексей » 16 мар 2010, 16:34

Насколько бредовой покажется идея посадить на этот датчик проц поменьше и обмен с главным мозгом сделать по i2c?
Алексей
 
Сообщения: 152
Зарегистрирован: 12 дек 2009, 23:44
Откуда: Киев
ФИО: Алексей Диомидов

Пред.След.

Вернуться в Разработка модулей

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4