Plusieurs PIC et une mémoire - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 49 sur 49

Plusieurs PIC et une mémoire



  1. #31
    bobflux

    Re : Plusieurs PIC et une mémoire


    ------

    Mettons que tu fais une mesure toutes les 500 ms.

    A 20 Hz, dans tes 500 ms, il y aura une dizaine de périodes. Donc si tu comptes les impulsions, tu en auras forcément un nombre entier, donc 10. Or, 10 impulsions correspondent à des fréquences de 20 à 21.99999 Hz. Donc tu as une précision de +/- 5%.

    On va dire que la fréquence est "basse" quand le comptage d'impulsions ne te donne pas la précision que tu voulais.

    Si tu mesures la période avec une unité de capture, c'est le même problème, mais aux hautes fréquences.

    Si tu mesures la période d'un signal de 20 Hz avec un timer en mode capture qui a une horloge à 20 MHz, ça fera 1 million de cycles, donc très précis. Par contre si tu mesures la période d'un signal à 1 MHz, tu ne vas compter que 20 cycles, donc forte marge d'erreur.

    Si tu veux la meilleure précision il faut choisir la bonne méthode en fonction de la fréquence à mesurer (et de la précision dont tu as réellement besoin).

    -----

  2. #32
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Ok. Pour mes mesures j'ai besoin d'une précision de l'ordre de 10 MHz. Donc à priori pas de soucis de ce coté là et vu que je vais avoir des fréquences entre 10 et 3000 Mhz environ tout devrait aller bien
    Ce soir je m'occupe de (essayer) de mettre en place le CCP.

    Merci encore pour toutes vos réponses !

  3. #33
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Pour le choix du PIC je me suis tourné vers un 16f917 pour avoir 2 CCP (j'ai pas trouvé mieux et surtout un PIC dispo dans ISIS pour les simus)

    Petite question qui n'a rien à voir avec mon projet, il est marqué dans le datasheet qu'il y a un module LCD, ça signifie quoi ? je ne pige pas le principe

  4. #34
    bobflux

    Re : Plusieurs PIC et une mémoire

    Je connais pas les PIC mais bon, dans MAPS il y a une option "nombre de capture"... et "nombre d'ADC aussi"

    Si tu as 30 canaux de fréquencemètre, prends au moins un uC avec 10 unités de capture plutôt qu'un PIC qui en a ... deux. Il te faudra 5 fois moins de PICs... je te donne pas la référence pour que t'ailles cliquer dans MAPS

    Mais bon à 3 kHz tu n'as pas besoin de capture, tu peux le faire en soft avec un uC un peu rapide (donc probablement pas un PIC16).

    Note que le même PIC semble avoir 32 entrées ADC donc possible de faire toutes tes mesures analogiques avec un seul.

  5. #35
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Yep c'est avec MAPS que j'ai trouvé ça Mais je vais continuer à chercher alors

  6. #36
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Yep, j'ai trouvé un 16f1527 (oui j'aimerais utiliser CCP plutôt que de le faire en soft, histoire d'apprendre à m'en servir)
    Le problème c'est qu'il n'existe pas dans Isis pour mes simu
    Je regarde par contre coté 18F4550
    Dernière modification par verbalinsurection ; 09/06/2011 à 16h22.

  7. #37
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Ha non mieux, un 18F6520, 5CCP, 5 timer, 12 ADC

  8. #38
    bobflux

    Re : Plusieurs PIC et une mémoire

    A toi de choisir

    Mais vérifie tout de même que les capture sont en 16 bits, car en 8 bits ça risque fort de générer des montagnes d'interruptions...

  9. #39
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Yep, je vais utiliser le 18F6520, les captures se font bien en 16 bits

  10. #40
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    ça y est je suis paumé avec CCP
    Alors j'ai configuré CCP1 (broche RC2) en mode capture CCP1CON = 0b00000100 (ça c'est ok)
    Donc, selon le datasheet, lorsque CCP détecte une transition Haut vers Bas il copie la valeur du timer1 (préalablement activé) vers le registre du CCP donc CCPR1H et CCPR1L. Jusque là tout va bien, le registre CCPR1 se met bien à jour.
    Mais ensuite ? Il faut que j'utilise l'interruption de l'overflow du timer1, récupérer le registre CCPR1 et faire le calcul là dessus ? Mais pour obtenir une mesure (donc un overflow du timer1) toute les 0,5 sec il faut que j'utilise un prédiviseur sur mon timer1, ça ne risque pas de gêner CCP1 ? ou alors je dois utiliser un timer different pour mon interruption ? mais à ce moment là mes valeurs continuerons de bouger le temps de la lecture.
    Dans tous les cas, si je me plante pas, je devrais, même a frequence basse, avoir un comptage :
    Pour 10 Hz = une impulsion toutes les 100ms donc en 0.5 seconde c'est bon

  11. #41
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Je viens de me rendre compte que j'ai dis n'importe quoi, si j'utilise l'overflow du timer1 j'aurais forcement toujours les même valeurs dans CCPR1... pffff
    Bon beh je suis complétement paumé sur l'utilisation du CCP :'(

  12. #42
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Je pensais que l'appelation compteur comptait. En gros, le CCP aurait compter le nombre de front montant sur la pin par exemple, puis j'aurais juste eu à lire cette valeur à intervale régulière et connu pour faire le calcul... là par contre ça change tout.
    Je vais essayer d'activer l'interruption toute les 4 impulsions, relever la valeur stocké , faire le calcul, remettre timer0 à 0 puis reparti pour un tour, mais dans les haute fréquence je vais me taper des interuption tout le temps... snif :'(

  13. #43
    bobflux

    Re : Plusieurs PIC et une mémoire

    Je ne connais pas ton PIC, mais en général dans tout uC tu as un certain nombre de "timer-counter" qui sont composés de :

    - un compteur (avec entrées RESET et horloge pour compter)

    - un (ou plusieurs) comparateur numérique qui compare la valeur du compteur avec une autre stockée dans un registre (avec sortie match)

    - un (ou plusieurs) registre de capture qui mémorise la valeur du compteur lorsqu'un événement se produit

    - un peu de multiplexage pour savoir qui est branché sur quoi

    - et divers accessoires (interruptions, PWM plus ou moins évolués, etc)

    > l'appelation compteur comptait

    En mode compteur, le compteur compte les impulsions sur une broche d'entrée prévue à cet effet (donc utile pour compter les périodes d'un signal à fréquence relativement élevée (donc dans ta demi seconde t'auras un nombre d'impulsions suffisant pour avoir une bonne précision)

    > En gros, le CCP aurait compter le nombre de front montant sur la
    > pin par exemple

    Attention à ne pas confondre avec le mode capture : là, le compteur compte sur une horloge, et l'impulsion à l'entrée déclenche la capture de la valeur du compteur dans le registre prévu à cet effet. Ça sert à mesurer le temps entre 2 impulsions (donc la période). Si le compteur fait un overflow pendant la période, il faudra penser à en tenir compte...

    En mode timer ou PWM, le compteur compte aussi sur une horloge, et le comparateur déclenche une interruption ou contrôle le PWM.

  14. #44
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Merci pour toute ces explications.
    Donc en fait je ne dois pas utiliser CCP mais le timer (de 0 à 4 dans mon cas) en mode compteur. Je m'y met de ce pas !

    Merci encore

  15. #45
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Et voilà, ça fonctionne, j'ai donc :
    Timer0 > Compteur sur 16 bit
    Timer1 > Compteur sur 16 bit
    Timer3 > Timer sur 16 bit, interruption sur overflow
    Lorsque j'arrive à 18 interruptions du T3 (environ 500ms), je lis ma valeur des 2 compteurs que je converti par la suite.
    Bon, j'ai un peu de variations, de 1 à 2 Hz mais bon, pas très dérangeant dans mon cas.

    J'arrive donc à l'étape de mesure de resisitivité.
    Mon cas : Je ne connais pas VREF (soi 5V soit 12V) mais comme j'utilise la pin VREF+ ça n'a pas trop d'importance je pense. Je dois mesurer une resistivité allant de 5 ohm à 220 ohm (sachant que ça peut aller plus haut mais que je ne m’intéresse pas aux valeurs hors de ces valeurs.
    Donc la valeur que me retourne ADRESH est comprise entre 0 et 255. Là dessus il faut que je convertisse pour obtenir ma température par exemple en suivant l'exemple : 209.8 ohm > 50 °C.
    Et paf, je suis paumé, j'arrive à lire mon ADRESH il varie correctement mais pour la conversion...
    Je continu à chercher comment faire mais si quelqu'un passe et a une bonne idée je suis preneur

  16. #46
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Trouvé ! (enfin à moitié). J'utilise un pont diviseur de tension avec un resistance de 500 ohms. Connaissant la valeur de cette resistance, de la tension et ce que mesure le pic je devrais pouvoir m'en sortir... mais non.
    Le rapport mesure --> valeur de la resistance n'est pas linéaire, et là... c'est le drame

  17. #47
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Trouvé !
    J'ai pris un coup de chaud au cerveau mais c'est bon :
    R1 étant la resistance que je souhaite mesurer et ADC1 la valeur que mesure le PIC :
    R1 = -((ADC1 - 256)R2)/ADC1
    Ca vous semble correcte ? après plusieurs essais avec différentes valeurs de R1 ça semble bon

  18. #48
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Petite erreur :
    R1 = -((ADC1 - 255)R2)/ADC1

    Y'a plus qu'à travailler sur la conversion en température

  19. #49
    verbalinsurection

    Re : Plusieurs PIC et une mémoire

    Et hop, ça roule, je récupère ma température !
    Donc la fonction finale :
    temp = (2135805.00*pow(ADC1,2)-786804608.00*ADC1+74665132927. 00)/(1393*pow(ADC1,2));
    C'est un peu vulgaire mais c'est ça

    Aller zou, je commence la transmission RF avec USART

    Merci pour votre aide ça m'a bien débloqué et depuis j'avance tranquilou à mon rythme !

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. PIC + Memoire
    Par petitnul12 dans le forum Électronique
    Réponses: 1
    Dernier message: 10/01/2011, 00h11
  2. principe de fonctionnement d'une mémoire morte et une mémoire vive?
    Par lebiologiste2 dans le forum Matériel - Hardware
    Réponses: 1
    Dernier message: 17/09/2010, 09h52
  3. Pic 16f877 Et Une Memoire
    Par invite0d9691eb dans le forum Électronique
    Réponses: 1
    Dernier message: 08/05/2008, 11h53
  4. Plusieurs PIC , un seul quartz
    Par invitecb425c94 dans le forum Électronique
    Réponses: 4
    Dernier message: 01/08/2007, 10h03
  5. PIC 16F84 – Lecture de plusieurs pin et écriture sur plusieurs pins
    Par invitef1f90160 dans le forum Électronique
    Réponses: 4
    Dernier message: 31/12/2005, 14h09
Découvrez nos comparatifs produits sur l'informatique et les technologies.