realisation plaque test
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

realisation plaque test



  1. #1
    mortaurat

    realisation plaque test


    ------

    Bonjour,
    Avec un amis, nous souhaitons realiser une sorte de «*plaque test*» qui possederait une alimentation reglable avec le petit afficheur qui va bien pour la tension, et un generateur de signaux carrés avec une frequence reglable.
    Pour l'alimentation aucun probléme, on prend un transfo, et on regule la tension avec un LM317, cependant pour afficher cette tension, nous souhaiterions utiliser un 7segment (2 afficheurs 0-15v et un dernier pour la virgule).
    Pour le generateur de signaux, nous avons pensé à un NE555 monté en astable.
    Cependant nous avons des problémes pour afficher le tout.
    Pour afficher la tension il nous semble indispensable d'avoir un convertisseur analogique numerique, ainsi qu'un decodeur binaire/7seg.
    Idem pour afficher la frequence, il faudrait un compteur, un circuit combinatoire et des decodeurs binaire 7 segments.
    Le truc c'est que les decodeurs BCD/seg et les CAN coutent chers (je trouve...) .

    Nous cherchons donc un moyen un peut moins couteux de realiser notre valise. J'ai donc pensé à utiliser un pic (la solution universelle ^^), un 16f628 vu que j'en possede beaucoup. Cependant nous souhaitons mesurer des tension de 0-15v ce qui depasse fortement la tension d'alimentation du pic. Es t'il possible de mesurer une tension differente de la tension d'alim avec la pin ADC du pic ?
    Deplus avez vous une idée pour utiliser des afficheurs 7segments et ne pas utiliser 7 PIN par afficheurs ?

    -----

  2. #2
    simon.

    Re : realisation plaque test

    Citation Envoyé par mortaurat Voir le message
    Cependant nous souhaitons mesurer des tension de 0-15v ce qui depasse fortement la tension d'alimentation du pic.
    Bin.. et un bête pont diviseur de tension !
    Avec eventuellement un AOP en suiveur si tu as peur de l'impédance du CAN du pic.
    Deplus avez vous une idée pour utiliser des afficheurs 7segments et ne pas utiliser 7 PIN par afficheurs ?
    Afficheurs 7 segments à anode ou cathode commune, et multiplexage temporel. Il te faut alors 7+n pins, où n est ton nombre d'afficheurs.
    Tu affiches les chiffres les uns après les autres, un seul à la fois, mais tes yeux n'y verront que du feu.

  3. #3
    simon.

    Re : realisation plaque test

    Citation Envoyé par mortaurat Voir le message
    Le truc c'est que les decodeurs BCD/seg et les CAN coutent chers (je trouve...) .
    bcd->7seg : 74LS47 : EUR1.60 chez selectronic...

    Et si tu veux économiser un pic, tu peux jeter un œil sur l'ICL7135, tiens.

  4. #4
    mortaurat

    Re : realisation plaque test

    Citation Envoyé par simon. Voir le message
    bcd->7seg : 74LS47 : EUR1.60 chez selectronic...
    En comparaison je paye mon pic 1.35€ ! à ce prix là c'est du vol =)

    Pour l'affichage, j'avais pensé à faire pic => bcd/7seg => je relie tout les segments de led entre eux et je selectionne la cathode à l'aide de d'autres fils sur le pic.
    ca semble être ton idée simon, merci.

    Pour le pont diviseur, exellente idée, je n'y avais pas pensé !
    Merci

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

    Re : realisation plaque test

    Pour la simplicité et le prix, il est difficile de battre un module millivoltmètre de ce genre-ci:
    http://www.selectronic.fr/article.as...r=90.9259-9999
    Pour 4.40€, tu as les afficheurs, décodeurs et CAN. Et tu auras deux chiffres après la virgule.
    Pas de complexes: je suis comme toi. Juste mieux.

  7. #6
    mortaurat

    Re : realisation plaque test

    • Entrée : 200 mV max
    impossible de mesurer des tensions de 0-15volts avec ca.

  8. #7
    mortaurat

    Re : realisation plaque test

    le coût de ma realisation pour le compteur plus le voltmetre est de:
    - 1 pic = 1.35€
    - 8 afficheur 7seg = 3€
    - 1 decodeur bcd = 0.70€
    - resistances + condo = 0.5€
    - 1 ne555 = 0.07€
    total = 5.7€ frais de port inclus.
    Dernière modification par mortaurat ; 05/07/2009 à 09h16.

  9. #8
    Tropique

    Re : realisation plaque test

    Citation Envoyé par mortaurat Voir le message
    impossible de mesurer des tensions de 0-15volts avec ca.
    Il suffit d'un diviseur 1:100, comme pour ton PIC.
    Si tu arrives à trouver des afficheurs à 0.375€ l'unité, alors effectivement, ta solution est presque compétitive.
    Pas de complexes: je suis comme toi. Juste mieux.

  10. #9
    simon.

    Re : realisation plaque test

    Si ton PIC ne sert à rien d'autre, tu n'as même pas besoin du décodeur BCD, tu as assez de pattes.

    Ou achètes-tu tes composants pour avoir ces prix ?

  11. #10
    mortaurat

    Re : realisation plaque test

    Citation Envoyé par simon. Voir le message
    Si ton PIC ne sert à rien d'autre, tu n'as même pas besoin du décodeur BCD, tu as assez de pattes.
    le 16f628 possede 18 broches, il m'en faut 2 pour l'alim, 1 pour le CAN, 1 pour le comptage de la frequence, 1 pour l'oscillateur (interne) ou 2 si j'utilise un quartz, 8 pour les afficheurs ca fait 13 ou 14 broches, je suis obligé d'utiliser un decodeur pour utiliser que 4 fils (4bit BCD) et rentrer dans le nombre de broche.

    Ou achètes-tu tes composants pour avoir ces prix ?
    j'achete sur ebay.com, il faut aller sur le .com et pas le .fr car tu as beaucoup plus de choix et beaucoups de vendeurs proposent des frais de port GRATUIT. Le petit bemol c'est le temps de livraison. Honettement j'ai acheté un objet le 23juin et je l'es reçu le 3 juillet. faut compter en gros une dizaine de jours.
    voici quelques noms de vendeur que j'ai reperés qui sont serieux et competitifs au niveaux des prix:
    http://stores.shop.ebay.com/Sure-Ele...__W0QQ_armrsZ1
    http://cgi.ebay.com/ws/eBayISAPI.dll...m=160342164519
    http://cgi.ebay.com/ws/eBayISAPI.dll...m=370221782251

    le pti dernier c'est un vendeur français qui fait du recyclage de composants, il habite à angouleme ou perigeux. Il m'est arrivé de commander un truc la veille et de le recevoir le lendemain ! je l'utilise si j'ai besoin d'un truc rapidement.
    http://stores.shop.ebay.com/Tresors-...__W0QQ_armrsZ1

    Voila maintenant à toi de te faire ta petite liste de vendeur preferés.
    Il faut savoir que 1 dollard = 1.4€ , en ce moment c'est 1.36 mais sa va monter, un temps c'etait plus de 1.5€ !

  12. #11
    mortaurat

    Re : realisation plaque test

    Bonjour j'ai un petit probléme pour la programmation de mon pic.
    Code:
    void comptage() ;
    void tension() ;
    
    void main()
    {
    while (1)
    {
    comptage();
    tension () ;
    }
    }
    
    void comptage ()
    {
    int temp=0;
    int frequence, unite, dizaine, centaine, millier, i=0 ;
    while (i == 0) //boucle qui sert à attendre que RA1=0
    {
    while(PIN_A1 ==0 & i==0) //boucle qui sert à attendre que RA1 = 1
    {
       while(PIN_A1 ==1)// boucle pour mesurer la durer du temps à 1
       {
      delay_us(1);
      temp++ ;
      i=1;
       }
    }
    }
    i=0;
    //conversion periode/frequence
    temp = temp * 2 * 1000000; //on transforme la periode en seconde
    frequence = 1/temp ; // equivalence periode et frequence
    
    //extraction des unités, centaine, dizaine et millier. % permet d'avoir le reste d'une division
    Unite = frequence%10 ;
    Dizaine = ((frequence%100)/10) ;
    centaine = ((frequence%100)/100);
    millier  = ((frequence%100)/1000);
    
    // affichage sur BCD/7segments
    output_b(unite + 240);
    output_low(pin_B4);
    delay_ms(1);
    output_high(pin_b4);
    output_b(dizaine + 240);
    output_low(pin_B5);
    delay_ms(1);
    output_high(pin_b5);
    output_b(centaine + 240);
    output_low(pin_B6);
    delay_ms(1);
    output_high(pin_b6);
    output_b(millier + 240);
    output_low(pin_B7);
    delay_ms(1);
    output_high(pin_b7);
    
    }
    void tension () //mesure de la tension aux bornes de l'alim
    {
    int tension, unite, dizaine ;
    float virgule ;
    }
    en fait il y a juste une toute petite parti qui me pose probléme.
    Code:
    while (i == 0) //boucle qui sert à attendre que RA1=0
    {
    while(PIN_A1 ==0 & i==0) //boucle qui sert à attendre que RA1 = 1
    {
       while(PIN_A1 ==1)// boucle pour mesurer la durer du temps à 1
       {
      delay_us(1);
      temp++ ;
      i=1;
       }
    }
    }
    en fait mon rapport cyclique etant de 50% je mesure une demie periode. Mais voila, l'execution de mon programme est directement liée à la frequence de ce signal.
    Par exemple si la frequence est de 1HZ, mon programme mettra 1.5seconde au maximum et 0.5seconde au minimum pour s'executer.
    Cela pose un probléme, car j'utilise un affichage multiplexé et il est donc necessaire d'être rapide afin que l'oeil humain ne voille rien à la methode d'affichage.
    Avez vous une idée pour mesurer la periode d'un signal, plus vite que cette periode elle même ?

  13. #12
    simon.

    Re : realisation plaque test

    Salut,

    Tu as deux possibilités:
    - soit par exemple tu remplaces tes delay_ms(1) par des boucles qui testent si il faut faire une mesure, et qui la font
    - soit tu utilises des interruptions, soit pour y effectuer l'affichage, soit pour faire tes mesures.

    Je pense que le plus correct serait:
    -envoyer le signal sur la patte INT
    -lors de l'interruption de front montant, demarrer un timer materiel
    -attendre le front descendant
    -lors de l'interruption de front descendant, arreter le timer et calculer la frequence

  14. #13
    mortaurat

    Re : realisation plaque test

    le 16f628 possedent une entrée d'interuption sur la PIN RB0.
    Cela me pose un probléme car j'utilise le Port B pour l'affichage.
    Tu me dira "utilise alors le port A", mais un des deux premier bit du port A est utilisé pour la conversion analogique/numerique, et lorsque je veut afficher mon resultat j'utilise la fonction "output_b(valeur)" qui en gros me met TOUT mon port à la valeur donnée. il est donc hors de question de mettre un CAN sur ce port. J'ai donc rusé et rajouté la valeur 240 pour mettre les 4 bit de poid fort à 1 (qui sont relié a la cathode) et ensuite je met la PIN des unité, dizaine, centaine etc souhaitée à 0 afin qu'elle recoive le code sortant du decodeur.

    l'ideal serait de faire la mesure en parallele à l'affichage, mais sa, c'est pas possible.
    l'ideal de la methode de l'interutption c'est qu'elle permet de reduire le temps de mesure de moitié (car du detecte le front) mais je ne sais pas comment detecter un front en C... Je ne crois pas qu'il y est des fonction du genre "if(rising_edge).

    - soit par exemple tu remplaces tes delay_ms(1) par des boucles qui testent si il faut faire une mesure, et qui la font
    pour savoir si je dois faire une mesure, il faut mesurer non ?

  15. #14
    simon.

    Re : realisation plaque test

    Citation Envoyé par mortaurat Voir le message
    le 16f628 possedent une entrée d'interuption sur la PIN RB0.
    Cela me pose un probléme car j'utilise le Port B pour l'affichage.
    Je ne vois pas ce qui t'empeche d'utiliser 3 pattes du port B et une du port A.

  16. #15
    mortaurat

    Re : realisation plaque test

    pour afficher ma valeur j'utilise output_b(valeur) qui m'affiche sur le port B le mot binaire corespondant a la valeur.
    Si je met 0, tout les bits du port B seront à 0. Si je met 255 tout les bits du port B seront à 1. Il est donc necessaire que mes bits destinés au decodeur BCD/7segments soit les 4 premiers bits d'un même port.

  17. #16
    mortaurat

    Re : realisation plaque test

    eh merde, je viens de me rendre compte en programmant la mesure de tension que le 16f628 n'a pas de convertisseur analogique numerique, mais des comparateur analogique !
    je ne sais absolument pas comment on utilise sa... Je crois que je vais devoir utiliser un autre pic...

  18. #17
    mortaurat

    Re : realisation plaque test

    bon voila, j'ai pris un 16f876 qui possedent 40pin, ce qui regle les problémes cités plus haut.
    Le CAN marche bien, je peut utiliser l'interuption et je peut même economiser un decodeur BCD / 7 segments.
    Cependant pour l'interuption si je la place lors d'un front montant cela va poser un probléme aux hautes frequence, car la suite de mon programme ne poura pas s'executer...
    je souhaiterais aller de quelques hertz à au maximum 10Khz. Cela veut dire que mon programme doit s'executer dans un temps trés court inferieur à 0.1ms.
    je dois donc faire de delay_us(1) mais cela pose un autre probléme lors de frequence faible, mon afficheur s'allumera moins longtemps et j'ai peur que au final on voye rien...
    L'interuption en fin de compte change pas grd chose au probléme, on diminue le temps de mesure par 2 mais pour un signal de 1Hz par exemple, mes diodes seront etteintes pendant 1/2seconde ce qui se vera forcement...

Discussions similaires

  1. plaque test
    Par invite0d31ee67 dans le forum Électronique
    Réponses: 3
    Dernier message: 20/02/2007, 09h51
  2. Réalisation PWM sur plaque de 2cmX1cm
    Par invited62ea012 dans le forum Électronique
    Réponses: 68
    Dernier message: 12/09/2006, 19h37
  3. plaque de test pour PIC
    Par invite7ef0baf2 dans le forum Électronique
    Réponses: 7
    Dernier message: 23/08/2006, 16h27
  4. renseignement plaque de silicium et plaque soi
    Par invite2b8f7198 dans le forum Électronique
    Réponses: 2
    Dernier message: 26/10/2004, 17h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.