Bonjour à tous,
Afin de piloter une électrovanne pour de l'encollage, j'ai besoin d'une tempo très courte (0,3 secondes) pour un encollage d'une pièce, ainsi que d'une tempo plus longue (6 secondes) pour faire la purge, j'ai fait un petit programme basique :
/*
Temporisation courte ou longue
Active la temporisation sur 6 seconde si action sur le bouton "Purge"
Active la temporisation sur 0.1seconde si action sur bouton "Pulse"
attend 1,5 secondes avant la possibilité de refaire un nouveau cycle après une action sur "Pulse",
et pas de tempo après le cycle "Purge"
creation le 03/12/2015 par Qiko68
*/
// Déclaration des Pin:
const int boutonPulse = 2; // Pin du bouton "Pulse"
const int boutonPurge = 3; // Pin du bouton "Purge"
const int relaisEV = 12; // Pin de commande du relais de sortie
void setup() {
// définition de la commande du relais en mode output:
pinMode(relaisEV, OUTPUT);
// définition des boutons poussoir en mode input:
pinMode(boutonPulse, INPUT);
pinMode(boutonPurge, INPUT);
}
void loop() {
digitalWrite (relaisEV,LOW);
// si action sur les 2 boutons = cycle de purge
if ((digitalRead(boutonPurge)==1) && (digitalRead(boutonPulse)==1))
{
digitalWrite (relaisEV,HIGH); // activation relais
delay (6000); // tempo 6 secondes
digitalWrite (relaisEV,LOW); // arret relais
}
// si action uniquement sur bouton "pulse" = cycle court
if ((digitalRead(boutonPulse)==1) && (digitalRead(boutonPurge)==0))
{
digitalWrite (relaisEV,HIGH); // activation relais
delay (30); // tempo 0.03 seconde
digitalWrite (relaisEV,LOW); // arret relais
delay (1500); // pause antirebond de 1,5 secondes
}
}
Le Circuit:
- un module relais arduino est branché sur la sortie 12 vers la masse, ce micro relais commande un relais plus gros via un contact NO
- 1 Bouton poussoir "Purge" vers Pin 3 à partir du +5V (contact NO)
- 1 Bouton poussoir "Pulse" vers Pin 2 à partir du +5V (contact NO)
- 1 résistance de 10K entre Pin 2 et masse
- 1 résistance de 10K entre Pin 3 et masse
- 1 arduino nano
- 1 un StepDown qui lui est alimenté en 24V DC (filtré et régulé) et fournit le +5V pour le montage
L'arduino nano + les résistances + le module relais + le StepDown sont assemblé sur une platine époxy à pastilles et placé dans un boitier en alu qui est relié à la masse (terre) de ma machine
Les 2 boutons sont sur une boite à boutons type télémécanique avec un câble de liaison de type 12G1 de 1 m de longueur
le cycle de purge est conditionné par l'action simultané sur les 2 boutons pour éviter un cycle purge pendant la phase purement production qui elle est juste une succession de collage 'cycle court)
Mon soucis :
Je met sous tension, je purge, je colle, je colle, je colle, et sa marche plus, m'obligeant à faire un reset sur l'arduino pour relancer,
Parfois ça me met 2 impulsions courte à la suite sans respecter la tempo des 1,5 secondes
Parfois ça me fait un double cycle de purge (12 secondes au lieu de 6)
Parfois ça fonctionne nickel durant 7-8 cycle de collage, parfois durant 25 cycles, puis l'arduino se bloque
parfois même ça bloque en laissant la sortie active (ouff j'ai appuyé à temps sur le bouton reset, sinon bonjour le pâté de colle )
Je pensais à des parasites donc j'ai mis la platine dans un boitier blindé sans succès,
Je penche soit pour une arduino nano défaillante, soit un parasite via l'alimentation, mais le StepDown est clean à l'oscillo, et je ne dépasse largement pas ses capacités maxi, donc je sèche.
Pouvez vous m'aider sur ce type de panne, j'ai déjà fait plusieurs montages avec de l'arduino (Mega, Uno et nano), mais c'est la première fois que j'ai ce type de souci.
Merci de vos lumières
Cordialement,
Christophe