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

Convertisseur Analogique/Numérique pic16F88



  1. #1
    Gwoko

    Post Convertisseur Analogique/Numérique pic16F88


    ------

    Bonjour à tous,

    Après une recherche infructueuse -ou tout du moins ne correspondant pas à mes attentes- sur internet et sur ce forum, j'espère trouver une réponse en vous posant directement ma question. Dans le cadre des PPE, je cherche à convertir une tension (comprise entre 0V et 5V) en valeurs numériques à l'aide du pic 16F88 sous Flowcode. On nous renvoi souvent à la lecture du datasheet mais pour être honnête je n'y ai rien compris ...

    Le problème est que je ne sais absolument pas comment procéder, faut-il utiliser des macros ou routines-composant déjà programmées sur le logiciel ? Y-a-t'il certaines conditions à remplir ? Et tout simplement, comment s'y prendre ?


    Merci d'avance de votre aide et de vos explications.




    Gwoko.

    -----

  2. Publicité
  3. #2
    Qristoff
    Animateur Électronique

    Re : Convertisseur Analogique/Numérique pic16F88

    bonjour et bienvenue sur le forum FUTURA,
    On nous renvoi souvent à la lecture du datasheet mais pour être honnête je n'y ai rien compris ...
    Ben oui mais malheureusement pour toi, il faut y retourner car c'est là que se trouvent les clés de la compréhension... (chapitre 12)

    Pour débroussailler, reporte toi à l'excellent cours de Mr Bigonoff au chapitre , c'est de l'assembleur mais l'essentiel est de comprendre la méthode ensuite ce sera plus aisé de retranscrire sous Flowcode.
    Tout existe, il suffit de le trouver...!

  4. #3
    Gwoko

    Re : Convertisseur Analogique/Numérique pic16F88

    Et bien finallement toutes mes excuses, je viens de tomber par hasard sur un post qui répond en grande partie à ma question :
    http://forums.futura-sciences.com/el...-eolienne.html

    Sachant que mon but est l'analyse et l'interprétation du signal de sortie d'un capteur de pression atmosphérique, je me demande tout de même si je dois bel et bien lire le signal analogique comme octet et non comme entier.

    "Dans FLOWCODE on distingue deux types de variables :
    - les variables de type OCTET, codées sur 8 bits et non signées, ce sont des nombres qui seront
    compris entre 0 et 255.
    - les variables de type ENTIER, codées sur 16 bits et signées, ce sont des nombres qui seront compris entre -32768 et 32767."
    Dans mon cas, sachant que je désire mesurer une différence de pression d'environ 40hPa en ayant une précision maximum, je suppose qu'il vaudrait mieux lire le signal analogique comme entier, non ?
    Cela change-t'il quelque chose pour la suite lors de l'enregistrement des données dans le pic ?


    Encore merci d'avance.



    Gwoko.




    [Edit pour Qristoff ] : Merci, je vais aussi y jetter un oeil

  5. #4
    vede

    Cool Re : Convertisseur Analogique/Numérique pic16F88

    Citation Envoyé par Gwoko Voir le message
    Et bien finallement toutes mes excuses, je viens de tomber par hasard sur un post qui répond en grande partie à ma question :
    http://forums.futura-sciences.com/el...-eolienne.html

    Sachant que mon but est l'analyse et l'interprétation du signal de sortie d'un capteur de pression atmosphérique, je me demande tout de même si je dois bel et bien lire le signal analogique comme octet et non comme entier.



    Dans mon cas, sachant que je désire mesurer une différence de pression d'environ 40hPa en ayant une précision maximum, je suppose qu'il vaudrait mieux lire le signal analogique comme entier, non ?
    Cela change-t'il quelque chose pour la suite lors de l'enregistrement des données dans le pic ?


    Encore merci d'avance.



    Gwoko.




    [Edit pour Qristoff ] : Merci, je vais aussi y jetter un oeil
    Bonjour,

    pour comprendre l'ADC du 16F88, tu peux aussi te référer à ces 2 documents :

    -une description détaillée du fonctionnement de l'ADC:
    http://pagesperso-orange.fr/fabrice..../ADC_16F88.htm

    -la datasheet partiellement traduite
    http://daniel.menesplier.free.fr/Doc/PIC16F88.pdf

    pour le "résultat" des conversions, c'est un entier sur 10 bits (0 @ 1024)...

    vede
    ;O]
    _____________________
    Vive les PICS ;O]

  6. A voir en vidéo sur Futura
  7. #5
    Qristoff
    Animateur Électronique

    Re : Convertisseur Analogique/Numérique pic16F88

    1023 ! Vede, 1023
    Tout existe, il suffit de le trouver...!

  8. #6
    Gwoko

    Re : Convertisseur Analogique/Numérique pic16F88

    En effet, c'est deux documents que j'avais rencontré et qui m'on partiellement aidé à comprendre le fonctionnement du Convertisseur A/N du pic.
    Le problème est que ça reste présenté sous forme de programmation "pure", hors je n'y connais absolument rien et je ne m'intéresse qu'à la programmation graphique sous Flowcode.

    Je vais tout de même essayer d'analyser ça un peu plus en détail et pourquoi pas apprendre quelques bases si jamais il est nécessaire de le faire.

    Je vous tiens au courant de mon avancée

    [Edit] : En effet c'est bien 1023, mais l'erreure est humaine !

  9. Publicité
  10. #7
    vede

    Cool Re : Convertisseur Analogique/Numérique pic16F88

    Hi ;O]

    mon horreur humaine favorite ;O]

    mais ça fait quand même des "pas" de 5V/1024 ;O]

    oui je sais c'est gros...

    et je te rattrape Qriss ;O]
    (2311 vs 2345 à'ch't'heure ;O])

    bon'dimanche za toutes zé tous,
    vede
    ;O]
    ______________________
    VIVE les PICS ;O]
    Dernière modification par vede ; 25/04/2010 à 01h22.

  11. #8
    Gwoko

    Re : Convertisseur Analogique/Numérique pic16F88

    Rebonjour à vous,

    Mon programme sous Flowcode a un peu avancé depuis la derniere fois. J'ai finallement opté pour un pic 16F877a qui possède plus de broches pour des raisons de commodité.
    J'ai désormais réussi à utiliser l'ADC du pic et à entrer les valeurs numériques correspondantes dans une variable pour afficher le résultat.

    Petit récapitulatif du travail effectué avant la programmation du microcontroleur :
    Le but du montage est de mesurer la pression atmosphérique lorsque l'altitude change. Pour ce faire un capteur de pression est placé dans une fusée qui montera aproximativement à 315m d'altitude, la variation de pression mesurée sera donc d'approximativement 40hPa. La tension délivrée par le capteur en fonction du changement de pression sera comprise entre 80mV et 93mV. Après un conditionnement du signal de sortie du capteur cette tension varie entre 0V et 5V.
    Vient alors la partie qui nous intéresse ici : Le fonctionnement du Microcontroleur (pic 16F877a) qui doit permettre de convertir le signal analogique de sortie du capteur en signal numérique, de lire et d'enregistrer les valeurs mesurées lors de l'expérience, puis de récupérer les données afin de pouvoir les analyser une fois finie.
    Dans l'état actuel de mon travail sous Flowcode, le pic permet de lancer le programme qui déclenche la phase de mesure pendant 40 secondes (durée supérieure au temps de vol de la fusée) et qui relève les valeurs de pression toutes les 250ms pour les afficher sur un écran à cristaux liquides avant de s'arrêter.
    Mon but pour la suite est de pouvoir enregistrer ces valeurs afin de pouvoir les réafficher une par une et donc construire un graphique afin d'analyser et d'interpréter les données expérimentales. Néanmoins je ne sais pas comment m'y prendre pour enregistrer ces données, les attribuer chacune à une variable ?
    Le problème est que la phase de mesure se fait dans une boucle, dans ce cas est-il possible d'attribuer une nouvelle variable à chaque nouvelle fois que l'on repasse dans la boucle ? Si oui, comment faire ? Autrement, quels autres moyens puis-je utiliser pour enregistrer ces valeurs une à une ?

    Je sais pas si je me suis bien fait comprendre, prenons un exemple :
    -première mesure, signal égal à 48
    -enregistrement de 48 dans la variable "pression1"
    -deuxième passage dans la boucle et deuxième mesure, signal égal à 114
    -enregistrement de 114 dans la variable "pression2"
    -et ainsi de suite ... (160fois)

    La méthode serait alors la même pour la récupération des données en appuyant sur un bouton qui affichera la valeur mesurée suivante sur l'écran à cristaux liquides.


    J'ai aussi une autre petite question qui n'a pas vraiment de rapport avec ce problème : A l'entrée du microcontroleur, le signal analogique varie entre 0v et 5V, étant donné que le CAN transforme ce signal en signal numérique sous forme d'entier, cela veut-il forcément dire que lorsque la tension d'entrée sera à 0V, le signal numérique sera égal à 0 et, de la même façon, lorsque la tension d'entrée sera à 5V, le signal numérique sera égal à 1023 ?



    Merci d'avance de votre attention et de vos futures réponses.



    Gwoko.

  12. #9
    Qristoff
    Animateur Électronique

    Re : Convertisseur Analogique/Numérique pic16F88

    lorsque la tension d'entrée sera à 0V, le signal numérique sera égal à 0 et, de la même façon, lorsque la tension d'entrée sera à 5V, le signal numérique sera égal à 1023 ?
    y a des chances, effectivement...
    Tout existe, il suffit de le trouver...!

  13. #10
    Gwoko

    Re : Convertisseur Analogique/Numérique pic16F88

    Effectivement ça a l'air d'être le cas d'après ce lien, la réponse à cette question semble être la même :
    http://forums.futura-sciences.com/el...-flowcode.html

    Mais je bloque encore et toujours à mon problème de variables, est-il possible d'assigner une nouvelle valeur à une nouvelle variable à chaque nouveau passage dans une boucle sous Flowcode ? Comment m'y prendre ?
    Et qu'est-ce qu'une variable signée ? Cela peut avoir un rapport avec mon problème ?


    En attente de réponses utiles :P



    Gwoko.

  14. #11
    vede

    Cool Re : Convertisseur Analogique/Numérique pic16F88

    Citation Envoyé par Gwoko Voir le message
    (...)
    Mais je bloque encore et toujours à mon problème de variables, est-il possible d'assigner une nouvelle valeur à une nouvelle variable à chaque nouveau passage dans une boucle sous Flowcode ? Comment m'y prendre ?
    Et qu'est-ce qu'une variable signée ? (...)
    Bonjour,

    oui c'est possible :
    http://www.google.fr/search?client=f...cherche+Google

    une variable signée c'est une variable qui peut prendre une valeur négative...

    vede
    ;O]
    _____________________
    VIVE les PICS ;O]

Discussions similaires

  1. Convertisseur analogique/numerique
    Par zanzeoo dans le forum Électronique
    Réponses: 9
    Dernier message: 29/02/2012, 11h52
  2. Convertisseur analogique -> numérique
    Par samy54 dans le forum Électronique
    Réponses: 2
    Dernier message: 13/02/2010, 19h17
  3. convertisseur analogique numérique
    Par dadous dans le forum Électronique
    Réponses: 12
    Dernier message: 19/04/2009, 09h01
  4. Convertisseur analogique numérique
    Par Challigui dans le forum Électronique
    Réponses: 9
    Dernier message: 28/07/2006, 14h27
  5. convertisseur analogique numérique
    Par Challigui dans le forum Électronique
    Réponses: 0
    Dernier message: 21/07/2006, 08h58
Découvrez nos comparatifs produits sur l'informatique et les technologies.