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

Conversion dans un PIC



  1. #1
    Toufinet

    Conversion dans un PIC

    Bonjour,

    Voilà, je vais utiliser une sonde de température, reliée au CAN du PIC ( 16F877 ). Je calibre le tout de telle sorte que :
    - s'il fait -40° => le CAN donne 00 00000000
    - s'il fait +50° => le CAN donne 11 11111111

    La fonction V(T°) ( tension en fonction de la température ) est linéaire.

    Ma question est la suivante : comment à partir de la valeur du CAN, puis-je récupérer la valeur de la température ?
    J'ai pensé au principe de dichotomie, mais ça me semble un peu archaïque.
    De plus : comment puis-je récupérer la virgule ?

    Une réponse ou un site ou un tuto sera le bienvenue, donc si vous avez ...

    Merci

    -----


  2. Publicité
  3. #2
    Toufinet

    Re : Conversion dans un PIC

    C'est bon j'ai trouvé

    désolé pour le post qui sert à rien

  4. #3
    Gui13

    Re : Conversion dans un PIC

    Tu peux peut etre expliquer? ^^

    Comme c'est linéaire, tu fais une simple regle de 3 non?
    Et pour la virgule?

  5. #4
    Xavier35

    Re : Conversion dans un PIC

    Citation Envoyé par Gui13
    Et pour la virgule?
    Ou voit tu un problèmes de virgule dans une gègle de 3 ?

  6. #5
    Gui13

    Re : Conversion dans un PIC

    Ben comme on divise avec des décalages à droite dans un PIC, on n'a que des valeurs entières non?
    Enfin si on s'arrange pour multiplier le résultat par 10 avant on peut avoir un chiffre après la virgule si on veut en fait...

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

    Re : Conversion dans un PIC

    Citation Envoyé par Gui13
    Ben comme on divise avec des décalages à droite dans un PIC, on n'a que des valeurs entières non?
    Oui, en fraction de dégré...
    J'explique:
    De -40 a +50°, cela fait une différence de 90°. Apres convertion digital, chaque unité représente donc (règle de 3) 90/1024eme de degré. pas encore de problèmes de virgule.

    Apres cela et en fonction de la résolution d'affichage qu'il veut, il est libre de considerer que cela fait, par exemple, 900/1024eme de dixième de degré (et c'est encore une valeur entière puisqu'elle n'a pas changer). Toujour pas de vrais problème de virgule. Juste, peux être(*), un problèmes d'arrondi dans la division quand il va vouloir convertir la valeur entière en valeur entière de 1/10eme de degrer.
    S'il veut afficher des degré au lieu de 1/10eme de degré, Puisqu'il est maitre des facteur choisis plus haut, libre à lui d'allumer la virgule ou il veut, sans le moindre problème, par exemple juste avant le dernier digit .

    (*) le problème d'arrondi (comme celui de la non linéarité de la convertion) se pose déja à la convertion A/D, et pratiquement tout le monde à pris l'habitude d'en ignorer les effets...

    PS: En choissisant une plage de mesure de 102,4° au lieu de 90, il a tout de suite une mesure en 1/10eme de degré, sans plus le moindre problème de calcul...

  9. Publicité
  10. #7
    Gérard

    Re : Conversion dans un PIC

    Citation Envoyé par Toufinet
    Bonjour,

    Voilà, je vais utiliser une sonde de température, reliée au CAN du PIC ( 16F877 ). Je calibre le tout de telle sorte que :
    - s'il fait -40° => le CAN donne 00 00000000
    - s'il fait +50° => le CAN donne 11 11111111

    .....
    Et quel est le capteur qui donne 0V pour -40° et 5V pour +50° ?
    Ou as-tu pris d'autres références de tension ?
    Gérard.

  11. #8
    Toufinet

    Re : Conversion dans un PIC

    J'ai pris ces valeurs "au pif", ayant vu une typical application du LM135 permettant ça

  12. #9
    Gérard

    Re : Conversion dans un PIC

    Le LM135 délivre 10mV/°K cad que pour 0°C il donnera 2,73V.
    Peux-tu publier ce schéma ?
    Quelles tensions ont-été prises en référence ?
    Dans quel langage travailles-tu ?
    En C ou Basic, c'est simple.
    Gérard.

  13. #10
    Toufinet

    Re : Conversion dans un PIC

    Mon montage consiste à afficher la température extérieure sur un LCD ( en plus d'autres fonctions, contrôlées par un clavier alphanumérique matriciel )

    Je vais utiliser le LM135 en montage "Calibrated Sensor" :

    http://www.chezlacrevette.com/lm135.jpg

    Pour les tensions de référence :
    - Vref+ = 3,232 V ( équivaut à T° = +50°C )
    - Vref- = 2,432 V ( équivaut à T° = -30°C )

    Pour la programmation, je fais tout en asm.
    Donc pour la conversion, j'effectue comme suit :
    - division du CAN par 128 => chiffre des dizaines
    - soustraction CAN - 128 * chiffre des dizaines
    - multiplication du résultat par 10
    - division du résultat par 128 => chiffre des unités
    ..
    et ainsi de suite.
    Si vous avez compris le fonctionnement, pour le chiffre des dizaines, il ne faudra pas oublier de soustraire 4.

    Voilà, le programme fonctionne à peu près :
    J'ai effectué un test où le CAN = 11 11111111, et en théorie, je devrais avoir d'affiché 39,99 sur mon LCD ( compte tenu de mon programme ), hors il m'affiche 34,71.
    Je verrais demain, sans doute une erreur lors du calcul.

    Voilà, @ +

  14. #11
    Gérard

    Re : Conversion dans un PIC

    Comment génères-tu les tensions de référence ?
    Gérard.

  15. #12
    DavidDB

    Re : Conversion dans un PIC

    Salut,

    Le CAN du PIC interdit une si petite différence de ddp entre Vref+ et Vref-...

    Si mes souvenirs sont bons, il faut un minimum de 2.2Volts pour un fonctionnement correct.

    David.

  16. Publicité
  17. #13
    Toufinet

    Re : Conversion dans un PIC

    Citation Envoyé par Gérard
    Comment génères-tu les tensions de référence ?
    Gérard.
    Avec des ponts diviseurs de tension ...

    Merci Davidb pour cette info, qu'il faudra confirmer !

  18. #14
    Gui13

    Re : Conversion dans un PIC

    Voilà ta confirmation par le grand Mr Pic lui même http://forums.futura-sciences.com/thread3396.html

  19. #15
    Toufinet

    Re : Conversion dans un PIC

    Merci fiston

  20. #16
    DavidDB

    Re : Conversion dans un PIC

    Je te trouve quand même gonflé de demander une confirmation sur le forum...

    Si tu prenais la peine d'ouvrir le datasheet à la page 174 (pour la version 30292C) tu aurais pu lire par toi même les limites d'utilisation du CAN de ton PIC
    C'est vrai que mon post #12 est faux vu que la tension minimale Vref+/Vref- est de 2Volts minimum au lieu de 2.2V...
    De plus, Vref+ doit être de minimum VDD - 2,5Volts

    A l’heure actuelle, il est dommage de constater que la grande majorité des demandeurs d’informations ne se donnent même plus la peine d'ouvrir un datasheet pour connaître les caractéristiques du composant qu’ils utilisent.

    David.

  21. #17
    yannick92

    Smile Re : Conversion dans un PIC

    Bonjour Gedonet,

    Un grand merci pour ton lien car c'est exactement ce que je cherchais.
    De nouvelles perspectives s'ouvrent à moi... Et c'est reparti !

    Yannick92

Sur le même thème :

Discussions similaires

  1. Conversion A/D avec un PIC
    Par schneiderj dans le forum Électronique
    Réponses: 3
    Dernier message: 01/12/2007, 21h25
  2. PIC,k8055 et conversion
    Par bizous dans le forum Électronique
    Réponses: 0
    Dernier message: 13/06/2007, 15h20
  3. conversion a base de pic
    Par T-bag dans le forum Électronique
    Réponses: 7
    Dernier message: 10/12/2006, 11h52
  4. [PIC] Plage de conversion...
    Par La Praline dans le forum Électronique
    Réponses: 4
    Dernier message: 02/06/2006, 15h48
  5. conversion A/D avec un pic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 7
    Dernier message: 08/05/2006, 15h46