» » Модуль ИК-датчика на основе TSOP2136
Информация к новости
  • Просмотров: 100653
  • Автор: administrator
  • Дата: 9 апреля 2008
  • 100
9 апреля 2008

Модуль ИК-датчика на основе TSOP2136

Категория: Контроллер MRC28

Инфракрасные приемники серий TSOP (17xx, 21xx) давно и достаточно успешно используются в любительской робототехнике. Применяются они как по своему прямому назначению (для приема команд по ИК-каналу) так и в качестве недорогих бесконтактных датчиков препятствия. Их преимущество по сравнению с обычными инфракрасными фототранзисторами и фотодиодами – лучшая помехозащищенность, так как TSOPы реагируют только на сигнал с определенной частотой и скважностью. Частота принимаемого сигнала обозначена в маркировке ИК-приемников – последние две цифры.

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

 

Представленный модуль ИК-датчика прост в повторении и по сути сочетает в себе два узла – TSOP2136 с обвязкой и электронный ключ для управления инфракрасными светодиодами с возможностью настройки яркости излучения.

Модуль можно использовать:

  • В качестве приемника команд по ИК-каналу с помощью протокола RC5.
  • В качестве передатчика команд по ИК-каналу.
  • В качестве приемо-передатчика для обмена информацией по ИК-каналу (как для связи с ПК так и с другими устройствами)
  • В качестве бюджетного бесконтактного сенсора препятствий.

Модуль ИК-датчика на основе TSOP2136

 

Обвязка TSOPа стандартная с добавлением согласующего резистора на выход сигнала. Инфракрасные светодиоды подключены через полевой транзистор BS170. Регулировка яркости свечения инфракрасных светодиодов регулируется с помощью построечного резистора.
 
Модуль ИК-датчика на основе TSOP2136
 

Рассмотрим работу модуля в качестве датчика препятствий. Как было сказано выше – ик-приемники серии TSOP реагируют только на определенный сигнал, в нашем случае это сигнал с частотой 36kHz и скважностью 50%. Генерация сигнала осуществляется программно микроконтроллером. Излучаемый сигнал, отражаясь от поверхности препятствия, улавливается приемником и обрабатывается МК. По умолчанию – в отсутствие принимаемого сигнала на выходе TSOPа присутствует высокий логический уровень, в противном случае – низкий уровень.

Таким образом в МК обработка сигнала:

Нет препятствия – 1 на входе порта МК.

Препятствие – 0 на входе порта МК.
 
Модуль ИК-датчика на основе TSOP2136
 
Модуль ИК-датчика на основе TSOP2136
 

Дальность уверенного обнаружения препятствий в ходе экспериментов была достигнута до 30 см и зависит от точной генерации излучаемого сигнала, мощности излучения светодиодов и особенностей поверхности обнаруженного препятствия (цвет, фактура, материал). Светлый объект с высокими отражающими свойствами может быть обнаружен и с более дальнего расстояния.

 

Для примера мы использовали контроллер MRC28 с универсальным модулем. Тестовая прошивка создана с помощью BASCOM-AVR. В качестве препятствия рука =).
 
'Пример работы инфракрасного датчика препятствия на основе TSOP2136

$regfile = "m8def.dat" 'используем Mega8
$crystal = 16000000 'частота кварцевого резонатора 16mHz

'Генерация частоты 36kHz
'Настраиваем Timer1

Config Timer1 = Counter , Edge = Rising , Prescale = 8 , Compare A = Toggle

' Расчитываем Compare1a
' тактовая частота (kHz) / частота TSOPa (kHz) / 2 = Compare
' 16000 / 36 / 2 = 222

Compare1a = 222

'PortB.1 - выход сигнала
'PinC.0 - считываем состояние TSOPa
'Portd.0 - сигнальный светодиод

Config Pinb.1 = Output
Config Portd.0 = Output
Config Pinc.0 = Input

Start Timer1
Do
If Pinc.0 = 0 Then
Portd.0 = 1
Else
Portd.0 = 0
End If
Loop

End
 
Представленный модуль ИК-датчика прост в повторении и по сути сочетает в себе два узла – TSOP2136 с обвязкой и электронный ключ для управления инфракрасными светодиодами с возможностью настройки яркости излучения.
Модуль ИК-датчика на основе TSOP2136
 

 

Схема в формате sPlan 6.0 и разводка платы в формате Sprint Layout 4.0 под ЛУТ вы можете скачать ниже.
Вы не можете скачивать файлы с нашего сервера

Метки к статье: модуль, TSOP, сенсор

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
KingPin

20 декабря 2008 09:52

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Всем привет, навоял эту схему, вроде все правильно, только использовал TSOP4836, соответственно соединил выводы. Написал прогу, вот код:

#include <avr/io.h>
#include <avr/delay.h>
#include <avr/iom8.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#define F_CPU 16000000UL // 16 MHz
SIGNAL(SIG_OVERFLOW0)
{TCNT0 = 255-222;
PORTB ^= 0x02;

//TIFR = 0;


}
void init_timer0 ()
{cli();
TCNT0 = 255-222;
TCCR0 = 1;
TIMSK = 1;
GIMSK = 0;
TIFR = 0;
sei();
}
int main(void)
{

DDRB = 0b00000010;
DDRD = 0b00000001;
DDRC = 0b11111110;
init_timer0();

while (1) {
if (PINC == 0x01){
PORTD = 0x01;}
else{
PORTD = 0x00;}


}

}


скажите пожалуйста, где ошибка???
Диоды горят, проверял камерой мобильника
<
administrator

20 декабря 2008 11:45

Информация к комментарию
  • Группа: Администраторы
  • ICQ: {icq}
  • Регистрация: 26.02.2008
  • Статус: Пользователь offline
  • Публикаций: 66
  • Комментариев: 747
KingPin, c C-шником тебе лучше обратиться не roboforum.ru
<
KingPin

20 декабря 2008 13:32

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
короче думал, думал... и понял все дело во фьюзах, плиз... подскажите для меги 8 какие фьюзы надо запрограммировать? sad

а прога кстати рабочая wink
<
administrator

21 декабря 2008 11:41

Информация к комментарию
  • Группа: Администраторы
  • ICQ: {icq}
  • Регистрация: 26.02.2008
  • Статус: Пользователь offline
  • Публикаций: 66
  • Комментариев: 747
KingPin, http://palmavr.sourceforge.net/cgi-bin/fc.cgi - полезный фуз-калькулятор fellow
<
KingPin

30 декабря 2008 01:10

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
помогите разобраться, я использую TSOP4836, может у него чувствительность меньше??? потому, что препятствие он ловит только на мгновение, и сигнал сразу уходит, хотя препятствие никуда не девалось, яркость диодов уже ставлю на максимум. Но когда я диодом прямо в tsop свечу, то сигнал ровный... помогите, в чем может быть бок???
<
administrator

30 декабря 2008 02:44

Информация к комментарию
  • Группа: Администраторы
  • ICQ: {icq}
  • Регистрация: 26.02.2008
  • Статус: Пользователь offline
  • Публикаций: 66
  • Комментариев: 747
KingPin,
для начала у него цоколевка другая
TSOP4846
1 нога - OUT
2 нога - GND
3 нога - +5V
если это не учитывалось то есстно ничего работать не будет
если подключен тсоп правильно и ничего больше не напутано и номиналы не изменены, то вероятна не правильная генерация частоты (либо не верные фузы тактирования выставлены). Как еще один вариант слишком маломощные светодиоды.

<
KingPin

30 декабря 2008 10:26

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
admin, понимаешь в чем дело, схема работает, цоколевку я учел, но как-то очень хреново, слишком близко, частота норм, кварц 16000, фьюзы выставил как надо, по даташиту смотрел, и книга по меге есть, вот код инициализации счетчика:

void init_timer0 ()
{TCNT0 = 255-222;
TCCR0 = 0x01;
TIMSK |= 0x01;

}


вот код процедуры переполнения:

SIGNAL(SIG_OVERFLOW0)
{PORTD ^= 0x02;
TCNT0 = 255-222;


}


может быть действительно диоды маломощные, но это единственные tsal которые я нашел на рынке, и я не знаю какая у них маркировка, подскажите tsal с какой маркировкой нужны, и можно ли заменить на другие диоды, не tsal???
<
administrator

30 декабря 2008 12:14

Информация к комментарию
  • Группа: Администраторы
  • ICQ: {icq}
  • Регистрация: 26.02.2008
  • Статус: Пользователь offline
  • Публикаций: 66
  • Комментариев: 747
KingPin, я в С не очень разбираюсь. Попробуй прошить хекс из этой статьи, он 100% рабочий, если будет так же кривить то будем искать причину в железе.
По диодам. В принципе пойдут любые, от мощности будет зависить только максимальная дальность и от диаграммы засветки - площадь. Я ставил отечественные - не впечатлило, а вот TSAL6100 (на фотках они стоят) очень даже приятно работают.
<
KingPin

30 декабря 2008 17:21

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
admin, tsal6100 мощность излучения 210мВт, tsal 5100 мощность излучения 130мВт, а у меня скорее всего и есть 5100, видимо в этом и проблема, но вот еще какие подробности, диоды и приемник я монтирую не на плату, а в бампер машинки на радиоуправлении, навел диоды на белый лист и увидел через камеру телефона, что они светят куда-то вниз, надо еще и над этим поработать.... belay
<
Paravoz

28 января 2009 18:02

Информация к комментарию
  • Группа: Гости
  • ICQ: {icq}
  • Регистрация: --
  • Статус:
  • Публикаций: 0
  • Комментариев: 0
Была такая же хрень в точности, правда, генератор аппаратный стоял. Светодиоды ТСАЛ5100 отлично работают, противоположную стену комнаты высвечивают. Проблема оказалась в ТСОПах. Китайское палево, блин! Поставил другие, заведомо рабочие- все стало отлично функционировать.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.