роботы робототехника микроконтроллеры


 Страниц (2): [1] 2 »   

> Описание: Датчик препятствий на приёмнике TSOP1736
SynteZ Post Id


Рядовой


Сообщений всего: 6
Дата рег-ции: Май 2007  



Собрал следующий датчик. Обвязка согласно даташиту на приёмник. Проблема в том, что TSOP работает не правильно, не реагирует на правильный сигнал (от пульта, от модулированного сигнала на ИК-диоде). Есть подозрение, что TSOP паленный... Может дадите советы, возможно есть какие-то подводные камни, моменты на которые я не обратил внимание.

Прикреплено изображение
att-472c902db910bheme.JPG

 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



У тебя схема какая-то неадекватная получилась Улыбка Во первых LED у тебя наоборот нарисован, так он никогда не загорится. Потом то-же самое с IR-LED он катодом должен быть подключен к коллектору, а анод через последовательный резистор к +5 В. Я так понимаю микросхема это что-то вроде AT90S2313? Если так то, между базой и выходом порта должен быть резистор... Ну и я уж не помню есть у TSOP на выходе подтягивающий резистор или нет, на всякий пожарный можно с выхода TSOP резистор к + 5 В, ну или в контроллере подтягивающий резистор включи. Воот, тогда чего-то можно будет поэкспериментировать Улыбка
 
 Top
magdanoz Post Id


Рядовой


Сообщений всего: 18
Дата рег-ции: Дек. 2007  



Я думаю, что не надо задавать частоту работы ИК-датчика путем программирования! Это делает программу намного сложнее! (По-моему скромному мнению Улыбка)
Надо немного переработать схему так, чтобы частота задавалась от самой схемы... Например - на ИС 555. Это мои личные предпочитания, но по-моему так проще. Улыбка

>>Зы:. Извините за ошибки (если их есть!)... Но я из Болгарии! Улыбка
 
 Top
Necto Post Id


Рядовой


Сообщений всего: 12
Дата рег-ции: Нояб. 2007  



Приветствую. Проблема похожа, поэтому пишу в этой теме.
Спаял схему как в http://parts.roboclub.ru/index.shtml?ik, только вместо Tiny поставил Atmeg(она же - главный мозг для будущей остальной перифирии).
Так вот: мигаю ИК диодом, пытаюсь поймать TSOP1738 Не ловится, даже при касании линз. ИК светодиод моргает - видно через камеру на телефоне, но частоту померять не могу. Если насильно установить 0 на выходе TSOP-а (замкнуть "сигнальную" ножку и землю), датчик срабатывает - светодиод(индикатор) гаснет. Ни на какие из имеющихся в доме пультов не реагирует.
Частоту генерирую так:

CODE:


#define FCPU = 1000000UL
//...
int per = 1000000/38000;
//...
for (int i = 0; i < 19; ++i)
{
PORTC |= _BV(PC5);
_delay_us (per);
PORTC &= ~_BV(PC5);
_delay_us (per);
}
//...

Подскажите как проверить TSOP, и в чём ещё может быть заквоздка?
Если надо, могу привести весь исходник.
 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



Вы просто поймите что TSOP это не просто фототранзистор, это достаточно сложное устройство. Внутри нее находится фильтр на частоту 38 КГц, и реагировать на незнаю какую частоту она не будет. Попробуйте найти пульт стандарта RC5 с частотой 38 КГц. Ну или Настройте ваше мигание точно на частоту 38 КГц. Используйте для этого таймер с прерыванием. И промодулируйте ваш сигнал 0 и 1. Т.е к примеру 100 мсек генерируем 38 КГц, 100 мсек не генерируем, вот тогда и смотрите. А так от балды она наврядли заработает...
 
 Top
magdanoz Post Id


Рядовой


Сообщений всего: 18
Дата рег-ции: Дек. 2007  



Дешевая альтернатива TSOP-а - RPM71xx. Например: TSOP1740 = RPM7140 и т.д... В Болгарии именно нее используем в качестве ИК-локатора! Улыбка
А про схему: У ATmega8 есть один 8-битный таймер. У АТmеga88 - их два. Нужно соединить вывод "Сигнал" TSOP-а с этим таймером, и у нас будут 40 kHZ Улыбка Определять частоту датчика программой, по-моему, не надо!
Другая альтернатива таймеров - 555 (вывод 3)...

Удачи всем!
 
 Top
gramozeka Post Id


Капитан


Сообщений всего: 51
Дата рег-ции: Янв. 2008  



генератор на контроллере сделать очень просто и основной программе он мешать не будет. Прерывания не нужны. И сделать это можно на любом современном контроллере. просто запускаешь ШИМ на нужной частоте и все.
 
 Top
Tranzistor Post Id



Рядовой


Сообщений всего: 8
Дата рег-ции: Дек. 2007  



Не понимаю не в себе все ищете какие то сложные пути реализации генератора для мигания ИК-диодов, какие то проги пишите, микрухи типа-555 юзаете, а спрашивается зачем? Ведь можно намного проще все реализовать....

Начнем с начала. ГЕНЕРАТОР: для этого нам понадобиться микруха К561ЛА7 (ее можно приобрести на бомжатнике за копейкиПодмигивающий ), конденсатор на - 1нФ, пару резисторов - 12К, и два потенциометра на 10К и 3,3К. Теперь собираем на двух логических элементах микрухи генератор где РЦ цепочка состоит из 1нФ и последовательно соединенных резисторах 12К и 10К, остальные два элемента запаралелим - они будут выполнять нагрузочную функцию, потенциометром 3,3К регулируем интенсивность свечения ИК-диода. Схема работает в диапазоне приблезительно 36КГц что подходит для ИК-приемника TSOP1736, для других ИК-приемников методом подстройки 10К можно подогнать частоту. Замечание TSOP17хх имеют очень хорошую чуствительность - заводом расчитано работать на расстоянии до 35 метров и для ИК-барьера на ваших конструкциях вся комната будет одним сплошным препядствием, поэтому надо экспериментально подбирать частоту(10К) и интенсивность(3,3К), разобраться во всем вам поможет даташит на TSOP17хх (в особенности график-Figure 1. Frequency Dependence of Responsivity). Что ж удачных экспериментов, возникнут вопросы пишите Улыбка

Транзистор рулит Круто!
Прикреплено изображение
att-47a65320ea1a4xema.JPG

 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



Ну нашел то-же простой путь, или сидеть ноги у микросхемы паять, а потом какие-то резисторы крутить, или просто по клаве стучать, а потом прогу заливать... Зы а кстати зачем у нее на выходе 2 элемента и-не параллельно включены? И не проще ли ваще полевичок на управление светодиодом поставить, а генератор на 2х 74lvc1g04 собрать Улыбка)) Ну я б лично так сделал, и влезло бы все это в 1 см квадратный Улыбка
 
 Top
Tranzistor Post Id



Рядовой


Сообщений всего: 8
Дата рег-ции: Дек. 2007  



Спору нет,Закатывать глаза может для вас это и проще, прогу набить или достать 74lvc1g04. Но я ориентировался на начинающих роботостроителей, которым МК еще не по зубам и например я живу в Закарпатье, вроде бы центр европы, а достать детали проблематично... делайте выводы.

P.S. Вопрос, как вы от МК добиваетесь нужной частоты, ведь если она соответствует той, на которой работает TSOP17хх, то даже при минимальной интенсивности свечения ИК-диода, ИК-барьер будет видеть преграду на расстоянии в 0,5м минимум (проверено на практике). Ведь не проще минуту потратить для того что бы "какие-то резисторы крутить", чем подбирать частоту програмно.
Цитата:
Зы а кстати зачем у нее на выходе 2 элемента и-не параллельно включены? И не проще ли ваще полевичок на управление светодиодом поставить,

А собсно зачем для нескольких ИК-диодов тратиться на полевичок, ведь нам не нужна максимальная отдача от него.


Цитата:
Ну я б лично так сделал, и влезло бы все это в 1 см квадратный


А все таки немного места занимаетУлыбка

Прикреплено изображение
att-47a6f1b02ffb80045.jpg

 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



Цитата:
P.S. Вопрос, как вы от МК добиваетесь нужной частоты, ведь если она соответствует той, на которой работает TSOP17хх, то даже при минимальной интенсивности свечения ИК-диода, ИК-барьер будет видеть преграду на расстоянии в 0,5м минимум (проверено на практике). Ведь не проще минуту потратить для того что бы "какие-то резисторы крутить", чем подбирать частоту програмно.

А нахрена ее собсно подбирать то? Ее посчитать мона Ж))) К примеру нада 36000 берем кварц 9000000. 9000000/250=36000. Берем делаем чтоб таймер 0 считал до 250, (сравнивая с OCR0=249) ну и генерировал прерывание Ж))) Получим 36000 с ошибкой 0 процентов, и никаких шаманских резисторов Ж)))))
 
 Top
Tranzistor Post Id



Рядовой


Сообщений всего: 8
Дата рег-ции: Дек. 2007  



Так в этом и вся суть, что частота должна быть в стороне, НЕ ровно 36000, смотрите прикрепленный график... Для того, что бы ИК-барьер срабатывал на расстоянии 0,1м нужно частоту увести в сторону... Улыбка
Прикреплено изображение
att-47a713f9f1d9er_02.gif

 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



Дыкь эта, проблем-то Ж)))
9000000/250=36000
9000000/251=35856,57
9000000/252=35714,28
Ну и так далее, Ж)))
 
 Top
Солнцеворот Post Id


Рядовой


Сообщений всего: 8
Дата рег-ции: Февр. 2007  



Можно попросить поподробнее рассказать о формировании сигнала для светодиода? Я никак не могу с таймерами разобратьсяГрустный

Что это за регистр такой OCR0 и что с ним сравнивать?
Работаю в CodeVision. Настроить таймер, который отсчитывал бы каждые 1, 8, 16, 1024 такта - получается. Но куда он шлет импульс после переполнения???
 
 Top
VCOM Супермодератор Post Id



Супермодератор


Сообщений всего: 659
Дата рег-ции: Март 2007  



unsigned char tmp;

#pragma vector = TIMER0_COMPA_vect //Прерывание
__interrupt void timer1(void)
{
tmp=~tmp;
if(tmp==0)PORTB &= ~(1<<5)
else PORTB |= (1<<5)
}

void main(void)
{
TCCR0A=0x02;
TCCR0B=0x01;
OCR0A=124; //для частоты 36000 мы заходим в прерывание с частотой 72000
TIMSK0=0x02; //разрешили прерывание от сравнения TIMER0 и OCR0A
tmp=0x00;
asm{"sei"}; //разрешили глобальные прерывания
}
 
 Top
Страниц (2): [1] 2 »
« Делаем роботов »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru