Pb programmation PIC 16F877 et CNA
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Pb programmation PIC 16F877 et CNA



  1. #1
    invite31759d82

    Pb programmation PIC 16F877 et CNA


    ------

    Bonjour à tous,

    Tout d'abord, merci à tous ceux qui font vivre ce forum! Il m'a déjà beaucoup aidé...mais, là, malheureusement, je n'ai pas trouvé de réponse au problème que je rencontre!

    Je souhaite réaliser un télémètre ultrason. Pour cela, j'ai récupérer certaines parties de projet sur le net, notamment une programmation de PIC pour 16F877A.Cela consiste à générer un signal à 40kHz, le recevoir, et compter le temps entre l'envoi et la reception pour en déduire la distance.

    Le tout fonctionne correctement, mais j'ai besoin d'un peu plus: je voudrais faire sortir du PIC la valeur du timer1 sur lequel je compte la différence de temps entre l'envoi et la reception.
    Le gros ennui étant que ce compteur est sur 16bit (avec 2x8bits:TMR1H et TMR1L, respectivement les bits de poids fort et de poids faible). Du coup, je n'arrive pas à comprendre comment sortir cette valeur de 16 bits pour ensuite la convertir en analogique.
    J'ai cru comprendre que cette valeur ''sortait'' en réalité à tour de rôle : une fois les TMR1H, puis au front d'horloge suivant, les TMR1L. Cela ne prendrait que 8 pattes..

    Est-ce que quelqu'un aurait déjà rencontré ce genre de problème? ou mieux, quelqu'un qui l'aurait résolu?

    N'hésitez pas à me demander plus d'infos, si je n'ai pas été assez clair!
    Merci d'avance!

    -----

  2. #2
    Seb.26

    Re : Pb programmation PIC 16F877 et CNA

    Quand tu dis "sortir", tu veux dire communiquer le résultat à l'exterieur du PIC, genre à un PC ?

    Dans ce cas, l'UART est pas mal simple ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    invite31759d82

    Re : Pb programmation PIC 16F877 et CNA

    Citation Envoyé par Seb.26 Voir le message
    Quand tu dis "sortir", tu veux dire communiquer le résultat à l'exterieur du PIC, genre à un PC ?

    Dans ce cas, l'UART est pas mal simple ...
    Oui, oui, c'est pour transmettre la valeur (tension) en analogique, proportionnelle à la distance vers un convertisseur tension-fréquence (LM331), et ensuite générer un son (une fréquence en fonction de la position de la main), comme un instrument de musique.

    J'ai trouvé l'USART dans la datasheet du 16F877A, et en effet, ça a l'air pas mal, mais comment faire pour transmettre le résultat de mon compteur (16 bits) vers un CNA à partir de 8 pattes (car l'USART est sur 8 bits)??

    Ou alors je devrai me contenter des bits de poids fort?

  4. #4
    invite31759d82

    Re : Pb programmation PIC 16F877 et CNA

    Ah d'accord, L'UART permet des opérations d'envoi/reception non synchrones... Mais, j'ai pas l'impression qu'on puisse le bloquer en mode envoi...Parce qu'au final, je veux juste envoyer des données vers un CNA!

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

    Re : Pb programmation PIC 16F877 et CNA

    Je pense qu'il faudrait que tu explique un poil ton système, car maintenant tu parle de CNA 8b ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  7. #6
    invite31759d82

    Re : Pb programmation PIC 16F877 et CNA

    Citation Envoyé par Seb.26 Voir le message
    Je pense qu'il faudrait que tu explique un poil ton système, car maintenant tu parle de CNA 8b ...
    Très bien:
    Mon projet est de réaliser un télémètre ultrason qui génère un fréquence sonore en fonction de la position d'un obstacle, en l'occurence la main, puisque l'utilisation serait ''musicale''. NB j'ai réduit le champ du telemetre US pour obtenir une détection de distance presque sur une colonne d'air (au dessus des emetteur/recepteur)

    Pour cela, j'ai réalisé le télémètre à US à partir d'un PIC 16F877A cadencé à 8MHz, qui génère un signal à 40kHz et l'envoi sur un transducteur US. Je reçois l'écho sur le recepteur lorsqu'il y a obstacle. Le PIC détecte celui-ci et chronomètre (à l'aide du timer1 sur 16 bits, décomposé apparement en TMR1H et TMR1L) la différence entre l'émission et la reception de l'écho. On obtient donc un temps, que le PIC convertit en distance (avec vitesse du son=330m/s).
    J'obtient donc une variable contenant la valeur de la distance appareil/obstacle sur 16bits. MAIS, cette valeur est, d'après la datasheet du PIC, décomposé en 2 variables TMR1H (bits de poids fort) et TMR1L (bits de poids faible), d'où une variable en 2x8bits. Et si j'affecte un port du PIC à cette variable, j'obtiens TMR1L et TMR1H à tour de rôle.

    Je cherche donc un moyen d'obtenir, soit une variable en 1x16bits (pour ensuite la convertir en tension analogique), soit un moyen pour convertir ma variable en 2x8bits en tension analogique proportionnelle à la distance.

    C'est pour ça que je parle de CNA 8bits....Mais peut-être que je me trompe pour les TMR1L et TMR1H...

    Tout cela, en sachant que je souhaite convertir ma tension (proportionnelle a la distance) en signal dont la fréquence varie en fonction de la distance.

    Voila, j'espère que j'ai été assez clair.

  8. #7
    invite31759d82

    Re : Pb programmation PIC 16F877 et CNA

    En réalité, je vais certainement essayer de sortir directement un signal dont la fréquence dépend de la distance, par le PWM channel (puisqu'il y en a deux ds le 16F877)...si le PWM accepte une fréquence variable...

Discussions similaires

  1. Problème de programmation PIC 16F877, SAA 1064 et afficheurs 7 segments
    Par invite64e12149 dans le forum Électronique
    Réponses: 6
    Dernier message: 18/05/2009, 10h33
  2. Réponses: 0
    Dernier message: 18/03/2007, 16h43
  3. programmation en C pic 16F877
    Par Manu_67 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/03/2007, 20h51
  4. Pic 16f877 Pic basic pro conseil
    Par invite4ff7103d dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 18h26
  5. Aide pour programme PIC18F (PIC-->CNA)
    Par invitefe70cd58 dans le forum Électronique
    Réponses: 1
    Dernier message: 12/06/2006, 22h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.