nRF24L01 + ATtiny 84 en PCB

Buenos días a todos!!!

Os comento un problema que tengo, le he dado un millón de vueltas y no he conseguido averiguar cual puede ser la causa.

Como he comentado en algún otro post, estoy haciendo una alarma para mi casa. He pasado todas las pruebas iniciales satisfactoriamente y por fin tengo el software mas o menos como quiero, por lo menos para una primera versión.

Por no liarme mucho, utilizo la Pi3 como receptor y el ATtiny 84 como emisor, ambos con el nRF24. Envío la señal con el estado desde el AT84, la pi lo recibe y contesta como confirmación de recepción (con el mismo paquete), si no recibo respuesta, envío nuevamente desde el AT84 y así hasta 6 veces por si en algún momento se pierde algún paquete. Este programa es básicamente los ejemplos de gettinstarted de la libreria Tmrh20 modificados y la verdad es que no falla prácticamente nunca cuando tengo el circuito del el AT84 en la protoboard. Adjunto imagen

Hasta aquí perfecto, pero cuando monto el nRF24L01 y el ATtiny 84 en una placa PCB, empieza mi desesperación, frustración, ansiedad...

Desconozco el motivo, pero tengo un comportamiento no deseado. Envió la señal y la pi lo recibe, pero casi siempre, el AT84 no recibe la respuesta y continua enviando. En ocasiones una vez, otras 2, 3, 4, 6...

Creo que el problema son las interferencias, pero me estoy volviendo loco ya que parece que solo afecta a la recepción y no al envió. He probado un millón de cosas y el problema continua. Por poneros en antecedentes os enumero lo que he probado :slight_smile:

1-Lo he montado como en la protoboard y apareció el problema. después de revisar conexiones y demás, vi por algún hilo que el problema puede estar derivado de las interferencias del metal de la PCB, por lo que le puse extensiones con los dupon entre el nRF24 y la PCB y comenzó a funcionar. Avance :slight_smile:

2- Con lo aprendido en el punto 1, monte la placa de nuevo con los cables mas largos, unos 5-8 cm y no funciona como con los dupon (aquí ya me empiezo a mosquear). le vuelvo a poner los dupon y otra vez funciona.

3- Elimino los zocalos que para poner el nRF24 en la PCB y sueldo los cables directamente a los pines desde el AT84 y el nRF24 por si es un problema de mala conexión. Ningún avance.

4- Vuelvo al diseño inicial de la protoboard, pero esta vez elimino todo el metal de la pcb que no necesito para y lo dejo en la mínima expresión para eliminar las interferencias. Ningun cambio.

5- igual que en el punto anterior, pero pogo el nRF24 en el extremo de la pcb y completamente fuera la antena como he visto en algún post, pero nada.

6- Pruebo a montar el circuito con otro tipo de cables, pruebo primero soldando los cables de los dupones y también con los cables de un cable de red, pero tampoco tengo cambios.

Ya no sé que mas probar, el software funciona ok y los componentes que uso en la pcb los he verificado primero en el circuito de la protoboard, por lo que sé que funcionan correctamente. Incluso he utilizado la misma bateria por si fuese eso y nada.

Os dejo unas fotillos por si vosotros veis algo que a mi se me escapa, estoy dispuesto a probar cualquier solución posible.

Esto ya se esta convirtiendo en un reto personal, ya que no logro entender donde esta el problema y el motivo por el que el envío es correcto pero no recibo la confirmación como en el protoboard...

Mil gracias!!!!!!!!!!!!!!!!!!!!!!

Imagenes Adjuntas:

Imagen circuito Protoboard:

Imagen circuito 1 (superior):

Imagen circuito 1 (posterior):

Imagen circuito 1 (angulo):

Imagen circuito 2:

Hi,
Yo tuve problemas usando mi pcb y un attiny85. Algunas veces se reseteaba solo y lo resolvi anadiendole una resistencia de 10K al pin de reset. Segundo cuando tienes un pcb se le debe anadir a los chips un condensaador de .1 ufd entre los pines de Vcc y ground.Estos es para eliminar los ruidos digitales que se produncen por estos.Tambien debes de anadirle un condesador de por lo menos 47uf a los Vcc.Tratalo a ver si resuelve tu poblema.

@Tauro0221, estoy llorando, llorando de alegría!!! :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: le he puesto un capacitador cerámico "104" en la entrada al circuito y funciona a la perfección! :smiley: :smiley: :smiley: :smiley:

Además, este problema lo tenía tambien en mi primer intento con el attiny85 y para simplificar el circuito me pase al 84 hasta solucionarlo.

Dios! Que alegriaaaaaaaaaaa!!

Lo que no entiendo bien es esto que pones aqui:

