[Autre] MCP23017 et entrées qui ne sont pas stables..
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

MCP23017 et entrées qui ne sont pas stables..



  1. #1
    alain91

    Question MCP23017 et entrées qui ne sont pas stables..


    ------

    Bonjour,

    Je bidouille un peu avec un raspberry et un mcp23017.

    J'ai fais des montages en utilisant les sorties du MCP avec WiringPI et pas de soucis : une led qui clignote, un moteur pas à pas, nickel.

    La ou ça se gâte c'est un niveau des entrées..

    Je prends mon montage qui fonctionne bien en sortie :

    Nom : fs0160311074823684725.png
Affichages : 240
Taille : 32,7 Ko


    Je branche un bouton entre un des ports du mcp et la masse du mcp, et je compile ce programme :

    Code:
        //
        // Test switch MCP23017
        //
        #include <stdio.h>
        #include <wiringPi.h>
        #include <mcp23017.h>
    
    
        int switchPin = 4;
    
        int main(void) {
    
            wiringPiSetup();
           
           // adresse port 0 ( port A.0 du mcp23017 )
           int MCPbase=100;
    
           // adresse I2c MCP23017 = 0x20 (32 en décimal)
           mcp23017Setup (MCPbase, 0x20) ;
           
           // Sur quelle broche faire clignoter la led
           int switchPin=0;
           
           // broche led en entrée
           pinMode (MCPbase+switchPin, INPUT) ;
           
           pullUpDnControl (MCPbase+switchPin, PUD_UP) ;
           
            for (;;) {
                printf("switch : %d\n", digitalRead(MCPbase+switchPin));
            }
    
            return (0);
        }


    Si je l’exécute, j'ai un défilé de 0, mais de temps en temps un 1 s'invite...
    Si j'appuie sur le bouton, une série de 1 s'affiche mais de temps en temps un 0 apparait ?

    Du coup j'ai pensé à la résistance de rappel, mais dans la doc du MCP et wiringPi, il est indiqué que le MCP à déjà cette résistance en interne ?

    D'ailleurs je l'active via la ligne

    Code:
    pullUpDnControl (MCPbase+switchPin, PUD_UP) ;



    Auriez vous une idée pour éliminer ce problème ? Je ne vois pas trop ou est la cause ?

    Merci beaucoup,
    Alain

    -----
    Dernière modification par Antoane ; 11/03/2016 à 18h48. Motif: Rapatriement des PJ sur le serveur

  2. #2
    jiherve

    Re : MCP23017 et entrées qui ne sont pas stables..

    bonsoir,
    est il déjà normal que la valeur renvoyée soit l'inverse de celle présente à l'entrée?
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    Bonjour,

    Effectivement c'est le contraire..
    J'ai bien une liste de 1, puis de 0 entrecoupés de 1 lors d'un appui...

  4. #4
    jiherve

    Re : MCP23017 et entrées qui ne sont pas stables..

    Re
    comme ce n'est pas normal d'avoir une inversion mais que le MCP23017 possède une auto incrémentation nuisible dans ce cas celle ci ne serait elle pas activée à l'insu de ton plein gré ?
    Byte Mode disables automatic Address Pointer incrementing. When operating in Byte mode, the MCP23X17 family does not increment its internal address counter after each byte during the data transfer. This gives the ability to continually access the same address by providing extra clocks (without additional control bytes). This is useful for polling the GPIO register for data changes or for continually writing to the output latches
    JR
    l'électronique c'est pas du vaudou!

  5. A voir en vidéo sur Futura
  6. #5
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    En fait j'utilise la librairie wiringPI ( http://wiringpi.com/ ) et plus exactement le module dédié au mcp2317.

    Du coup je ne contrôle pas directement le MCP.

    J'ai essayé de mesurer les tensions sur les bornes du bouton : 5v quand je n'appuie pas, et un petit 0.3V lorsque j'appuie.

    Je n'ai peut être pas un appareil assez rapide pour voir les changements (multimetre) mais je les vois via les 1,0 à l'écran..

    Peut être un bug de la librairie ? ou mon programme..

    Je vais chercher un exemple de gestion du mcp ou une autre librairie pour voir..

    Merci pour ton aide, ( ce n'est d'ailleurs pas la première fois) que j'apprécie

  7. #6
    bobflux

    Re : MCP23017 et entrées qui ne sont pas stables..

    Découplage ?

    Si tu mets le doigt sur le bouton sans appuyer dessus, est-ce que tu as plus d'erreurs ?

    Et si tu remplaces le bouton par un fil, as-tu toujours des erreurs ?

  8. #7
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    Bonjour,

    Si je n'appuie pas avec le doigt, pas d'erreur.

    Si je teste avec les fils, toujours les mêmes erreurs...

    J'ai ajouté une résistance de pull up en plus de configurer le mcp en pullup, mais toujours pareil...

  9. #8
    bobflux

    Re : MCP23017 et entrées qui ne sont pas stables..

    Si le bouton est remplacé par un fil et que tu as toujours des erreurs, alors on peut supposer que le chip voit un niveau stable sur ses entrées ! Donc :

    - un problème sur l'i2c (câblage, interférences...)
    - un problème de découplage
    - un bug

  10. #9
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    Je vais essayer avec un autre rapsberry..

    Pourrais tu m'expliquer "un problème de découplage" stp ?


    Merci,
    Alain

  11. #10
    bobflux

    Re : MCP23017 et entrées qui ne sont pas stables..

    Il faut que ton MCP ait une alim stable, donc un condensateur de découplage sur ta carte est nécessaire. Tu peux avoir, par exemple, entre 10-100 µF chimique standard plus 100nF.

  12. #11
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    J'en ai mis un de 100nF.

  13. #12
    alain91

    Wink Re : MCP23017 et entrées qui ne sont pas stables..

    Quelques infos..

    J'ai changé de raspberry, mis à jour WiringPI : exactement le même probleme..

    La carte MCP est normalement alimenté par une alimentation 5/12 volts.

    J'ai essayé (j'aurais peut etre du commencer par la :/ ) de brancher la carte en passant par le +3.3V et la masse du raspberry.
    Et la : nickel !
    Pour le fun, j'ai aussi testé sur le +5V du raspberry : impec aussi.

    Cela conforte les doutes que vous aviez sur une mauvaise alimentation de la carte MCP je pense

    Que vaut il mieux faire au niveau de l'alimentation de la carte MCP ?
    J'ai déjà mis un condensateur de 100nf entre les deux broches d'alimentation de la carte MCP, à priori ce n'est pas la bonne solution ?

    Merci encore pour vos conseils avisés

    Alain

  14. #13
    jiherve

    Re : MCP23017 et entrées qui ne sont pas stables..

    Bonsoir
    Ne nous dit pas que les cartes n'avaient pas de masse commune !
    JR
    PS : Beware men in black are comming!
    l'électronique c'est pas du vaudou!

  15. #14
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    Euh.. jocker ..?

    Désolé je débute.. et ça m'a paru logique de séparer alimentation du raspberry et celle du mcp pour protéger le raspberry :/

    Hmm...

  16. #15
    jiherve

    Re : MCP23017 et entrées qui ne sont pas stables..

    Re
    S' il est souvent nécessaire de séparer les point chauds des alimentations il faut impérativement que les masse soient réunies en un point.
    Bon tu auras appris quelque chose .
    Tu bénéficies d'un sursis !
    JR
    l'électronique c'est pas du vaudou!

  17. #16
    alain91

    Re : MCP23017 et entrées qui ne sont pas stables..

    Effectivement j'ai appris quelque chose, voire plusieurs choses!

    Je peux dire aux men in black qu'ils peuvent partir ?..

    Un grand Merci

Discussions similaires

  1. config mcp23017
    Par calonandes dans le forum Électronique
    Réponses: 10
    Dernier message: 23/09/2014, 17h10
  2. sous ev stables
    Par farmed dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 24/11/2013, 09h09
  3. les ions les plus stables
    Par bboop8 dans le forum Chimie
    Réponses: 4
    Dernier message: 02/11/2009, 12h46
  4. Prog I2C pic basic et MCP23017
    Par invite18d2c969 dans le forum Électronique
    Réponses: 6
    Dernier message: 23/08/2009, 18h12
Découvrez nos comparatifs produits sur l'informatique et les technologies.