Matériel esp 01, alimentation 220 vers 5v DC et relais esp 01 v04
Le but est une commande de volet en Wi-Fi et via un bouton poussoir.
Le soft fonctionne. J ai en rx et gnd mon bouton poussoir.
Tout est OK le relais bascule via le bouton et le WiFi.
Quant le volet est connecté au relais et quant le volet arrive au fin de course un parasite relance le volet dans l autre sens donc j ai mis une capa de 10 Pico sur le bouton poussoir mais le problème continue est ce que ma capa doit être sur rx et gnd du esp ?
J ai aussi fait l essais suivant via un inverseur juste à côté du module et donc déconnecter du relais le problème est bien un parasite.
L entrée du esp est en pull-up via soft et Don pas de résistance externe.
Merci des conseils. J ai déjà eu le phénomène il y a 20 ans avec un tout autre système. J y avais mis une capa mais je sais plus où et quelle valeur.
Le plus simple est d'utiliser un filtrage logiciel. En gros, tu vérifies l'état de ton bouton poussoir 2 ou 3 fois à 20ms d'intervalle. Si tu as 3 fois un état haut alors la variable représentant l'état de ton bouton bascule sur haut. Pareil pour l'état bas. Une suite d'états différents ne change pas ta variable ce qui filtre d'éventuels parasites qui ne sont que transitoires. Pour optimiser la réponse du poussoir, effectue tes mesures par glissement (la dernière mesure remplace la plus ancienne). Pour augmenter ton immunité aux parasites, augmente le nombre de mesure pour confirmer l'état de ton poussoir.
Hello,
Je ne connais pas du tout l'ESP01, et je suis encore un grand débutant... Mais sait-on jamais, si ca peut faire avancer.
Ton problème me fait penser a un problème que j'ai eu avec une porte à badge RFID.
Mon problème était que le cycle se produisait à répétition même si le badge était présenté qu'une seul fois.
La cause était l’enregistrement du badge dans le buffer suivant le temps qu'il était présenté (en moins d'une seconde il pouvais y avoir 4 ou 5 lecture de badge, et donc autant de cycle)
Ma solution à été de lire le buffer tout le temps qu'il y avait des données et de ne rien en faire.
Mon aventure est ici.
Un filtrage anti-rebond se traduit aussi par une simple temporisation, c'est comme dire au microcontrôleur ferme les yeux pendant X temps parce que ce qui se passe c'est moche.
Mais bon, je ne suis pas partisan du cache-misère un problème physique doit être réglé de manière physique
La gestion des touches d'un clavier est souvent assigné à un code qui utilise des temporisation pour éliminer les rebonds. En outre, il permet aussi de prendre en charge les appuis courts et longs sur une touche pour augmenter ses possibilité d'utilisation. Et pour une commande de volet, même 100ms ne gênerait pas. Au contraire, ça éviterait tout appui involontaire et rapide.
Si c'est un parasite provenant du moteur, il faudra sortir l'oscilloscope pour détecter le problème sinon on avance a l'aveugle. Juste au cas ou, il y a bien une diode de roue libre sur le relais? Je préfère éliminer rapidement les causes évidentes.. Comment la carte est alimentée?
Je ne pense pas qu il s agit d un problème de diode sur le relais car c est un relais NO NC.
Je m explique le relais reste en permanence dans l une ou l autre position. Donc quant le volet est en fin de course haut le relais reste en commande haut jusqu'à ce que je fasse la demande descendre et vise versa.
Donc vraiment un parasite du moteur qui est interprété par l entrée comme une autre impulsion.
Soit J essaie avec 200nF ou une pause = au temps de la course haut ou bas + 3 secondes.
Effectivement votre commentaire ne m intéressé pas car vous ne cherchez pas à régler le problème a100%
N hésiter surtout pas à aider les personnes ici présente par des solutions plus explicite.
Merci.
Ah! J'ai l'impression que j'ai fauté :
Dans mon post (#9), je pensais avoir mis 2 liens en rapport avec votre problème; apparemment ce n'était pas le cas.
Donc j'ai corrigé le #9.
Un avis direct de 68tjs serait préférable.