Répondre à la discussion
Affichage des résultats 1 à 29 sur 29

Bus I2C et capacitance



  1. #1
    schneiderj

    Bus I2C et capacitance


    ------

    Bonsoir,

    j'utilise un thermomètre de Maxim (DS1621) avec un pic 18f4520. De temps en temps il fonctionne, puis s’arrête et reprend. A d'autres reprises, il ne fonctionne pas du tout et aussi il fonctionne sans problème.

    Le thermomètre est connecté au montage par un câble de 30 cm et il doit devenir plus long afin de supporter 4 thermomètres dans la version finale.
    Avec un analyseur logique je m’aperçois que les commandes envoyées sont assez souvent erronées. Comme par exemple le lancement de la lecture du thermomètre qui est 0xEE, je vois 0xCE au niveau des broche du DS1621.

    D'après ce que j'ai compris je peux avoir trois problèmes :
    • Résistance pull up trop faible : les miennes font 4.7k. Je peux donc baisser cette valeur à 2 k
    • Perturbation du signal par l'environnement. Je viens de voir que l'on peut mettre une résistance en série sur le bus de 0.3 k. Qu'en pensez-vous ?
    • La capacitance de ligne. J'ai essayé de faire des mesures avec mon multimètre... mais je ne me fie pas beaucoup à ces données étant donné la faible valeur recherché. Ceci dit il me donne pratiquement 1 nF. Comment faire pour limiter ce paramètre ?

    Merci pour votre aide
    Jean-Marie

    -----

  2. Publicité
  3. #2
    nornand

    Re : Bus I2C et capacitance

    bsr
    première chose a faire tu rapproches au maxi ton capteur de temperature de ton µ , un petit schema serait bien ausssi.

  4. #3
    HULK28

    Re : Bus I2C et capacitance

    Bonsoir,

    Essayer d'abaisser les résistance de pull-up à 1K directement.
    Si vous avez un oscilloscope regarder l'aspect des fronts montants s'ils sont très arrondis c'est que votre charge capacitive est importante il faut donc bien diminuer Rpull-up.

    Si vous comptez en monter plusieurs je vous conseille plutôt les modèles One Wire (DS1820) bien plus fiables que les modèles en I2C et vous pourrez aller au delà de 10m sans soucis.
    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  5. #4
    schneiderj

    Re : Bus I2C et capacitance

    Merci pour vos réponses.

    Un petit schéma, je veux bien mais il n'apportera pas grand chose : c'est un montage très classique avec SCL et SDA du microcontrolleur reliés au thermomètre et cette ligne est reliée au +5 volts par des résistance qui font actuellement 4.7 k. Donc rien d'exotique.

    Rapproché les sondes du microcontrolleur, je veux bien, mais si elles ne sont pas sur le CI principal c'est que j'ai besoin de les déportés.

    Hulk, je vais donc directement passé à des résistances de 1K. Est-ce que le choix des câbles peut jouer sur la valeur de ces "condensateurs parasites" ?

    Jean-Marie

  6. #5
    schneiderj

    Re : Bus I2C et capacitance

    Je viens d'ajouter un condensateur de 100 µF en entrée sur l'alim (pile de 5 voltes, il n'y avait qu'un condensateur de 100 nF) : le système marche beaucoup mieux avec le câble le plus court que j'ai sous la main (moins de 20 cm). J'ai remis en place le câble dont j'ai besoin, et de nouveau j'observe un comportement erratique.
    Le plus curieux est que lorsque j'approche ma main du CI du microcontrolleur, le système fonctionnement vraiment parfaitement. Et ce n'est pas le hasard, je reproduit ce phénomène à la demande... qu'elle est l'origine de ce comportement ?

    Jean-Marie

  7. A voir en vidéo sur Futura
  8. #6
    nornand

    Re : Bus I2C et capacitance

    bjr
    cela s'appel un "effet de main" donc montage instable !

  9. Publicité
  10. #7
    Franck-026

    Re : Bus I2C et capacitance

    schema obligatoire pour y trouver le loup...
    sinon, pas d'infos

  11. #8
    schneiderj

    Re : Bus I2C et capacitance

    Merci,

    je viens de remplacer mes deux résistances par des 1 k. Le système fonctionne nettement mieux. Mais avec la longueur de câble dont j'ai besoin pour mes premiers essais, j'ai de nouveau ce souci : cela marche et au bout de quelque temps, le système se bloque. J'approche ma main, voir ce touche le montage, il continu les mesures. J'ai l'impression que la zone la plus sensible est le 18F4525 et(ou) les 2 quartz (20 MHz et 32.756 kHz).

    A quoi correspond cet effet de main ? Comment est résolu ce phénomène ?

    Merci
    Jean-Marie

  12. #9
    schneiderj

    Re : Bus I2C et capacitance

    OK,

    je poste le montage.

  13. #10
    Franck-026

    Re : Bus I2C et capacitance

    effet de main = probleme de conception du montage... Donc schema et photos de la carte.

  14. #11
    schneiderj

    Re : Bus I2C et capacitance

    Voici le schéma : Pièce jointe 164072. La page 2 comprend une partie du montage qui n'est pas mise en place sur le CI que j'utilise actuellement.

    Jean-Marie

    Bonjour schneiderj et tout le groupe

    Pour être conforme à l'épinglé

    http://forums.futura-sciences.com/el...ointes-pj.html

    l'image pdf a été supprimée. Elle doit être présentée à nouveau, en extension jpg, gif ou png.


    .
    Dernière modification par gienas ; 12/11/2011 à 14h38. Motif: Supprimé l'image pdf

  15. #12
    schneiderj

    Re : Bus I2C et capacitance

    Bonsoir,

    bon le pdf n'est pas admis... c'est un point que je n'avais pas en tête.
    Voici donc les photos et images correspondantes. Tout d'abord le schéma, une vue globale de la face supérieur, puis la face supérieur et enfin la face inférieur :

    schema.GIF vue globale.jpg

    face supérieur.JPG Face inférieur.JPG

    Jean-Marie

  16. Publicité
  17. #13
    HULK28

    Re : Bus I2C et capacitance

    Bonsoir,

    sur le schéma on voit les 2 condensateurs reliés au quartz mais pas à la masse (le point commun des 2 condensateurs)...Est-ce un oubli uniquement sur le schéma?
    Le découplage de l'alim du µC (au plus près du µC) doit être de quelques µF (10µF par exemple c'est bien).
    Fais cela et dis moi si tu as du mieux le temps que je fasse le tour de tes documents.
    @+
    Dernière modification par HULK28 ; 12/11/2011 à 22h02.
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  18. #14
    HULK28

    Re : Bus I2C et capacitance

    Sur le typon c'est également le cas, le quartz n'est pas correctement cablé avec ces 2 condos.

    Le typon est pauvre coté plan de masse, c'est le pire des cas en fait.
    Ton soucis n°1 pour le moment est un découplage quasi inexistant sur le µC et sur les autres boitiers, donc une instabilité que tu observes naturellement.

    Pour répondre à ta question précédente, oui la nature du câble qui relie SDA, SCL et VCC/GND est critique dans la prise en compte de la capacité ligne.
    Pour 30cm ça ne pose pas trop de problème mais au-delà il faudra un câble dont tu connais sa capacité linéïque pour en tenir compte pour le choix des R(pull-up), ou si tu ne peux la connaitre il te faut regarder au scope si les fronts sont acceptables pour une communication intelligible de l'I2C.
    Pour le moment je suis convaincu que seuls tes découplages et ton plan de masse inexistant sont la principale cause de tes déboires pour cette carte.
    Corrige ça et ça fonctionnera.
    @+
    Dernière modification par HULK28 ; 12/11/2011 à 22h04.
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  19. #15
    schneiderj

    Re : Bus I2C et capacitance

    Merci Hulk pour cette analyse.

    Pour le plan de masse, je suis mal parti sur ce coup là ! Lorsque j'avais réalisé les premiers protos je n'avais pas vu de problème et comme à l’époque je galérais pas mal avec la réalisation du typon, j'ai laissé tombé cette aspect... Pour les condensateurs de découplage de 10 µF j'avais également constaté qu'avec ou sans tout fonctionnait de la même manière.

    Mais aujourd'hui dans ce nouveau contexte ce n'est plus le cas. Je vais donc suivre tes conseils et remettre ces condensateurs.
    Pour le plan de masse, Merci Hulk pour cette analyse.

    Pour le plan de masse, est-ce qu'il y aurait une solution " de sauvetage" ?

    Pour les condos du quartz... c'est une connerie de copier collé... rattrapé avec le petit strap visible sur la photo juste au dessus du condo le plus à droite .

    Je fais les modifs et vous tiens et je vous donne des nouvelles (demain matin probablement).

    Bonne soirée
    Jena-Marie

  20. #16
    schneiderj

    Re : Bus I2C et capacitance

    Bonjour,

    Voilà je viens de faire la modif. Bon il n'y a pas à dire, le montage tourne nettement plus rond et ce, pour l'instant, quelque soit la longueur du câble reliant mes deux sondes de température au CI principal.
    Par contre lorsque j'approche un doigt du 18F4525 lorsque je suis à quelques millimètres, le fonctionnement est perturbé. Donc le plan de masse manquant se fait sentir d'après ce que je viens de comprendre.
    Hulk tu as fait une intervnetion dans ce post : http://forums.futura-sciences.com/el...ml#post3678930. Je ne vais pas te demander les ouvrages ultra pointus dont tu parles, mais aurais-tu une documentation plus légère pour un néofite ?

    Citation Envoyé par nornand Voir le message
    première chose a faire tu rapproches au maxi ton capteur de temperature de ton µ , un petit schema serait bien ausssi.

    Normand : finalement tu avais raison... un schéma était nécessaire

    Jean-Marie

  21. #17
    HULK28

    Re : Bus I2C et capacitance

    Content pour toi que ça fonctionne.
    Tu peux essayer un truc.
    Si tu disposes d'une plaque de cuivre (ou feuille), tu la places au plus près (qques mm) en parallèle de ta carte (en dessous) et tu la relies à tous les points (vias) de ta carte étant à la masse.
    Ensuite tu relies par un point cette feuille au plus court de ta masse d'entrée (là où tu as le gros condo).
    Ca devrait éliminer en grande partie l'effet de main.
    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  22. #18
    schneiderj

    Re : Bus I2C et capacitance

    J'ai une plaque de cuivre destiné sur époxy. Je peux donc en découper un morceau et essayer de la coupler aux différentes masse du CI... mais je sens que cela ne va pas être de la tarte car je ne voie pas comment faire vu que je n'aurai pas accès à ces deux faces lorsqu'elles seront l'une sur l'autre.
    Sauf à mettre le cuivre côté extérieur, percer des trous au niveau de chaque via et relier ces vias par un pont le plus court possible. Mais est-ce que cette démarche est acceptable ?

    Jean-Marie

  23. Publicité
  24. #19
    HULK28

    Re : Bus I2C et capacitance

    Tu débouches tous tes vias de masse de la carte principale et tu soudes des pattes (chûtes de pattes de résistances par exemple) sur le cuivre de la plaque si possible en face des vias, puis tu rapproches le tout en engageant les pattes dans les vias et tu soudes une fois en place, plus qu'à couper ce qui dépasse.
    Si tu laisses un espace de 5mm max inter-cartes tu diminueras notablement la susceptibilité de ta carte à l'effet de main.
    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  25. #20
    schneiderj

    Re : Bus I2C et capacitance

    Bonjour,

    Merci pour ces astuces. Si je place la face suivre vers l'extérieur qu'elles en seront les conséquences ?
    Aurais-tu une documentation sur le (probablement plutôt les) rôle(s) du plan de masse ?

    Pour mon prochain CI, je n'oublierai pas de dessiner le plan de masse, mais j'imagine que cela doit sérieusement compliquer le routage compte tenu qu'il faut laisser le plus d'espace possible pour cet élément. Mon prochain montage sera basé sur un PIC32 (avec probablement 80 broches)... cela va être dure de faire quelque chose de correcte !

    Mais en attendant, je commence ces modifications ce soir,

    Jean-Marie

  26. #21
    HULK28

    Re : Bus I2C et capacitance

    Pour une meilleure efficacité le plan doit être au plus près des composants, maintenant si ta face est de l'autre coté tu peux faire ton essai comme ça déjà pour constater un mieux et de quel importance.
    Si c'est beaucoup mieux alors tu paufineras, sinon ben...

    Non ça complique pas vraiment, c'est juste une question de bon placement.
    Avec les cms ça complique un peu les choses mais en général on privilégie au maximum la face composants pour les liaisons et la face soudures pour le plan de masse.
    Dans la vraie vie on fait un 4 couches pour bien tenir les exigences CEM.
    Faut que je cherche pour la doc je devrais dire creuser dans tout mon bordel..., mais je te préviens c'est tout en anglais.
    Confirme si ça te gêne pas.

    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  27. #22
    schneiderj

    Re : Bus I2C et capacitance

    Pour l'anglais il n'y a pas de soucis !

    Bon je vais essayer de faire la modifications. Existe-t-il un moyen de mesurer l'impacte du plan de masse sur le circuit ? J'imagine que oui, mais probablement pas d'abord facile.

    Bon j'y vais
    Jean-Marie

  28. #23
    schneiderj

    Re : Bus I2C et capacitance

    Bon la manipe est terminèe. Premier branchement : le système fonctionne et la led clignote avec un rytme qui semble correcte.
    A l'approche de ma main, pas de perturbation. Avec deux doigts 1 cm du microcontrolleur/quartz, il ne bronche pas.
    Par contre lorsque je suis à 2 mm ou moins la led accélère de 50% environs. Mais le système ne se fige pas.

    Après 5 minutes de fonctionnement, aucun problème constaté... c'est presque tout bon. J'attends encore un peu avant de crier victoire. Il va falloir que j'améliore le positionnement de la plaque comme tu me le conseilles.

    Merci pour votre aide, Hulk en particulier. Et ce week end je peux dire que j'ai appris quelque chose, enfin appris par l'expérience/erreur commise, ce qui vaut largement le peu que j'ai pu lire ici ou là !

    Jean-Marie

  29. #24
    HULK28

    Re : Bus I2C et capacitance

    Content de lire que tu as mis en pratique, c'est assez rare d'avoir des retours si précis.

    Une chose que tu peux peut-être vérifier c'est cette fois au niveau de ton programme.
    Je suppose que tu as des I/O du µC qui ne sont pas utilisées.
    Quels sont leurs états?
    Il n'est pas très bon pour la CEM de laisser ces I/O en l'air.
    Je te conseille de les mettre provisoirement en sortie, le mieux étant de les mettre en entrée avec une résistance sur chacune reliée à la masse.
    Ainsi tu ne "renifleras" plus les champs avoisinants qui font varier la consommation du µC de façon notable.
    Pour améliorer ton blindage tu peux utiliser des liaisons courtes reliant ta plaque au circuit en te servant de la ceinture de masse qui fait presque le tour.
    Je vais essayer de te faire un croquis pour être plus explicite.
    @+
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  30. Publicité
  31. #25
    schneiderj

    Re : Bus I2C et capacitance

    Bonsoir,

    Il me semble logique de faire un retour suffisamment de ces essais.
    Je fréquente aussi le forum usinage.com où c'est pratiquement une habitude. C'est utile pour la personne qui essai de donner un coup de main (est-ce que mon message est suffisamment clair) et pour les personnes qui viennent lire le sujet : il y a les questions, les solutions proposées et le résultat obtenu. C'est superb !

    J'ai effectivement des entrées/sorties non utilisées et elles sont effectivement en l'air sans autres formalités. Je vais donc modifier le code de ce thermomètre mais surtout de mon cardio fréquencemètre qui déconne dés que je suis sur la route... et cette fois j'ai pas mal d'amélioration à implémenter. Seul point négatif : les condensateurs de 10 µF qui prennent un peu de place.

    J'ai fait une recherche pour voir de quelles manières sont routées les cartes basées sur des PIC32 (que je vais utiliser pour la motorisation de mon télescope).
    Que penses-tu du routage de ces cartes Pinguino :
    Le schéma et le routage d'une des cartes est visible ici : http://www.pinguino.cc/download/sche...IC32-PINGUINO/.
    Initialement il me semblait qu'il n'y avait pas de condensateur plus gros que 100 nF, mais si il y en a un en tantale je pense.

    Bon je vais allé rejoindre Morphè... demain et après demain j'ai des clients qui sont e.... Il faut que je sois en forme !

    Jean-Marie

  32. #26
    HULK28

    Re : Bus I2C et capacitance

    Il faut prendre des condensateurs cms 10µF/10V céramique multicouches X5R ou Y5U, ils existent en boitier 1206 donc vraiment très petits.
    Evite par principe de mettre des chimiques sur une carte sauf si tu peux pas faire autrement.
    Les tantales explosent si tu dépasses leur tension de service et je ne te parle pas de ce qui se passe si tu les mets à l'envers (feu et fumée garantie).
    J'ai proscrit chez nous tout usage des tantales pour éviter les accidents, seulement des céramiques, sauf cas particuliers nécessitant une technologie différentes.
    Il faut dire que la technologie céramique a fait d'énormes progrès alors autant en profiter.
    @+
    Dernière modification par HULK28 ; 16/11/2011 à 10h13.
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  33. #27
    schneiderj

    Re : Bus I2C et capacitance

    Bonjour,

    je ressors cette discussion car je suis sur le point de me décider à créer ma propre carte pour les deux applications que j'ai en court de développement.

    Le microcontroller sera un PIC32MX795 ayant 100 pins et je vais ajouter :
    • 4 liaisons RS232
    • un bus I2C (EEPROM et A2D)
    • Liaison vers 2 drivers de moteurs pas à pas
    • matrice 4*4
    • afficheur LCD 4*20
    • réception des signaux de 2 encodeurs optiques
    • et (pour plus tard) une connexion LAN
    • j'oubliais : une connexion ICD3
    J'aimerais utiliser pour les connexions externes (en bleu dans le texte) utiliser des connecteurs carte à fil de type CMS de ce type : http://fr.farnell.com/jsp/search/pro...sp?sku=1565611 et http://fr.farnell.com/jsp/search/pro...sp?sku=1565592.

    Qu'en pensez-vous ? Et comme ces deux produits vont être retirés du catalogue, auriez-vous une autre solution à me proposer qui ne soit pas trop cher ?

    Et une dernière question : j'ai l'intention d'ouvrir un sujet sur la réalisation de cette carte pour avoir vos commentaires suggestions, en particulier le routage et le fameux plan de masse que j'ai négligé jusqu'à aujourd'hui, et pourquoi pas le choix des composants.
    Au final cela pourrait être une carte utilisable par qui le veut, après modification pour tenir compte de ses besoins. Alors qu'en pensez-vous ?

    Merci pour vos commentaires,
    Jean-Marie

  34. #28
    HULK28

    Re : Bus I2C et capacitance

    Bonjour,

    pourquoi pas, dès que ton projet deviendra consistant et suffisamment étoffé on pourra envisager de le mettre en rubrique projets.
    Il faut que tu ouvres un nouveau topic portant le nom de ton projet pour ne pas mélanger le sujet initial de celui-ci.
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  35. #29
    schneiderj

    Re : Bus I2C et capacitance

    Bonjour,

    j'ouvre donc un nouveau sujet.

    Jean-Marie

Sur le même thème :

Discussions similaires

  1. partage bus I2C
    Par happyusers dans le forum Électronique
    Réponses: 3
    Dernier message: 05/03/2011, 14h02
  2. Bus i2c et 16f628
    Par f5ejz dans le forum Électronique
    Réponses: 10
    Dernier message: 25/12/2010, 18h46
  3. bus I2C
    Par Maje dans le forum Électronique
    Réponses: 2
    Dernier message: 30/06/2008, 00h28
  4. Bus I2C
    Par Eleomir dans le forum Électronique
    Réponses: 15
    Dernier message: 15/04/2007, 11h58
  5. Bus I2c
    Par chrichri51 dans le forum Électronique
    Réponses: 6
    Dernier message: 30/10/2005, 14h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.