roboforum.ru

Технический форум по робототехнике.

ИК локатор из RoboClub - не должен он работать

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: ИК локатор из RoboClub - не должен он работать

Сообщение mmu » 02 ноя 2007, 23:37

А критиковать это показывать автору что он делает не так, как делал бы я, если бы умел.


Разве я критиковал автора. В первом сообщении я написал, что схема работает и к схеме ни каких притензий нет, а автору честь и хвала. Не для критики написано, а чтобы понять как это работает. Единственный объяснение - скорее всего в задержке выходного сигнала относительно входного. Хотя в даташите таких данных нет и это предположение. Спасибо всем за ответы.
PS. Когда то давно моя работа была связана с радиолокационными станциями. Отсюда и вопрос возник.
mmu
 
Сообщения: 21
Зарегистрирован: 31 янв 2007, 16:10
Откуда: Уфа

Re: ИК локатор из RoboClub - не должен он работать

Сообщение Strijar » 03 ноя 2007, 12:05

Когда я делал бампер мне тоже показалось это странным. Поэтому у меня начинается опрос почти сразу после начала посылки. В даташите на 17хх видно, что задержка в появлении выходного сигнала от 7/f0 до 15/f0, а длинна его +- 6/f0 т.е. он может быть после выключения несущей, а может и не быть.
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение Myp » 03 ноя 2007, 12:52

mmu писал(а):Единственный объяснение - скорее всего в задержке выходного сигнала относительно входного. Хотя в даташите таких данных нет и это предположение.

:lol:

таки рекомендую вам исчо раз прочитать даташит и посмотреть картинку
там ЯВНО указано про задержку выходного сигнала :lol:
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: ИК локатор из RoboClub - не должен он работать

Сообщение Master » 03 ноя 2007, 13:03

Мур ты уже как avr сделай скрин даташита, обведи красным нужное и выложи сюда. Это быстрее чем разводить споры на несколько страниц. Я б выложил, но я пока не вешал ТСОП на МК, я так просто светиком мигал на пульт ДУ.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: ИК локатор из RoboClub - не должен он работать

Сообщение MEXAHuK » 03 ноя 2007, 15:43

Strijar писал(а):Когда я делал бампер мне тоже показалось это странным. Поэтому у меня начинается опрос почти сразу после начала посылки.


А еще можно выходы TSOP'ов, кроме своих входов МК, через диоды вешать еще и на на ножку МК с аппаратным прерыванием по спаду, и обрабатывать появление сигналов о возможном препятствии в прерывании. На входе с аппаратным прерыванием надо включить подтягивающий резистор.
Тогда не надо гадать, сработал TSOP или еще не успел, как сработает - вызовется подпрограмма обработки.
Аватара пользователя
MEXAHuK
 
Сообщения: 228
Зарегистрирован: 07 янв 2005, 23:39
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение steel_monkey » 03 ноя 2007, 20:28

А если ТСОПов больше двух?
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: ИК локатор из RoboClub - не должен он работать

Сообщение Myp » 03 ноя 2007, 20:42

прерывания на тсоп это расточительство
эти тупые приборы и так достаточно долго выдают импульс чтобы можно было его просто сканировать
у меня вот 3 штуки например...
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: ИК локатор из RoboClub - не должен он работать

Сообщение MEXAHuK » 03 ноя 2007, 22:03

steel_monkey писал(а):А если ТСОПов больше двух?


развязка - через диоды, что-то типа вот этого:

3int_8535.jpg
3int_8535.jpg (17.81 КиБ) Просмотров: 1383

нажатие любой кнопки вызовет аппаратное прерывание, в обработчике которого можно не спеша :) анализировать с какой(их) стороны (сторон) угроза.

Мур писал(а):прерывания на тсоп это расточительство
эти тупые приборы и так достаточно долго выдают импульс чтобы можно было его просто сканировать
у меня вот 3 штуки например...


расточительство или нет - это зависит от слишком многих факторов.
на это же прерывание через диодную развязку можно повесить все тсопы и другие аппаратные датчики, датчики края поля для сумо-бота, например.
Аватара пользователя
MEXAHuK
 
Сообщения: 228
Зарегистрирован: 07 янв 2005, 23:39
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение steel_monkey » 03 ноя 2007, 22:55

А как собственно эта схема работает? В режиме внешнего прерывания к этому пину можно изнутри включить подтяжку к питанию? Ведь просто вход это вроде Z-состояние.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: ИК локатор из RoboClub - не должен он работать

Сообщение MEXAHuK » 03 ноя 2007, 23:18

steel_monkey писал(а):А как собственно эта схема работает?

Да в общем все просто. При инициализации подтягиваем PORTA и PORTD.2 к питанию. INT0 устанавливаем как прерывание по спаду.
Нажатие кнопок устанавливает низкий уровень на входе соответсвующего бита порта А и одновременно - на входе PORTD.2, который, по совместительству отвечает за внешние прерывания (INT0).
Сидим, ковыряем в носу, по аппаратному прерыванию проверяем, какой(ие) бит(ы) порта A сработал(и), зажигаем соответствующий(е) светодиод(ы) на порту B. Фсё. :cool:

steel_monkey писал(а):В режиме внешнего прерывания к этому пину можно изнутри включить подтяжку к питанию? Ведь просто вход это вроде Z-состояние.

Конечно, можно, почему нет ? Сорри, что цитирую сам себя, но об этом я упоминал в пред-предыдущем сообщении :
MEXAHuK писал(а):... На входе с аппаратным прерыванием надо включить подтягивающий резистор.
Тогда не надо гадать, сработал TSOP или еще не успел, как сработает - вызовется подпрограмма обработки.
Аватара пользователя
MEXAHuK
 
Сообщения: 228
Зарегистрирован: 07 янв 2005, 23:39
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение steel_monkey » 04 ноя 2007, 00:25

Просто я не знал, что в режиме внешнего прерывания к ногам INT0 и INT1 можно изнутри резисторы цеплять.
Тут вот по ходу еще один вопрос возник: а диод пойдет обычный кремниевый или Шоттки? Ведь резисторы одтяжки по даташиту 20-50 килоом, а логическая единица это 0,6 от питания. Собственно, достаточно ли открывается обычный кремниевый диод?
Последний раз редактировалось steel_monkey 04 ноя 2007, 17:18, всего редактировалось 1 раз.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Re: ИК локатор из RoboClub - не должен он работать

Сообщение Strijar » 04 ноя 2007, 16:40

MEXAHuK писал(а):А еще можно выходы TSOP'ов, кроме своих входов МК, через диоды вешать еще и на на ножку МК с аппаратным прерыванием по спаду


У меня считается количество "ответов". Чем больше - тем ближе препятствие. Сделано все в одном обработчике таймера - и генерация пачек на диод, и снятие ответа от TSOP
Вложения
tsop.gif
Из даташита на TSOP17xx
tsop.gif (6.68 КиБ) Просмотров: 1702
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение MEXAHuK » 05 ноя 2007, 01:14

steel_monkey писал(а):Тут вот по ходу еще один вопрос возник: а диод пойдет обычный кремниевый или Шоттки? Ведь резисторы одтяжки по даташиту 20-50 килоом, а логическая единица это 0,6 от питания. Собственно, достаточно ли открывается обычный кремниевый диод?


Шоттки, конечно, хорошо, но устойчиво работает и на обычных.
Ставил не помню какие, когда экспериментировал, просто сдул несколько smd с платы cd-рома.
Аватара пользователя
MEXAHuK
 
Сообщения: 228
Зарегистрирован: 07 янв 2005, 23:39
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов

Re: ИК локатор из RoboClub - не должен он работать

Сообщение -= Александр =- » 06 ноя 2007, 20:24

Я не помню как там было сделано, но все умные люди вешают TSOP на внешнее прерывание. И неважно чем был занят МК, но если от TSOPа пришел ответ - значит флаг прерывания появился. А когда мы на него обратим внимание - это уже неважно. Для того и нужен механизм прерываний, чтоб ловить такие события.
Ниндзя - круче всех. Они умеют ходить по воде, делить на ноль и угадывать шаффл в АйПоде.
Аватара пользователя
-= Александр =-
Мастер Самоделкин
 
Сообщения: 3678
Зарегистрирован: 11 окт 2004, 19:20
Откуда: Россия, СПб
прог. языки: C/C++, Python, asm
ФИО: Курмис Александр Андреевич

Re: ИК локатор из RoboClub - не должен он работать

Сообщение steel_monkey » 06 ноя 2007, 20:55

У вроде 2313 есть такая штука- целый порт (8 ног) дает прерывания по изменению уровня. В мегах не рылся, может у старших такая штука тоже есть.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

Пред.След.

Вернуться в Микроконтроллеры

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

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