[PIC] Plage de conversion...
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

[PIC] Plage de conversion...



  1. #1
    invitef900c612

    [PIC] Plage de conversion...


    ------

    Bonjour à tous,
    Voilà mon projet abouti enfin !!
    Je commence à en voir la fin... vous devez être contents

    (mais ne vous réjoussez pas trop vite parce que y'en a plein à venir )

    Bon je refais un petit explicatif de mon projet pour ceux qui n'ont pas suivi depuis le début...
    Alors voilà je travaille dans une écurie de compétition automobile, et je suis un train, petit à petit, module par module, de créer un "DashBoard" pour nos voitures...

    Une sorte d'orinateur de bord, un "pense bête" pour les pilotes...

    Pour l'instant je réalise un afficheur de rapport de vitesse... En effet sur certains circuit il y a plus de 50 changement de rapport par tour, donc il ne faut pas que le pilote s'emmêle dans ses rapports :s, ca fait pas pro lol !!

    Donc voilà...
    Technologiquement parlant j'ai un capteur (potar) d'angle qui me délivre une tension comprise entre 0v et 5v. Ce capteur est fixé directement dans la boite de vitesse, sur le crabô pour les connaisseur

    Donc le but c'est d'acquiérir ce signal, de le convertir en numérique et de relever à quel angle correspond chaque rapport et, simplement, de les afficher ensuite...

    Alors j'arrive à faire la convertion( ca vous étonne hein ?! .... moi aussi ^^), l'affichage aussi, mais le problème c'est que mon capteur à une plage de 145° de rotation mais j'ai remarqué qu'après ma convertion A/N, mon convertisseur n'a qu'une plage de 90°...

    Tout les 90° sur le capteur, mon convertisseur me "retransmet" un 0 (binaire)... alors c'est vraiment chiant parce que du coup on retrouve des rapports là où il ne devraient pas être !!!
    C'est comme si mon capteur faisait trois tours alors qu'il n'en fait qu'un !!!

    ... j'èspère que vous me comprennez... dans le doute je vais vous faire vite fait un petit schéma ^^ ca va être mieux ^^



    D'ailleurs j'ai mis que mon convertisseur comptait de 0 à 1024 parce que j'ai lu sur la doc que c'était un convertisseur 10 bits mais je ne suis pas sûr que ce soit exac...


    Donc mon problème est clair j'espere... et je voudrais savoir si vous ne connaissiez pas un moyen de faire pour que ma plage de convertion s'étende à ma plage de capteur....

    D'avance merci....


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

  2. #2
    remy01

    Re : [PIC] Plage de conversion...

    Salut,
    le convertisseur est un 10 bits ( par ex. sur PIC 16F877)
    mais il faut, par programme, indiquer que l'on travaille
    en 10 bits ! Sinon, le convertisseur peut très bien
    travailler en 8 bits !!
    Autre chose, tu es peut-être en 10 bits, mais tu ne
    prends en compte que les 8 bits de poids faibles
    de la valeur convertie !!!
    Il faut vérifier tout cela, et tout dépend du langage
    que tu utilises.
    Bon courage.

  3. #3
    invitef900c612

    Re : [PIC] Plage de conversion...

    Salut,

    Alors, 10bits ou 8bits, peu d'importance... Si au pire de la précision en moins... Mais je ne vois pas où cela intervient-il dans la plage de fonctionnement de mon convertisseur...

    Bon je vais tout de même vous donner mon code, les deux fonctions que j'utilisent pour exécuter ma convertion...


    void can_init() // initialise le CAN
    {
    ADCON0 = 0b00000001;
    ADCON1 = 0b10000110;
    }

    unsigned int can_lect() // utilise le CAN
    {
    unsigned int val=0;
    adc_init();
    GO=1; // démarrage de la convertion
    while(GO == 1) // attente de fin de convertion
    {}
    val = ADRESH << 8; // décalage
    val = ADRESL + val; // mémorisation de la convertion
    return val;
    }



    Voilà... Estce que vous voyez quelques chose à faire sur ce code pour "étendre" ma plage de convertion ????

  4. #4
    Grulou

    Re : [PIC] Plage de conversion...

    unsigned int val=0; §§!!!!!:!§§§§

    normallement quand tu déclares un int tu te retrouves avec une variable de 8bits, donc quand tu fais ton décalage et ton allocation de 10bits dans ton int, d'office tu pers les valeurs de poids fort, regarde si ton compilateur ne peux pas supporter les type long

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

    Re : [PIC] Plage de conversion...

    Bien trouvé Grulou...

    J'ai moi aussi résolu le problème, j'allais vous le dire quand... j'ai vu ta réponse ^^

    En effet c'était ca le problème...
    Mon compilateur ne supportant pas les type "long", j'ai préféré "virer" les deux bits de poids faible qui était dans ADRESL ...

    Et maintenant tout va bien...
    Merci quand même et encore bravo pour cette magnifique déduction ^^

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. Conversion dans un PIC
    Par Toufinet dans le forum Électronique
    Réponses: 16
    Dernier message: 25/08/2007, 14h30
  3. PIC,k8055 et conversion
    Par invite8d45840b dans le forum Électronique
    Réponses: 0
    Dernier message: 13/06/2007, 15h20
  4. conversion a base de pic
    Par invite817b2e6f dans le forum Électronique
    Réponses: 7
    Dernier message: 10/12/2006, 11h52
  5. conversion A/D avec un pic
    Par KHEOPS1982 dans le forum Électronique
    Réponses: 7
    Dernier message: 08/05/2006, 15h46
Découvrez nos comparatifs produits sur l'informatique et les technologies.