roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 20:45

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: ИК-локатор
СообщениеДобавлено: 21 ноя 2005, 14:48 
Не в сети

Зарегистрирован: 16 ноя 2005, 16:49
Сообщения: 20
Откуда: Москва
День добрый!

Начал разбираться с ИК-локатором http://parts.roboclub.ru/index.shtml?ik, но несколько не понимаю...
В приведенной статье ИК-излучатель включается на 4 такта, выключается на 5 - и так десять раз, потом задержка 20 тактов. Частота МК - 1 MHz.
Цитата:
Локатор работает следующим образом: контроллер включает ИК-излучатель LED1 несколько раз с частотой около 36кГц...

Как получаются эти 36 кГц? У меня получается, что
1 МГц / (4+5) = 111 кГц.
Объясните, пожалуйста, никак не соображу...

Александр, а как Вы собираетесь с помощью ИК-локатора измерять расстояние? Регулируя мощность излучения?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005, 15:23 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Как там - не вникал, щас подумать некогда.
Я делал так: таймер на 72 кГц и счетчик, считающий импульсы. Пачку насчитал - считает паузу. А приемник висит на прерывании.

С дальностью - пока не ясно, пробую всякие варианты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005, 16:05 
Не в сети

Зарегистрирован: 16 ноя 2005, 16:49
Сообщения: 20
Откуда: Москва
-= Александр =- писал(а):
Как там - не вникал, щас подумать некогда.
Я делал так: таймер на 72 кГц и счетчик, считающий импульсы. Пачку насчитал - считает паузу. А приемник висит на прерывании.

С дальностью - пока не ясно, пробую всякие варианты.


Правильно понимаю, что таймер срабатывает с частотой 72кГц, при нечетных срабатываниях включаем излучение, при четных - выключаем?

Да, хотелось бы, конечно, иметь какую-то возможность измерять расстояние, но хоть я совсем чайник, мне кажется, что с помощью ИК-локатора этого добиться если и можно, то варьируя мощностью излучения...
Звуковой локатор никто не делал? Мне попалась пока только такая вещь:
http://www.ottawarobotics.org/articles/ultrasonic/ultrasonic.html
Без ультразвука можно обойтись, скажем, парой микрофонов и одной пищалкой?...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 ноя 2005, 16:14 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Не, сонар не делал, да и не буду, слишком у него направленность плохая при такой сложности... С обычным звуком не знаю, наверно будет работать так-же, но пищание действует на нервы, да и ложных срабатываний много будет. Потом волны разной длины по-разному отражаются, скорее всего работать будет хуже...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 ноя 2005, 13:01 
Не в сети
Аватара пользователя

Зарегистрирован: 21 сен 2005, 13:04
Сообщения: 76
Откуда: Питер
а у меня что-то этот ИК-датчик на TSOP1736 реагирует на любой свет, кроме ИК... Правда пока еще всерьез не брался за него - нет осцилографа


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 ноя 2005, 16:12 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Все TSOPы дают инвертированный сигнал. Ноль если что-то принято и один если ничего.
И еще к ним обвязка нужна чтоб помехи не проходили, они очень к питанию критичны...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 ноя 2005, 17:49 
Не в сети
Аватара пользователя

Зарегистрирован: 21 сен 2005, 13:04
Сообщения: 76
Откуда: Питер
ну вот он у меня все и принимает кроме ИК  :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 23 ноя 2005, 21:57 
Не в сети
Мастер Самоделкин
Аватара пользователя

Зарегистрирован: 11 окт 2004, 19:20
Сообщения: 3678
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич
Значит левый он какой-то или питание плохо фильтруется...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ИК-бампер
СообщениеДобавлено: 30 ноя 2005, 23:35 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Прошу помощи или объяснения по конкретному вопросу:
http://parts.roboclub.ru/index.shtml?ik в этой ссылке приведена программа:
;********************************************************************
;* ИК-локатор: ИК-светодиод на PB4 дает пачки импульсов с частотой
;* около 36кГц, а TSOP1736 на PB3 их отслеживает
;*  
;* MCU: ATtiny12@1MHz (c) RoboClub 2003  
;********************************************************************


.include "tn12def.inc"

rjmp RESET ;reset handle


;* Объявление переменных

.def  t1      = r1 ;счетчик для "длинных" задержек
.def  temp    = r19 ;счетчик времени задержки
.def  count   = r20 ;счетчик числа импульсов в пачке

;* Определения

.equ  led    = 0 ;LED на PB0
.equ  tsop   = 3 ;TSOP на PB3
.equ  ir_led = 4 ;IR LED на PB4

;* Начало кода

RESET:
sbi   DDRB, led ;подключаем LED на выход PORTB линия 5
sbi   DDRB, ir_led ;подключаем IR LED на выход PORTB линия 3
   
cbi   DDRB, tsop ;подключаем TSOP на вход PORTB линия 2
sbi   PORTB,tsop ;включаем "подтяжку"

;* Задание значений

.equ  TIME1   =  4 ;длительность импульса
.equ  TIME2   =  5 ;задержка между импульсами
.equ  TIME3   =  20 ;задержка между пачками импульсов
.equ  COUNT   =  10 ;число импульсов в пачке


; Главный цикл программы
; ----------------------
start:
ldi   count, COUNT ;загружаем в счетчик число импульсов в пачке

; цикл выдачи пачки импульсов
flash:
cbi   PORTB, ir_led ;зажигаем IR LED

ldi   temp, TIME1 ;загружаем в temp длительность импульса          
Delay1: dec   temp ;уменьшаем на единицу temp, пока
brne   Delay1     ;  не станет равным 0

sbi   PORTB, ir_led ;гасим IR LED
       
ldi   temp, TIME2 ;загружаем в temp длительность паузы между импульсами
Delay2: dec   temp ;уменьшаем на единицу temp, пока
brne   Delay2 ;  не станет равным 0


dec   count ;уменьшаем на 1 счетчик числа импульсов
brne   flash ;если не 0, то посылаем следующий импульс

;когла пачка импульсов выдана - проверяем, есть ли сигнал от TSOP

sbis PINB, tsop ;если уровень на выходе TSOP низкий (т.е. сигнал есть)
rjmp ledon ;то идем зажигать LED
cbi PORTB, led ;иначе гасим LED
rjmp wait_next ;и переходим к ожиданию следующей пачки

ledon: sbi PORTB, led ;гасим LED

;задержка перед следующей пачкой импульсов
wait_next:

clr t1 ;сбрасываем t1 (т.е. t1=0 или, что тоже t1=256)
ldi   temp, TIME3 ;устанавливаем число задержек

Delay3: dec   t1 ;задержка по счетчику t1 от 256 до 0
brne   Delay3 ;   т.е. 256*3 тактов
dec temp ;повторяем TIME3 раз задержку по t1
brne   Delay3 ;   т.е. всего  (TIME3*256*3 + TIME3*3) тактов

rjmp   start ;переходим к началу главного цикла
*************************************************************
AVR Studio "последней модели" постоянно выдает ошибку указывая на вот енту строчку: .equ  COUNT   =  10 ;число импульсов в пачке
Подскажите, пожалуйста, в чём проблема?
___________
С уважением
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 07 июл 2009, 19:24 
Не в сети

Зарегистрирован: 07 июн 2009, 10:34
Сообщения: 43
Откуда: Самара
прог. языки: с
ФИО: Артем Митрофанов
У меня вопрос такой же как у автора этой темы(к сожалению он ответа не получил). Как там получается частота 36 кГц, если длительность импульса 4 периода тактового сигнала, длительность паузы - 5, а частота 1 МГц (то есть период 1 мкс и получается что период излучения 9 мкс, хотя для 36 кГц надо 28 мкс). :o

И еще есть вопрос тоже по этому локатору - как мк может надежно определить, что близко препятствие? Всмысле когда оно еще не очень близко ну или далеко то на выходе приемника изредка появляется низкий уровень сигнала, потом он появляется всё чаще и чаще.... Так вот как определить тот момент, когда препятствие однозначно близко. Подкиньте идею :pardon:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 07 июл 2009, 19:44 
Не в сети
Аватара пользователя

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

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

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



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 07 июл 2009, 19:47 
Не в сети

Зарегистрирован: 08 май 2009, 21:21
Сообщения: 159
Взять переменную и при 0 на тсопе ++ ее, потом выполняем программу и опять проверяем выход тсопа вобщем в главный цыкл ее. А по прерыванию от таймера сбрасывать в ноль. Если число в переменной превысит некоторое значение значет близко


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 07 июл 2009, 20:17 
Не в сети

Зарегистрирован: 07 июн 2009, 10:34
Сообщения: 43
Откуда: Самара
прог. языки: с
ФИО: Артем Митрофанов
Цитата:
А кто сказал, что длительности там задаются в тактах процессора?


А в чём же?

за идею с увеличением значения переменной спасибо, кажется понял :good:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 29 авг 2009, 21:11 
Не в сети
Аватара пользователя

Зарегистрирован: 20 июл 2009, 13:59
Сообщения: 119
Откуда: Канск
И еще один спросивший не получил ответ (а может и сам догадался, да не поделился ни с кем).
Почему же все таки 4 такта и 5 тактов? И в чём еще в этой программе может задаваться длительность, кроме как в тактах процессора? ИК-диод горит в течение 4х тактов и не горит в течение 5...

_________________
Ты приснись ей, ангел белый, пусть ей будет хорошо...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК-локатор
СообщениеДобавлено: 01 сен 2009, 09:39 
Не в сети
Аватара пользователя

Зарегистрирован: 20 июл 2009, 13:59
Сообщения: 119
Откуда: Канск
Неужели таки никто не подскажет, каким образом в той программе рассчитвается длительность импульса? :(

_________________
Ты приснись ей, ангел белый, пусть ей будет хорошо...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу 1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO