0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
1

STM32 Discovery + RC5

26.09.2012, 10:14. Показов 18486. Ответов 35
Метки нет (Все метки)

Хай всем :)
Пробую запустить библиотеку от ST на дискавери, по немногу продвигался и даже чтото заработало. Начало тут.
В итоге оно то и декодит, но явно не то. Все кнопки на пульте имеют одинаковые команды и иногда варьируються случайным образом между 2-3мя значениями.
Первоначально была еще проблема, что касаюсь провода датчика и он начинает якобы принимать посылки (опять же мусор), решил тем, что выход датчика подтянул через 10к на Vcc и на плату посадил тантал 10uF. Датчик такой.
Уже и попробовал в файле RC5_IR_Emul_Receiver.c уменьшить разброс на +\-10%:
Код
#define   NOMINAL_HALF_BIT_TIME_US   889  /* Nominal half bit time in µs */
#define   MIN_HALF_BIT_TIME_US       800 // 640  /* Minimum half bit time in µs */
#define   MAX_HALF_BIT_TIME_US       977 // 1140 /* Moxymum half bit time in µs */

#define   NOMINAL_FULL_BIT_TIME_US   1778 /* Nominal Full bit time in µs */
#define   MIN_FULL_BIT_TIME_US       1600 // 1340 /* Minimum Full bit time in µs */
#define   MAX_FULL_BIT_TIME_US       1995 // 2220 /* Moxymum Full bit time in µs */

#define   RC5_TIM_PRESCALER          2
Тоже не дало результата. Возможно кто либо знает причину или может подсказать...
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2012, 10:14
Ответы с готовыми решениями:

USART, STM32 discovery
Всем привет! Пытаюсь отладить отправку символа по USORT (плата STM32f0discovery. В отл адчике Keil...

Выбор STM32-DISCOVERY
Всем привет. Хочу заказать плату для начинающих с STM32. Остановил свой выбор на 1)...

STM32 FB100RB Discovery
Имею данную плату и задачу сделать АЦП на ней. Выборки мне нужно получать по порогу, размером 2...

STM32-Discovery и бутлоадер
В общем попал я на необитаемый островв глушь далеко от рабочего места. Под рукой только испорченная...

35
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
26.09.2012, 20:15 2
эмм, видимо вообще никто не использовал библиотеку от ST для RC5 для Dyscovery или работает так же как у меня ....
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
28.09.2012, 11:14 3
В цепь +5 или +3.3 TSOPа обязательно ставить резистор, а после него конденсатор(см. схему в даташите). Без него он неустойчив. В ответственных приложениях лучше добавить конденсатор и до резистора. Кроме того, многие пульты посылают 2 разные посылки на одну и ту же кнопку. И убедитесь что ваш пульт действительно имеет RC-5, потому что в современной технике он встречается все реже, а с другими типами эта библиотека и должна глючить.
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
29.09.2012, 02:05 4
Спасибо! Опробую завтра Ваш совет, а также нашел на днях, правда под ардуино,библиотеку, которая сама распознает rc5 \ rc6 \ Sony и еще какой то алгоритм, завтра выложу ссылку на описание + исходники и возможно буду её переделывать пытаться :)
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
29.09.2012, 17:43 5
Ссылка на библиотеку, поддерживает NEC, Sony SIRC, Philips RC5, Philips RC6, RAW форматы..
стоит ли попытаться переделывать под STM32 ?
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
29.09.2012, 20:09 6
Будьте последовательным. У вас есть проблема, пока не узнаете в чем причина, не переходите на другую библиотеку. Когда узнаете-переходите на самописную, это в разы больше пользы даст. Протоколы RC5/RC6/NEC покроют 90% пультов, если не больше. А лучше писать универсальную, так, чтобы она не анализировала протокол, а создавала некий сжатый слепок посылки.
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 534
29.09.2012, 20:14 7
>>стоит ли попытаться переделывать под STM32 ?
самому написать слабо ?
0
0 / 0 / 0
Регистрация: 24.07.2010
Сообщений: 286
30.09.2012, 02:10 8
Эта, тсоп у вас на другу частоту... или с таймером проблемы. Вот они и принимает 0 1 не по спаду или поднятию импульса а по его наличию не важно в каком промежутке. У меня такая же херня была когда пытался сам написать библиотеку, в итоге плюнул и взял готовую. Но так и не написал свою, аж осадок остался. Ну ни чего, будет время свою состряпаю, потому что хочется самому сделать.
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
30.09.2012, 12:19 9
самому написать слабо ?
пока что да. я больше железячник, чем программист.. поэтому с написанием алгоритмов у меня туго пока что.

Эта, тсоп у вас на другу частоту... или с таймером проблемы
Судя по ссылке на описание, он на 38 kHz. Я только не знаю как проверить что это действительно RC5. Хотя в комментариях товарищ вроде как прекрасно работает с этим пультом и той библиотекой, что приводил ссылку выше...

и по поводу тактирования -проблема возможна, где задаётся тактирование таймера ? или тактирование вообще процессора ? (я кстати не менял настройки тактирования в Dyscovery, по умолчанию как были с завода. но возможно после AVR я не правильно понимаю как тут настраиваеться это... по аналогии фьюз AVRвских же, правильно ?)

Ну ни чего, будет время свою состряпаю, потому что хочется самому сделать.
Хм, может в скайпе как нибудь сконнектимся и вместе попробуем сделать ? (если конечно не буду мешать)
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
30.09.2012, 12:23 10
Будьте последовательным. У вас есть проблема, пока не узнаете в чем причина, не переходите на другую библиотеку.
Хорошо. Постараюсь разобраться с этой библиотекой. :)

Когда узнаете-переходите на самописную, это в разы больше пользы даст.
Да.. опыт важен. Но пока что думаю это слишком высокая планка..

А лучше писать универсальную, так, чтобы она не анализировала протокол, а создавала некий сжатый слепок посылки.
т.е. работала как лог.анализатор - а дальше на выход привинчиваем какой надо декодер, так ?
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
30.09.2012, 12:59 11
Да.. опыт важен. Но пока что думаю это слишком высокая планка..
Как раз. Планка очень хороша для начинающих.

т.е. работала как лог.анализатор - а дальше на выход привинчиваем какой надо декодер, так ?
Нет, ваша задача-продумать алгоритм, который на выходе даст код, и этот код должен зависит от посылки. Я делал так, представим себе что у нас нет ни импульсов не пауз, есть только фронты, тогда любой код(даже неизвестного протокола) превращается в последовательность фронтов, с определёнными промежутками. Начинаем измерять эти самые промежутки, допустим, первый промежуток у нас 500мс. Заведем базу импульсов на 8 записей(индекс записи 3бита, 2 байта продолжительность). Занесем в базу значение в 500мс. Возьмем индекс (в данном случае 0) и отправим его в финальный код посылки. Следующий импульс оказался 510, это близко к 510, находим в базе запись, которая на +-20% похожа на искомую, это у нас снова 500, и снова мы посылаем в итоговую последовательность 3 бита. Приняли 1200мс, видим, что в базе таких нет, значит заведем такую, и присвоив ей уже индекс 1 и так далее. Если потребуется занести больше 8 записей-не страшно, просто возвращайтесь на нулевой индекс, это не помешает работе. В конечном счёте, финальный код будет образован набором 3-x индексов, уникальный слепок кнопки. Понимаю что написал сумбурно, но для понимания должно хватить.
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
30.09.2012, 13:26 12
И убедитесь что ваш пульт действительно имеет RC-5...
Как то пропустил вначале это.... возможно у меня действительно другой протокол. Есть ли простые способы опознать rc5 ? (в наличии есть лог.анализатор)

Понимаю что написал сумбурно, но для понимания должно хватить.
Идею вроде как понял. Переду к ней после того, как закончиться желание разобраться с этой библиотекой :) Возможно дело просто в настройках или пульт другого протокола..
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
30.09.2012, 13:43 13
Ну так запишите одну посылку и выложите. Заодно прикинем, насколько TSOP глючит
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
30.09.2012, 14:08 14
Окей :) Вечером сделаю несколько прогонов и выложу скрины. (сейчас на работе, не взял с собой ничего..)

UPD0: Извиняюсь, не получается сегодня. Завтра на работу возьму всё с собой и сделаю. Заодно и будет время немного поэксперементировать да повникать.
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
01.10.2012, 10:02 15
Итак, наконец таки у меня появилось свободное время и я сделал несколько "снимков" c разных кнопок пульта.
Кнопка Power:

<Изображение удалено>
Кнопка Mode:

<Изображение удалено>
Кнопка 4:

<Изображение удалено>
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
01.10.2012, 10:36 16
Это не RC-5. Это NEC. Насколько видно отсюда, TSOP не глючит.
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
01.10.2012, 11:32 17
а есть ли ключевые моменты протоколов основных, к примеру этого NECa и RC5 ?
0
0 / 0 / 0
Регистрация: 10.06.2012
Сообщений: 71
01.10.2012, 11:38 18
Естественно. Тут смотрите http://altor1.narod.ru/Articles/IRC.pdf
0
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 54
01.10.2012, 12:03 19
Спасибо большое!
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 534
01.10.2012, 12:56 20
http://lirc.sourceforge.net/remotes/
http://www.sbprojects.com/knowtidge/ir/index.php
http://usirs.telenet.be/dovshomepage/
http://www.ustr.net/infrared/infrared1.shtml
http://irq5.wordpress.com/2012/07/27/in ... ls-part-1/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2012, 12:56

Утонул с Stm32 f4 discovery
купил сию платку, воткнул в windows 7 x64, а он ее не видит, соотвественно и keil тоже ее не видит....

STM32 Discovery + uC OS II: Проц потянет?
Собственно, интересен вопрос, попрёт ли данная ось на МК Value Line? Какие у нее &quot;минимальные...

Спалил stm32-discovery (MB913C)
Помогите с дампом прошивки CPU STM32F103C8T6 для возобновления работы STLink на этой плате. Попало...

Плата STM32 F4 Discovery. Питание
Разбирался с питанием платы. Поправьте если не так. Ножки: ножка 5в - тут можно подключить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.