IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Un I/O expander sorti du fond d'un carton !


Sujet :

Arduino

  1. #1
    Membre confirmé
    Homme Profil pro
    Coach
    Inscrit en
    Novembre 2019
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Coach

    Informations forums :
    Inscription : Novembre 2019
    Messages : 363
    Par défaut Un I/O expander sorti du fond d'un carton !
    Bonjour,

    Je me remets sur mes projets après presque 2 ans d'inactivité, et j'ai retrouvé plusieurs I/O expanders basés sur le bien connu PCF8574, au fond d'un carton.

    Mais il s'agit d'un modèle avec potar (par opposition à ceux disposant de jumpers A0, A1 et A2, pour en régler l'adresse sur le bus I2C), et aucune des pins n'est repérée:

    Voici une photo:
    Nom : 01.PCF8574 avec poter.jpg
Affichages : 306
Taille : 52,8 Ko

    Il y a 16 pins alignées sans identification, et un potar bleu. D'où ma question:

    -quelqu'un connait-il le pinout de ces modules (je viens de voir qu'ils sont toujours en vente sur Aliexpress)
    -le potar sert à régler à l'adresse sur le bus I2C, ou bien dois-je souder manuellement des jumpers sur le PCB, là où il y a marqué A0, A1, A2 ?

    Merci

    P..S: pour l'avenir je me suis fais mon propre PCB où je souderai un PCF8574 en CMS, mais si je peux utiliser ceux-ci de temps à autre pour du prototypage...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Retraité de l'électronique analogique
    Inscrit en
    Avril 2021
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité de l'électronique analogique

    Informations forums :
    Inscription : Avril 2021
    Messages : 65
    Par défaut
    C'est une carte fille pour écran LCD.
    C'est pour transformer un écran avec plein de fils en un écran I2C.
    Le potar sert à régler le retroéclairage de l'écran, il n'a rien à voir avec l'adresse I2C (comment le pourrait-il ? ).

    Pour le brochage, désolé, mais la seule méthode que je connais (à part le coup de bol de trouver le schéma électrique) est de prendre la datasheet pour les noms sur le CI et de suivre les fils jusqu'en bord de carte.

    Note : le PCF8574 est envisageable en mode extension de sorties.
    En mode extension d'entrées il faut faire une usine à gaz en utilisant les interuptions puis en interrogeant toutes les entrées pour voir celle qui a changé de valeur.
    Ce CI est antédiluvien.

    Prends plutôt un MCP23017 et tu aura le confort d'avoir des vrais gpio configurables en entrée ou en sortie.
    Le MCP23017 est I2C, le MCP23S17 est SPI, les deux existent aussi en 8 bits.

    Le mode SPI est assez complexe, bon c'est la bibliothèque qui fait tout, nous on voit rien.
    Je considère que le mode SPI ne se justifie que si on a besoin de faire travailler le MCP23S17 à haute vitesse.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 771
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 771
    Par défaut
    les 16 broches alignées ce sont les 16 broches du PCF, celle qui vers les 4 broches serait la broche n°1 (sur d'autres photos, on la voit entourer seule, indice indiquant que la pin 1)
    le "potar" permet la sélection de l'adresses, mais ça semble aussi possible avec les contacts A0 A1 A2

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 419
    Billets dans le blog
    48
    Par défaut
    Bonsoir,

    Comme le disait Bernard_68, c'est un 'backpack' que l'on retrouve souvent derrière un LCD 1602 :
    Nom : Capture d’écran 2025-09-29 204422.jpg
Affichages : 260
Taille : 91,5 Ko

    Le schéma doit ressembler à quelque chose comme ça (il doit y avoir des variantes de ce backpack) :
    Nom : PCF8574-I2C-Backpack-Module-for-LCD-1.png
Affichages : 260
Taille : 19,3 Ko

    Le module sert à piloter en i2C un LCD à port parallèle (4 ou 8bits, ici, D4 à D7, avec les broches de contrôle EN, RW, RS) pour économiser des broches.

    Et donc le potentiomètre sert à régler l'éclairage du LCD...

  5. #5
    Membre confirmé
    Homme Profil pro
    Coach
    Inscrit en
    Novembre 2019
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Coach

    Informations forums :
    Inscription : Novembre 2019
    Messages : 363
    Par défaut
    Oups les amis, je me suis carrément planté : je pensais avoir trouvé un expander gratos et c'est pas du tout ça !
    Merci à vous tous pour votre expertise !...

    Ce CI est antédiluvien.

    Prends plutôt un MCP23017 et tu aura le confort d'avoir des vrais gpio configurables en entrée ou en sortie.
    Je vais de ce pas regarder la datasheet et la librairie pour juger de sa simplicité d'utilisation, et si c'est simple je modifie mes cartes pour l'utiliser;

    Je vais devoir trouver les librairies dont dépend la librairie Adafruit principale qui gère le MCP23017, car lors de l'install de cette librairie dans Arduino IDE 1.8.19, ce dernier détecte des dépendances et il suffit de cliquer sur "Install all".

    Mais j'utilise de plus en plus PlatformIO sur Visual Studio Code, et il va bien falloir que je lui fournisse ces dépendances...

    Mille mercis pour le tuyau du MCP23017 !

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 771
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 771
    Par défaut
    tu as bien un I/O expandeur, juste que le module est surtout utilisé pour commander un afficheur LCD

  7. #7
    Membre confirmé
    Homme Profil pro
    Coach
    Inscrit en
    Novembre 2019
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Coach

    Informations forums :
    Inscription : Novembre 2019
    Messages : 363
    Par défaut
    Et merci à nouveau car je lis sur la datasheet qu'il supporte jusqu'à 20mA de courant sur ses sorties, ce qui me permet de driver directement mes relais Reed sans avoir besoin d'un DRV777.

    Effectivement tu as raison: un très grand progrès par rapport aux PCF8574/PCF8575 !

  8. #8
    Membre éprouvé
    Homme Profil pro
    Retraité de l'électronique analogique
    Inscrit en
    Avril 2021
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité de l'électronique analogique

    Informations forums :
    Inscription : Avril 2021
    Messages : 65
    Par défaut
    Citation Envoyé par grizzli06 Voir le message
    Et merci à nouveau car je lis sur la datasheet qu'il supporte jusqu'à 20mA de courant sur ses sorties, ce qui me permet de driver directement mes relais Reed sans avoir besoin d'un DRV777.

    Effectivement tu as raison: un très grand progrès par rapport aux PCF8574/PCF8575 !
    Attention n'oublie pas de vérifier si tes modules relais reed ont bien la diode de roue libre.

    Sans cela d'après Monsieur Lentz, auteur de la loi du même nom, tu cramera les étages de sortie du MCP23017.

  9. #9
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 419
    Billets dans le blog
    48
    Par défaut
    Je croyais que les diodes de roue libre étaient intégrées dans les relais Reed. Ce n'est pas toujours le cas ?

  10. #10
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 419
    Billets dans le blog
    48
    Par défaut
    Citation Envoyé par grizzli06 Voir le message
    Et merci à nouveau car je lis sur la datasheet qu'il supporte jusqu'à 20mA de courant sur ses sorties, ce qui me permet de driver directement mes relais Reed sans avoir besoin d'un DRV777.
    Vérifie bien quand même la datasheet de tes relais Reed (avec la résistance de la bobine). Il y a sans doute des modèles à très basse consommation, mais un relais Reed "classique" 5v, c'est plutôt du 20mA voire plus, donc le PCF8574 est trop juste.

    Et attention aussi sur le nombre de relais que tu pourrais activer simultanément. Si le PCF8574 peut absorber jusqu'à 20mA par sortie, il ne pourra jamais supporter 8x20=160mA au total si jamais tu devais activer 8 relais simultanément.

  11. #11
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 265
    Par défaut
    Bonjour,
    Que d'excellentes remarques.

    Citation Envoyé par f-leb
    Si le PCF8574 peut absorber jusqu'à 20mA par sortie, il ne pourra jamais supporter 8x20=160mA au total si jamais tu devais activer 8 relais simultanément.
    Si on prend la datasheet d'un PCF8574 de texas (car je n'arrive pas à voir le logo du fabricant sur le photo du premier message) https://www.ti.com/lit/ds/symlink/pcf8574.pdf : 160mA qui traversent un composant alimenté en 5V lui feront dissiper 800mW. La datasheet dit que la température d'un PCF8574, au format SOIC (comme sur la photo), augmente de 76.7°C par Watt dissipé.

    Donc dans l'exemple des 160mA qui passent dans le composant, sa température va monter à :

    76.7°C * 0.8W = 61.36°C et à ça il faut ajouter la température ambiante autrement dit on ne peut pas laisser son doigt dessus car il sera à plus de 80°C


    Il y a aussi un autre soucis, la datasheet dit qu'on peut absorber un courant de 20mA mais on ne peut pas fournir un courant équivalent. On peut donc se mettre dans la config de gauche, pas celle de droite :
    Nom : etFST.png
