roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 18:19

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




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

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

Есть же в Wiki проект ИК бампера с кодом.
Может стоит там посмотреть?

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


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Вот код.
Но что странно (для меня :) ). Когда в протеусе проверяю частоту сигнала с пина d5 она какаято странная.
По идее при таких задержках (16 мкс), должна частота быть 30 kHz.
А она, как я понял, всего 3700 герц.

Код:
while (1)
      {
      PORTD.5 = 1;
      delay_us(16);
      PORTD.5 = 0;
      delay_us(16);
      };


Да не халявщик я. Просто плохо во всем этом разбираюсь. Я вообще программист изначально :)

Добавлено спустя 6 минут 22 секунды:
А судя по осциллографу задержки вообще 130 мкс.


Вложения:
osc.JPG
osc.JPG [ 103.08 КиБ | Просмотров: 1104 ]
prot.JPG
prot.JPG [ 51.51 КиБ | Просмотров: 1108 ]

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

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
А частоту кварца кто будет указывать? Причем и в программе, и в свойстве самой модели МК

_________________
if(!Operate) Read(pDatasheet);


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Спасибо! Просто в проге еще не разобрался.
Я вообще в CVAVR делаю. Там вроде при создании проекта указывается частота кварца.

_________________
E=mc2


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

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Там указывается, и в Протеусе по-умолчанию тоже какая то указывается - может глючить...

_________________
if(!Operate) Read(pDatasheet);


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Прошил контроллер.
(указал в проге частоту)
Включаю. Диоды горят, но реакции ни на руку ни на лист бумаги нету.
Код такой собственно.
Код:
while (1)
{
      for(i=0; i<10; i++)
      {
      PORTD.5 = 1;
      delay_us(17);
      PORTD.5 = 0;
      delay_us(17);
      if(PIND.6 == 0) // на всекий случай и сюда поставил.
        {
        walk(1);
        }
      }
delay_us(500); //500 это исходя из того что между пачками задержка 14 тактов.
if(PIND.6 == 0)
{
walk(1);
}

};

_________________
E=mc2


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

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
По моему что то не то, частота скорее всего ниже, нужно осциллографом проверить

Добавлено спустя 1 минуту 52 секунды:
Какая хоть частота кварца?

_________________
if(!Operate) Read(pDatasheet);


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Кварц на 8 MHz.
Померил выход с контроллера, тестером (тестер на больше 20KHz берет)
Показывает 3.45 kHz :(

_________________
E=mc2


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

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Сделай ШИМ не в цикле а по таймеру - точнее во-первых, во вторых проще получить нужную частоту

_________________
if(!Operate) Read(pDatasheet);


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

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
DiNoZawR писал(а):
Померил выход с контроллера, тестером (тестер на больше 20KHz берет)
Показывает 3.45 kHz

Осцилографом бы обычным посмотреть.

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


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

Зарегистрирован: 20 июл 2009, 13:59
Сообщения: 119
Откуда: Канск
Заранее извиняюсь за возможный бред...
DiNoZawR, как ты высчитал что тебе нужен период импульса в 34мкс? 1МГц/30кГц=34мкс - продолжительность одного импульса, правильно? Если так, то почему 1МГц, а не 8, как у твоего кварца...

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


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

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

Код:
void wait(void){
TCNT1=0;
while(TCNT1<120){};
}
...
TCCR1A=0x00;
TCCR1B=0x01;
...
while (1)
{
PORTD.5 = 1;
wait();
PORTD.5 = 0;
wait();

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

};


Добавлено спустя 3 минуты 14 секунд:
Ну мне нужна частота 30 000 герц.
Это 30 000 за 1 секунду или 30 за 1 миллисекунду.
1 миллисекунда равна 1000 микросекунд.
1000/30 = 32 (примерно)

Добавлено спустя 1 час 25 минут 26 секунд:
Интересная вещь.
Если в протеусе не указывать частоту кварца, то на выходе частота будет как раз 3.4-3.8
Я в коде указал частоту
Код:
#define F_CPU 8000000

Это верно? Может что-то еще нужно?

_________________
E=mc2


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

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


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

Зарегистрирован: 18 дек 2008, 09:54
Сообщения: 25
Откуда: Москва
Кварц я к ней подключил на 8 MHz.

В общем я проверил. Что с кварцем что без все равно она такую же частоту на выход выдает.

_________________
E=mc2


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

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

така город свой заполни
или не читай что я тебе тут пишу. :)


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

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


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

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


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

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