|
|
  |
Ик барьер, помогите |
|
|
|
Oct 28 2011, 19:29
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 23-09-11
Из: Вьетнам
Пользователь №: 67 350

|
а если между самим датчиком TSOP и самим контроллером будет провод 10 метров допустим. ну чтобы выносить датчик куда либо от самой платы. Рисунок прилагаю Еще подскажите если при расчете OCR0 получается число 54.5 то округлять к 54 или 55 ?
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 29 2011, 08:37
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 23-09-11
Из: Вьетнам
Пользователь №: 67 350

|
Цитата(adc @ Oct 29 2011, 14:51)  Что то вы там все мудрите))) Модулируете передатчик допустим контроллером. На приемнике ловите сигнал и обрабатываете. Чтобы приемник не "затыкался" постоянной частотой, ее(частоту 36кГц) нужно давать пачками , скажем с периодом 1кГц. С выхода TSOP у вас будет меандр 1кГц. Вот по наличию этого мендра вы и будите контроллером оценивать присутствие объекта в зоне излучения. Подскажите пожалуйста как давать ее пачками. #include<mega16.h> void main (void){ DDRB.3=1; ASSR=0x80; TCCR0=0x19; TCNT0=0x00; OCR0=110; while(1); } Как я понял в этом варианте будет постоянно 36 кГц давать на ножку 3 порта B. порылся в интернете,ничего не нашел по этому поводу
|
|
|
|
|
Oct 29 2011, 11:23
|
Частый гость
 
Группа: Участник
Сообщений: 90
Регистрация: 23-09-11
Из: Вьетнам
Пользователь №: 67 350

|
Собрал вся конструкцию, на atmega16 , на PORTB.3 модулирую сигнал кодом выше, на ИК диод через резистор 100 ом. Принимаю Tsop1836 выводы GND на массу, VCC через 220 ом на питание, OUT на ногу МК PINA.0 Далее направил ик диод на Tsop. Программа состоит в следующем, если луч между ик диодом и TSOP прерывается, то загорается сетодиод на PORTD.1
if (PINA.0==1){ PORTD.1==1; else{ PORTD.1==0 } }
Включил, не работает. На сколько я понимаю я не правильно принимаю сигнал. Подскажите что не так
Сообщение отредактировал ururur - Oct 29 2011, 12:03
|
|
|
|
|
Oct 30 2011, 17:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(ururur @ Oct 30 2011, 20:43)  значит из последнего эксперимента получилось вот что. На расстоянии пол метра направлен ик диод на тсоп. Меряю на выходе тсопа напряжение. один конец на выход , другой на + . Показывает 0.03 вольта. Если закрыть ик диод и потом убрать руку то на Tsop Напряжение подпрыгивает до 4.5 вольта и опять 0.03. При изменении расстояния разницы никакой.
To adc. К сожалению я не знаю что такое несущая, пролазил много сайтов, не не наткнулся на то как посылать сигнал пачками, поэтому спрашиваю здесь. Просматривал множество схем ик барьеров, в том числе обсуждений на этом сайте но так и не разобрался. Подскажите пожалуйста что я делаю не так. 36 - это несущая. Вам надо сформировать одиночный импульс длительностью 1ms и заполнить его этой частототой. Bcё делается на одном таймере. Один канал формирует 36 , второй 2ms - 500 гц В момент положительной или отрицательной длительности импульса разрешить выход 36 кгц Посмотрите - модулятор в инете
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 30 2011, 18:41
|
Знающий
   
Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440

|
Я программы писать не умею, поэтому по коду ничего не скажу. Но по части железа... я бы сделал синхронный детектор, например как на приложенном рисунке. На U1.a,U1,b собран мультивибратор. Он подает на LED импульсы, и эти же импульсы открывают аналоговый ключ U3. Поскольку такой детектор пропускает не только импульсы основной частоты, но и все кратные гармоники, необходим аналоговый полосовой фильтр на операционнике U2a, U2b. U1 - любой логический элемент, например 74HC02, 74HC03, 74HC04, и т д U3 - например FST3126 U2 - операционник работающий от 5V и подходящий по частоте. Удачи!
Эскизы прикрепленных изображений
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|