Affichages : 190
Taille : 7,5 Ko

    La datasheet dit qu'une tension résiduelle de 1V sera présente dans le transistor (image de gauche), donc le relais verra que 5V-1V = 4V à ses bornes. Est ce qu'un reed relais 5V, alimenté en 4V en réalité, fonctionne toujours aussi bien ? Il faut voir la datasheet du reedrelay.

  12. #12
    Membre confirmé
    Homme Profil pro
    Coach
    Inscrit en
    Novembre 2019
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Coach

    Informations forums :
    Inscription : Novembre 2019
    Messages : 363
    Par défaut
    Pour la diode, j'ai toujours conçu mes PCBs pour qu'on puisse y rajouter une diode à côté de chaque relais.

    Les relais Reed que j'utilise sont des Littlefuse HE3621A0510 déjà équipés de la diode en interne, ou des clones chinois et dans ce cas je soude une diode sur mes PCBs à côté de chaque relais.

    Concernant la consommation de courant, la datasheet indique ceci:
    Nom : Capture Table 3.JPG
Affichages : 172
Taille : 57,9 Ko

    où on lit une impédance de la bobine de 500 ohms pour la version 5V que j'utilise.

    J'en déduis, -mais corrigez-moi si je fais erreur-, que la consommation est de 10mA.

    Je n'ai jamais eu aucun problème en alimentant ces relais directement à partir des Nano (clones chinois) et Nano Every.

    J'ai abandonné l'idée du PCF8574/8575 au profit du MCP23017 qui tient 20mA en sortie.

    Je serai de toute façon obligé d'y passer avec les Nano R4 (qui tiennent la valeur ridicule de 4 à 8mA).

    Et peut-être pour les ESP32 : quelqu'un sait combien de courant tient une ESP32 ?

    Voilà, n'hésitez pas à me corriger si je me suis trompé !

  13. #13
    Membre éprouvé
    Homme Profil pro
    Retraité de l'électronique analogique
    Inscrit en
    Avril 2021
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité de l'électronique analogique

    Informations forums :
    Inscription : Avril 2021
    Messages : 65
    Par défaut
    "Je serai de toute façon obligé d'y passer avec les Nano R4 (qui tiennent la valeur ridicule de 4 à 8 mA)."

    Pas si ridicule et il ne faudrait pas oublier que le micro de la DUE était pareil et qu'un microcontrôleur n'est pas fait pour de la puissance.
    Si certains ont pris des (mauvaises) habitudes de confort avec les micro avr, il va leur falloir redevenir raisonnables avec les micro 3,3 V et les futurs 2,5 V qui pointent leur nez et qui sont gravés encore plus fin.

    Pour les ESP32.
    ESP32 est maintenant une grande famille, il y a les vieux ESP32, puis les ESP32-Cx, les ESP32-Sx, les ESP32-Hx,....etc.
    https://www.espboards.dev/esp32/

    Certains modèles sont des micros Tansilica (Cadence) bi-cœurs que le client (Espressif) termine à sa sauce. D'autres sont des mono cœur RISC-V.

    Je prend l'ESP32-C3, la mini "bonne à tout faire".
    I max cumulé sur VDD = 500 mA min (un avr c'est 200 mA max)
    IoH et IoL : les valeurs ne sont données qu'en TYP, dommage
    IoH : 40 mA
    IoL : 28 mA

    Les 40 mA sont pour une sortie.
    La consommation propre du micro plus le courant fourni par les sorties ne doit pas dépasser 500 mA.
    Soit 5/6 sorties possibles simultanément à 40 mA (mode source ou 28 mA en mode sink).
    Ce n'est pas différent d'Atmel/Microchip où la limite sur les rails d'alim est 200 mA sur Vcc et sur Gnd.

    J'ai vu qu'il existait un équivalent mosFet des ULN28** (bipolaires), en électronicien, je pense que, s'il faut de la puissance, c'est plus sage.

Discussions similaires

  1. TDBGRID - Couleur de fond d'une seule cellule
    Par cgo dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/09/2009, 10h16
  2. Réponses: 7
    Dernier message: 23/11/2006, 15h10
  3. Changer la couleur de fond de l'écran
    Par tnk dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 19/01/2003, 01h37
  4. dans le fond, la compilation...
    Par deltapositive dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/09/2002, 12h14
  5. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo