roboforum.ru

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

Опять любимый TSOP(

Опять любимый TSOP(

Korbofos » 08 мар 2011, 17:21

Ик радар срабатывает только на быстро приближающиеся объекты, если препятствие поднести медленно никакой реакции!
МК вроде молотит свои 36КГц проверял осциллографом...
Подскажите может была у кого такая проблема.

Re: Опять любимый TSOP(

dccharacter » 08 мар 2011, 17:33

Korbofos писал(а):Ик радар срабатывает только на быстро приближающиеся объекты, если препятствие поднести медленно никакой реакции!
МК вроде молотит свои 36КГц проверял осциллографом...
Подскажите может была у кого такая проблема.

А если препятствие не "подносить", а разместить перед дальномером, он это препятствие видит? А то ту как в анекдоте:

Идут два студента-бауманца. Один другому рассказывает анекдот: "Мышка бегала по краю обрыва - пи-пи-пи, пи-пи-пи, пи-аааа-ААА--УАААААААААААААААА-РРРРРР"
Второй, с удивлением глядя на первого: "ну и что? эффект допплера"...

Re: Опять любимый TSOP(

Radist » 08 мар 2011, 18:00

Было такое, и именно в ИК барьере. Это все программно лечится. Посылаете зондирующий импульс 1 мс, проверка ответа, затем пауза 8 мс (ноу-хау именно в этой паузе). Длительностью паузы можно поиграть, но вроде бы 8 - это минимум (у меня). Во время паузы чтоб никакого ИК не было! Мне кажется это связано с работой АРУ ТСОПа.

Re: Опять любимый TSOP(

Korbofos » 08 мар 2011, 18:21

Если просто разместить то не видит!

Re: Опять любимый TSOP(

dccharacter » 08 мар 2011, 18:23

Korbofos писал(а):Если просто разместить то не видит!

Дык мож в порядке бреда частота не та? не 36кГц, а 39 ему надо???

Re: Опять любимый TSOP(

Korbofos » 08 мар 2011, 18:32

Radist писал(а):Было такое, и именно в ИК барьере. Это все программно лечится. Посылаете зондирующий импульс 1 мс, проверка ответа, затем пауза 8 мс (ноу-хау именно в этой паузе). Длительностью паузы можно поиграть, но вроде бы 8 - это минимум (у меня). Во время паузы чтоб никакого ИК не было! Мне кажется это связано с работой АРУ ТСОПа.


Можете показать примером кода на С , пока у меня с программированием начальная стадия...

Добавлено спустя 1 минуту 42 секунды:
Tsop 1736 ему именно 36кГц нужно

Re: Опять любимый TSOP(

yak-40 » 08 мар 2011, 18:43

"Рабочий" сигнал должен отвечать следующим требованиям:

1. быть возможно ближе к частоте несущей для данной модели (например, 36 кГц для TSOP1736)
2. в пачке должно быть 10 или более импульсов
3. за пачкой от 10 до 70 импульсов должна следовать пауза длительностью не менее 14 импульсов

Re: Опять любимый TSOP(

Korbofos » 08 мар 2011, 18:49

Код: Выделить всёРазвернуть
{
unsigned int i,u;
for (u=0;u<14;u++)
  {
   delay_us(165);
    for(i=0; i<12; i++)
      {
   PORTB.3=1;
        delay_us(3);
   PORTB.3=0 ;   
        delay_us(3);
      }
   };     
}   

Это реализуется так?

Re: Опять любимый TSOP(

yak-40 » 08 мар 2011, 19:06

Да, можно так. Только мне не нравится 3uS в задержке...

Re: Опять любимый TSOP(

Korbofos » 08 мар 2011, 20:11

Мне тоже, но именно на 3us на осциллографе(может он и глючит) получаетя магические 36кГц. Хотя я пробовал 9,10,11,12.... итд. улучшений нет.

Re: Опять любимый TSOP(

dccharacter » 08 мар 2011, 20:13

Мне вообще не нравится через делеи реализация. Запускаете ШИМ на ноге с частотой 36кГц. Потом включаете и выключаете ногу. Получаете пакеты импульсов нужной частоты, нужной длительности и с нужной паузой не мешая остальной периферии работать.

Re: Опять любимый TSOP(

yak-40 » 08 мар 2011, 20:32

dccharacter писал(а):Мне вообще не нравится через делеи реализация

Да, это не по джедайски. Но именно реализация через делай, даёт возможность начинающим роботостроителям понять принцип работы данного устройства. А потом, когда поймут и наберутся опыта, пущай делают на ШИМ-ах, таймерах и т. д.

Re: Опять любимый TSOP(

Korbofos » 08 мар 2011, 20:37

На ик отдельный attiny2113 стоять будет, но попробую и с pmw.

Re: Опять любимый TSOP(

Radist » 08 мар 2011, 22:30

Я сишным кодом поделиться не могу - я ASMатик :) . У вас срабатывание тсопа как-то индицируется? Если на тсоп посветить пультом - он "видит препятствие"? Думаю да, раз быстрые перемещения он видит. Могу подкинуть алгоритм на задержках.

В даташите приведен тестовый сигнал: 600 мкс есть несущая, 600 мкс нет несущей. Паузу увеличиваем до 8000 мкс. 600 мкс несущей делаем так:

цикл на 21 импульс
выставили бит
пауза 13,9 мкс
убрали бит
пауза 13,9 мкс
декремент счетчика цикла

читаем тсоп, узнаем что он увидел, индицируем результат

пауза 8000 мкс
повторить сначала


ЗЫ. Тема не на месте. Я не считаю это граблями. Грабли - это когда в этом месте у всех ничего не получится. А если у одного не получилось - это не грабли, это электроника :)

Re: Опять любимый TSOP(

Korbofos » 09 мар 2011, 17:08

Radist писал(а):Я сишным кодом поделиться не могу - я ASMатик :) . У вас срабатывание тсопа как-то индицируется? Если на тсоп посветить пультом - он "видит препятствие"? Думаю да, раз быстрые перемещения он видит. Могу подкинуть алгоритм на задержках.

В даташите приведен тестовый сигнал: 600 мкс есть несущая, 600 мкс нет несущей. Паузу увеличиваем до 8000 мкс. 600 мкс несущей делаем так:

цикл на 21 импульс
выставили бит
пауза 13,9 мкс
убрали бит
пауза 13,9 мкс
декремент счетчика цикла

читаем тсоп, узнаем что он увидел, индицируем результат

пауза 8000 мкс
повторить сначала


ЗЫ. Тема не на месте. Я не считаю это граблями. Грабли - это когда в этом месте у всех ничего не получится. А если у одного не получилось - это не грабли, это электроника :)

Спасибо заработало :Yahoo!:

Добавлено спустя 1 минуту 59 секунд:
Вот код
Код: Выделить всёРазвернуть
#include <TINY2313.h>
#include <delay.h>

void flash_l()
{
unsigned int i;
for(i=0; i<21; i++)
      {
   PORTB.1=1;
        delay_us(14);
   PORTB.1=0 ;   
        delay_us(14);
      }
   };     
void main()
{
DDRA = 0xff;
DDRD = 0x00;
DDRB = 0xff;
PORTB =0x00;

while (1)
      {
         flash_l();
if (PIND.6 == 0){PORTA.1 = 1;}
else {PORTA.1=0;}
delay_us(8000);
}
}


cron
Rambler\'s Top100 Mail.ru counter