Extraños problemas con el módulo de RF NRF24L01

Para un proyecto de comunicación con sensores de flujo de agua situados a 1 Km entre sí, tengo que comunicar dos Arduino UNO y la idea es hacerlo con módulos LoRa de 100 mW, pero como aún no me han llegado estoy efectuando las pruebas del resto del sistema con módulos NRF24L01 del tipo C, de 2,4 Ghz, es decir, los equipados con amplificador de RF y antena externa, que en buenas condiciones, a baja transferencia de 250 Kbts, y en línea recta con visión entre las antenas podrían llegar a alcanzar esta distancia...

Ahora bien, las pruebas son mucho más modestas, ya que las hago sobre una mesa, a pocos metros el uno del otro, y los resultados que me arrojan son extraños. Tengo cinco módulos de este tipo iguales, que compré nuevos y nunca se han usado, naturalmente los alimento con 3,3 V a partir de alimentaciones independientes de los 3,3 del Arduino, con su propio estabilizador AMF1117, filtrado con condensadores de 22 uF + 100 nF, tanto a la entrada como en la salida... y resulta que los cinco módulos me funcionan bien como receptores pero sólo uno de ellos como emisor, los otros cuatro ha sido imposible hacerlos andar en esta función.

Utilizo la última versión de la librería RF24 de TMRh20, pero no me parece un problema de librerías. Listando la configuración interna de los módulos con "printDetails()", todos ellos me dan los mismos valores, el que funciona y los cuatro que no...

He de añadir que antes de abrir este hilo he realizado una búsqueda sobre el NRF24L01, y al parecer los problemas no son escasos, aunque ninguno de ellos me ha parecido similar al mío.

Para los consejos más básicos he de decir que tengo bastante experiencia con Arduino y programación en C++ y mucha más en electrónica, que ha sido mi profesión durante 40 años, así que pienso que los errores de principiante puedan estar descartados, y durante cuatro días creo que ya he probado todo lo probable, con placa protoboard y sin ella, con conexiones directas y hasta soldadas, con los cuatro niveles de potencia de salida, he probado lejos de cualquier posible emisor de esta banda, incluso con muchos de los 126 canales de RF disponibles en este módulo, incluso los que están sobre los 2,5 Ghz, fuera de la banda WiFi, he añadido resistencias pull-up y pull-dawn en los pines SPI, toroides y cables apantallados en las conexiones para impedir el paso de RF, también he cambiado los Arduinos, y nada de nada, el NRF24L01 que funciona lo hace siempre, y los que no, nunca pasan un sólo "Hola Mundo"al receptor.

Naturalmente el software y las direcciones están bien, porque en caso contrario no funcionaría ninguno de los módulos. Pienso que tal vez los chinos en esta ocasión me vendieron material defectuoso, ya que el pack de 5 unidades fue bastante barato. Eso no lo sé... ¿A alguien se le ocurre alguna prueba especial para comprobarlo? Lamentablemente no tengo instrumentos de prueba para 2,4 Ghz, pero pienso que si la parte emisora estuviera fastidiada, los módulos funcionando en recepción no podrían enviar el reconocimiento ACK al emisor de que los datos han llegado bien, y cuando pasan lo hacen sin errores...

En fin ¿Alguien se ha encontrado con un caso semejante?

Un saludo

Llorens

Has usado un capacitor de 47 a 100uF entre 3.3V y GND del propio nRF24? Es fundamental hacerlo
Otra cosa es que cuando estan cerca se tapan entre si por la potencia asi que en el código lleva la potencia de salida al mínimo.

Conozco tu problema por propia experiencia. Son los módulos que están defectuosos.

Y además hay módulos fusilados, con un chip nrf con error y otro tipo de PA.

Mira esto, es de un foro muy conocido de microcontroladores:

Como es el tema @ELEspanol son clones de los chips Nordic y no hay forma de saber cuando los compras por supuesto hasta tenerlos delante?
Cuando te quede cómodo indica el link del foro donde se debate esto, tengo ese problema desde hace un tiempo con amigos y no he sabido indicarles hasta tu comentario que me pareció que explicaba ese comportamiento raro.

Lo tengo de aqui.

Hola Surbyte. Ya he probado todos los niveles de potencia, y también he llegado a filtrar la alimentación de 3,3 V desde 1 uF hasta con 1.000 uF (más siempre un condensador de 100 nF para las altas frecuencias). Tampoco hay diferencia si alimento el estabilizador AMS1117 con los 5 V del Arduino o con fuentes externas de 5-12 V ...Y nada, el módulo que emite lo hace siempre, y los otros cuatro, nunca...

Hola ElEspanol, interesante este tema de los chips clonados. En mi caso los he comprobado en la lupa binocular y los 5 módulos, el que funciona y los 4 que no, parecen exactamente iguales, tanto el circuito impreso como los chips y resto de componentes, y según la imagen que has añadido, los NRF24L01 parecen del tipo "malo", y el PA del tipo "bueno"... He mirado también el enlace que has puesto y me ha sorprendido que hubiera tantos problemas con estos integrados y sus clónicos... También había pensado en una posible excesiva tolerancia en el sintetizador de radiofrecuencia del chip, pero no dispongo que instrumentos para comprobar bandas tan altas. En fin, menos mal que son elementos baratos...

He pedido en ebay algunos módulos más, esperemos que vayan mejor, mientras tanto seguiré probando algunas cosas. He encontrado en la red el pdf de un trabajo de final de carrera de un tal Pablo Sanz que describe de forma bastante clara el funcionamiento del NRF24L01. He leído algunos detalles que no había visto en otros tutoriales...

Enlace al pdf de Pablo Sanz

Ya os comentaré si saco algo en claro. Gracias por los comentarios.

Llorens

Antes de usar los nrf en un desarrollo de un proyecto nuevo, los pruebo en un entorno de testeo. Primoero instalo nrf de mis buenos, y cambio uno por uno nuevo. Así veo que funcionen bien. También he tenido algunos clones que funcionen entre ellos, pero no con los originales. Han sido estos con la gota de resina como chip.

Yo es la primera vez que los utilizo, de todas formas ya me han llegado los LoRa RFM95 433 Mhz de 100 mW, que en todo caso serán los módulos de radio que instalaré. Así que voy a comenzar a trabajar con ellos.

Una pregunta, sabes de algún sitio que pueda comprar NRF24L01-C fiables, de alguna marca conocida y a precio razonable. Los ha visto de Sparkfun pero son del tipo de baja potencia (0 dbm) y valen más de 20€...

Saludos

Por eso pedi el link porque quería saber sin molestar a @ElEspanol que ya con su aporte nos ha iluminado a muchos, donde comprar los originales nRF24 con antena.

Extractado del debate del foro en aleman y traducido al inglés gracias a mi amigo Google. (Mi consejo, no traduzcan de alemán a español, porque no esta tan bien logrado como de alemán a inglés, siempre busquen a inglés como primer opción, o español si esperan leer en formato apache sin ofender a los apaches).

So dear Chinese. Now I ordered 5 original nRF24L01 + chips from Farnell, milled down the old chips, cleaned the board, soldered the new ones under the SteMi, tested them all work - with my
power modules. Thanks for garnix.

Where do you get modules with original nRF24L01 + chips? At Watterod I'm unsure, Conrad do not even know if they sell 01 or 01+, at Farnell's only the chips, at Amazon and Ebay there are all sorts of things , and if you ask the dealer, you get only: Yeah, go, no problem ,

Lo que hizo esa persona es reemplazar los chips clones por originales. Eso esta fuera de toda posibilidad en este lado del planeta (Argentina) y además tal como la misma persona afirma, no es tan facil asegurarse de la procedencia de los módulos.
Le he preguntado a los proveedores y se resisten a mirar los chips, "Es lo que tengo" me dicen.

Asi que veré como conseguir buenos y seguir desde ahi con estos módulos que me gustan mucho. Al menos con los de baja potencia no he tenido problemas.

Siempre los uso en la misma partida comprada, pero las versiones con antena me han dado problemas.

Intentaré conseguir los chips originales en Farnell o en RS, que podrán dar algo de seguridad sobre la procedencia, pero el problema no es que un solo de estos chips cueste el doble que un módulo de antena externa completo, si no que encima los gastos de envío de estas empresas suelen ser absurdos y multiplican por tres o cuatro el precio del componente...

Saludos

Llorens

De todas formas, pienso que para otros proyectos me sigue interesando el NRF24L01. He buscado un poco por la red y lo he encontrado original de Nordic en RS Components. El pedido mínimo es de 5 unidades, que junto al IVA y los portes suben a 22 €, es decir, 4,4 €/unidad.

...No tiene nada que ver con los precios "chinos" pero los cambiaré a los módulos que tengo y más o menos podré confiar en su funcionamiento...

En cuanto a los módulos LoRa, los he montado provisionalmente en un circuito impreso con pines para poder realizar las pruebas... Esta tecnología también es nueva para mí, pero promete mucho. En teoría debería poder alcanzar unos 5-8 Km, lo cual me viene perfecto para comunicar los sensores con seguridad, es de bajo consumo, y tiene otras muchas posibilidades en IoT, como también me gustaría poder captar las señales del satélite Fossa, que será lanzado en breve...

Un saludo

Lora no tiene problemas hasta que lo cloneen tmb.