RF модули от HOPERF RFM01 & RFM02
Re: RF модули от HOPERF RFM01 & RFM02
всем доброе время суток .
собрал передатчик по схеме и прошивке от MiklSh.
заработала сразу, только одна проблема - видимо наводки вызывают прерывание от кнопок SA1-SA2 как только подношу руку к девайсу. если отключаю режим "sleep" то всё работает четко. что делать ?
собрал передатчик по схеме и прошивке от MiklSh.
заработала сразу, только одна проблема - видимо наводки вызывают прерывание от кнопок SA1-SA2 как только подношу руку к девайсу. если отключаю режим "sleep" то всё работает четко. что делать ?
Re: RF модули от HOPERF RFM01 & RFM02
edisson писал(а):всем доброе время суток .
собрал передатчик по схеме и прошивке от MiklSh.
заработала сразу, только одна проблема - видимо наводки вызывают прерывание от кнопок SA1-SA2 как только подношу руку к девайсу. если отключаю режим "sleep" то всё работает четко. что делать ?
целый день мучился а разобралса вот после опубликования вопросса
было вот так
Код: Выделить всё
MCUCR=0b11110000;
#asm("sleep");
изменил так
Код: Выделить всё
MCUCR=0b01110000;
#asm("sleep");
седьмой бит MCUCR запрешал подтягивающие резисторы
MCU Control Register – MCUCR Bit 7 – PUD: Pull-up Disable
Re: RF модули от HOPERF RFM01 & RFM02
edisson, я собрал по схеме MiklSh на 2313 и на RMF12A.Тинька и радиомодуль запитаны от 3.3 В. Передатчик, судя по исходному коду, при нажатии на кномки-должен мигать диодом, но у меня диод мигает кратковременно в момент подачи питания, дальше тухнет и вообще не загорается.У Вас была таже проблема? После внесёных Вами изменений всё зарабтало?
Re: RF модули от HOPERF RFM01 & RFM02
Замучился я с этим радиомодулем.....Ведь RFM02 RFM01 RFM12 это по сути одно и тоже? У меня модули RFM12 868МГц.Я пытаюсь удостоверится что они рабочие.
на данном этапе я не знаю что у меня с приёмником ТХ, я пока с передатчиком не могу разобраться. Я собрал его по схеме и прошивке MiklSh на 2313 и на RMF12A.Тинька и радиомодуль запитаны от 3.3 В. Я пока не знаю есть передача или нет, но у меня проблемма в следуюшем-я как понимаю при нажатии кнопки 1 светодиод должен моргнуть 1 раз, судя по исходному коду
а при нажатии кнопки 2-моргнуть 2 раза.
при подачи питания, светодиод сразу 1 раз моргает, после этого он уже не загорается, даже при нажатии кнопок.
И ещё вопрос, к примеру при нажатии кнопки 1 светодиод загорится на 10мС затем потухнет, интересно, я успею это заметить?
Может я не правильно понят схему включения передатчика? Я подключил по такой, как я понимаю так и должно быть.

