[PEDIDO AJUDA] Nào consigo fazer funcionar modulos de radio de 1000m (NRF24L01+PA+LNA)

Galera,

   Tô precisando de ajuda pra valer, e dessa vez é pra mim, pois tenho que entregar um prototipo a um cliente de um controle remoto que alcance 500m no mínimo, de e tô meio que no desespero.

   
   Tentei aqueles controles de carro de 1000m, mas eles se mostraram afetáveis por interferências em algumas áreas(resumindo, testei e não serviu).
   Pensei em utilizar os Xbee,  mas o preço dos módulos de alta potência são proibitivos pra o projeto, visto que são vários.
   A solução foi partir pra os módulos de rádio nRF24l01, que tem de dois tipos, os de baixa potencia( nrf24l01+ ) que pelo datasheet dá uns 100m  e a versão nRF24l01+PA+LNA que pelo datasheet dá 1000m.

tá aqui os dois tipos:



Criei uma shield pra usar esses radios no arduino UNO, ela foi feita pra uso com a biblioteca RF24.h tá aqui ela:




O DESAFIO:

  Preciso que quando um dos lados for energizado(o transmissor), ele automaticamente mande um codigo pra o segundo modulo(receptor) que estará aguardando,  se o código bater ele acende um led por um tempo,  só isso,  parece fácil né ?    Mas não é!  


O PROBLEMA:

  O problema é que apesar do fabricando dizer que os dois modelos (de 100m e 1000m) serem iguais tendo como única diferença um amplificador no mais potente,  o que ocorre é que quando executo os sketchs abaixo, no radio mais simples( nrf24l01+ ),   tudo acontece bem,ele não falha nunca,   já quando executo no modelo de maior potencia (nRF24l01+PA+LNA)   ALGUMAS VEZES ELE FUNCIONA, OUTRAS NÃO ! e depois de um tempo, para de funcionar completamente.


PEDIDO DE AJUDA:

  Peço que se alguém já mexeu com esses rádios e souber alguma coisa que possa ser feita para eles funcionarem , que me dêem uma luz, pois já tentei várias coisas, inclusive colocar um capacitor de 4.7uF entre o VCC(3.3V) e o GND e nada.   Já tentei aumentar a tensão usando LM317 para o pico de 3.6V,  funcionou um tempo e parou,  dai quando aumentei mais ainda, queimei dois dos rádios.

  Tô precisando de ajuda mesmo.


os sketchs usados são esses:



// *********************************************************** TRANSMISSOR **
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

int comunica[1];

RF24 radio(9,10);

const uint64_t pipe = 0x88E8F0F0E1LL;

void setup(void)
{ Serial.begin(9600);
  radio.begin();
  radio.openWritingPipe(pipe);
  pinMode(3, OUTPUT);  
  comunica[0]=0;
  delay(100);}


void loop(void){
 
    comunica[0]=123;
    radio.write( comunica, sizeof(comunica) );
    digitalWrite(3, HIGH);
 
}




//  **************************************** RECEPTOR**
#include <avr/wdt.h>

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"

int comunica[1];

RF24 radio(9,10);
const uint64_t pipe = 0x88E8F0F0E1LL;

void setup(void){
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(1,pipe);
  radio.startListening();
  pinMode(3, OUTPUT);  
 
wdt_enable(WDTO_4S);  // habilita o watchdog
 
}

void loop(void){
  if ( radio.available() ){
    bool done = false;
      while (!done){
        done = radio.read( comunica, sizeof(comunica) );
      if(comunica[0]==123){
        digitalWrite(3, HIGH);
        delay(1000);
        digitalWrite(3, LOW);     
      }
      else{
        digitalWrite(3, LOW); }
    }
  }
 
   delay(100);
    wdt_reset();  //  reseta o watchdog,
}





  

Exibições: 10255

Responder esta

Respostas a este tópico

Caro amigo Weider Duarte,

