Proyecto control de acceso RFID (Problema) [SOLUCIONADO]

Hola. Primero de todo me presento. Soy Dídac y actualmente estoy cursando 2º de Bachillerato en Barcelona. Tengo que hacer un trabajo de investigación (trabajo de final de bach) y he escogido la creacion de un control de acceso RFID con Arduino desde 0. Estoy muy contento hasta donde he llegado, ya que he conseguido que el sistema como tal funcione perfectamente, haciendo las consultas oportunas en una base de datos MySQL y el poder haber conseguido la interconexión con una base de datos. PD: El código lo he escrito 100% yo con ayuda de documentación.

El proyecto como tal consiste con un Arduino Mega + ethernet shield, con un modulo RFID (MFRC522) y un módulo relé, que cuando un usuario pase una tag RFID por el lector, Arduino haga las consultas oportunas a la base de datos, y luego decida si ese usuario tiene acceso o no. En el relé hay conectado un cerradura eléctrica (como la de los portales) y cuando el relé cierra el circuito, pasan 12V de un transformador AC y la cerradura pide unos 1,5A.

Una vez montado todo menos la cerradura, hice las pruebas pertinentes sin ella ya que el relé tiene un led para saber si está actuando o no, y este funcionaba perfectamente. La cosa es que cuando conecto la cerradura eléctrica al relé, paso la tag, abre la puerta, todo OK, pero a partir de aqui, arduino ya no funciona, sinó que tengo que reiniciarlo para que vuelva a funcionar. A la que desconecto la cerradura eléctrica del relé (o quito la fuente de alimentación), funciona todo con normalidad.

Hemos probado a aislar Arduino para descartar que sean interferencias con los cables, ya que está en una caja de PVC todo ahí metido, nada. Hemos probado a conectar 12V a al cerradura pero DC, nada. Ya no se que más probar... Incluso he probado con un segundo relé y sigue pasando lo mismo. Lei algo en internet sobre los delays, que si el código es muy extenso, los delays pueden hacer que arduino funcione mal, y en efecto, hay un delay de 1000 después de abrir la puerta. Pero claro, si fuese eso, pasaria estando la cerradura conectada o desconectada, y solo sucede cuando está conectada.

Adjunto el código a ver si alguien me ilumina un poquillo y me ayuda a solucionar el problema, ya que no se que más hacer jeje.

Datos útiles: Arduino Mega alimentado con cable USB desde transformador movil.
Relé alimentado con 12V AC desde un transformador 230V a 12V. Probado también con fuente de alimentación 12V DC y pasa lo mismo.

Muchisimas gracias!!!!! Saludos

Code: [code]#include <SPI.h>#include <Ethernet.h> #include <MFRC522.h> #inc - Pastebin.com

MODERADOR: reemplaza esto por el código usando las etiquetas del foro.
No hay porque ver una enlace a un código cuando justamente lo que estas posteando tiene problemas con el y nosotros tenemos que verlo directamente.

Hola @erdia bienvenido al foro Arduino.

Dos cosas:

  1. te envío por privado las normas del foro y como editar tu segundo post para que ese código se vea de acuerdo a como esperamos leer un código o sea usando etiquetas </>. Lee el privado y entenderás.
  2. Necesitamos una imagen de como tienen cableado ese rele, y que carga controla.

Posible solución: Tienes diodo en antiparalelo para evitar el transitorio de la bobina del rele? Eso es una de las primeras acciones que debes tener en cuenta para evitar ruido electrico como el que estas teniendo y aún asi puede que contínúe el problema.

Asi que iremos viendo y aconsejándote.

Hola, gracias por tu respuesta. No puedo poner el código con las etiquetas code ya que supera los 9000 caracteres.

He probado a ponerle un diodo en antiparalelo en la conexión entre arduino y el relé, y en la parte del relé con la fuente de alimentación y la cerradura. Antes de hacer eso solo funcionaba una vez y luego tenia que reiniciar arduino, ahora funciona 3 o 4 veces y luego se bloquea otra vez. Alguna idea más? Adjunto fotos!

Gracias!

MODERADOR: Editar enlace

(Tampoco puedo adjuntar las fotos, me sale error 413 entity too large)

Hi,
Pregunta cuales son las especificacions de la cerradura.No veo la cerradura pero esos cable son muy finos y las conecciones no son muy bien hechas. Otra cosa que los cable si son en par debes de trensarlos para que cancelen cualquier ruido que se genere al cerrar/abrir la cerradura. Cuando trezas los cables reduce la ruidos electricos. Solamente un sugerencia.

Mañana envío una foto de la cerradura! Pero vaya, es la misma que la de los portales de los edificios.

Con trenzar los cables, te refieres a coger positivo y negativo de los cables que vienen de la fuente de alimentación y los que van a la cerradura y trenzarlos entre sí?? Gracias!!

PD: En la última foto, el cable blanco está suelto, justamente en hacer la foto se soltó, pero ese cable va hacia la cerradura.

Te he pedido varias veces que leas las normas y postees código y enlaces usando las normas del foro
Te envio una vez más cómo hacerlo por privado!!

Hi,
El problema es que dependiedo de cuanta corriete usa la cerradura es el ruido que se va a producir pues estas energizando creo que es un selenoide y estos producen ruidos elctricos. Por eso debemos saber las especificaciones de la cerradura si es posible. Los de trenzar los cables si estas en lo cierto. Tambien debes de trenzar los 3 cables que van del micro al relay. Esto se hace para reducir los ruidos electricos. Al trenzarlos se cancela los ruidos. Me imagino que estas usando ese relay que se ve en la foto para enrgizar la cerradura si/no. Que energia suple el micro. Otra pregunta en la forma que lo tienes alambrado el projecto es final o es mientras desarollas el projecto. Perdona que pregunto mucho pues estamos tratando de resolver tu problema sin esquematico y nos estamos llevando por lo que describes al principio del hilo. Por eso es que pedimos un esquematico hecho a mano ayuda bastante a resolver el problemas.Otra cosa es porque no conectas los cable azules directamente al relay. y elimanas los cable finitos que estas usando.

He probado todo lo que me habéis dicho y nada ha funcionado. He encontrado la solución!! Como me he dado cuenta que justamente se bloquea Arduino despues del delay de 2 segundos (tiempo de actuación del relé) y llega a volver a poner el relé como LOW, he puesto que tal cual después del delay haya otro relé que corte la alimentación de Arduino, entonces cuando se abre la puerta, se reinicia y al cabo de 2 segundos ya se puede volver a acercar una tag RFID. En efectos practicos, no se nota que Arduino se ha reinciado, y si intentas poner la llave nada más quitarla de la primera vez, tardará 2 segundos en volver a funcionar (el tiempo que tarda en reiniciarse.

Saludos!

Hi,
Te felicito que hayas resuelto el problema Ahora te sugiero que consideres replanzar el relay mecanico por uno que sea SSR. Razon es que estas abriendo/cerrando una puerta y esto a la larga va a danar los contactos del relay y lo vaz a tener que replazar amenudo.. El SSR te va a dar confiabilidad por anos comparado con el relay mecanico. Es solamente una sugerencia.

Te felicito que hayas resuelto el problema Ahora te sugiero que consideres replanzar el relay mecanico por uno que sea SSR.

Dime tauro como accionas un SSR con DC?

Hi,
Surbyte sencillo mira este link. Los SSR vienen con salidas para DC o AC.Dependiendo que usan para la salida.

https://www.ebay.com/itm/DC-to-DC-Single-Phase-Solid-State-Relay-SSR-25A-3-32V-5-200V-Clear-Cover/232975662280!Dc_AC SSR.jpg|1100x1100

Ok pero es una forma engañosa de llamarle SSR. no sigue el concepto de un Triac.
Podra tener un MOSFET o un Tiristor y requerirá de ciertas condiciones para descebarlo.

No es que si no la gano la empato. Pero ambos sabemos que Solid State Relay es del tipo OPTO+Triac y eso en DC mmm no va.

Por lo visto se ha extendido la idea.. asi que punto para tauro.

Al centro la version con un transitor o mosfet tal como lo imaginé pero no sabía que SSR los contemplaba aunque tiene logica.

O sea que en un RELE de arduino tienes un SSR mas un Relé @tauro? porque lo que se ve a la izquierda del rele de Arduino (azul) es lo mismo del centro mas el rele con bobina. A mi no me convence pero bueno.

erdia:
He probado todo lo que me habéis dicho y nada ha funcionado. He encontrado la solución!! Como me he dado cuenta que justamente se bloquea Arduino despues del delay de 2 segundos (tiempo de actuación del relé) y llega a volver a poner el relé como LOW, he puesto que tal cual después del delay haya otro relé que corte la alimentación de Arduino, entonces cuando se abre la puerta, se reinicia y al cabo de 2 segundos ya se puede volver a acercar una tag RFID. En efectos practicos, no se nota que Arduino se ha reinciado, y si intentas poner la llave nada más quitarla de la primera vez, tardará 2 segundos en volver a funcionar (el tiempo que tarda en reiniciarse.

Saludos!

No lo he entendido muy bien, pero por lo que dices, creo que arduino no se queda bloqueado. Lo que se queda bloqueado, a mi entender, es el modulo rfid. A mi también me pasaba y lo solucione reseteando por el pin SS al rfid. Pero en mi caso era debido a que el modulo de rfid estaba a unos 2 metros! No sirvió desacoplar la alimentación por lo que supongo que el ruido se cuela por los pines del bus.
Saludos.

1 Like

Hi,
Si es debido a la distancia puedes anadirrle un pullup resistors a los pines del RFiD. Otra cosa que puedes hacer es la de comprar cables que sean trensados.