[Numérique] Isolation galvanique bus série
Répondre à la discussion
Affichage des résultats 1 à 28 sur 28

Isolation galvanique bus série



  1. #1
    johnmary

    Isolation galvanique bus série


    ------

    Bonjour à tous !

    Bon, si je viens ici, c'est que je suis véritablement désespéré (pour planter le décor)

    Ca fait pas mal de temps que je travail sur un projet qui met en oeuvre un atmega et qui est censé communiquer avec un module SIM900 MINI.

    D'habitude, tout fonctionne niquel, je n'ai jamais de problèmes. Sur ce projet, pour des raisons d'encombrement, et pour des raisons thermiques, j'ai du alimenter mon SIM900 par une alimentation différente.

    Par contre j'aimerais que mon atmega, ALIM1, envoi les données au SIM900, ALIM2.

    A cet effet, j'ai réalisé une isolation galvanique, sachant que c'est du bus série.

    J'ai trouvé un schéma de principe sur internet, j'ai simplement rajouté une porte NON à la fin pour retrouver le signal envoyé, et non l'inverse du signal envoyé.

    Je sais que de nombreuses personnes ont leurs façons de faire, et souhaitent toujours aller à la perfection, mais j'aimerais simplement dire que le schéma ci-dessous est parfaitement capable de fonctionner (il me l'a déjà prouvé sur breadboard et sur PCB), et j'aimerais conserver cette structure : Il m'est arrivé à de rares occasions de recevoir un SMS quand j'en avais besoin, mais si j'ai tenté de le perfectionner ce montage, c'est parce que ces SMS étaient bien trop hasardeux, je les recevais pas à chaque fois que cela était nécessaire.

    Voici le schéma en question que j'ai réalisé :

    Pièce jointe 338461

    Sur la borne X1 arrive un 5V permanent de l'alim 1, et sur la borne X3 sa masse. La borne X2 est reliée au TX de mon ATMEGA.

    Sur la borne X4 arrive un 5V permanent de l'alim 2, et sur la borne X6 sa masse. La borne X5 est reliée au RX de mon SIM900.

    Initialement, j'ai déjà vu fonctionner ce montage avec les valeurs suivantes (accrochez vous)

    R1 = 10K
    R2 = 220
    R4 = 2K2
    R5 = 2K2
    R6 = 10K
    R7 = 100K


    Comme le montage était un peu trop hasardeux, j'ai souhaité refaire et ajuster l'intégralité de mes calculs pour éviter de sur-saturer les transistors, et d'envoyer le courant optimal dans l'optocoupleur selon la datasheet (10mA)

    Du coup j'ai mesuré les gains des transistors (Hfe = 363 pour Q1 et Hfe = 456 pour Q2)
    Ensuite j'ai recalculé les tensions en prenant en compte une tension Vce sat de 0,2V, et (par mesure) une tension de 1,2 V aux bornes de la LED de l'optocoupleur.

    J'en ai déterminé les nouvelles valeurs suivantes :

    R1 = 180K
    R2 = 330
    R4 = 2K2
    R5 = 2K2
    R6 = 1M
    R7 = 100K

    J'ai presque tout calculé comme il me semble que cela devrait être fait, les seuls composants dont j'ai repris les valeurs "du net" sont les résistances R4, R5 et R7.

    R7 je n'arrive pas trop à savoir comment calculer sa valeur, je sais qu'elle est importante, il me semble qu'elle permet de désensibiliser légèrement le transistor pour que sa saturation n'intervienne que lorsqu'un minimum d'intensité est déjà établi dans la LED. Avec mon montage initial et ses valeurs de résistances farfelue, j'avais réussi par essai (potentiomètre multitours) à envoyer un SMS lorsque sa valeur était de 100K. Les jours suivants plus rien.

    R4 et R5, elles limitent le courant qui circule lorsque le transistor Q2 et l'optocoupleur est saturé.


    Aujourd'hui après avoir remplacé les composants par ces nouvelles valeurs, toujours pas de changement, toujours pas de SMS.

    Mes analyses à l'oscillo me montrent déjà que le signal délivré par l'atmega à une forme triangulaire, et le signal reçu par le SIM900 à un léger retard.

    Quand j'étais avec mes résistances farfelues les signaux étaient de propres carrés, mais je distinguais nettement qu'il y avait un temps de descente trop long à l'état bas, ce que j'ai souhaité corriger en faisant des calculs prenant en compte les gains réels, et les chutes de tensions (on est sur du 5V, elles ne sont pas négligeables)

    Alors je sais pertinemment que les SL5500 et BC547 ne sont pas réputés pour travailler en fréquences élevées, mais on est ici sur du 19200 bauds (valence 2) : ça ne me paraît pas énorme...

    De plus pour information j'ai ajouté 53040 condensateurs de toutes valeurs pour filtrer un maximum mon alimentation n°2, pensant au début qu'il s'agissait un problème de CEM qui aurait pu perturber mes fils (non blindés pour les essais)


    Donc si vous avez des pistes à me conseiller, je suis preneur.

    En cas de désespoir total je vais tenter de remplacer le signal envoyé par mon ATMEGA par un GBF, et d'ajuster mes résistances manuellement jusqu'à obtenir un signal en sortie fidèle et propre (oui je suis un peu taré)

    un GRAND MERCI à toutes les personnes qui ont réussi à me lire, un plus grand merci à ceux qui m'on compris, et enfin un MERCI ROYAL à ceux qui prendront le temps de me répondre.

    PS : ne m'incendiez pas, j'apprends doucement et je n'ai jamais prétendu détenir la science exacte.

    -----
    Images attachées Images attachées  

  2. #2
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    D'habitude, tout fonctionne niquel, je n'ai jamais de problèmes. Sur ce projet, pour des raisons d'encombrement, et pour des raisons thermiques, j'ai du alimenter mon SIM900 par une alimentation différente.
    Tu peux préciser tes sources d'alimentation ? Ce n'est pas parce qu'elle sont différentes qu'on a besoin, forcément, d'une isolation galvanique.
    J'aime pas le Grec

  3. #3
    lpt1com2

    Re : Isolation galvanique bus série

    Je ne comprends pas pourquoi tant de complication. Tu relies le 0V de l’alim2 à celui de l’alim1 et tu n’as pas besoin de passer par un couplage optique. La liaison série est au format TTL, et il suffit de relier les Tx et Rx directement. C’est ce que j’ai fait avec un SIM800 (https://khispa.com/module/165-sim800-gsm-module.html), mais c’est sûrement pareil avec le SIM900. Attention quand même à adapter des niveaux 5V en 3.3V si nécessaire.
    Il vaut mieux être le deuxième mari d'une veuve, que le premier

  4. #4
    johnmary

    Re : Isolation galvanique bus série

    Bonjour Daudet, que souhaites tu savoir sur les alimentations ?
    L'alimentation n°1 est issue d'un transformateur de 40VA 230-18V, puis redressé et lissé à l'aide de condensateurs en série de 1000uF et de condensateurs de valeurs plus faible en CMS pour filtre parasites. Le niveau est de tension obtenu est ensuite découpé en trois niveaux à l'aide de régulateurs : 5V - 15V - 24V.
    L'alimentation n°2 est issue d'un transformateur de 5VA 230-6V, puis redressé et lissé de la même façon, avant de passer dans un régulateur de tension 5V


    Effectivement lpt1com2, c'est la solution qui me semblait aussi la plus efficace, la moins couteuse et la moins encombrante (bref la plus optimale).

    Seulement, lorsque j'ai réalisé en essai sur breadboard et même maintenant (car j'ai essayé après mise en place du circuit d'isolation pour voir si finalement je pouvais m'en passer) lorsque je réalise cela, (Masses communes et alimentation différentes) Mon ATMEGA se met en carafe, il redémarre sans cesse.

    Pourtant la masse de l'ATMEGA est directe et correctement réalisée, sa pin de RESET est portée au potentiel 5V à l'aide d'une pull-up...
    Je n'arrive pas non plus à cibler la cause de ce phénomène...
    Mes alimentations sont propres, surtout le 5V de l'alim1 qui est découpé de 24 à 5V par un régulateur de tension, et filtrée à niveau au plus près du micro-controleur.

    Merci à vous pour votre intérêt.

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

    Re : Isolation galvanique bus série

    Si tu tiens à ton photocoupleur, fait ce schéma :

    Nom : Iso_SERIE.JPG
