roboforum.ru

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

Serial-связь по ИК на высоких скоростях

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 17 ноя 2011, 21:18

А, язвы.... Сейчас вот посмотрел SIR трансиверы, плюнул на цену и поехал в чип и дип. Пока по пробкам отстоял, пока подождал полтора часа пока карапуз проснется, захожу в магазин, 10 минут жду, пока тетя ищет по полкам. И, такая - а у нас этого нет. КАКОГО ФИГА ТОГДА НА САЙТЕ СКЛАДСКИЕ ОСТАТКИ ПУБЛИКОВАТЬ? Короче 4 часа времени в трубу.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 17 ноя 2011, 21:36

вот так и убивают идеи в зародыше, сцуки
А про чип-дип - 3 раза: сцуки, сцуки, сцуки :)

Добавлено спустя 4 минуты 50 секунд:
пока ты ездил в чип-дип, я выпиливал сир из ноутной платы, все равно он ей был не нужен :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 18 ноя 2011, 01:01

ррррррррррррр

Добавлено спустя 2 часа 26 минут 46 секунд:
А я, пока ты там надфилем работал, нашел отличный кодер-декодер SIR:
http://www.terraelectronica.ru/pdf/ST/STM8S103F2P6.pdf
80 рублей.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 18 ноя 2011, 01:03

Подтвердились мои худшие предположения :D
Сир работает как датчик поверхности, на руку реагирует с 0.5 метра :shock:
Временно передатчиком использую пульт ду, направленный в одну сторону с сир.
Отдельные импульсы 37-ми кгц. пульта ловит без помех с 0.25 метра
Ща напишу простенький генератор пачек, серж превед :)
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 18 ноя 2011, 02:57

А я сделал-таки небольшую кастомизацию платы, увел ШИМы стирами с выхода модулятора, спаял капелькой олова выходы дата-модулятора и УАРТа (благо рядом). Теперь в зависимости от дефайна комбинированный может работать либо как усарт, либо как сир. Все чисто в харде, ни одного тактика налево. Так-то.

Добавлено спустя 1 минуту 10 секунд:
Завтра цапану к ней STM32 c SIR-oм и посмотрю, понимает ли нейтив хардовый SIR мое творение. Если да, буду писать апноут для микрочипа, гыг.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 18 ноя 2011, 03:46

куплю губозакаточную машинку, дорого :(
в общем приемник слепой во время передачи :cry:
буду городить светодиод внешний...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 18 ноя 2011, 11:45

dccharacter писал(а):Хрена с два что у меня с IRDA получится. Там очень долго идет перекодирование:
Receiver Latency tL(RXD) 100 200 ms Time Receiver

А, нет, судя по тайминг-диаграм в даташите на какой-то ресивер от TI, в риал-тайм все перекодируется. Наверное этот латенси - при переключении с передачи на прием.

Хы-хы-хы. Ой ха-ха-ха. Ой хо-хо-хо. Ой гы-г... Ой
Ну ладно даташиты не читаешь, но меня мог бы послушать :-)

Добавлено спустя 57 секунд:
А ваще, чо за цирк? Какие пачки? Пачки вон на отражательном оптроне генерируй. А ИРДА трансиверы не тронь.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 18 ноя 2011, 15:53

dccharacter писал(а):Ну ладно даташиты не читаешь, но меня мог бы послушать

Даташиты читают зануды :)
dccharacter писал(а):А ваще, чо за цирк? Какие пачки? Пачки вон на отражательном оптроне генерируй. А ИРДА трансиверы не тронь.

Ты че? он даже для пультов ДУ расчитан, не надо ля-ля

Повесил внешний светодиод, все работает...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 19 ноя 2011, 19:43

О, не прошло и года - заработала моя связка "хардовый IRDA-енкодер + софтовый декодер" _по проводу_. С замиранием сердца принялся запиливать ИК-линк. Хотя от фототранзистора ничего в общем-то и не жду. Надо было ПИН-диодов купить в чипе, дурень я.

Добавлено спустя 4 минуты 13 секунд:
Собственно, вот он декодер:

Код: Выделить всёРазвернуть
void interrupt isr (void)
{
    if (INTE && INTF)
    {
        RB3 = 0;
        INTF = 0;
        TMR6 = TMR_VAL;
        TMR6IF = 0;
    }
    if (TMR6IE && TMR6IF)
    {
        RB3 = 1;
        TMR6 = TMR_VAL;
        TMR6IF = 0;
    }
}


Добавлено спустя 2 часа 22 минуты 55 секунд:
Ну ЧО, работает. Но фототранзистор ужос какой медленный. Ну просто ужос. Чуть-чуть рука дернулась, сигнал поплыл.

Работало уверенно при неподвижном источнике сигнала сантиметрах на 5-8 под прямым светом лампы (поднесенной сантиметров на 20-ть). Ну теперь я очень надеюсь на ПИН-диод.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 19 ноя 2011, 21:31

dccharacter писал(а):Ну ЧО, работает. Но фототранзистор ужос какой медленный. Ну просто ужос. Чуть-чуть рука дернулась, сигнал поплыл.

В кругах проффесионалов это называется не работает :)

TMR6 = TMR_VAL;
А пачиму ты присваиваешь новое значение таймеру, а не добавляешь новое значение?
Влетание в прерывание - процесс нестабильный по времени, а ты таймер стартуешь с фиксированного значения.
При добавлении значения таймеру будет нормированная задержка в 2 такта...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 19 ноя 2011, 23:26

Ну профессионалы, наверное, на фототранзисторах ИК-линки не делают.

Слуш, про таймер не понял. Про то, что у меня плавает задержка - ясно. Неясно с добавлением?!?!?!
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 19 ноя 2011, 23:39

Попробуй:
TMR6 += TMR_VAL;

Только в листинге асмовском проверь, чтоб это за одну команду прошло.
типа:

movlw TMR_VAL
addwf TMR6,f


Мы про pic говорим? :oops:
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 19 ноя 2011, 23:51

Про PIC. Только я все равно не понял. Когда я присваиваю таймеру значение, скажем, 200, я знаю, что до переполнения 56 тиков. А тут я влетаю в прерывание и неизвестному значению таймера добавляю некую константу. И что я получаю в итоге?
Код: Выделить всёРазвернуть

ААААААААААААААААА



АААААААААААААААААААААААААААААААААААААААААА


ЧЕРТ


Я ПОНЯЛ!


Добавлено спустя 48 секунд:
круто
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: Serial-связь по ИК на высоких скоростях

Сообщение Dmitry__ » 19 ноя 2011, 23:59

при влетании в прерывание у тебя таймер будет от 0 до , например, 10 (задержка прерывания)
и к этому значению ты прибавляешь нужное. Получается фаза дрожит, но ошибка не накапливается
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Serial-связь по ИК на высоких скоростях

Сообщение dccharacter » 21 ноя 2011, 01:05

Бл*?:
Поехал на рынок, купил тушки телефонные, выпаял оттуда ирду. Понадеялся на пин-совместимость с HSDL-3209 (вообще почему-то думал, что они соместимые - в каком-то даташите видел гордую надпись про соместимость, ну и думал что это стандарт)

Ну чо, искры, как всегда. Да что ж за *?:*;№?:*%:;?((;*?%
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Пред.След.

Вернуться в Электроника, электротехника

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

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