Merci d'avance a ceux qui prendront le temps de me lire.
Voici mon problème (et j ai tourne le truc dans tous les sens)
Je veux actionner une gâche électrique à l'aide d'un arduino UNO relié a un module RFID RC522, classique jusque là.
J'ai donc mon lock électrique qui marche sur du 12v (alimentation fournie par un transfo du 220v vers du DC 12V 3A)
J'ai aucun souci sur la partie arduino.... franchement facile. Je l'alimente en 5V
J'utilise un module relais 125 250V 10 A et 28 30 VDC 10 A (alim en 5V comme indique par le fabriquant) comme switch pour fermer ou non le circuit 12v et ainsi actionner le locker.
Voici mon probleme qui m a l'air purement electrique et je pêche encore sur le sujet
Mon montage arduino marche parfaitement si pas de branchement du circuit 12v
Mon locker marche parfaitement sans relais
Quand les 2 sont branchés, je passe le badge et cela fonctionne parfaitement.... mais UNE seule fois !!!!!
Si je veux que cela remarche je dois tout redebrancher et rebrancher....
A mon humble avis, si ça marche une première fois c'est que le problème n'est pas électrique.
Qu'est-ce que tu entends par "une seule fois" ?
Est-ce que la gâche reste activée ou est-ce qu'elle retombe et ne veut plus se réouvrir ?
Est-ce que tu entends bienle relais s'activer au passage du badge et retomber après un certain temps ?
As-tu mesuré la tension envoyée à la gâche ?
Le relais s'active une fois et la gache s'ouvre bien pendant le temps voulu.... Puis elle se referme. Ensuite j ai beau passer mon badge RFID... le relais ne commute plus du tout....
Je rappelle que si je ne branche pas la partie 12v a mon relais, il marche correctement de maniere illimite au passage du badge !
Jai mis une diode de roue libre en parallele avec la gâche... le module relais est deja equipee dune diode de roue libre.
Pourtant le montage est identique et la tension également ?
Voici le sketch :
#include <SPI.h> #include <MFRC522.h>
// ecrire ici le numero UID du bon badge
const byte bonUID[4] = {119, 36, 198, 61};
//
const int relais = 4; // relais
const int pinRST = 9; // pin RST du module RC522
const int pinSDA = 10; // pin SDA du module RC522
MFRC522 rfid(pinSDA, pinRST);
void setup()
{
SPI.begin();
rfid.PCD_Init();
pinMode(relais, OUTPUT);
}
void loop()
{
int refus = 0; // quand cette variable n'est pas nulle, c'est que le code est refusé
if (rfid.PICC_IsNewCardPresent()) // on a dédecté un tag
{
if (rfid.PICC_ReadCardSerial()) // on a lu avec succès son contenu
{
for (byte i = 0; i < rfid.uid.size; i++) // comparaison avec le bon UID
{
if (rfid.uid.uidByte[i] != bonUID[i]) {
refus++;
}
}
if (refus == 0) // UID accepté
{
digitalWrite(relais, HIGH);
delay(500);
digitalWrite(relais, LOW);
delay(3000);
Oui, avec un relais et une 1N4007 j'observe une surtension, avec une 1N4148 aucune.
Mais sans avoir la moindre idée des caractéristiques du solénoïde (résistance, inductance), difficile de conseiller une diode.
Conseil : mets ton code entre balises ( icône </> ).
Pour la gâche : 0,43 A
Et pour l'électroaimant ?
Et combien supporte l'alimentation ?
Est-ce que c'est ton Arduino qui est bloqué, pour contrôler ça, j'ai ajouté des print à ton programme et il doit s'afficher, dans la console à 115200, Accepte ou Refuse.
#include <SPI.h>
#include <MFRC522.h>
// ecrire ici le numero UID du bon badge
const byte bonUID[4] = {119, 36, 198, 61};
//
const int relais = 4; // relais
const int pinRST = 9; // pin RST du module RC522
const int pinSDA = 10; // pin SDA du module RC522
MFRC522 rfid(pinSDA, pinRST);
void setup()
{
Serial.begin(115200);
SPI.begin();
rfid.PCD_Init();
pinMode(relais, OUTPUT);
}
void loop()
{
int refus = 0; // quand cette variable n'est pas nulle, c'est que le code est refusé
if (rfid.PICC_IsNewCardPresent()) // on a dédecté un tag
{
if (rfid.PICC_ReadCardSerial()) // on a lu avec succès son contenu
{
for (byte i = 0; i < rfid.uid.size; i++) // comparaison avec le bon UID
{
if (rfid.uid.uidByte[i] != bonUID[i]) {
refus++;
}
}
if (refus == 0) // UID accepté
{
Serial.println("Accepte");
digitalWrite(relais, HIGH);
delay(500);
digitalWrite(relais, LOW);
delay(3000);
}
else
{
Serial.println("Refuse");
delay(3000);
}
}
}
}
Quand ton système est bloqué, passe ton badge et regardes dans la console, s'il se passe encore quelque chose.
@hbachetti : excuse moi j'étais parti sur la gâche, j'ai abandonné l'electro aimant car je pensais que cela ne fonctionnerait jamais mais en réalité c'est juste que je suis pas bon...
Bref, j'ai trouvé pour l'electro aimant : 0,11 A ~ 0,15 A
Cela fonctionne parfaitement quand je ne branche pas la partie "gâche" en 12V et "accepte à chaque fois"
Des que je connecte la partie 12V de la gâche au relais : Cela fonctionne une ou 2 fois, avec le accepte PUIS ... C'est le néant, j'ai beau passé le badge, plus rien sur la console, plus un seul signe de vie
J'ai débranché les 2 fils connectés au relais pour me faire une petite expérience.
Je les connecte moi même, manuellement pour observer.
Sans diode de roue libre, clairement je l'ai fait une fois car belle étincelle à la déconnexion des fils comme on pouvait s'y attendre....
Avec les diodes, il persiste une étincelle minime, qui je pense fait une surtension lors des fermetures répétées du circuit. J'ai utilisé une IN4004 IN4007 et une IN4148, cela persiste