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

Pic16f884



  1. #1
    invitea7daddeb

    Pic16f884


    ------

    Bonjour à tous.
    J'essaye d'acquérir une valeur analogique sur une entrée de PIC, et tout se passe bien entre 1.2V et 5V CC. Mais aucune valeur numérique obtenue en dessous de 1,2V !!!
    J'ai essayé d'augmenter le temps d'acquisition, mais rien n'y fait!
    Que se passe-t-il ?
    Merci de votre aide....

    -----

  2. #2
    RISC

    Re : Pic16f884

    Salut,

    Peux-tu nous faire voir ton schéma et ton programme ?

    a+

  3. #3
    invitea7daddeb

    Re : Pic16f884

    Oui, je dois le dessiner, et je te l'envoie...
    Je dois préciser que je surveille la tension à l'entrée du pic, sur oscillo et sur controleur, et ma tension à l'entrée du PIC (ENTRA.1) varie bien entre 0,001V et 4,95V, mais le pic ne donne qu'une valeur numérique allant de 13H à F5H. J'obtiens 13H de 0V à 1,2V. après 1,2V, la valeur numérique de l'acquisition varie comme il faut jusqu'à F5H.

  4. #4
    Gérard

    Re : Pic16f884

    F5h ne me semble pas juste.
    Sur 10 bit, le maximum est à 3FFh.

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

    Re : Pic16f884

    Voici le programme (écris en basic.pro.)

    '***************************** ****************************** *****
    '* Name : UNTITLED.BAS *
    '* Author : [select VIEW...EDITOR OPTIONS] *
    '* Notice : Copyright (c) 2009 [select VIEW...EDITOR OPTIONS] *
    '* : All Rights Reserved *
    '* Date : 09/08/2009 *
    '* Version : 1.0 *
    '* Notes : *
    '* : *
    '***************************** ****************************** *****
    @ device pic16F884, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRT_ON, PROTECT_off
    @ device2 FCMEN_OFF, IESO_OFF', BORSEN_1
    define OSC 20
    DEFINE NO_CLRWDT 1

    WDTCON.0=0
    OPTION_REG=%10000110 '.....111=256 pour timer0 .....110=128 pour timer0
    OSCCON=%01110000
    ANSEL=%00000000 'ports AN0 et AN1 en analogique (sur pic 16F884 et 887 seulement)
    ANSELH=%00000000 ' port B0 ou AN12 en IO AN8,9,10,11,12,13 (sur PIC 16F884 et 887)
    ADCON1=%00000000 'bit 4 et 5 référence tension + et -
    TRISA=%11111111 '1= entrée
    TRISB=%00000001 '0= sortie
    TRISC=%00001111
    TRISD=%00000011
    TRISE=%00001111
    INTCON = %10110000 ' Enable TMR0 interrupts bit 5 et intRBO bit 4
    WHILE OSCCON.2=0 : WEND ' attente que la fréquence de l'oscillateur soit stable
    LOW PORTB.1 'mise à 0 des sorties
    LOW PORTB.2
    LOW PORTB.3
    LOW PORTB.4
    LOW PORTB.5
    LOW PORTB.6
    LOW PORTB.7
    LOW PORTC.4
    LOW PORTC.5
    LOW PORTC.6
    LOW PORTC.7
    low PORTD.2
    low PORTD.3
    LOW PORTD.4
    LOW PORTD.5
    LOW PORTD.6
    LOW PORTD.7

    Test var PORTA.1
    BP1 var PORTA.6 'Entrée Analogique
    LED var PORTD.2 'Led Carte
    Valeur var byte
    Adresse var byte
    Fait var bit


    DEFINE ADC_BITS 8 ' Set number of bits in result
    'DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3)
    DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds


    adresse=0

    Boucle
    adcin test,valeur
    If valeur<5 or valeur>245 then
    led=1
    else
    led=0
    endif

    if bp1 then write adresse,valeur : fait=1 ' pour enregistrer les valeurs
    if not bp1 and fait then adresse=adresse+1 : fait=0
    goto boucle
    end

  7. #6
    invitea7daddeb

    Re : Pic16f884

    Voici le schéma

    Bonjour Pic et Pic 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 ; 09/08/2009 à 09h48. Motif: Supprimé image en pdf

  8. #7
    invitea7daddeb

    Re : Pic16f884

    DEFINE ADC_BITS 8

    Je définis la conversion sur 8 bit (adresses basses)

  9. #8
    gienas
    Modérateur

    Re : Pic16f884

    Ceci n'est pas une réponse, mais une invitation à proposer à nouveau des pièces jointes.

    Ce message sera supprimé dès la prochaine réponse.

  10. #9
    Gérard

    Re : Pic16f884

    Citation Envoyé par Pic et Pic Voir le message
    DEFINE ADC_BITS 8

    Je définis la conversion sur 8 bit (adresses basses)
    Sur 8 bit, le max est FFh.

  11. #10
    invitea7daddeb

    Re : Pic16f884

    Biensur, et je dis bien que je ne dépasse pas F5 étant entendu que je n'atteint pas 5V C'est normal.
    Ce qui ne l'est pas, c'est la constante de mesure à 13h entre 0 et 1,2V

  12. #11
    sdec25

    Re : Pic16f884

    Salut.
    On peut voir ton schéma ?
    Si tu relies l'entrée à la masse (sans résistance), tu as 0 ?
    Et si tu relies au +5V tu as la valeur maxi (0xFF) ?
    Dernière modification par sdec25 ; 09/08/2009 à 21h40.

  13. #12
    invitea7daddeb

    Re : Pic16f884

    Non. Justement c'est là le problème.
    relié à la masse, l'entrée est convertie par le pic a 13h !!!
    Et c'est seulement à partir de 1,2V que le pic commence à convertir progressivement jusqu'à 5V pour FFh

  14. #13
    invitea7daddeb

    Re : Pic16f884

    Pour le schéma, le MEDIATEUR le supprime car je l'ai fait en PDF...
    C'est ce que je crois comprendre. Il n'est pourtant pas plus "Lourd" qu'en Jpg

  15. #14
    sdec25

    Re : Pic16f884

    Tu peux reposter le schéma en PNG ou JPG...
    Dans le code essaie de remplacer
    Code:
    ADCON1=%00000000
    par
    Code:
    ADCON1=%10000000
    Tu peux aussi essayer avec un autre PIC.

  16. #15
    invitea7daddeb

    Re : Pic16f884

    J'ai déja fait, ADCON1 (ADFM) à 1 ou 0 ne change rien.

  17. #16
    invitea7daddeb

    Re : Pic16f884

    Ce que je ne comprend pas, c'est que 1,2V sur 5V représente environ 24% de la valeur analogique, et le pic donne la valeur numérique de 13h sur 7% de l'étendue numérique...

    Autre interrogation:
    Le dataSheet du 884 parle de ANSEL et ANSELH pour deffinir les entrées analogiques des ports. Hors, si j'utilise ces registres, les entrées ne sont plus reconnues comme entrées analogiques

  18. #17
    sdec25

    Re : Pic16f884

    Autre interrogation:
    Le dataSheet du 884 parle de ANSEL et ANSELH pour deffinir les entrées analogiques des ports. Hors, si j'utilise ces registres, les entrées ne sont plus reconnues comme entrées analogiques
    D'après la datasheet, 1 = entrée analogique et 0 = entrée logique.

  19. #18
    invitea7daddeb

    Re : Pic16f884

    Un autre PIC donne exactement les memes résultats !

  20. #19
    invitea7daddeb

    Re : Pic16f884

    Exact ! et si je met "1", les entrées ne sont plus "Analogiques"
    Etrange .....

  21. #20
    sdec25

    Re : Pic16f884

    Oui, ce n'est pas normal.
    Sur le PIC16F884 il y a une référence de tension de 0.6V
    Pour faire l'acquisition dessus il faut mettre les bits de ADCON0.CHS à 1111.
    Tu peux essayer de faire ça.

  22. #21
    invitea7daddeb

    Re : Pic16f884

    Je viens d'essayer avec ADCON0.CHS
    Idem !
    J'obtiens les mêmes résultats.
    Et je ne comprend toujours pas pourquoi, si je met les bit des ports analogiques de ENTRA.0 et ENTRA.1 sur ANSEL à 1, mes ports ne fonctionnent plus.???

Discussions similaires

  1. Aide pic16f884 basic
    Par invited3c68567 dans le forum Électronique
    Réponses: 3
    Dernier message: 22/06/2009, 11h39
Découvrez nos comparatifs produits sur l'informatique et les technologies.