Partage
  • Partager sur Facebook
  • Partager sur Twitter

Optocoupleur bidirectionnel

    20 mars 2013 à 12:14:54

    Bonjour,

    J'ai un expandeur de GPIO (MCP23017) qui doit commander en 5V des sorties en 24V et recevoir des entrées en 24V elles aussi.

    Pour ça j'utilise des optocoupleur ASSR-1510 pour mes sorties et des  PS2801C pour mes entrées.

    Jusque là rien de bien compliqué. Mais maintenant, mon cahier des charge impose que ces ports soient utilisables aussi bien en entrée qu'en sortie.

    J'ai beau remuer le problème dans tout les sens, je n'arrive pas à réaliser un montage qui n'entraine pas d'interférence.

    Et petit supplément, des LED, coté MCP, doivent indiquer si les pins (qu'elles soient input ou output) sont a l'état 1.

    Si une âme charitable pouvait m'éclairer sur la façon d'assembler les optocoupleur, ça serait très sympa.

    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2013 à 18:37:47

      Je suppose que si tu utilises des optos, c'est que tu as besoin de l'isolation.

      Le plus simple est, en gros, d'avoir le double de broches d'IO que nécessaire, et soit d'en utiliser une sur deux pour controler la direction de l'autre, soit si tu as des sorties en collecteur ouvert, relier ensemble l'entrée et la sortie.

      Tes sorties 24v, elles sont collecteur ouvert ?

      -
      Edité par Lord Casque Noir 20 mars 2013 à 18:38:33

      • Partager sur Facebook
      • Partager sur Twitter
        20 mars 2013 à 22:41:28

        Tu peux utiliser des transformateurs 1:1 (on en trouve pour l'ethernet) à priori niveau fréquence de fonctionnement ca devrait aller vu que les optocoupleurs ne sont pas très rapides, un transformateur 1:1 devrait pouvoir suivre.

        L'avantage, c'est que c'est bidirectionnel, le désavantage c'est que ca prend peut-être un peu plus de place que tes optocoupleurs, mais pas forcément vu que tu n'a plus qu'un composant au lieu de deux.

        Ensuite tu n'as qu'à faire ton circuit de conditionnement en amont du transformateur.
        • Partager sur Facebook
        • Partager sur Twitter
          20 mars 2013 à 23:14:21

          Oui, ils sont en collecteur ouvert, et oui, dans l'idée, entrée et sortie doivent être reliée. C'est justement ce point qui me bloque.

          J'ai essayé un montage de ce genre (isolation de ligne I2C) avec, d'un coté, une alim 5V et de l'autre une 24V.

          optocoupler-based-i2c-interface

          mais mon montage ne fonctionne que dans un sens. Dans l'autre, le passage d'un état a l'autre se traduit par une variation de l'ordre de seulement 1 à 2V, ce qui est bien trop faible.

          • Partager sur Facebook
          • Partager sur Twitter
            22 mars 2013 à 9:17:29

            Si tu veux augmenter l'amplitude du signal, essais d'augmenter la valeur des resistances ou rajoute un transistor en darlington. Par contre, tu vas perdre en vitesse de commutation.
            • Partager sur Facebook
            • Partager sur Twitter
              22 mars 2013 à 17:16:40

              J'ai déjà essayé de faire varier les résistances, mais j'ai toujours le même problème.

              Voici le résultat d'une simulation. En bleu, un signal carré 5V qui représente une sortie du MCP23017, en vert ma sortie 24V.

              la variation du signal 24V reste minime alors qu'en sens inverse (pin du MCP utilisé en entrée), la pin 5V commute bien de 0V à 5V.

              En modifiant les valeurs des résistances, je reste toujours sur un montage qui marche soit en entrée, soit en sortie.

              Edit: bon, mon image ne passe pas... voila le lien: http://sdz-upload.s3.amazonaws.com/prod/upload/Sans%20titre%2017.bmp

              -
              Edité par trichoko 22 mars 2013 à 17:22:13

              • Partager sur Facebook
              • Partager sur Twitter
                22 mars 2013 à 21:25:12

                - Type de signal ? C'est du tout ou rien 0-5V et 0-24V ? Fréquence maximale que tu pourrais avoir ?

                - Tu n'as pas "répondu" à Lord Casque Noir au niveau de l'isolation, il te faut une isolation galvanique ? Quelle tension ?

                -  Tu dois obligatoirement utiliser tes deux optocoupleurs ?
                • Partager sur Facebook
                • Partager sur Twitter
                  23 mars 2013 à 19:13:17

                  -tout ou rien 0-5V, 0-24V

                  -pour la fréquence, je n'ai pas besoin de quelque chose de rapide, en sortie je dois déboucher sur des systèmes de signalisations lumineux et en entrée des dispositifs de détection du genre détecteur de présence.

                  -L'isolation est nécessaire car le montage doit finir sur une carte assez sensible

                  -Et oui, optocoupleurs obligatoires, de préférence les 2références données précédemment, pour des questions de stocks.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 mars 2013 à 16:29:41

                    Quelques news:

                    Après modification des résistances, je viens de câbler mon montage et de le tester.

                    http://sdz-upload.s3.amazonaws.com/prod/upload/Sans%20titre%2018.bmp

                    Sur le schéma, ce ne sont pas les optos utilisés mais l'effet est le même pour la simu.

                    Résultat des courses:

                    mon montage fonctionne plutôt bien. Utilisé en sortie (du 5V vers 24V) je commute entre 0.6V et 24V ce qui est acceptable. En utilisation 24V vers 5V par contre, je commute entre 1.2V et 5V. Mon MCP détecte un niveau d'entrée bas a 0.2*Vdd=1V, donc là, ça ne vas pas.

                    Mais le problème majeur pour l'instant c'est la charge qui peut être mise en sortie (broche Conn du schéma). Celle ci est variable selon le dispositif qui sera branché en sortie et, avec R3, je me retrouve avec un pont diviseur... J'ai bien pensé à ajouter un suiveur mais je perd la réversibilité du montage.

                    Une idée pour palier ce problème?

                    -
                    Edité par trichoko 25 mars 2013 à 16:30:41

                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 mars 2013 à 22:08:37

                      Tu te prends le chou pour rien, tu vas aboutir à une solution relativement foireuse qui risque de poser des problèmes.

                      C'est nettement plus simple d'avoir 2 circuits séparés, partant de 2 IO du microcontroleur, un circuit par direction, et de les relier à la sortie.

                      Bien sûr, il reste le problème que si le soft est mal configuré et qu'une entrée reliée à un contact sec se retrouve configurée en sortie de puissance, ça va cramer.

                      Le seul avantage de ce système, c'est d'économiser sur les borniers...

                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 mars 2013 à 9:20:50

                        Je sais bien que ce serait plus simple d'avoir une partie Input et une partie Output. J'ai d'ailleurs déjà réalisé cette carte.

                        Mais le but c'est de rendre chaque pin réversible pour pouvoir brancher toute sorte de périphérique dessus, selon les besoins.

                        EDIT: ton idée c'est bien de partager les I/O de l'expander en une partie entrée et le reste en sortie? ou alors en partant d'un pin du microcontroleur, on fini sur 2 pins du borniers?

                        -
                        Edité par trichoko 26 mars 2013 à 9:35:26

                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 mars 2013 à 10:19:30

                          2 pin d'IO du microcontroleur par pin du bornier.

                          Sortie uC => circuit de sortie isolée => Sortie bornier

                          Entrée uC <= circuit d'entrée isolée <= Entrée bornier

                          Si tu relies les 2 entrée/sortie bornier, tu as une e/s bidirectionnelle isolée.

                          Puisque les sorties sont en collecteur ouvert, en sortie, tu as soit "relié à la masse" soit "ouvert". L'entrée lit toujours l'état de la broche quoi qu'il arrive. Pour utiliser une broche en entrée, il suffit de ne pas activer la sortie (collecteur ouvert bloqué).

                          D'ailleurs tu peux laisser l'option à l'utilisateur : si il ne les relie pas, il aura une entrée et une sortie indépendantes.

                          • Partager sur Facebook
                          • Partager sur Twitter
                            26 mars 2013 à 11:25:06

                            Ok je vois ce que tu veux dire.

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Optocoupleur bidirectionnel

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown