RF модули от HOPERF RFM01 & RFM02

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
edisson
Родился
Сообщения: 10
Зарегистрирован: Пн май 25, 2009 14:00:02

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение edisson »

всем доброе время суток .
собрал передатчик по схеме и прошивке от MiklSh.
заработала сразу, только одна проблема - видимо наводки вызывают прерывание от кнопок SA1-SA2 как только подношу руку к девайсу. если отключаю режим "sleep" то всё работает четко. что делать ?
edisson
Родился
Сообщения: 10
Зарегистрирован: Пн май 25, 2009 14:00:02

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение edisson »

edisson писал(а):всем доброе время суток .
собрал передатчик по схеме и прошивке от MiklSh.
заработала сразу, только одна проблема - видимо наводки вызывают прерывание от кнопок SA1-SA2 как только подношу руку к девайсу. если отключаю режим "sleep" то всё работает четко. что делать ?



целый день мучился а разобралса вот после опубликования вопросса :)
было вот так

Код: Выделить всё

MCUCR=0b11110000; 
        #asm("sleep");


изменил так

Код: Выделить всё

MCUCR=0b01110000; 
        #asm("sleep");


седьмой бит MCUCR запрешал подтягивающие резисторы
MCU Control Register – MCUCR Bit 7 – PUD: Pull-up Disable
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

edisson, я собрал по схеме MiklSh на 2313 и на RMF12A.Тинька и радиомодуль запитаны от 3.3 В. Передатчик, судя по исходному коду, при нажатии на кномки-должен мигать диодом, но у меня диод мигает кратковременно в момент подачи питания, дальше тухнет и вообще не загорается.У Вас была таже проблема? После внесёных Вами изменений всё зарабтало?
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

Замучился я с этим радиомодулем.....Ведь RFM02 RFM01 RFM12 это по сути одно и тоже? У меня модули RFM12 868МГц.Я пытаюсь удостоверится что они рабочие.
на данном этапе я не знаю что у меня с приёмником ТХ, я пока с передатчиком не могу разобраться. Я собрал его по схеме и прошивке MiklSh на 2313 и на RMF12A.Тинька и радиомодуль запитаны от 3.3 В. Я пока не знаю есть передача или нет, но у меня проблемма в следуюшем-я как понимаю при нажатии кнопки 1 светодиод должен моргнуть 1 раз, судя по исходному коду

Код: Выделить всё

if (SA1==0) 
        {       RF2_Init();
                data [0]=0xA0; data [1]=0xA1; data [2]=0xA2; data [3]=0xA3; data [4]=0xA4; data [5]=0xA5; data [6]=0xA6; data [7]=0xA7;
                rf02_txdata(data);
                VD=1; delay_ms(10); VD=0;
                rf02_txdata(data); delay_ms(1);
----------


а при нажатии кнопки 2-моргнуть 2 раза.

Код: Выделить всё

 if (SA2==0) 
        {       RF2_Init();
                data [0]=0xB0; data [1]=0xB1; data [2]=0xB2; data [3]=0xB3; data [4]=0xB4; data [5]=0xB5; data [6]=0xB6; data [7]=0xB7;
                rf02_txdata(data);
                VD=1; delay_ms(10); VD=0; delay_ms(30); VD=1; delay_ms(10); VD=0;
                rf02_txdata(data); delay_ms(1);



при подачи питания, светодиод сразу 1 раз моргает, после этого он уже не загорается, даже при нажатии кнопок.
И ещё вопрос, к примеру при нажатии кнопки 1 светодиод загорится на 10мС затем потухнет, интересно, я успею это заметить?
Может я не правильно понят схему включения передатчика? Я подключил по такой, как я понимаю так и должно быть.
Изображение
Спасибо за ответ.
Вложения
Untitled-3.jpg
(54.9 КБ) 701 скачивание
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

И ещё нестыковка-в исходнике написанна частота микроконтролера 4МГц,

Код: Выделить всё

Chip type           : ATtiny2313
Clock frequency     : 4,000000 MHz
Memory model        : Tiny

а в скриншоте фьюзов они обозначены как 4Мгц/8 (Включен бит скдив8)
Fuses.JPG
(28.44 КБ) 562 скачивания
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

У этих модулей RFM01 and RFM12 различная инициализиция!!!
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

AI_Disable писал(а):Код для работы с RFM12. Проверено с мегой32, тини24, тини2313.
Приём:

Код: Выделить всё

#define DDR_SS DDRD
#define DDR_SCK DDRC
#define DDR_MOSI DDRD
#define PORT_SS PORTD
#define PORT_SCK PORTC
#define PORT_MOSI PORTD
#define PIN_MISO PINC
#define PIN_IRQ PIND
#define SS 6
#define SCK 0
#define MOSI 7
#define MISO 1
#define IRQ 2

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>

unsigned int RFXX_WRT_CMD(unsigned int aCmd) //Отправить команду
{
unsigned char i;
unsigned int temp=0;
PORT_SCK&=~(1<<SCK);
PORT_SS&=~(1<<SS);
for(i=0;i<16;i++)
   {
   if(aCmd&0x8000) PORT_MOSI|=(1<<MOSI);
   else PORT_MOSI&=~(1<<MOSI);
   PORT_SCK|=(1<<SCK);
   temp<<=1;
   if(PIN_MISO&(1<<MISO)) temp|=0x0001;
   PORT_SCK&=~(1<<SCK);
   aCmd<<=1;
   }
PORT_SS|=(1<<SS);
return(temp);
}

void RF12_INIT(void) //Инициализация
{
DDR_SS|=(1<<SS);
DDR_SCK|=(1<<SCK);
DDR_MOSI|=(1<<MOSI);
PORT_SS|=(1<<SS);
RFXX_WRT_CMD(0x80D8);//EL,EF,433band,12.5pF
RFXX_WRT_CMD(0x82D9);//!er,!ebb,ET,ES,EX,!eb,!ew,DC
RFXX_WRT_CMD(0xA640);//A140=430.8MHz
RFXX_WRT_CMD(0xC647);//4.8kbps
RFXX_WRT_CMD(0x94A0);//VDI,FAST,134kHz,0dBm,-103dBm
RFXX_WRT_CMD(0xC2AC);//AL,!ml,DIG,DQD4
RFXX_WRT_CMD(0xCA81);//FIFO8,SYNC,!ff,DR
RFXX_WRT_CMD(0xC483);//@PWR,NO RSTRIC,!st,!fi,OE,EN
RFXX_WRT_CMD(0x9850);//!mp,9810=30kHz,MAX OUT
RFXX_WRT_CMD(0xE000);//NOT USE
RFXX_WRT_CMD(0xC800);//NOT USE
RFXX_WRT_CMD(0xC040);//1.66MHz,2.2V
}

int main ()
{
//Внешнее прерывание от INT0, к которому цепляем nIRQ
MCUCR|=(1<<ISC01);
GICR|=(1<<INT0);
sei();

//Инициализация FRM12
RF12_INIT();

//Включаем fifo буфер и читаем статус регистр
RFXX_WRT_CMD(0xCA83);
RFXX_WRT_CMD(0x0000);
}

ISR(INT0_vect)   //обработчик внешнего прерывания
{
//тут хаваем данные с RFM12
data=((RFXX_WRT_CMD(0xB000))&0x00FF);
}


Передача:

Код: Выделить всё

void RF12_SEND(unsigned char aByte)
{
while(!(RFXX_WRT_CMD(0x0000)&0x8000));
RFXX_WRT_CMD(0xB800+aByte);
}

int main ()
{
//Инициализация FRM12
RF12_INIT();
RFXX_WRT_CMD(0xCA81);
RFXX_WRT_CMD(0x0000);//read status register
RFXX_WRT_CMD(0x8239);//!er,!ebb,ET,ES,EX,!eb,!ew,DC
RF12_SEND(0xAA);//PREAMBLE
RF12_SEND(0xAA);//PREAMBLE
RF12_SEND(0xAA);//PREAMBLE
RF12_SEND(0x2D);//SYNC HI BYTE
RF12_SEND(0xD4);//SYNC LOW BYTE

RF12_SEND(data); //тут передаём что хотим

RF12_SEND(0xAA);//DUMMY BYTE
RF12_SEND(0xAA);//DUMMY BYTE
RF12_SEND(0xAA);//DUMMY BYTE
}



В данном случаи подключения контролера к трансиверу следующее?
контрол Трансивер
SS (PD6) -> SS
SCK (PC0) -> SCK
MOSI (PD7) -> SDI ???
MISO (PC1) -> SDO???
PD2 -> iRQ

Я правильно понял схему подключения? Я сомневаюсь в SDO, SDI. Дело в том что у меня есть два РФМ12, которые ни как не получается завести, вот я и хочу попробовать ра 100процентно рабочем проекте проверить.
Аватара пользователя
AI_Disable
Сверлит текстолит когтями
Сообщения: 1116
Зарегистрирован: Чт окт 15, 2009 14:16:18
Откуда: Екб
Контактная информация:

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение AI_Disable »

mcsik писал(а):В данном случаи подключения контролера к трансиверу следующее?
контрол Трансивер
SS (PD6) -> SS
SCK (PC0) -> SCK
MOSI (PD7) -> SDI ???
MISO (PC1) -> SDO???
PD2 -> iRQ

Да, всё верно. Логика:
MOSI - Master Output Slave Input ---> SDI - Slave Data Input
MISO - Master Input Slave Output ---> SDO - Slave Data Output
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

Большое спасибо!
Аватара пользователя
MiklSh
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Чт дек 28, 2006 12:46:58
Откуда: Хлынов
Контактная информация:

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение MiklSh »

Уф, давно меня тут небыло...
mcsik если еще не разобрались, то:
RFM12 и RFM02 - ааафициально считается что это почти одно и тоже, но вот это "почти" как раз и не дало мне по прошивке двенадцатого запустить второй.
По тому что выкладывал годом раньше - да, кнопка 1 - однократная вспышка светодиода, кнопка 2 - два раза должен моргнуть. 10ms - если запаять сверхяркий светодиод, вполне хватает чтобы заметить.
По схеме - Reset через резистор на +Upp для надежности. И кондер керамика по питанию обязательно, как можно ближе к модулю.
По прошивке - при передаче, команда "while(nIRQ);" заставляет контроллер ждать до победного ответа от рфм'ки (если ответа нет - "оно повисло").

На пробу - все что после операторов "if" убираем в комментарии (уход в сон модуля с контроллером нафикс) и все "rf02_txdata(data);" тоже.
Теперь - при включении "один пых светодиодом". Нажимаем кнопки - должны моргать светодиоды 1-2 раза соотвественно. (Если нет - проблемы микроконтроллера, копаем в этом направлении).
Возвращаем "rf02_txdata(data);" - если светодиоды перестали моргать от нажатий - проблема с рфм'кой - проверяем монтаж/подключение...
Заработало - возвращаем черную магию "VD=0; PORTA=0b11111110; PORTB=...."
mcsik
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вт янв 05, 2010 02:21:11

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение mcsik »

Я просто сконфигурировал РФМ 12 как РФМ01, и поэтому на выходе nRIQ не устанавливались нужные уровни, и программа зацикливалась. Я убирал фрагменты на которых она зацикливалась, и действительно диоды мигали.
Я никак не мог сконфигурировать РФМ12.Что-то не получается.Может модули дохлые.....
svd71
Открыл глаза
Сообщения: 41
Зарегистрирован: Вс фев 06, 2011 16:18:39

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение svd71 »

mcsik писал(а):Я просто сконфигурировал РФМ 12 как РФМ01, и поэтому на выходе nRIQ не устанавливались нужные уровни, и программа зацикливалась. Я убирал фрагменты на которых она зацикливалась, и действительно диоды мигали.
Я никак не мог сконфигурировать РФМ12.Что-то не получается.Может модули дохлые.....


Может и дохлые, а может просто не те команды шлеш, там на каждый модуль rfm свои команды. Напиши полное название модуля, попытаюсь помочь.

PS: Кто еще интересуется rfm12, напишите в личку, есть предложение.
[url=http:///]:-)[/url]
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение shurikss123 »

Хотел давно спросить RFM01 это тока передатчик, а RFM02 он тока приемник или еше и как передатчик, а то не пойму ничего на нем стока пинов у всех висячих
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
Аватара пользователя
MiklSh
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Чт дек 28, 2006 12:46:58
Откуда: Хлынов
Контактная информация:

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение MiklSh »

Да, только наоборот - RFM01 приемник, RFM02 - передатчик
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение shurikss123 »

MiklSh писал(а):Да, только наоборот - RFM01 приемник, RFM02 - передатчик

эмм RFM02 Только передатчик?
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
Аватара пользователя
MiklSh
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Чт дек 28, 2006 12:46:58
Откуда: Хлынов
Контактная информация:

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение MiklSh »

Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение shurikss123 »

MiklSh писал(а):Да. http://bashel.bashel.ru/info8/HopeRF.pdf

все понял а RFM12 он приемник и передатчик. или опять туплю!
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
Аватара пользователя
MiklSh
Потрогал лапой паяльник
Сообщения: 361
Зарегистрирован: Чт дек 28, 2006 12:46:58
Откуда: Хлынов
Контактная информация:

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение MiklSh »

:)) Все верно RFM12 "трансивер" содержит и приемник и передатчик у себя на борту, сразу чтоб двунаправленную линию делать.
svd71
Открыл глаза
Сообщения: 41
Зарегистрирован: Вс фев 06, 2011 16:18:39

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение svd71 »

MiklSh писал(а)::)) Все верно RFM12 "трансивер" содержит и приемник и передатчик у себя на борту, сразу чтоб двунаправленную линию делать.


но, опять же, в полудуплексе. так что не стоит особо раскатывать губу на его возможности.
[url=http:///]:-)[/url]
Аватара пользователя
shurikss123
Грызет канифоль
Сообщения: 271
Зарегистрирован: Пн окт 25, 2010 20:47:04
Откуда: Казахстан, Астана

Re: RF модули от HOPERF RFM01 & RFM02

Сообщение shurikss123 »

svd71 писал(а):
MiklSh писал(а)::)) Все верно RFM12 "трансивер" содержит и приемник и передатчик у себя на борту, сразу чтоб двунаправленную линию делать.


но, опять же, в полудуплексе. так что не стоит особо раскатывать губу на его возможности.[/quot]
Полу дуплекс! тоже хорошо, для малых задач.
Изображение
Мастер на все руки, кручу, кручу, кручу и матерюсь
Повелитель паяльной станции, лома, и пинцета!!!
Ответить

Вернуться в «Периферия»