[Autre] Actionner un relais après 2 impulsions sous conditions - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 59 sur 59

Actionner un relais après 2 impulsions sous conditions



  1. #31
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions


    ------

    Peut-être que le diagram va aider à la comprehension...

    Nom : p1jm.jpg
Affichages : 170
Taille : 31,6 Ko

    -----
    Dernière modification par Antoane ; 22/06/2023 à 08h54. Motif: Rapatriement PJ

  2. #32
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonjour,
    Le programme en #30 devrait répondre à la question.
    J'ai ajouté le timeout (time<2 => timeout 1s) pour supprimer la mémorisation du premier appui.
    Si problèmes de rebonds, la solution soft est de placer une pause de 10 ou 20 ms après chaque transition. On peut les placer à titre préventif...
    MM
    Dernière modification par mag1 ; 22/06/2023 à 08h47.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  3. #33
    Sweeban

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonsoir Mag1

    un "rebond" sur ce Post ...

    Tout comme toi, je propose - parfois- une solution à base de PIC mais bon ...

    Bonne soirée
    Dernière modification par Sweeban ; 22/06/2023 à 18h01.

  4. #34
    lutshur

    Re : Actionner un relais après 2 impulsions sous conditions

    Peut-être que le diagram va aider à la comprehension...
    Juste pour le fun. Bien que ça ne demande qu'un CD4013 et un CD4011 + 3 résistances et 3 condos. Le Mosfet est là pour accélérer la possibilité de recommencer. Il peut être supprimé.
    Nom : Capture d’écran_2023-06-22_19-18-25.png
Affichages : 164
Taille : 37,4 Ko

  5. #35
    lutshur

    Re : Actionner un relais après 2 impulsions sous conditions

    Et l'oscillo
    Nom : Capture d’écran_2023-06-22_19-18-58.png
Affichages : 171
Taille : 42,1 Ko

  6. #36
    DAT44

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonjour,
    proposition avec juste un 4013 :Nom : Capture.jpg
Affichages : 161
Taille : 55,7 Ko

  7. #37
    trebor

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par MicroVinc Voir le message
    C'est pour éviter les appuis non désirez...
    Bonjour à tous,
    Peut être ceci encore plus simple.
    Pour éviter des appuis non désirables sur le bouton, utiliser 2 boutons poussoirs séparés mis en séries, seul les appuis sur les 2 boutons en mêmes temps pour activer le relais.
    Pour le maintien du relais, les boutons doivent alimenter une temporisation inférieure à 300 ms (charge d'un condensateur électrochimique à travers une résistance (T=R.C) pour alimenter la base d'un transistor et le transistor le relais.
    https://www.google.com/search?client...rhPUVjbJTL4BMM
    Faire tout pour la paix afin que demain soit meilleur pour tous

  8. #38
    omega.067

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par trebor Voir le message
    Bonjour à tous,
    Peut être ceci encore plus simple.
    Pour éviter des appuis non désirables sur le bouton, utiliser 2 boutons poussoirs séparés mis en séries, seul les appuis sur les 2 boutons en mêmes temps pour activer le relais.
    Pour le maintien du relais, les boutons doivent alimenter une temporisation inférieure à 300 ms (charge d'un condensateur électrochimique à travers une résistance (T=R.C) pour alimenter la base d'un transistor et le transistor le relais.
    https://www.google.com/search?client...rhPUVjbJTL4BMM
    mouarf, Salut Trebor, jette un oeil au #25
    Non, rien de rien, je ne regrette rien.

  9. #39
    Sweeban

    Re : Actionner un relais après 2 impulsions sous conditions

    #25 Et pour encore plus : On ajoute 1 troisième bouton, on sait jamais !..
    Mais aussi cela Possible >> PIXACE (Mag1) ou PIC (Moi)
    Sniff !..
    Dernière modification par Sweeban ; 23/06/2023 à 18h26.

  10. #40
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    @lutshur et @DAT44 : Merci à vous, je garde ceci sous le coude, pour l'instant, j'ai commandé le matériel pour réaliser le montage avec un microcontrôleur... Si vraiment je bloque dessus, je passerais sur cette solution.

  11. #41
    trebor

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par omega.067 Voir le message
    mouarf, Salut Trebor, jette un oeil au #25
    Salut voisin du doudou, ici c'est le baudet
    J'avais pas vu ton message, chez nous c'est toujours pour une recherche de solution la plus simple.
    Il y a des machines qui ont 2 boutons séparés à actionner des 2 mains, impossible d'avoir un doigt ou le bras écrasé ou coupé.
    Il y a également la solution de placer un seul bouton poussoir dans un tube, le bouton étant un peu enfoncé (en retrait) dans le tube, impossible d'appuyer sur le bouton accidentellement.
    Faire tout pour la paix afin que demain soit meilleur pour tous

  12. #42
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    @mag1 : Bonjour, je viens de réaliser le montage et envoyé votre programme. Il fonctionne mais pas comme désiré, sauf erreur de ma part, je me rends compte qu'un 08M2 fonctionne que sur "front montant/front descendant" de C.3 et qu'il n'y a pas possibilité de traiter l'information sur un front montant "maintenu" et en attente du front descendant ?

    Je ne pense pas que l'on puisse faire ceci : (C.1 passera à 0 qu'au front descendant de C.3)

    Nom : Diagram.jpg
Affichages : 115
Taille : 37,4 Ko

  13. #43
    Pascal071

    Re : Actionner un relais après 2 impulsions sous conditions

    bonsoir MicroVinc

    je viens de tester le code de MAG1 en #30, avec un 08M2, sans aucune modification:
    ça fonctionne parfaitement, suivant ton chronogramme #42

    sans rebonds et sans condensateur sur C.3 (que je conseillerai quand même suivant le poussoir utilisé)
    l'entrée C.3 ne sert pas en interruption sur front, mais par lecture de l'entrée (pous=0 ou pous=1)

    cordialement

  14. #44
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    Je viens de modifier le code pour qu'il réponde à mes attentes, voici le code :

    Je dois améliorer le fait qu'il commence à compter les 300ms au front descendant alors qu'il faudrait au front montant. Car, par exemple, lorsque je reste appuyé une première fois pendant 5 secondes, je relâche et que je rappuie maintenu avant les 300ms, ma sortie passe à 1 alors qu'elle devrait rien faire car je devrais recommencer la procédure.


    Code:
    ;temps max pré-impulsion = 300ms
    ;temps max timeout si pas d'appui ensuite
    symbol pous = pinC.3	; Définition de la broche C.3 comme "pous" (le bouton)
    symbol sort = C.1		; Définition de la broche C.1 comme "sort" (la sortie)
    symbol nbou = b1		; Variable pour compter les boucles
    pullup %1000			; Activation de la résistance de pull-up interne sur C.3
    nbou = 0			; Réinitialisation du compteur de boucles
    
    do
        do loop while pous = 0	; Attente que le bouton soit relâché
        do loop while pous = 1	; Attente d'un appui sur le bouton
        pause 10    		; Attente pour filtrer les rebonds
        nbou = 0			; Réinitialisation du compteur de boucles
    
    do
            inc nbou
            pause 10		; Pause de 10 ms (300ms=30x10)
    loop while pous = 0		; Attente que le bouton soit relâché (fin de pré-impulsion)
    
        if nbou > 30 then		; Si la pré-impulsion dépasse 300 ms, on effectue une action (ici, un reset)
            reset			; Réinitialisation du programme
        endif
        time = 0			; Réinitialisation de la variable "time"
    
        do
            high sort		; Activation de la sortie "sort"
            ;pause 1		;pour bug simu à supprimer
            if pous = 0 then
                exit		; Sortie de la boucle si le bouton est relâché
            endif
    
            pause 10    		; Attente pour filtrer les rebonds
        loop while pous = 1		; Attente que le bouton soit relâché (fin de l'action)
    
        pause 10    		; Attente pour filtrer les rebonds
        low sort			; Désactivation de la sortie "sort"
    
    loop
    
    low sort			; Désactivation de la sortie "sort" à la fin du programme

  15. #45
    Pascal071

    Re : Actionner un relais après 2 impulsions sous conditions

    attention au sens, comme indiqué dans le code #30,
    poussoir actionné -> POUS=0 car il est relié à la masse.
    Code:
    if pous = 1 then
                exit		; Sortie de la boucle si le bouton est relâché
            endif
    
            pause 10    		; Attente pour filtrer les rebonds
        loop while pous = 0		; Attente que le bouton soit relâché (fin de l'action)
    
        pause 10    		; Attente pour filtrer les rebonds
        low sort			; Désactivation de la sortie "sort"
    Dernière modification par Pascal071 ; 28/06/2023 à 00h51.

  16. #46
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonjour,
    Merci Pascal d'avoir testé ce code, je n'ai pas le moyen de le faire actuellement.
    Il ne faut pas penser en terme de front montant ou descendant, mais en terme d'état bas ou haut.
    Il faut considérer le câblage du poussoir et voir ce qu'il fait.
    Avec la pullup sur C.3, sans autre connexion, la patte est au niveau haut. L'action sur le poussoir doit l'amener au niveau bas.
    Pour inverser cette logique, il faut supprimer la commande pullup et câbler un R extérieure au 0V et le poussoir entre C.3 et +Vcc. Il faut ensuite inverser la logique du code en inversant les 0 et les 1. Le résultat sera le même.
    Je vais lire ton code pour voir si il répond à ta demande...
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  17. #47
    Pascal071

    Re : Actionner un relais après 2 impulsions sous conditions

    bonjour
    MicroVinc a bien commencé, mais ensuite a inversé le sens de C.3
    erreurs en rouge:
    do
    high sort ; Activation de la sortie "sort"
    ;pause 1 ;pour bug simu à supprimer
    if pous = 0 then
    exit ; Sortie de la boucle si le bouton est relâché
    endif

    pause 10 ; Attente pour filtrer les rebonds
    loop while pous = 1 ; Attente que le bouton soit relâché (fin de l'action)

    pause 10 ; Attente pour filtrer les rebonds
    low sort ; Désactivation de la sortie "sort"
    pour mon test, j'ai simplement copié-collé ton code #30
    le résultat est OK, sans surprise.
    ça ressemble au double clic de souris, maintenu si besoin !
    je suis étonné qu'il n'y ait pas de rebonds, peut-être la vitesse du basic qui aide

  18. #48
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonjour, voici les résultats en photos, étapes par étapes et le code qui fonctionne avec mon montage :

    (Mon seul "petit" problème que je souhaite améliorer est le démarrage du Timer au premier appui et non au relâchement du premier appui.)

    @Pascal071 : "je suis étonné qu'il n'y ait pas de rebonds, peut-être la vitesse du basic qui aide" Il y a peut-être une solution hardware au cas où ?

    Nom : GND-C3.jpg
Affichages : 104
Taille : 114,8 Ko

    Code:
    ;ATTENTION : Programme pour bouton poussoir connecté entre GND et C.3
    ;temps max pré-impulsion = 300ms
    ;temps max timeout si pas d'appui ensuite
    symbol pous = pinC.3		; Définition de la broche C.3 comme "pous" (le bouton)
    symbol sort = C.1			; Définition de la broche C.1 comme "sort" (la sortie)
    symbol nbou = b1			; Variable pour compter les boucles
    pullup %1000			; Activation de la résistance de pull-up interne sur C.3
    nbou = 0				; Réinitialisation du compteur de boucles
    
    do
        do loop while pous = 1	; Attente que le bouton soit relâché
        do loop while pous = 0	; Attente d'un appui sur le bouton
        pause 10    			; Attente pour filtrer les rebonds
        nbou = 0			; Réinitialisation du compteur de boucles
    
    do
            inc nbou			; Incrémenter la valeur de la variable "nbou"
            pause 10			; Pause de 10 ms (300ms=30x10)
    loop while pous = 1		; Attente que le bouton soit relâché (fin de pré-impulsion)
    
        if nbou > 20 then		; Si la pré-impulsion dépasse 300 ms (si 30) ou 200 ms (si 20), on effectue une action (ici, un reset)
            reset			; Réinitialisation du programme
        endif
        time = 0			; Réinitialisation de la variable "time"
    
        do
            high sort			; Activation de la sortie "sort"
            ;pause 1			; Pour bug simu à supprimer
            if pous = 1 then	; Si la valeur de la broche pous est égale à 0
                exit			; Sortie de la boucle si le bouton est relâché
            endif
    
            pause 10    		; Attente pour filtrer les rebonds
        loop while pous = 0		; Attente que le bouton soit relâché (fin de l'action)
    
        pause 10    			; Attente pour filtrer les rebonds
        low sort			; Désactivation de la sortie "sort"
    
    loop
    
    low sort				; Désactivation de la sortie "sort" à la fin du programme

  19. #49
    omega.067

    Re : Actionner un relais après 2 impulsions sous conditions

    hello
    juste une t'ite remarque, un contact de "micro switch" est de par sa construction, un contact à "rupture brusque" générée par un ressort, cad pas trop tributaire de la vitesse d'action sur le levier de commande, alors qu'un bouton poussoir "classique" est plus soumis à la "rapidité" et la force de poussée, donc engendrera plus facilement des "rebonds" , ceci explique peut-être cela
    Non, rien de rien, je ne regrette rien.

  20. #50
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    Bonjour, ça marche bien avec le bouton d'origine de la carte d'essai : https://picaxe.com/docs/axe092.pdf

    Mais, au cas où, si vous avez une solution hardware pour limiter le "rebond", je suis preneur

  21. #51
    Pascal071

    Re : Actionner un relais après 2 impulsions sous conditions

    bonjour
    un 100nF en // sur le bouton devrait suffire.
    le code de MAG1 en #30 est plus sain, et les 300mS démarrent dès le premier appui...

    cordialement

  22. #52
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par MicroVinc Voir le message
    Bonjour, ça marche bien avec le bouton d'origine de la carte d'essai : https://picaxe.com/docs/axe092.pdf
    Mais, au cas où, si vous avez une solution hardware pour limiter le "rebond", je suis preneur
    Avec le code #30, le comptage démarre au premier appui, et non au relâchement

    do loop while pous = 1 ; Attente que le bouton soit relâché
    Ben non, c'est le contraire.
    Dans #30, "do loop while pous=0" n'est utile que dans les rares cas où le poussoir soit dans l'état appuyé à la mise sous tension ou à la suite d'un recyclage, normalement, on passe directement à la boucle suivante: "do loop while pous=1". ;attente d'un appui.
    Si on veut faire un anti rebond logiciel, il faut une pause entre ces deux boucles.

    Pour un anti rebond matériel, on peut mettre une capa (disons 10nF) aux bornes du poussoir. Les plus pointilleux diront que l'énergie emmagasinée se dissipe dans le contact, donc nuisible, d'autres diront que cette énergie est bonne pour nettoyer le contact, il y a ceux qui placent une petite R
    Petit tuto lo..https://www.youtube.com/watch?v=6Uj02YBz9BI

    MM
    Dernière modification par mag1 ; 28/06/2023 à 13h49.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  23. #53
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    @Pascal071 : effectivement, avec mon montage, je viens de tester le programme en #30 et il répond à mes attentes... Je vais le mettre en épreuve quand même

    @mag1 : Merci pour la vidéo, je vais m'y interessé...

  24. #54
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par MicroVinc Voir le message
    Bonjour, ça marche bien avec le bouton d'origine de la carte d'essai : https://picaxe.com/docs/axe092.pdf
    Attention, sur cette carte, le poussoir est en pulldown avec une R de 10k, ce qui ne convient pas pour le #30, à moins de modifier la logique voir plus haut, #46
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  25. #55
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    @mag1 :
    Attention, sur cette carte, le poussoir est en pulldown avec une R de 10k, ce qui ne convient pas pour le #30, à moins de modifier la logique voir plus haut, #46
    MM
    Oui effectivement avec la carte "Picaxe" ça ne marche pas, voilà pourquoi j'ai adapté "mon programme"... C'est avec vos remarques que j'ai essayées le programme #30 sur mon montage et effectivement il marche bien car le signal en C.3 est le négatif, alors que sur la carte "Picaxe" c'est un positif !

  26. #56
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Quelle méthode as tu utilisée pour programmer? USB-RS232 ;USB-DB9 ; autre ?
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  27. #57
    MicroVinc

    Re : Actionner un relais après 2 impulsions sous conditions

    @mag1 : le câble de téléchargement USB AXE027 (USB-RS232)

  28. #58
    Pascal071

    Re : Actionner un relais après 2 impulsions sous conditions

    salut
    les cordons prolific PL2303 et convertisseur FT232
    sont des interfaces série TTL, 0-5v, +5v au repos
    leur avantage est qu'ils fournissent un +5v pour le montage en test.

    les cordons USB-DB9 ou USB-RS232 standards remplacent les COMx des PC
    -5 + 5v (auparavant -12, +12), -5v au repos.
    le cordon AXE027 est un USB-RS232 avec jack 3,5

    cdlt

  29. #59
    mag1

    Re : Actionner un relais après 2 impulsions sous conditions

    Citation Envoyé par MicroVinc Voir le message
    Ok, l'AXE027 à l'avantage d'intégrer l'inverseur de polarité pour retrouver l'ancienne norme RS232 (celle des sorties sur port DB9) et l'inconvénient d'utiliser un jack.
    En plus, c'est une version luxe à 20 euros, mais pour les modules picaxe,c'est le plus simple.
    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. [Analogique] Détecteur de signal audio pour allumer led et actionner relais
    Par invite2b953fb8 dans le forum Électronique
    Réponses: 25
    Dernier message: 12/05/2021, 12h28
  2. Relais électronique générateur d'impulsions
    Par invite66d99b0d dans le forum Électronique
    Réponses: 12
    Dernier message: 05/11/2015, 23h04
  3. actionner un relais par téléphone
    Par NeoNavy dans le forum Électronique
    Réponses: 16
    Dernier message: 03/07/2014, 08h13
  4. Actionner des relais de 12V grâçe à un dé electronique en 9v
    Par invite0f409328 dans le forum Électronique
    Réponses: 44
    Dernier message: 06/01/2011, 20h11
  5. Fabriquer un relais piloté par des impulsions
    Par invite06c92f8c dans le forum Électronique
    Réponses: 9
    Dernier message: 16/03/2006, 21h12
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...