PIC et recuperation donnee pour visualisation
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

PIC et recuperation donnee pour visualisation



  1. #1
    invite89fddc4e

    PIC et recuperation donnee pour visualisation


    ------

    Bonsoir

    quelqu'un pourrait il me dire comment il est possible de sélectionner 3 entrées analogiques d'un PIC 18F4550? j'ai pu m'inspirer d'un projet écrit en delphi qui permet d'utiliser la communication usb (HID), et le dialogue entre le pc et un platine avec ce PIC. on peut alors visualiser l'etat des entrees, et agir sur les sorties/

    en écrivant un programme en C++ ou en delphi, est-il possible de faire une menu qui nous permette de sélectionner le nombre de d'entrées analogiques ou numérique que l'on désire utiliser?

    ce que j'aimerai c'est faire un programme qui puisse s'adapter aux besoins de différents projets : par exemple un projet nécessite 1 ou 2 entrées analogiques, alors qu'un autre en toutes les entrées en digitales.

    lorsque j'utilise les entrées analogiques, je veux récupérer la valeur de la tension lu à l'entrée analogique, ou la valeur du potentiomètre, et l'afficher grâce au logiciel que je vais écrire.


    donc il faut changer des paramètres ici?
    je sais qu'il faut changer les bits du champ ADCON1 mais je ne sais pas comment faire.

    de plus je ne sais pas comment récupérer la valeur d'une entrée analogique et l'utiliser dans le programme delphi.

    ADCON1= %00001111 ' forcer entrées digitales

    TRISA = %11111111 ' PORTA en entré

    TRISE = %11111111 ' PORTE en entré

    TRISB = %00000000 ' PORTB en sortie

    PORTB = 0

    TRISD = %00000000 ' PORTD en sortie

    PORTD = 0


    merci d'avance

    -----

  2. #2
    gedonet

    Re : PIC et recuperation donnee pour visualisation

    Bonjour
    Je ne suis pas certain d'avoir compris ta question, mais pour le convertisseur, il faut savoir qu'il y en a qu'un dans les pics, on selectionne la pin qui va lui être reliée par les bits CHS3:CHS0 du registre ADCON0, cela implique que l'on ne peut faire que des conversions successives.
    Gilles

  3. #3
    invite89fddc4e

    Re : PIC et recuperation donnee pour visualisation

    Bonsoir,

    merci. je viens de comprendre. je peux configurer les entrées en analogique, et faire des conversion analogiques / numériques successives. si j'ai 2 potentiomètres, je fais une conversion sur la première entrée, puis sur la deuxième entrée. mais comment récupérer la valeur de cette conversion et pouvoir l'afficher ensuite par un programme en c++ ou delphi? il faut que je déclare une variable dans le fichier en assembleur du pic, et j'utiliserai cette variable ?


    pour l'instant j'ai ce programme que je vais utiliser dans le PIC. donc je peux modifier ADCON1= %00001111 en ADCON1= %00001101 et j'aurai AN0 et AN1 en analogique, et le reste en digitale?

    DEFINE OSC 20

    USBBufferSizeMax con 3

    USBBuffer Var Byte[USBBufferSizeMax]

    USBBufferCount Var Byte

    i Var Byte

    tmp Var Byte

    ADCON1= %00001111 ' forcer entrées digitales



    TRISA = %11111111 ' PORTA en entré

    TRISE = %11111111 ' PORTE en entré

    TRISB = %00000000 ' PORTB en sortie

    PORTB = 0

    TRISD = %00000000 ' PORTD en sortie

    PORTD = 0

    ' ****************************** ******************************

    usbinit ' initialisation USB...

    ProgramStart:

    gosub DoUSBIn ' Attendre une commande valide du PC

    ' ****************************** ******************************

    ' * ECRITURE PORTB et PORTD $11 *

    ' * LECTURE PORTA et PORTE $22 *

    ' ****************************** ******************************

    select case USBBuffer[0]

    case $11

    PORTD = USBBuffer[1]

    PORTB = USBBuffer[2]



    case $22

    tmp = PORTA

    tmp.6 = PORTE.0

    tmp.7 = PORTE.1



    USBBuffer[1] = tmp

    USBBuffer[2] = 0

    USBBuffer[3] = 0

    gosub DoUSBOut '

    end select



    goto ProgramStart

    ' ****************************** ******************************

    ' * Reception de données venant du port USB *

    DoUSBIn:

    USBBufferCount = USBBufferSizeMax ' Taille du buffer

    USBService ' Ouvrir/Maintenir le dialogue USB

    USBIn 1, USBBuffer, USBBufferCount, DoUSBIn ' Recevoir les données

    Return

    merci
    Images attachées Images attachées  

  4. #4
    gedonet

    Re : PIC et recuperation donnee pour visualisation

    Bonjour
    Une conversion se passe en deux etapes.
    On fait les differents reglages du module, puis
    1° on lance, par ADON de ADCON0, l'acquisition (la charge du condo interne par la tension à mesurer) qui dure un certain temps, TACQ=TAMP + TC + TCOFF, voir le datasheet.
    2° on lance la conversion par GO/DONE de ADCON0 et dés que GO/DONE revient à 0 (on peut aussi utiliser l'interruption ADIF) la conversion est terminée et le resultat se trouve dans dans les registres ADRESH et ADRESL avec le format choisi pour la justification.
    Un bon conseil serait de lire le cours part2 de Bigonoff, il traite ce sujet en detail pour le 16F87X, mais c'est la même chose pour ton 18F.
    Gilles

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

    Re : PIC et recuperation donnee pour visualisation

    bonsoir,

    merci pour ces infos. les instructions peuvent donc se faire dans un fichier en C qui ensuite sera traduit en HEX?

    J'ai une autre question, une fois réglé la récupération de la valeur de la conversion, je souhaiterais envoyer cette valeur au PC par le biais de l'USB. le pic18F4550 permet de le faire, je sais qu'il y a une question de buffer la dessous, mais je ne sais pas encore comment faire.
    faut-il passer par une emulation RS232 grace au PIC?
    j'ai essayé de regarder du côté de ce site
    http://www.sixca.com/eng/articles/usb_cdc/index.html
    http://www.sixca.com/eng/articles/usbdaq/index.html
    mais tout n'est pas clair pour moi.
    j'ai pu télécharger le code source, mais je n'arrive pas à créer le fichier utile pour le PIC. je pense qu'il faut compiler le programme main.c?
    merci pour vos conseils

  7. #6
    invite03481543

    Re : PIC et recuperation donnee pour visualisation

    Bonsoir,

    le fichier utile au PIC est le Hex, maintenant si tu dois modifier un des fichiers sources il te faut recompiler l'ensemble du projet.
    Il te faut l'environnement C18 pour cela.
    @+

Discussions similaires

  1. récupération de donnée
    Par Christ117 dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 29/12/2008, 12h16
  2. transmission de donnée (PIC=>PC) via USB
    Par invite103abebb dans le forum Électronique
    Réponses: 4
    Dernier message: 25/11/2008, 22h36
  3. Récupération de donné d'un pic via USB
    Par Rancis dans le forum Électronique
    Réponses: 0
    Dernier message: 07/10/2008, 08h46
  4. transfert de donnée PC vers Pic
    Par chestercat dans le forum Électronique
    Réponses: 23
    Dernier message: 13/03/2008, 17h18
  5. recuperation de donnée du disque dur
    Par invite8020c84a dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 03/07/2007, 10h19
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...