Affichages : 486
Taille : 28,2 Ko
    J'aime pas le Grec

  7. #6
    johnmary

    Re : Isolation galvanique bus série

    Citation Envoyé par DAUDET78 Voir le message
    Si tu tiens à ton photocoupleur, fait ce schéma :

    Pièce jointe 338471
    Merci DAUDET, Je vais m'y atteler !

    Petite question cependant :

    Pourquoi 3,3K sur la base de Q1 ?
    ne sommes-nous pas au delà du courant de base nécessaire à ce que la saturation soit à 100% ?

  8. #7
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    Pourquoi 3,3K sur la base de Q1 ?
    ne sommes-nous pas au delà du courant de base nécessaire à ce que la saturation soit à 100% ?
    Principe de base : le gain en saturation est de 10 pour un transistor (quelquefois 20, voir la datasheet)
    Donc 3,3K pour une charge de 330 au collecteur.
    Avec 3,3K, je tire (5-0,6)/3300=1,4mA en Ioh , ce que doit supporter le µC (voir la datasheet)
    J'aime pas le Grec

  9. #8
    johnmary

    Re : Isolation galvanique bus série

    Citation Envoyé par DAUDET78 Voir le message
    Principe de base : le gain en saturation est de 10 pour un transistor (quelquefois 20, voir la datasheet)
    Donc 3,3K pour une charge de 330 au collecteur.
    Avec 3,3K, je tire (5-0,6)/3300=1,4mA en Ioh , ce que doit supporter le µC (voir la datasheet)
    Me tromperais-je depuis de nombreuses années en effectuant mes calculs avec la formule IB = IC/Hfe ? Avec Hfe = Gain du transistor (363 pour Q1) ?

  10. #9
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    me tromperais-je depuis de nombreuses années en effectuant mes calculs avec la formule ib = ic/hfe ? Avec hfe = gain du transistor (363 pour q1) ?
    oui !


    Nom : Beta Daudet.JPG