Tambien debes de anadirle un condesador de por lo menos 47uf a los Vcc

Esto dónde se pondría y para que serviría?

Otra pregunta, hay algún post sobre el tema del ruido? Me pica la curiosidad de saber por que afectaba solo a la recepción y no al envío.

De nuevo, una y mil veces, mil millones de gracias. Es una cosa que me traía por el camino de la amargura y para colmo no tengo ni idea de electrónica, voy aprendiendo cómo puedo!

Hi,
El problema que pasa es que los micro processors generan ruidos digitales estos cause interferencia electromanetica. Se recominda que a los chips se le anada un condensador de.1 ufd lo mas cercano posible a los pines de Vcc y ground esto elimina estos ruidos de alta frecuencia.El condesador de 47 ufd se le anade en la entrada de la tarjeta del pcb para eliminar tambien los ruidos pero de baja frecuencia en el Vcc. Yo siempre le anado uno de 47ufd y uno de .1 ufd en paralelo al Vcc y ground.Esto elmina cualquier ruido que se pueda intrucir atraves de la entrada del Vcc.

Link donde explican el decoupling capacitor.

@tauro0221 muchas gracias por la info, un artículo interesante.

Ayer vi que al montar un nuevo circuito no me funcionaba bien, hasta que por casualidad vi que si ponía el dedo en la antena iba como la seda, cogí otro nrf y todo funcionó bien... Mirando sobre el tema vi que hay algunos proveedores venden el SI24R1 como nrf24, y no se porque... A mí me da que me han dado gato por liebre.

Alguien tiene algún proveedor de confianza que tenga nrf a buen precio y que este seguro que son "originales"?

Moderador:
Por alguna razón el post que te había escrito no salió.
Edita tu post inicial para que se vean las 5 imágenes adjuntas.
Creo habértelo enviado por privado, no recuerdo realmente.

Hola a todos de nuevo!

He estado esperando a recibir unos nuevos nRF24 y el problema continua, cuando lo conecto al circuito no envía ni recibe nada, solo cuando pongo el dedo en la antena como os he comentado anteriormente.

Compre unos nFR24 de la marca Velleman (por eso de que da mas confianza) y todo funciona correctamente, pero he seguido haciendo pruebas y me he dado cuenta, que en los circuitos en los que puse los dos condensadores que indico @tauro0221 les pasa eso, en este caso solo funcionan los Velleman, pero si los genéricos los pongo en el circuito sin el el condensador de 47uf si funcionan, por lo que creo que ahí esta el problema.

Comentarios de @tauro0221:

cuando tienes un pcb se le debe anadir a los chips un condensaador de .1 ufd entre los pines de Vcc y ground.Estos es para eliminar los ruidos digitales que se produncen por estos.Tambien debes de anadirle un condesador de por lo menos 47uf a los Vcc.Tratalo a ver si resuelve tu poblema.

Les dejo unas fotos del montaje final, en el que he puesto el condesador de 47uf justo antes del de .1ufd y del condesador de 47uf que compre, por si no lo entendi bien :slight_smile:

Muchas gracias a todos!!!

Imagen circuito:

Imagen condesador de 47uf:

Aprovecho para agradecer a surbyte el esfuerzo, dedicación y paciencia que dedica a este foro para mantenerlo ordenado y que todos podamos utilizarlo!!!

Los condensadores deben ir a los pines VCC y GND del módulo nRF24. Yo ahí no los veo soldados.

Buenos días!

mmmm, creo que me he perdido un poco entonces y he interpretado mal los comentarios de tauro0221.

Entendí que los condensadores había que ponerlos en el principio del circuito, lo mas cerca de la alimentación y del ATTiny y no en el nRF24, y en el nRF (que no en el de la foto) siempre pongo uno de 10uf y por lo que veo, cuando tengo el de 47uf y el 10uf es cuando deja de funcionar.

Por aclararme, los condensadores de 47uf y el de .1uf van soldados directamente al GND y VCC del nRF24 sustituyendo al que siempre pongo de 10uf??

@surbyte en la foto esta el velleman que comento, la verdad es que funcionan muy muy bien y no he tenido que soldar nada, pero claro, tienen un precio de 9€ dos unidades... ademas, tengo como unos 15 de los otros :slight_smile:

Por aclararme, los condensadores de 47uf y el de .1uf van soldados directamente al GND y VCC del nRF24 sustituyendo al que siempre pongo de 10uf??

Si, correcto.

@surbyte en la foto esta el velleman que comento, la verdad es que funcionan muy muy bien y no he tenido que soldar nada, pero claro, tienen un precio de 9€ dos unidades... ademas, tengo como unos 15 de los otros :slight_smile:

Bueno ahi tienes un ejemplo entre lo que aparentemente sale caro pero funciona y lo que sale barato y te consume horas y horas de tu tiempo, al cual no le pones valor pero lo tiene.
Entonces, dime, cual sale mas caro?

Te aclaro, todos hemos tenido tu problema.
Si las camadas de nRF24 son similares, del mismo proveedor deberías hacerlos funcionar entre ellos. Como si fueran cosas diferentes.
Tenemos un hilo (que hay que buscar) donde alguien detectó que hay chips cloneados chinos que no son de Nordic Semiconductors y por lo tanto ahí esta el problema.

Volviendo para atrás, al ver las imágenes con protoboard y con PCB encuentro que no armaste un PCB entre el ATtiny y el nRF24 en una pieza si no que lo cableas, y sinceramente no entiendo porque hiciste eso?

Esta imagen lo prueba

Ahi se ve el nRF24 separado del ATtiny. Me pregunto porque no hiciste un PCB donde todo estuviera ligado con pistas adecuadas para VCC y GND.
Tienes un elemento que genera microondas de 2.4Ghz.
Intenta trenzar los cables que llegan al nRF24.

Buenas Surbyte!!

Volviendo para atrás, al ver las imágenes con protoboard y con PCB encuentro que no armaste un PCB entre el ATtiny y el nRF24 en una pieza si no que lo cableas, y sinceramente no entiendo porque hiciste eso?

Aquí realmente estaba volviéndome un poco loco y al final lo corte para separar el ATtiny del nRF24 y ver si las interferencias podían venir de la proximidad... soldando y cambiando cables...

También te comento, no tengo ni idea del electrónica, voy aprendiendo y estudiando todo lo que puedo para aprender. Ahora que parece que con los pedazo de consejos que me habéis dado todo parece funcionar a la perfección, quiero empezar a montar el circuito final e imprimir la caja en la impresora 3D para que quede bonito. en este sentido, todo los consejos que me deis serán de muchísima ayuda.

La idea es mantener un diseño mas o menos como el de la foto, por hacerlo lo mas pequeño posible, pero eso siempre y cuando sea funcional, estoy abierto a rediseñar y aprender de vosotros.

(Si podéis acompañar de fotos o algún articulo para que pueda entenderlo mejor os lo agradeceré eternamente)

Bueno ahi tienes un ejemplo entre lo que aparentemente sale caro pero funciona y lo que sale barato y te consume horas y horas de tu tiempo, al cual no le pones valor pero lo tiene.
Entonces, dime, cual sale mas caro?

Cuando alguien tiene razón... no puedo mas que dársela :slight_smile: ya encargue unos cuantos. Pero también te digo, me encanta aprender, y creo que de los problemas es de lo que mas se aprende, en este mundo en el que vivimos de la inmediatez y todo hecho, es todo muy fácil y no esta de mas de vez en cuando parar y analizar las cosas.

Si las camadas de nRF24 son similares, del mismo proveedor deberías hacerlos funcionar entre ellos. Como si fueran cosas diferentes.
Tenemos un hilo (que hay que buscar) donde alguien detectó que hay chips cloneados chinos que no son de Nordic Semiconductors y por lo tanto ahí esta el problema.

Mil gracias! voy a buscarlo y leer!!!

Una vez mas, mis agradecimiento a todos los que participáis en el foro y por la paciencia que tenéis!!!

Mira. Solo para que tu frustración se sienta acompañada.
Estoy en este momento trabajando con alguien que tiene años de experiencia armando un proyecto grande que involucra 50 nRF24.
Cuando llegó el momento de comprarlos le dije: "Tené cuidado, asegurate de comprarlos en un sitio reconocido". Le di mis sitios seguros con los que no he tenido problemas.
El otro dia probábamos 3 nodos nRF24 y no funcionaban.
Le pregunto.. revisaste conexiones
Si, me dice.
mas tarde
Revisaste que tengan el capacitor entre VCC y GND
Si... me dice
no había caso.. la Raspberry debía escuchar algo pero no escuchaba a los nodos y menos estos a la RPi que hacía las veces de master.
Entonces le digo.. cambia un nRF24 no sea cosa que lo hayas quemado. Y tal cual... eso habia pasado.
En los cambios no se dió cuenta y lo alimentó con 5V y lo fulminó.

Son muchos los errores que se pueden cometer aún sabiendo electrónica. Es un segundo de distracción y todo se arruina.

Revisa todo varias veces. Comienza con dos módulos, usando el ejemplo GettingStarter.ino (si no recuerdo mal su nombre). No varies de eso. Si logras que se comuniquen, repite con otros módulos. Separa los buenos de los malos. Los malos a una caja por posterior prueba entre ellos y sino no funcionan al tacho de basura.