Спасибо за ответ.
на данном этапе я не знаю что у меня с приёмником ТХ, я пока с передатчиком не могу разобраться. Я собрал его по схеме и прошивке 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 скачивание
Re: RF модули от HOPERF RFM01 & RFM02
И ещё нестыковка-в исходнике написанна частота микроконтролера 4МГц,
а в скриншоте фьюзов они обозначены как 4Мгц/8 (Включен бит скдив8)
Код: Выделить всё
Chip type : ATtiny2313
Clock frequency : 4,000000 MHz
Memory model : Tinyа в скриншоте фьюзов они обозначены как 4Мгц/8 (Включен бит скдив8)
Re: RF модули от HOPERF RFM01 & RFM02
У этих модулей RFM01 and RFM12 различная инициализиция!!!
Re: RF модули от HOPERF RFM01 & RFM02
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
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
Re: RF модули от HOPERF RFM01 & RFM02
Большое спасибо!
- MiklSh
- Потрогал лапой паяльник
- Сообщения: 361
- Зарегистрирован: Чт дек 28, 2006 12:46:58
- Откуда: Хлынов
- Контактная информация:
Re: RF модули от HOPERF RFM01 & RFM02
Уф, давно меня тут небыло...
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 если еще не разобрались, то:
RFM12 и RFM02 - ааафициально считается что это почти одно и тоже, но вот это "почти" как раз и не дало мне по прошивке двенадцатого запустить второй.
По тому что выкладывал годом раньше - да, кнопка 1 - однократная вспышка светодиода, кнопка 2 - два раза должен моргнуть. 10ms - если запаять сверхяркий светодиод, вполне хватает чтобы заметить.
По схеме - Reset через резистор на +Upp для надежности. И кондер керамика по питанию обязательно, как можно ближе к модулю.
По прошивке - при передаче, команда "while(nIRQ);" заставляет контроллер ждать до победного ответа от рфм'ки (если ответа нет - "оно повисло").
На пробу - все что после операторов "if" убираем в комментарии (уход в сон модуля с контроллером нафикс) и все "rf02_txdata(data);" тоже.
Теперь - при включении "один пых светодиодом". Нажимаем кнопки - должны моргать светодиоды 1-2 раза соотвественно. (Если нет - проблемы микроконтроллера, копаем в этом направлении).
Возвращаем "rf02_txdata(data);" - если светодиоды перестали моргать от нажатий - проблема с рфм'кой - проверяем монтаж/подключение...
Заработало - возвращаем черную магию "VD=0; PORTA=0b11111110; PORTB=...."
Re: RF модули от HOPERF RFM01 & RFM02
Я просто сконфигурировал РФМ 12 как РФМ01, и поэтому на выходе nRIQ не устанавливались нужные уровни, и программа зацикливалась. Я убирал фрагменты на которых она зацикливалась, и действительно диоды мигали.
Я никак не мог сконфигурировать РФМ12.Что-то не получается.Может модули дохлые.....
Я никак не мог сконфигурировать РФМ12.Что-то не получается.Может модули дохлые.....
Re: RF модули от HOPERF RFM01 & RFM02
mcsik писал(а):Я просто сконфигурировал РФМ 12 как РФМ01, и поэтому на выходе nRIQ не устанавливались нужные уровни, и программа зацикливалась. Я убирал фрагменты на которых она зацикливалась, и действительно диоды мигали.
Я никак не мог сконфигурировать РФМ12.Что-то не получается.Может модули дохлые.....
Может и дохлые, а может просто не те команды шлеш, там на каждый модуль rfm свои команды. Напиши полное название модуля, попытаюсь помочь.
PS: Кто еще интересуется rfm12, напишите в личку, есть предложение.
[url=http:///]
[/url]
- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: RF модули от HOPERF RFM01 & RFM02
Хотел давно спросить RFM01 это тока передатчик, а RFM02 он тока приемник или еше и как передатчик, а то не пойму ничего на нем стока пинов у всех висячих
- MiklSh
- Потрогал лапой паяльник
- Сообщения: 361
- Зарегистрирован: Чт дек 28, 2006 12:46:58
- Откуда: Хлынов
- Контактная информация:
Re: RF модули от HOPERF RFM01 & RFM02
Да, только наоборот - RFM01 приемник, RFM02 - передатчик
- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: RF модули от HOPERF RFM01 & RFM02
MiklSh писал(а):Да, только наоборот - RFM01 приемник, RFM02 - передатчик
эмм RFM02 Только передатчик?
- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: RF модули от HOPERF RFM01 & RFM02
MiklSh писал(а):Да. http://bashel.bashel.ru/info8/HopeRF.pdf
все понял а RFM12 он приемник и передатчик. или опять туплю!
- MiklSh
- Потрогал лапой паяльник
- Сообщения: 361
- Зарегистрирован: Чт дек 28, 2006 12:46:58
- Откуда: Хлынов
- Контактная информация:
Re: RF модули от HOPERF RFM01 & RFM02
Re: RF модули от HOPERF RFM01 & RFM02
MiklSh писал(а)::)) Все верно RFM12 "трансивер" содержит и приемник и передатчик у себя на борту, сразу чтоб двунаправленную линию делать.
но, опять же, в полудуплексе. так что не стоит особо раскатывать губу на его возможности.
[url=http:///]
[/url]
- shurikss123
- Грызет канифоль
- Сообщения: 271
- Зарегистрирован: Пн окт 25, 2010 20:47:04
- Откуда: Казахстан, Астана
Re: RF модули от HOPERF RFM01 & RFM02
svd71 писал(а):MiklSh писал(а)::)) Все верно RFM12 "трансивер" содержит и приемник и передатчик у себя на борту, сразу чтоб двунаправленную линию делать.
но, опять же, в полудуплексе. так что не стоит особо раскатывать губу на его возможности.[/quot]
Полу дуплекс! тоже хорошо, для малых задач.
