roboforum.ru

Технический форум по робототехнике.
Текущее время: 22 фев 2025, 09:12

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




Начать новую тему Ответить на тему  [ Сообщений: 81 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения: Re: ИК - приемник
СообщениеДобавлено: 23 дек 2009, 23:21 
Не в сети
Аватара пользователя

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
припаял переключатель, включаю диод загарается/ выключаю он гаснет.
между ИК диодом и ТСОП гдето около 1см

Добавлено спустя 6 минут 12 секунд:
Код:
#include <mega8.h>
#include <delay.h>

void flash_l()
{
unsigned int i,j;
for (j=0;j<10;j++)
  {
    for(i=0; i<12; i++)
      {
   PORTD.1=1;
        delay_us(13);
   PORTD.1=0 ;   
        delay_us(13);
      }
   
    delay_us(170);  // 0,6 ms
   };     
}

void main()
{
DDRC = 0xff;
DDRD = 0x02;
DDRB = 0xff;
PORTB = 0x00;

while (1)
      {
         flash_l();
         
        if (PIND.0 == 0){ // пришел "0"
PORTC.5 = 1;  // зажигаем индикацию
delay_ms(100); // чтобы успеть заметить
}
PORTC.5 = 0; // гасим

      }
}


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Значит ТСОП сигналы с ИК диода правильно принимает. Это уже хорошо!
Теперь надо мощность излучения ИК диода подобрать. Поставь переменный резистор последовательно с ИК диодом (где нибудь килоом на 10) и постепенно увеличивай сопротивление до нормальной работы. Ну или попробуй разные номиналы по очереди припаивать. ТСОП очень чувствительный. Засвечивается отраженными сигналами даже через перегородку.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК - приемник
СообщениеДобавлено: 23 дек 2009, 23:22 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
Могет лучше так,

Код:
void flash_l()
{
    for(unsigned char i=0; i<12; i++)
      {
   PORTB.2=1;
        delay_us(13);
   PORTB.2=0 ;   
        delay_us(13);
      }
   
   };     
//////////////////////////////////////////////////////////////////////////
void main(void)
{
init();

while (1)
      {
         flash_l(); // выдали пачку импульсов и сразу проверяем
if(PIND.0 == 0) // пришел "0"
   PORTC.5 = 1; // зажигаем индикацию
delay_ms(100); // чтобы непрерывно не излучало и индикатор заметить
     PORTC.5 = 0; // гасим кады отклик не дошел
      };
}


Последний раз редактировалось contr 23 дек 2009, 23:25, всего редактировалось 2 раз(а).

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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Ещё, что-бы корректно было перенеси "delay_us(170); // 0,6 ms" в начало цикла, как я советовал ранее.

Добавлено спустя 1 минуту 44 секунды:
contr писал(а):
Могет лучше так,

Так тоже можно, но я предпочитаю именно пачку импульсов посылать. Для надёжности. Хотя это IMHO/

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ИК - приемник
СообщениеДобавлено: 23 дек 2009, 23:34 
Не в сети

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
так я Вашу пачку из 12 импульсов и оставил. Можно до 255 увеличить, но 8..10 обычно хватает.


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Эти 12 импульсов с ИК диода, на выходе ТСОП появятся одним импульсом.
Я имел ввиду пачку импульсов на выходе ТСОП-а. :)

Добавлено спустя 1 минуту 38 секунд:
contr писал(а):
но 8..10 обычно хватает.

По даташиту не менее 10 рекомендуют вроде...

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


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

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
поставил пер резистор на 6.8 ком, но это все равно многовато, надо где то на 3кОм. Но все равно настройка частично получается.

Добавлено спустя 18 минут 42 секунды:
устанавливаю перегородку между ик и тсопом - кручу резистор, индикаторный диод гаснет. пожу препятствием переддатчиком - 0 эффекта, убираю препятствие. Вынимаю перегородку индикатор загорается, частично настройка прошла успешно, но все равно датчик не реагирует на препятствие в переди его.


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

