roboforum.ru

Технический форум по робототехнике.


ИК-локатор

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

Re: ИК-локатор

Сообщение Yuraskas » 15 сен 2009, 12:18

galex1981 писал(а):Хочешь сказать что степень отражения еще и от материала зависит?

Ясное дело, зависит, но не столько от материала сколько от его отражающей способности, например, деревянная лакированая табуретка у меня определялась датчиком с бОльшего расстояния, нежели лист белой бумаги.
Ты приснись ей, ангел белый, пусть ей будет хорошо...
Аватара пользователя
Yuraskas
 
Сообщения: 119
Зарегистрирован: 20 июл 2009, 13:59
Откуда: Канск

Re: ИК-локатор

Сообщение boez » 16 сен 2009, 00:02

А еще в ИК предмет может отражать совсем не так как в видимом. Я раскурочил дешевую вебкамеру и вынул ИК фильтр. Чувствительность в ИК у CMOS сенсора выше, чем в видимом. Поэтому камера при освещении комнаты лампами накаливания показывает в основном ИК. И многое выглядит совсем по-другому. Например темный свитер хорошо отражает ИК - выглядит светлее обоев на стене, хотя обои довольно светлые.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: ИК-бампер

Сообщение artmasterpro » 08 май 2010, 22:02

Хочу сделать на Attiny15 но файл не хочет компилироваться!!!

Поддержую автора ! Почему не работает то?

Vovan писал(а):Прошу помощи или объяснения по конкретному вопросу:
http://parts.roboclub.ru/index.shtml?ik в этой ссылке приведена программа:
AVR Studio "последней модели" постоянно выдает ошибку указывая на вот енту строчку: .equ  COUNT   =  10 ;число импульсов в пачке
Подскажите, пожалуйста, в чём проблема?


Добавлено спустя 42 минуты 18 секунд:
Re: ИК-локатор
Сам себе и отвечу :


Ошибка вот в чем: COUNT - AVRStudio воспринимает как count (счетчик) по дефолту из аппноута... Следовательно: достаточно присвоить регистру другое имя или ваще не присваивать, а писать в программе просто, например r20 - ошибка исчезнет.
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК-локатор

Сообщение Radist » 08 май 2010, 22:02

Если вы в студии компилите, то студия же говорит, почему не работает. Ей не нравится слово COUNT. Добавьте к нему 1 (COUNT1) и в следующей строке тоже - и все откомпилится. Делов то.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Myp » 08 май 2010, 23:32

ток на диод запросто можно увеличить, раза в 2 например и получить более мощный импульс света и большую дальность.
тока неплохо уменьшить активность отсылания пачек и удлиннить паузу между ними
ну и рукой проверить не нагреваются ли ножки ИК диода.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: ИК-локатор

Сообщение artmasterpro » 09 май 2010, 20:10

Собрал сие устройство на Тини13 и тини15!
Отключил ИК светодиод.
Почему то - обычный диод, произвольно помигивает. Если светиш пультом мигает интенсивно, если не светиш просто помигивает. Что делать ?

Добавлено спустя 2 часа 49 минут 1 секунду:
Начал разбираться, ситуацию исправил новый ТСОП + 0.1 мкф на питании + удаление транзистора КТ315 который судя по всему не знаю как но давал помехи.

Но вот выжать луч более 40 см у меня не вышло, при том что на ТСОП одел трубочку.
Аватара пользователя
artmasterpro
 
Сообщения: 23
Зарегистрирован: 05 май 2010, 23:00

Re: ИК-локатор

Сообщение Radist » 01 окт 2010, 20:51

Чтобы не плодить похожие темы - спрошу тут. Но сперва надо ввести в суть дела.

Сделал я свой ИК-локатор для сумобота. Все локаторы похожи как китайцы, мой отличается не значительно. Его особенности таковы:
- в центре глаз, два светодиода по краям
- светодиоды светят по очереди (на микрологике сделано, два элемента 2И (частота и разрешение генерации), один элемент НЕ - чтоб сторону выбирать)
- алгоритм такой: 1 мс генерим одной стороной - смотрим на ногу глаза, если есть отражение, то с нужной стороны зажигаем простой светодиод, затем выключаем генерацию на 8 мс. Повторить для другой стороны. Зациклить.
- собрано на тини45 (что было - на том и слепил)
- светодиоды очень хорошо оптически закрыты (forum34/topic6281.html)
- питание 5 В, токоограничительный резистор в цепи ИК светодиодов - 1 кОм!!!, руку видит около 0,5 метра.
- диаграмма направленности ИК светодиодов достаточно узкая.

Работае это так: справа и слева от глаза есть два обычных светодиода, загорающихся при появлении отражения с нужной стороны. Если препятствие спереди, то горят оба. Когда отражатель на границе чувствительности - глаза начинают моргать (что понятно и объяснимо). И вот теперь вопрос.

Я понимаю про зависимость расстояния от поверхности отражения, также понимаю, что можно сделать градации типа: далеко, не очень далеко, близко (вроде кто-то уже это предлагал). Есть ли смысл фильтровать сигнал? Есть ли смысл добавить каких-нибудь свойств локатору? Или считать что локатор работает, а я с жиру бешусь? Жду идей и предложений до понедельника :)

ЗЫ. Тут был комментарий, что чувствительность тсопа нельзя увеличить. Не соглашусь. В тсопе есть АРУ, он может вытягивать даже очень маленькие сигналы. Вся проблема у тех, кто собрал локатор, а он работает на малом расстоянии - в плохой оптической изоляции светодиода и тсопа. Если часть излучения напрямую идет на тсоп - ару снижает чувствительность, порой очень сильно. Поэтому слабое пятнышко отражения тсопу и не видно. Вы пишете про токи 37 мА (может кто и больше), ставите по несколько светодиодов - а дальность практически не растет - ведь и уровень прямой засветки повышается. У меня, даже если пренебречь падением на диоде и транзисторе, ток через светодиод 5 мА (а если не пренебрегать - 3,5 мА). Я могу легко получить дальность и 2 метра, но для сумо этого не надо - он стены будет видеть, а не противника.
Последний раз редактировалось Radist 02 окт 2010, 06:04, всего редактировалось 1 раз.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Сергей » 01 окт 2010, 21:54

Что за ИК диоды использовал?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: ИК-локатор

Сообщение Radist » 02 окт 2010, 06:02

У них диаметр 5 мм, они прозрачные. Давно покупал - могу соврать. Вроде L-53, которые ИК (не помню буквы).
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Radist » 03 окт 2010, 20:30

Не дождался я откликов. Решил остановиться на следующем. Я ввел программный фильтр, работающий по следующему алгоритму:
есть переменная фильтра, вначале она ноль
при каждом зафиксированном отражении она увеличивается на 1, но не более 10
при каждом отсутствии отражения она уменьшается на 1 до 0
выдача информации о цели производится на анализе этой переменной: больше пяти - цель есть, меньше пяти - цели нет

Таких фильтров два, для каждой стороны.

Сейчас работает немного медленнее, зато моргания на границе определения уже нет.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Сергей » 03 окт 2010, 20:44

А не проще RC на выходе TSOP поставить?
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: ИК-локатор

Сообщение Radist » 03 окт 2010, 21:04

Конечно же нет. Когда есть отражение - я имею хороший импульс. Когда нет отражения - я не имею никакого импульса. На границе видимости появление импульсов случайный процесс. Ближе я вижу импульсы всегда, дальше я не вижу импульсов никогда (при одних и тех же прочих условиях). Фильтр имелся в виду не от электрических помех, а чтоб было меньше неопределенности: есть цель или нет.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Сергей » 03 окт 2010, 22:49

Чтобы не колбасило так, нужно ставить одновибратор, чтобы он тянул сигнал, к примеру, на 10 мс. То есть появилось препятствие - сработало и держит 10мс, если во время этого будет фарш, то этого мы не заметим
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: ИК-локатор

Сообщение Radist » 04 окт 2010, 08:31

Зачем паять то, что можно запрограммировать? :) У меня делается почти тоже самое по сути.

Добавлено спустя 32 минуты 36 секунд:
Немного еще подумал. Вы предлагаете не то, что мне было нужно. Одновибратор из короткого импульса делает импульс калиброванной длительности. Зачем он мне? Вы говорите "чтобы отсечь весь фарш", так нет никакого фарша. Ответные импульсы есть только когда я генерю их и когда есть отражение. Приведу простой пример: возьмите пульт от телевизора и отойдите подальше. Скоро вы найдете место, где телевизор будет принимать сигнал через раз. Так вот что я хочу: чтобы на границе не плясать, а накрениться сильнее в ту или другую сторону. Вероятность балансирования на границе будет меньше.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: ИК-локатор

Сообщение Сергей » 04 окт 2010, 10:32

Брр, не понял. Допустим ИК-прибор расположен на границе взаимодействия, к примеру с телевизором или отражающим объектом. Если посмотреть на осциллограмму в этом граничном состоянии - там будет фарш, то есть просачивание сигнала и наоборот пропуски. Соответственно на выходе TSOP будет тоже не постоянный сигнал, для чего ставиться одновибратор, который удлиняет импульс, съедая остальные скачки, на определенное время. Можно сделать так, что если в течение этого времени появляется еще импульс, то время сдвигается. То есть при импульсном характере выхода тсоп на граничном состоянии мы получим ровный сигнал.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Пред.След.

Вернуться в Новичкам или основы основ роботостроения.

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

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