Affichages : 185
Taille : 73,5 Ko
    J'aime pas le Grec

  11. #10
    johnmary

    Re : Isolation galvanique bus série

    Daudet,

    Effectivement donc je me trompe en prenant le gain en valeur non saturée... OK.

    J'ai modifié mon montage pour y apporter tes modifications,
    Le fait de supprimer le transistor que j'avais monté en porte NON permet de réduire des facteurs de capacités parasites et de retard sur les signaux, c'est mieux ainsi.

    Cependant, toujours pas de SMS envoyé.

    Ci dessous un aperçu à l'oscillo lors de l'envoi de données,

    En jaune l'information provenant de l'ATMEGA, et en bleu l'information reçue par le SIM900.
    Lors du passage à l'état bas, on observe un retard de 20us.
    Lors du passage à l'état haut, pas de retard gênant.

    Les lorsque le signal émis est peu longtemps à l'état bas (1 ou 2 bit) le signal reçu n'a pas le temps de descendre au 0V, je pense que le SIM900 ne prends pas en compte le bit comme un bit à 0 ?


    Nom : voltcraft55_1.png
Affichages : 184
Taille : 27,7 Ko

  12. #11
    lpt1com2

    Re : Isolation galvanique bus série

    Le problème que tu rencontres est assez étrange. As-tu essayé sans connecter Tx, puis Rx, pour voir si ton ATmega persiste à redémarrer ?
    Pour ma part, j'ai une source DC qui alimente ma carte, un régulateur 4V pour le module SIM800, et un régulateur 3,3V pour le reste de la carte.
    Attention, le SIM (800 ou 900) peut réclamer 2A par moments. Lors d'une première maquette, j'avais le même symptôme que toi (impossible d'envoyer/recevoir un SMS). C'était dû à l'alimentation qui s'écroulait très brièvement.
    Il vaut mieux être le deuxième mari d'une veuve, que le premier

  13. #12
    johnmary

    Re : Isolation galvanique bus série

    C'est exactement pour cela que je passe par une alimentation différente, le courant consommé lors de la recherche de réseau ou lors de l'envoi de SMS peut aller jusque 1A sur mon modèle. Au repos elle est initialement à quelques mA, puis monte progressivement jusqu'à 200/300 mA.

    Je ne peux me permettre une telle consommation, tout est dans un boitier confiné, j'ai un régulateur TO220 pour la régulation du 5V que j'ai doublé avec un TO3 pour répartir la dissipation.

    Si j'ajoute ces 200/300 mA les radiateurs deviennent brulants, on monte facilement à 90°C.
    Sans, je reste à environ 40/45°C ce que "j'accepte".

    Pour limiter les consommations j'ai poussé le bouchon au maximum, mise en veille des écrans LCD lorsqu'on utilise pas l'appareil, etc... et pour le SIM900 la seule solution que j'ai trouvé est d'alimenter séparément le SIM900 à l'aide d'un transformateur de faible tension pour que la différence de tension au borne de son régulateur de tension soit le plus faible possible pour limiter les pertes thermiques.

    Je n'ai pas essayé de lancer en déconnectant RX/TX, je vais essayer

    Là j'ai de nouveau essayer d'envoyer un SMS en alimentant le SIM900 avec l'alim1. J'ai bien reçu mes SMS mais les régulateurs chauffent trop, retour à la problématique de base.

    Il me faut absolument l'alimentation secondaire.

    Merci pour votre aide !

  14. #13
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    Les lorsque le signal émis est peu longtemps à l'état bas (1 ou 2 bit) le signal reçu n'a pas le temps de descendre au 0V, je pense que le SIM900 ne prends pas en compte le bit comme un bit à 0 ?
    C'est quoi cet oscillo ??????
    Le signal provenant du µC, tu devrais avoir des signaux rigoureusement carrés !

    Soit la bande passante est merdique, soit tes sondes ont une capacité parasite énorme ....

    PS : pour dialoguer avec ton SIM900, il y a probablement une phase de synchronisation à faire avec l'AutoBaud (envoi de "AT" jusqu'à réponse de "OK")
    Voir page 24/47 ftp://imall.iteadstudio.com/IM120417...sign_V2.00.pdf
    PS : tu peux aussi tester à 1200 Bds

    PS : Je t'ai demandé ton schéma d'alimentation . Avec deux alims séparées avec le 0V commun, tu n'as pas besoin de photocoupleur
    Dernière modification par DAUDET78 ; 02/04/2017 à 10h47.
    J'aime pas le Grec

  15. #14
    johnmary

    Re : Isolation galvanique bus série

    C'est un voltcraft DSO-1062D. Rien de performant mais pour débuter il fait l'affaire.

    Pour cet aspect trapézoïdal, je ne penses pas que cela vienne de l'oscillo ou de la sonde. Si je mesure un signal issu de mon GBF, le tout est parfaitement carré, alors que j'ai rajouté des câbles et utilise la même sonde...

    Pour la phase de synchronisation, elle est bien réalisée dans mon programme.
    J'arrive à recevoir des SMS lorsque besoin-est quand le SIM900 est alimenté par l'alimentation n°1.

    Lorsque je met les masses communes, et que j'alimente mon module avec le + de l'autre alimentation, pas de réception d'SMS, de plus mon écran LCD à tendance à devenir fou (affichage et balayage de caractères non contrôlable) et l'ATMEGA à tendance à se figer.

    J'ai essayé cette méthode (masse commune) avec 3 alimentations différentes dont 1 de labo, rien n'y fait.

    Je pense vraiment que l'isolation, bien que d'autres solutions existent, me permettrait d'éviter toutes ces problématiques étranges, tout en alimentant le module par l'alimentation n°2.

    A+

  16. #15
    antek

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    C'est exactement pour cela que je passe par une alimentation différente, le courant consommé lors de la recherche de réseau ou lors de l'envoi de SMS peut aller jusque 1A sur mon modèle.
    Je lis jusqu'à 2 A dans la doc.

  17. #16
    johnmary

    Re : Isolation galvanique bus série

    Effectivement.
    La retranscription Ebay était erronée !

    Rien de bien inquiétant quoi qu'il en soit, actuellement elle peut fournir jusqu'à 1,8A. j'ai un transformateur de mêmes dimensions qui pourrait fournir 2,3A, je vais le remplacer.

    Merci de la précision !

  18. #17
    antek

    Re : Isolation galvanique bus série

    Re
    Il n'y aurait pas une fonction de limitation du slew rate sur le Atmega ?

  19. #18
    antek

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    La retranscription Ebay était erronée !
    D'où l'intérêt de fournir un lien vers la documentation technique.

  20. #19
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    Pour cet aspect trapézoïdal, je ne penses pas que cela vienne de l'oscillo ou de la sonde. Si je mesure un signal issu de mon GBF, le tout est parfaitement carré, alors que j'ai rajouté des câbles et utilise la même sonde...
    Sauf que si ton scope (et les sondes) étaient correct, la sortie du µC , c'est du carré ! Donc , ton oscillogramme n'est pas crédible. Tu as un problème de mesure
    J'ai essayé cette méthode (masse commune) avec 3 alimentations différentes dont 1 de labo, rien n'y fait.
    Donne ton schéma (complet) des alimentations, c'est la troisième et dernière fois que je te le demande .

    Je pense vraiment que l'isolation, bien que d'autres solutions existent, me permettrait d'éviter toutes ces problématiques étranges, tout en alimentant le module par l'alimentation n°2.
    Non .....
    Citation Envoyé par antek Voir le message
    D'où l'intérêt de fournir un lien vers la documentation technique.
    Je l'ai donné en #13
    Dernière modification par DAUDET78 ; 02/04/2017 à 11h52.
    J'aime pas le Grec

  21. #20
    johnmary

    Re : Isolation galvanique bus série

    Antek :

    C'est un ATMEGA328, je n'ai rien configuré niveau Slew-Rate, il est laissé tel quel.
    Penses-tu que cela peut venir de là ?

    DAUDET :

    Niveau problème de mesure, je ne vois vraiment pas d'où cela pourrait venir, j'ai ma masse au plus près du point de mesure, le point de mesure est direct sur la sortie de l'ATMEGA.

    Comme mon SIM900 a déjà envoyé son lot de SMS, cela doit effectivement être un signal carré qui est fourni, je n'en doute pas. Je dois avoir une capacité parasité.


    Voici mes alimentations, mais encore une fois, ce montage aussi fou qu'il vous paraisse à déjà fonctionné, et même en direct tout câblé sans isolation sur l'Alim1, je reçoit parfaitement mes SMS. Donc il me semblerait vraiment étonnant que le problème provienne de mon alimentation.

    Alim1 uC :
    Sans titre copie.jpg

    Alim2 Sim900 :
    2.jpg


    L'alimentation 2 gère le basculement des relais de secours et alimente le SIM900 avec la batterie en cas de perte tension.
    La tension batterie arrive également en permanence sur la carte du uC qui possède elle aussi sa propre détection de perte de tension réseau.
    le 7825 alimente un relais de présence tension 24V, et tout de suite après on retrouve un 7805 TO92 qui abaisse cette tension en 5V, reliée à une entrée de l'ATMEGA pour afficher sur l'écran si nous sommes alimentés sur secteur ou sur batterie.

    Le LM317 me permet de régler la tension envoyée aux capteurs (selon longueur des câbles d'alimentation, pour palier à d'éventuels chutes de tension dû à la résistivité linéique)

    Le 7805 IC1 avant le uC n'alimente que celui-ci, un registre à décalage d'entrées, un registre à décalage de sorties, un buzzer et l'écran LCD.
    On retrouve un filtre entre le 7805 et le uC.
    Images attachées Images attachées  

  22. #21
    antek

    Re : Isolation galvanique bus série

    Citation Envoyé par DAUDET78 Voir le message
    Je l'ai donné en #13
    Oui mais s'il faut attendre à chaque fois DAUDET78 . . .

  23. #22
    DAUDET78

    Re : Isolation galvanique bus série

    Sans voir les PJ
    Ton oscillo est correct http://voltcraftdownload.info/Update...9539584887.pdf . C'est un 50Mhz
    Par contre, tu as un énorme problème de mesure (on a l'impression qu'il y a un gros condensateur sur la sortie du µC !)
    J'aime pas le Grec

  24. #23
    johnmary

    Re : Isolation galvanique bus série

    Le montage initial de mon premier message a été réalisé sur un PCB.
    Pour effectuer ton montage DAUDET, j'ai soudé les résistances à l'envers en "volant".

    En sortie de l'ATMEGA il y a moins de 1cm de piste jusqu'à la résistance de base et environ 2cm de piste entre la résistance de base et le transistor.
    Les pistes font 0,8mm de large et sont espacées toutes les unes des autres de 0,8mm de large.

    J'utilise un vernis de tropicalisation KF1280 pour protéger mon CI

    Au delà, je ne vois rien d'autre qui pourrait interférer.

  25. #24
    DAUDET78

    Re : Isolation galvanique bus série

    C'est pas possible que ton scope montre un signal triangulaire en sortie du µC . Y a un os. Je ne suis pas sur la paillasse, c'est toi qui peut trouver le bug .
    Dernière modification par DAUDET78 ; 02/04/2017 à 13h10.
    J'aime pas le Grec

  26. #25
    antek

    Re : Isolation galvanique bus série

    Fais une mesure en chargeant la sortie Tx avec uniquement une résistance de 3,3K

  27. #26
    johnmary

    Re : Isolation galvanique bus série

    Mesure en chargeant la sortie Tx avec une résistance de 3,3k (1,2 + 2,2)

    Tx = Fil orange

    IMG_4660.jpg

    voltcraft58_1.png


    Visiblement, il y a quelque chose qui cloche... je vous l'accorde.
    Je vais remplacer l'ATMEGA avec le même programme et faire une nouvelle mesure.

    Quoi qu'il en soit, à nouveau lorsque je connecte directement le SIM900 sur l'alim1, les SMS s'envoient correctement ... !

  28. #27
    DAUDET78

    Re : Isolation galvanique bus série

    Citation Envoyé par johnmary Voir le message
    Quoi qu'il en soit, à nouveau lorsque je connecte directement le SIM900 sur l'alim1, les SMS s'envoient correctement ... !
    Et le signal Tx à l'oscillo, il ressemble à quoi ?
    J'aime pas le Grec

  29. #28
    johnmary

    Re : Isolation galvanique bus série

    Malheureusement, je ne pourrais plus rien faire avant la semaine prochaine

    Désolé pour la rupture !

    Merci à votre pour m'avoir aidé ce dimanche.

Discussions similaires

  1. Isolation galvanique
    Par bisou10 dans le forum Électronique
    Réponses: 14
    Dernier message: 16/08/2013, 00h23
  2. isolation galvanique 12v/12v
    Par le solar dans le forum Électronique
    Réponses: 16
    Dernier message: 08/08/2012, 15h05
  3. Isolation galvanique - Liaison Série
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 15/09/2009, 12h37
  4. Isolation Galvanique
    Par shayologo dans le forum Électronique
    Réponses: 14
    Dernier message: 12/09/2009, 11h37
  5. isolation galvanique
    Par invite7cd01ac2 dans le forum Électronique
    Réponses: 22
    Dernier message: 11/03/2008, 10h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.