roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 15:50

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 29 сен 2009, 20:19 
Не в сети
Аватара пользователя

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Все! Разобрался!
У меня мега Atmega8-16PU !!!
Там же свой кварц на 16!
Увеличил в таймере
Код:
void wait(void){
TCNT1=0;
while(TCNT1<240){};
}


вроде реагировать начал. Только настроить надо.
Спасибо всем)

_________________
E=mc2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 29 сен 2009, 20:22 
Не в сети
Аватара пользователя

Зарегистрирован: 28 дек 2004, 20:33
Сообщения: 10211
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович
нет нам внутреннего кварца на 16МГц, максимум на 8Мгц


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 29 сен 2009, 20:34 
Не в сети
Аватара пользователя

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Хм.
Теперь другая проблема.
Кручу настройку диодов.
После какого-то момента приемник срабатывает сразу. Даже если препятствия нет.
Уменьшаю напряжение, не реагирует вообще...

_________________
E=mc2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 29 сен 2009, 22:16 
Не в сети

Зарегистрирован: 29 окт 2008, 18:14
Сообщения: 260
Откуда: Химки МО
прог. языки: Java
Вот как у меня проверяется (спер у rig, за что ему огромное спасибо):
Код:
for(y=0;y<2;y++)
{
   delay_us(Ik_time_detect_front*2*15);
   for(x=0;x<Ik_pachka;x++)
   {
      delay_us(Ik_time_detect_front);
      IR_D_L_ON;
      delay_us(Ik_time_detect_front);
      IR_D_L_OFF;
   }
   if (TSOP_F==0)    
   {
      // если препятствие
   }
}

Ik_time_detect_front = 17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 29 сен 2009, 22:24 
Не в сети
Аватара пользователя

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

Внутреннего кварца нет, есть внутренний калиброваный генератор мах 8 МГц.
DiNoZawR писал(а):
После какого-то момента приемник срабатывает сразу. Даже если препятствия нет.
Уменьшаю напряжение, не реагирует вообще...

Возможно идёт подсветка ТСОП-а светодиодом. Обычно светодиод в непрозрачную трубочку устанавливают, или перегородкой отгораживают.

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


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Да я на диоды колпачки металлические одеваю и все равно. =(
Полный код программы. Проверьте пож.

Чтото с этим датчиком вообще неладное.
Хотел фотиком проверить, горят ли диоды. Он сработал несколько раз. один раз. Перед ним машу, рукой или зеркалом, ничего... %/
Вообще уже жалею что связался с ним :cry:
Код:
#include <mega8.h>
#include <delay.h>
#define F_CPU 8000000UL

int i;
int k;

void walk(int k){
switch(k){
case 1: PORTC = 0b00001001; break;
case 2: PORTC = 0b00000110; break;
case 3: PORTC = 0b00000101; break;
case 4: PORTC = 0b00001010; break;
case 0: PORTC = 0b00000000; break;
}
}
void wait(void){
TCNT1=0;
while(TCNT1<256){};
}
void main(void)
{
PORTB=0x00;
DDRB=0x00;


PORTC=0x00;
DDRC=0x0F;


PORTD=0xFE;
DDRD=0b10100001;


TCCR0=0x00;
TCNT0=0x00;


TCCR1A=0x00;
TCCR1B=0x01;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;


// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
PORTD.7=1;



while (1)
{
for(k=0; k<2; k++)
        {
        delay_us(17*2*15);
        for(i=0; i<20; i++)
        {
        PORTD.5 = 1;
        delay_us(17);
       
        PORTD.5 = 0;
        delay_us(17);
       
        }

        if(PIND.6 == 0)
        {
        walk(1);
        }
        else
        {
        walk(0);
        }
};     

};
}

_________________
E=mc2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 30 сен 2009, 06:09 
Не в сети
Аватара пользователя

Зарегистрирован: 20 июл 2009, 13:59
Сообщения: 119
Откуда: Канск
А смотрели схему на робозоне http://robozone.su/2008/04/09/modul-ik-datchika-na-osnove-tsop2136.html, может стоит пока взять код оттуда? Или посмотреть на робоклубе http://parts.roboclub.ru/index.shtml?ik - там код на асме, но зато рабочий, только имя одной переменной подправить, а то АВР студия ругается, и пересчитать под свой кварц и частоту ТСОПа.
И еще, по какой схеме собирали датчик? Как ИК-диод расположен относительно ТСОПа? ИК-диод может засвечивать ТСОП даже задней частью...

_________________
Ты приснись ей, ангел белый, пусть ей будет хорошо...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 30 сен 2009, 11:45 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Светодиод с тсопом лучше так ориентировать:
Вложение:
.GIF
.GIF [ 5.09 КиБ | Просмотров: 1435 ]

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с программой TSOP
СообщениеДобавлено: 30 сен 2009, 15:53 
Не в сети
Аватара пользователя

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Убил контроллер :(
Поставил не те фьюзы.
А программатора параллельного нету.
Где-то видел статью по реанимацию с помощью второй меги но найти не могу(

_________________
E=mc2


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

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


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

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


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

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