Estou tendo alguns problemas com o nRF24l01+PA+LNA e vi que voce os teve e resolveu. Estou transmitindo a leitura de dois Sensores de Ultrassom para um arduino que vai receber e dar saida conforme os valores. Com o nRF24l01+ funcionou blz, mas como tive que aumentar o alcance coloquei o nRF24l01+PA+LNA e comecaram meus problemas, o sistema funciona e não funciona. so envia distancias pequenas quando aumenta para de enviar. Me disseram que o #,3v do arduino não da conta de alimentar esse radio, aconselha tirar por fora. O que me sugere, por onde começo??

Lucas, o amplificador torna o módulo mais sensível, amplificando tudo, até o barulho (noise).

Por isso te disseram verdade, o melhor é usar um regulador de tensão de 3.3v e um capacitor (eu uso de 400uf) para estabilizar a entrada do módulo. O regulador dos arduinos não costumam ser muito potentes e ao enviar (TX mode) esses módulos sugam um pouco de energia. Sem falar que no arduino mega a saída de 3.3v parece ter bastante interferência para o PA+LNA

Olá.
Comprei esses mods a 1 ano e só ontem funcionou. O problema é que o arduino não tem corrente suficiente, aí mesmo que funcione fica instavel. Entao usei uma plaquinha de energia para potoboard (out 5 e 3.3v), liguei dois modulos nesta, interliguei o GND desta com os dois arduinos::: e funcionou.. essa gambiarra é pq tava na mesa da sala.. o ideal é usar duas fontes externas bem filtradas e com o 1117-3.3....
Abracos...

Olá Weider,

Eu não sei se você pretende concretizar seu projeto com o NRF24L01. Existem outras tecnologias que possibilitam a comunicação a distancias maiores, ainda sem fugir das normas de emissão. Sugiro para você uma tecnologia da Semtech, especificamente um transceptor compatível com o standard LORA (Long Range wireless solution). Os P/N dos transceptores são SX1272 e SX1276 com um excelente 'link budget' de 157dB e com isso, você tem um link de comunicação de 22KM com visada e 2KM dentro da cidade com obstáculos. A própria Semtech tem kits de desenvolvimento que podem ser usados como produto final. 

http://semtech.com/apps/product.php?pn=SX1272

Boa sorte nessa empreitada

 

Referente a LORA, existem rádios prontos e compatíveis com arduino, o que significa que as bibliotecas estão prontas. Pode procurar pelos radios elaborados pela Libelium www.libelium.com

Alias, essa tecnologia e bem interessante e poderia ser distribuída pelo LDG,

Olá Samuel,

    Inicialmente muito obrigado pela sugestão,  toda ideia é bem vinda, ainda mais algo nesse campo tão maravilhoso que é a comunicação sem fio.

    Até o momento eu tive 2 decepções nos meus estudos nesse campo,  a primeira foram os modulos de 433mhz, a comunicação é até boa,  mas a distancia muito curta, mesmo com alteração da antena,   a segunda decepção foram os modulos XBEE, eles são excelentes radios,  mas os altissimos preços são injustificaveis pra o que eles tem a oferecer,  ou seja, eu dei uma olhada num site da china agora e um par de SX1276 que atinge até 6km sai por menos de R$ 80,00,  no mesmo site um Xbee pro 60mW (1km) sai por mais de R$ 250,00  é injustificável.

    Gostei da sugestão,  no momento meus esforços financeiros estão na compra de conversores Digitais pra Analogico,  assim que o bolso der uma folga vou pedir um par desses modulos pra estudar.

    Porem,  os NRF24L01 não são de se desprezar.

    Em muito os NRF me lembram a propria filosofia do mundo Arduino, ou seja,  ele tem uma camada inicial que é facil de começar, é só ligar e já se sai falando como um blink,  porem, assim como o arduino, os NRF possui uma densa camada para nos aprofundarmos neles.

    Eu estou a mais de um ano em cima do estudo desses carinhas, e tem coisas que não tenho visto em outros radios.

    Por exemplo, o uso de PIPES alem de canais.

    Se leva um tempo enorme e muita pesquisa pra tentar entender o conceito de que pipes e canais são coisas diferentes.

     Só depois de muito tempo eu descobri que PIPES são Buffers de armazenagem por ciclo.

     Ou seja, em um radio simples, mesmo com buffer, apenas o canal principal é armazenado e trabalhado.

     Nos NRF existem 6 PIPES por radio,  dai em cada ciclo 6 informações chegam ao mesmo tempo de 6 lugares diferentes.

     Eu fiz um experimento muito louco, consegui colocar 3 NRF em um só arduino, coloquei 10 radios transmitindo, esse pack com 3 nrf e o arduino concentrando os dados atraves de 10 pipes de dois radios, ou seja, usei dois radios ouvindo e disponibilizando 5 pipes.   e o terceiro radio retransmitindo,  e um decimo segundo arduino só escutando e mostrando num display tft e na serial.

     Cara, o resultado é incrivel, praticamente não há perdas quando se dedica um pipe para ouvir apenas um radio.

     Ou seja, o NRF pode ouvir até 6 radios ( eu recomendo 5) ao mesmo tempo sem perdas.

     Agora pra completar usei radios de longo alcance ( 1KM )  dessa forma com intermediario, aumentei o range de 1 KM para mais de 2 KM.

      Peguei meu carro e sai andando por uma rua e o velocimetro mostrou mais de 2.4km percorrido e o sinal aparecendo.

      Resumindo, o que tenho percebido é que cada carinha desses tem seu uso,  nenhum pode-se dizer absoluto e melhor que todos os outros,  todos tem seus pros e contras como o ESP8266 que usa o WIFI.

    

      Mas volto a dizer, obrigado pela sugestão, assim que o bolso folgar eu vou comprar um par para estudar.

Excelente Weider,

Vamos continuar esta conversa, eu estou adquirindo um par de módulos do SX1276 e estarei postando minhas experiencias.

Segue mais um link, acredito que vai achar interessante.

https://www.tindie.com/products/DORJI_COM/arduino-sx1276-sx1278-mod...

Legal,

    Os preços conseguem ser melhor que na china.

    Tava aqui imaginando...   esses radios podem atingir de 22 a 26km com visada,  a pergunta é:   usando a própria antena deles?   se for então usando uma antena direcional, com ganho,  quanto um bichinho desses pode alcançar ?

    

     Sinceramente o poder de fogo que tem chegado a nossas mãos com pesquisa e estudos é incrível.  

     Seria motivo de estudar pra ver o tipo de comunicaçao possivel com esses radios,  eu vi que eles trabalham com protocolo SPI, assim como os NRF24L01,  a pergunta aqui seria:  lançaram bibliotecas que permite o NRF criar redes mesh,  transmitir audio,  voz, etc.   será que com esses garotos daria pra fazer o mesmo ?

Eles trabalham com SPI, o que permite uma comunicação rápida entre o microcontrolador e o transceptor. Referente as topologias, por enquanto é fácil encontrar bibliotecas para três opções, ponto-ponto, estrela e LoRa ou LoRaWAN, com esta última  podemos implementar mesh ou inclusive  gateways LoRa-WiFi.

Referente ao alcance, já que contamos com um link budget de 157dB, podemos pensar nos seguintes cenários:

Cenário 1.

Link budget: 157dBm

Ganho antena (Tx e Rx): 0dBi

Calculo distancia com base na equação de Friss: 6.5Km

Cenário 2.

Link budget: 157dBm

Ganho antena (Tx e Rx): +5dBi

Calculo distancia com base na equação de Friss: 22Km

Imagine o que da para fazer com isso...

Weider, estou desenvolvendo um projeto para a minha pesquisa que utiliza o nRF24L01+. Desejo fazer uma rede de sensores sem fio para comunicação de dados de sensores DHT22 (Temperatura e humidade) e LDR (Luminosidade). Havia conseguido com algumas alterações na biblioteca RF24Network se comunicar com dois módulos. No entanto, não consegui mais obter êxito. Se quiser posso te enviar os códigos do transmissor e receptor. Estou precisando de ajuda.

Thiago,   abra um novo post para que todos tenham acesso a ele e possam compartilhar as orientações que eu possa te passar, e coloca lá o que você já fez,  tipo, ligação,  codigo,  e principalmente, o que você deseja.

Oi Weider. Boa noite. Meu email: sarmanho@hotmail.com Gostaria de conversar com vocÊ sobre LoraWan. Tens WhatsApp, Tim ou Vivo ?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço