|
RFM01-RFM02 от Hope Microelectronics Есть несколько вопросов..., Кто нибудь включал? |
|
|
|
 |
Ответов
|
Jun 28 2010, 09:12
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Mad-man @ Jun 27 2010, 15:43)  Блин, пропали все ((( Зат**ся с этим RF01 ничего не выходит, перепаял антенку, Не расстраивайтесь раньше времени, сейчас разберемся. Цитата(Mad-man @ Jun 27 2010, 15:43)  1. Обязательно ли использовать кристал на 10Мгц на avr? Нет конечно. Я вообще с внутренними RC использовал. Цитата(Mad-man @ Jun 27 2010, 15:43)  2. Нужно ли использовать ногу DATA? Она на схеме подтянута к VCC, а в коде поднимается командой DDRB |=(1<<RFXX_DATA); сразу после инициализации чипа! Нет, если используется FIFO. В этом режиме все управление/обмен данными идет через SPI. В коде либо не используется FIFO, либо под RFXX_DATA подразумевается MOSI. Я с RFM01 не закончил, появились более приоритетные дела. Но связь с RFM02 была. Инициализация RFM01 была такая Код #define RFM01_BAUD_2400 ((uint8_t)((344827.58/2400)+0.5)-1) #define RFM01_BAUD_4800 ((uint8_t)((344827.58/4800)+0.5)-1) #define RFM01_BAUD_9600 ((uint8_t)((344827.58/9600)+0.5)-1) #define RFM01_BAUD_19200 ((uint8_t)((344827.58/19200)+0.5)-1) #define RFM01_BAUD_38400 ((uint8_t)((344827.58/38400)+0.5)-1) #define RFM01_BAUD_115200 ((uint8_t)((344827.58/115200)+0.5)-1)
#define RFM01FREQ(freq) ((uint16_t)((freq-430.0)/0.0025))
#define RFM01_CONFIG 0x8000 #define RFM01_BANDWIDTH_400KHZ (0x01<<1) #define RFM01_BANDWIDTH_340KHZ (0x02<<1) #define RFM01_BANDWIDTH_270KHZ (0x03<<1) #define RFM01_BANDWIDTH_200KHZ (0x04<<1) #define RFM01_BANDWIDTH_134KHZ (0x05<<1) #define RFM01_BANDWIDTH_67KHZ (0x06<<1)
#define RFM01_BAND_315MHZ (0x00<<11) #define RFM01_BAND_433MHZ (0x01<<11) #define RFM01_BAND_868MHZ (0x02<<11) #define RFM01_BAND_915MHZ (0x03<<11)
#define RFM01_CONFIG_DC (0x01<<0) #define RFM01_CONFIG_EX (0x01<<8)
#define RFM01_SET_FREQ 0xA000 #define RFM01_RX_SETTING 0xC000 #define RFM01_SET_BAUDRATE 0xC800 #define RFM01_FIFO_MODE 0xCE00 #define RFM01_DATA_FILTER 0xC400 #define RFM01_AFC_SETTING 0xC600 Код RFM01_WrCommand(0x0000); RFM01_WrCommand(RFM01_CONFIG | RFM01_BAND_433MHZ | RFM01_BANDWIDTH_134KHZ | RFM01_CONFIG_EX); RFM01_WrCommand(RFM01_SET_FREQ | RFM01FREQ(434.00)); // 434 RFM01_WrCommand(RFM01_SET_BAUDRATE | RFM01_BAUD_4800); // 4800 RFM01_WrCommand(RFM01_AFC_SETTING | 0x0097); // AFC // 0xC69B RFM01_WrCommand(RFM01_DATA_FILTER | 0x002A); // filter RFM01_WrCommand(0xC240); // 2Мгц, просто для контроля RFM01_WrCommand(RFM01_RX_SETTING | 0x0080); RFM01_WrCommand(RFM01_FIFO_MODE | 0x0084); // FIFO Off RFM01_WrCommand(RFM01_FIFO_MODE | 0x0087); // FIFO On Потом в коде включение приема Код RFM01_WrCommand(RFM01_RX_SETTING | 0x0081); // RFM01_WrCommand(RFM01_FIFO_MODE | 0x0088); // RFM01_WrCommand(RFM01_FIFO_MODE | 0x008B); //
cli(); MCUCR &= ~((1<<ISC11)|(1<<ISC10)); // INT1 - low level interrupt GICR |= (1<<INT1); // INT1 interrupt enable GIFR = (1<<INT1); // clear interrupt flag INT1 sei(); nIRQ подключен к INT1 8-ой меги. Тут есть перекрытие инициализации, но это рабочая версия, не законченная и не причесанная. Так что - как есть
|
|
|
|
|
Jun 28 2010, 10:38
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995

|
Цитата(Qwertty @ Jun 28 2010, 13:12)  Не расстраивайтесь раньше времени, сейчас разберемся. Спасибо, я сегодня ночью копался с RF01 3 раза перепроверил все выходы и входы, спаял второй приемник на каком-то форуме нашел что нужно ожидать POR около 1-2 сек и задержки перед инициализацией сделал гиганские задержки начали сыпаться данные в режиме полинга  НУ ХОТЬ УЖЕ ЧТО-ТО!! кстати оказалось что купленный пульт KEYFOB на 433 (на базе HCS301) вообще не шлет данных! я его разобрал и если прижимать пальцем землю и клеммы (к которым нужно резисторы/конденсаторв подпаивать что-ли?? в мануале на него написано что серийный номер - программируется или "подпаивается"?  ) и одновременно жать кнопку - отправляется данные. короче с пультом разбираться нужно nIRQ пока не дергается но думаю получится - эта тема уже обсуждалась и здесь и на радиокоте. Кстати нашел библиотечку для RF01 (FR12b даже есть) может кому будет полезна http://myfablab.wordpress.com/2010/06/22/r...18-version-0-1/сейчас данные бьются видимо из-за больших задержек - но все равно я доволен как мытый слон
Сообщение отредактировал Mad-man - Jun 28 2010, 10:44
|
|
|
|
|
Jun 29 2010, 22:56
|
Участник

Группа: Участник
Сообщений: 54
Регистрация: 5-05-08
Пользователь №: 37 279

|
Цитата(Mad-man @ Jun 28 2010, 14:38)  на каком-то форуме нашел что нужно ожидать POR около 1-2 сек и задержки перед инициализацией Это не только на RFM01/02. Буквально неделю назад точно также обжегся на модулях RFM31/43. По незнанию пренебрег задержками после включения модуля и половина команд инициализации улетало в пустоту.
|
|
|
|
|
Jun 29 2010, 23:09
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995

|
Цитата(ZyBEX @ Jun 30 2010, 02:56)  Это не только на RFM01/02. Буквально неделю назад точно также обжегся на модулях RFM31/43. По незнанию пренебрег задержками после включения модуля и половина команд инициализации улетало в пустоту. Да, засада еще та)) Убрал задержки, сделал POR 500ms, включил прерывания, пока дышит) Ща только перешил eeprom на брелке с hcs301 (прошился 4в VCC хотя в даташите говорят VCC должно быть 5в +- 10%), завтра буду вечером пробовать их подружить...массив с верификацией сошелся с записываемым  вроде массив обнулил перед верификацией  что-то отдельно вычитать eeprom c hcs301 не выходит...может это для защиты сделано. смущает только что брелок (hcs301) кажется работает на 5кбод, а баудрейт, который можно выставить на RF01 4,8кбод RFXX_WRT_CMD(0xC800 | 0b10010000); // BR = 10000000/ ((8+1)*29*(1+cs*7)) = 4,789 kbps или 5,3кбод RFXX_WRT_CMD(0xC800 | 0b10010000); // BR = 10000000/ ((9+1)*29*(1+cs*7)) = 5,3ххх kbps
Сообщение отредактировал Mad-man - Jun 29 2010, 23:16
|
|
|
|
|
Jun 30 2010, 10:33
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Mad-man @ Jun 30 2010, 03:09)  Да, засада еще та)) Убрал задержки, сделал POR 500ms, включил прерывания, пока дышит) У меня 100мС и все работает стабильно. Причем задержку специально не делал, просто индикатор инициализируется первым, вот на время его инициализации задержка и получилась. Цитата(Mad-man @ Jun 30 2010, 03:09)  Ща только перешил eeprom на брелке с hcs301 (прошился 4в VCC хотя в даташите говорят VCC должно быть 5в +- 10%), завтра буду вечером пробовать их подружить... А зачем hcs301? Они с RFM01/RFM02 дружить не будут, так как рассчитаны на амплитудную модуляцию. Да и кодируют посылку не битовым потоком, а импульсами разной ширины. Если в системе есть микроконтроллер, а для инициализации RFM он все равно нужен, то Keeloq можно прямо в нем закодировать, hcs301 это пятое колесо к телеге. Или задача принимать на RFM01 сигнал от брелка с hcs301? Тогда ничего не получится, амплитудная модуляция с частотной не дружат. А в брелке именно амплитудная.
|
|
|
|
|
Jun 30 2010, 11:45
|
Частый гость
 
Группа: Участник
Сообщений: 91
Регистрация: 5-11-06
Пользователь №: 21 995

|
Цитата(Qwertty @ Jun 30 2010, 14:33)  У меня 100мС и все работает стабильно. Причем задержку специально не делал, просто индикатор инициализируется первым, вот на время его инициализации задержка и получилась.
А зачем hcs301? Они с RFM01/RFM02 дружить не будут, так как рассчитаны на амплитудную модуляцию. Да и кодируют посылку не битовым потоком, а импульсами разной ширины. Если в системе есть микроконтроллер, а для инициализации RFM он все равно нужен, то Keeloq можно прямо в нем закодировать, hcs301 это пятое колесо к телеге. Или задача принимать на RFM01 сигнал от брелка с hcs301? Тогда ничего не получится, амплитудная модуляция с частотной не дружат. А в брелке именно амплитудная. брелок мне нужен не для контроллера. брелок сам по себе я хочу принимать от него посылку на RF01 и по этой посылке включать/отключать реле kelog по сути тоже не нужен - из его пакета мне хватит фиксированной части (где серийный номер) просто брелков со статическим кодом не удалось купить а какие брелки можно подружить с RF01? вот этот подойдет? http://www.aktivsb.ru/prod-2456.html
Сообщение отредактировал Mad-man - Jun 30 2010, 12:08
|
|
|
|
|
Jun 30 2010, 12:37
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(Mad-man @ Jun 30 2010, 15:45)  я хочу принимать от него посылку на RF01 и по этой посылке включать/отключать реле Тогда Вам нужен другой приемник. Сверхрегенератор - по типу как в старых автосигнализациях. Цитата(Mad-man @ Jun 30 2010, 15:45)  а какие брелки можно подружить с RF01? вот этот подойдет? Скорее всего никакие. Обычно брелок стараются сделать дешевле в ущерб качеству. В таких брелках передатчик - всего один транзистор и хорошо если частота стабилизирована резонатором на ПАВ. Часто вообще LC контур. Ну и модуляция сделана амплитудная 100% - либо излучает либо нет. RFM01 куда более качественная система и возможностей у нее намного больше. Но Вам это все не надо - берите что то типа RR8-433 - http://www.terraelectronica.ru/pdf/TELC/RR8-433.pdf или http://www.terraelectronica.ru/pdf/TELC/RR3-433.pdfОни смогут работать с брелком на hcs301 и программировать их не нужно. Там из интерфейса один выход.  Можете вообще самостоятельно приемник собрать - http://vrtp.ru/index.php?act=categories&am...mp;article=1129или - http://vrtp.ru/index.php?act=categories&am...mp;article=1418 , но надо немного перестроить по частоте.
|
|
|
|
Сообщений в этой теме
Григорий2000 RFM01-RFM02 от Hope Microelectronics Есть несколько вопросов... Feb 21 2009, 22:27 Григорий2000 Вопрос снят))
Дело было не в бобине... Feb 24 2009, 11:36 Qwertty Цитата(Григорий2000 @ Feb 24 2009, 14:36)... Mar 5 2009, 21:54 Григорий2000 У меня по невнимательности осталось две подпрограм... Mar 5 2009, 22:03 Qwertty Спасибо! У меня правда уже задышало. Обновил п... Mar 6 2009, 00:08 Григорий2000 Нет непроверял еще, а антенна - кусок провода(окол... Mar 6 2009, 05:38 Qwertty Четвертьволновой штырь имеет куда большую эффектив... Mar 6 2009, 14:00 Mad-man Всем привет,
инициализирую чип RFM01 как китайско... Jun 26 2010, 17:13        Mad-man Цитата(Qwertty @ Jun 30 2010, 16:37) Тогд... Jun 30 2010, 13:51         Qwertty Цитата(Mad-man @ Jun 30 2010, 17:51)... Jun 30 2010, 15:35 Олежик Тогда может передатчик тоже самому сделать ?
Сразу... Jun 30 2010, 16:23 Mad-man Цитата(Олежик @ Jun 30 2010, 20:23) Тогда... Jun 30 2010, 16:56  Qwertty Цитата(Mad-man @ Jun 30 2010, 20:56)... Jun 30 2010, 17:45 нечитатель Из восьми приёмников RFM01 один "плохо ловит... Jul 2 2011, 06:19 Михаил86 Добрый день!
Вот уже неделю пытаюсь соединить... Nov 29 2012, 11:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|