Зарегистрирован: 17 апр 2009, 15:09
Сообщения: 987
Откуда: Rostov-Don
втыкаем шнурок в линейный вход звуковухи компа и шарим по выводам, наблюдая картинки


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Разнеси ИК диод и ТСОП на расстояние(20-30см) направь друг на друга, попробуй перекрыть лучь непрозрачным предметом, например книгой. Подстрой резистор что-бы чётко срабатывало.

Добавлено спустя 5 минут 45 секунд:
И ещё. Ты ТСОП правильно подключил? Согласно даташита?
Вот в этом топике я показывал примеры подключения ТСОП и ИК диода: viewtopic.php?f=68&t=7188&start=0
Это важно.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


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

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Все это сделал срабатывает четко, на растоянии 20-30 см и даже больше. На плате на каком растоянии их установить друг от друга?

Добавлено спустя 1 минуту 40 секунд:
Подключино все на прямую, конечноже не по дадашиту.

Добавлено спустя 14 минут 49 секунд:
Сейчас обнаружил следующее: поместил ИК диод рядом с тсоп-ом, разделил их перегородкой. включаю схему - после настройки светодиод не загорается, подношу препятствие - датчик то срабативает, то нет. если не срабативает то переключаю ренее установленной кнопкой по совету yak-40 и все работает, вот только частенько надо переключать.
Но меня результат уже радует. :)
:beer:


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Цитата:
Сейчас обнаружил следующее: поместил ИК диод рядом с тсоп-ом, разделил их перегородкой. включаю схему - после настройки светодиод не загорается, подношу препятствие - датчик то срабативает, то нет. если не срабативает то переключаю ренее установленной кнопкой по совету yak-40 и все работает, вот только частенько надо переключать.
Видимо твоя перегородка плохо защищает от проникновения ИК лучей.
А у ТСОП-а АРУ очень хорошо работает, если сигнал ловит, то не отпускает даже слабый.
Я обычно в таких конструкциях ИК диод в длинную металлическую трубку вставляю(например от сломаной телескопической антенны для телека). Тогда он светит исключительно вперед и ТСОП не подсвечивает.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


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

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Нет, дело не в перегородке ("дело было не в бабине"), опробовал разные.

Цитата:
Включаю схему - после настройки светодиод не загорается, подношу препятствие - датчик то срабативает, то нет. если не срабативает то переключаю ренее установленной кнопкой по совету yak-40 и все работает, вот только частенько надо переключать.


Такое ощущение что программа зависает.


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

Зарегистрирован: 04 апр 2008, 13:44
Сообщения: 266
Откуда: г.Петрозаводск
могет лучше генерироать импульсы с помощью таймера?delay всё таки не очень хорошо в таких вещах имхо.

Добавлено спустя 2 минуты 33 секунды:
Код:
#include<MEGA8.H>

int t1=0,t2=0;
void main(void) {
DDRC.1=1;
DDRC.2=0;
DDRB.3=1;   
DDRB.0=0;
DDRD.5=0;
TCCR0=0b0000001;
ASSR=0x00;
TCCR2=0b00011001;
TCNT2=0x00;
OCR2=0x0D;

while(1){
if((TIFR & (1 << 0))==1){t1=t1+1,t2=t2+1,TIFR=0b00000001;}
if(t1==1){TCCR2=0x00,t1=0;}
if(t2==2){TCCR2=0x19,t2=0;}
if(PINB.0 == 0){PORTC.1=1;}
else{PORTC.1=0;}

}
}

как то так .Это кажется на кварц 7.5 мГц,не помню уже.

_________________
жизнь это компьютерная игра:сценарий так себе, зато графика потрясающая!
удиви печень:выпей воды!


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

Зарегистрирован: 04 окт 2007, 16:11
Сообщения: 1027
Откуда: иваново
Skype: cybsys1
прог. языки: Delphi
ФИО: Павел
Так то хоть заставить бы его нормально работать, а потом видно бы было... :)


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
CiSi писал(а):
Такое ощущение что программа зависает.

А как у тебя с питанием? Хорошее питание - залог здоровья :D

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


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

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


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

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


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

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