Voltmetre à PIC
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Voltmetre à PIC



  1. #1
    Orphée

    Voltmetre à PIC


    ------

    Bonjour

    Bon, c'est pas exactement un voltmetre mon problème

    Voilà: j'ai réalisé une platine à base de PIC (18F4550) que vous pouvez voir sur www.motoelectrique.unblog.fr

    Ça marche sauf que ... c'est pas du tout fiable comme indication !
    Par exemple, si je simule (avec une résistance variable de précision) un courant de 50A, ça va aller de 48 à 51 ou 52A si je lis en boucle la valeur convertie par le PIC (bien entendu, sur une mesure au multimètre fluke, ça ne bouge pas)!
    Sur le courant c'est pas très important mais là où ça gène c'est sur la valeur de chaque cellule de batterie (3V6) car ces cellules varient très peu en réalité donc si je veux des courbes crédibles il me faudrait plus stable.
    Comme c'ets ma première expérience en ADC, je me demandais s'il fallait utiliser une technique particulière.

    Ci-joint la partie analyse courant, pour exemple: la partie de droite (sortie 7 du LT1990) va directement à l'entrée analogique du PIC mais, comme je l'ai écrit plus haut, on peut tout aussi bien envoyer directement une tension au PIC que la valeur lue reste toujours fluctuante.

    Merci pour votre aide

    -----
    Images attachées Images attachées  

  2. #2
    Orphée

    Re : Voltmetre à PIC

    juste au cas où, la partie du PIC: j'utilise un quartz.
    Toutes les sorties du PIC sont utilisées et, pour lire chaque cellule de 3V6 (16 au total), j'utilise un multiplexeur.
    Images attachées Images attachées  

  3. #3
    RISC

    Re : Voltmetre à PIC

    Salut,

    Ton alimentation analogique est-elle suffisamment filtrée vis à vis de l'alimentation digitale ?

    As-tu filtré de manière capacitive tes entrées analogiques ?

    As-tu fait attention au routage à la connection des masses digitales et analogiques ?

    As-tu fait attention à l'impédance d'entrée des entrées analogiques du PIC ? La résistance source externe doit être (de tête) < 5kohm

    Au niveau logiciel, fais-tu une moyenne glissante pour t'affranchir du bruit ?

    N'oublies pas également qu'il existe le PIC18F4553 100% compatible avec le PIC18F450 au niveau implantation mais qui possède un convertisseur A/N 12 bits au lieu du 10 bits.

    a+

  4. #4
    Orphée

    Re : Voltmetre à PIC

    Bonjour et merci de ta réponse

    "Ton alimentation analogique est-elle suffisamment filtrée vis à vis de l'alimentation digitale ?"

    L'alimentation se fait ici, en mode test, en 12V provenant d'une batterie plomb. Pas de moteur connecté ou autre grosse consommation.
    Il y a un 7805 qui s'occupe de la platine où sont les LT1990, l'inverseur de courant et l'ampli op (pour le courant)
    Il y a un autre 7805 pour la partie microprocesseur (filtrage en sortie du 7805 de 100uf)
    Un dernier 7805 dans la partie affichage

    "As-tu fait attention au routage à la connection des masses digitales et analogiques ?"

    Les masses des circuits LT1990 (mesure différence de tension) et de la partie microprocesseur sont identiques. La variation de niveau interprétée par le pic est présente sur l'analyse du premier élément de cellule référencé à la masse (les autres éléments ne peuvent pas l'être puisqu'ils sont en série, voir image ci-dessous).

    "As-tu fait attention à l'impédance d'entrée des entrées analogiques du PIC ? La résistance source externe doit être (de tête) < 5kohm"

    J'avais lu ça sur la doc. J'ai donc mis une résistance de 1k sur l'entrée testée mais ça ne change rien. D'ailleurs je précise que le fluke qui a trois chiffres derrière la virgule ne bouge pas, lui, pendant le test.

    "Au niveau logiciel, fais-tu une moyenne glissante pour t'affranchir du bruit ?"

    Je ne pense pas que ça soit raisonnable à ce stade. Tiens, je vais rebrancher aujourd'hui pour voir la variation sur une pile de 1V6. Je regarde ...
    Voilà ( sur une minute environ et sur l'entrée de la première cellule)):
    1) j'ai une tension à l'entrée lue sur le fluke de 1,415 à 1,416
    2) j'ai une tension affichée sur le montage de 0V98 à 1V15 ! , la majeure partie du temps on est entre 0V98 et 1V00. Note que l'erreur de valeur affichée n'est pas importante (je ne me suis pas occupé de régler le bon rapport de conversion pour l'instant), c'est juste la marge de variation qui est trop grande.

    "n'oublies pas également qu'il existe le PIC18F4553 100% compatible avec le PIC18F450 au niveau implantation mais qui possède un convertisseur A/N 12 bits au lieu du 10 bits."

    Heu ... oui ... mais voilà: mon montage est fait et j'ai pas spécialement envie de retirer tout Même à supposer qu'il n'y ait qu'à remplacer le PIC, je n'ai pas de matériel adéquat pour le faire sans risques pour la platine. Et puis en plus c'est pas la précision qui me gène, c'est la variation.
    Images attachées Images attachées  

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

    Re : Voltmetre à PIC

    Bon, j'ai essayé des filtrages un peu partout sans résultat

    Donc je vais peut être effectivement opter pour le 4553

  7. #6
    paulfjujo

    Re : Voltmetre à PIC

    bonsoir,

    Quelle est la gamme de mesure de la partie ADC du PIC
    mesures références au 0V et au +5V ?

    mesures multiplexées :
    quel est le delai d'attente apres modification du routage multiplexeur. Celui ci peut generer du bruit si la mesure ADC
    embraie de suite apres la commutation de voie.

    Delai d'acquisition ADC ?
    si trop rapide = instabilite=bruit.

    Les ampli OP en amont du PIC ne sont pas limités en bande passante :
    possibilité de filtrer en passe bas avec C en // sur resistance du gain.

  8. #7
    RISC

    Re : Voltmetre à PIC

    Salut,

    Pourrais-tu faire voir tout le schéma de ton circuit ?

    Je suis d'accord avec la remarque de Paul. Il ne faut pas échantillonner trop vite.

    Peux-tu faire voir ton code et plus particulièrement toute l'initialisation du convertisseur A/N ?

    La variation que tu vois est beaucoup trop importante...Si le Fluke est stable il y a peut être un problème soft (n'oublie pas que les multimètre montrent la valeur RMS...et filtrent "natuellement")

    a+

  9. #8
    Orphée

    Re : Voltmetre à PIC

    Merci pour vos réponses

    Voici les liens pour les schémas:

    Lien image externe supprimé
    Lien image externe supprimé

    Sinon, pour le code, j'utilise Mikrobasic donc il n'y a pas de "truc" particulier.
    Le listing est très long. Je ne joins donc que ce qui a un rapport direct avec la conversion


    ModeTest12V

    'note: la LED brakeout clignote pendant le test
    'ne PAS faire de mise en route relais ici pour cause de problème pour programmer (5V trop faible)
    delay_ms(1500)

    if BrakeOut=1 then BrakeOut=0 else BrakeOut=1 end if
    '1) affichage heure

    LireDS1307
    delay_ms(50)
    AfficherHeureSurLCD(1,1)
    'affichage température
    AfficherTemperatureSurLCD(2,1, %1001101) 'A5= capteur interne au boitier
    '3) affichage du courant
    Lcd_Out(3,1, "Courant:")
    x2=LireNumeriqueTension(1) 'port 1=courant
    Lcd_Out(3,14,"A")
    if ConvertirTensionCourantX2Y2(x2 ) then ' x2=partie entiere, y2=partie décimale
    ' chiffre positif
    Lcd_Out(3,10, "+")
    AfficherChiffreSurLcd3c(3,11,x 2)
    AfficherChiffreSurLcd2c(3,15,y 2)
    else
    ' chiffre négatif
    Lcd_Out(3,10, "-")
    AfficherChiffreSurLcd3c(3,11,x 2)
    AfficherChiffreSurLcd2c(3,15,y 2)
    end if

    '4) affichage de la Tension totale
    Lcd_Out(4,3, "V")
    x2=LireNumeriqueTension(2) 'port 2=tension globale
    ConvertirNumerique50VTensionX2 Y2(x2)
    AfficherChiffreSurLcd2c(4,1,x2 )
    AfficherChiffreSurLcd2c(4,4,y2 )

    '5)affichage de la Tension premier élément
    SelectionnerBatterie(1) ' attention à sélectionner JUSTE AVANT de lire la Tension
    x2=LireNumeriqueTension(0) ' port 0= tension cellule
    z2=ConvertirNumerique3V7Tensio nX2Y2(x2) ' port tension par élément
    AfficherChiffreSurLcd2c(4,12,x 2)
    AfficherChiffreSurLcd2c(4,15,y 2)
    Lcd_Out(4,14, "V")

    delay_ms(1000)

    end sub

    '----------------------------------------------

    'DEBUT DU PROGRAMME PRINCIPAL
    main:

    TRISA = %00010111 ' PORT A (1=entrée, 0=sortie)
    TRISB = %00000011 ' PORT B
    TRISC = %10110000 ' PORT C
    TRISD = %10001111 ' PORT D
    TRISE = %00000010 ' PORT E

    PortA=%00100000 ' on met le LCD enable au niveau haut car actif front descendant
    PortB=%00000000
    PortC=%00000000
    PortD=%00000000
    PortE=%00000000

    UART1_Init(9600)

    CodeArretString=chr(13)+chr(10 )
    Delay_Ms(250) ' attente de stabilisation

    '------------------------------------
    ' réglage du timer
    'configuration de l'interrupt du timer2
    'T2CON = %01111111 ' Set T2CON.2
    'TMR2IF=0
    'TMR2IE=0
    'TMR2=0
    'PR2=190'5

    CMCON = 0X07 ' Turn off all comparators.
    INTCON=0 'pas d'interruption
    ADCON0 = 0x01 ' choix canal convertisseur A/D (ici=1)
    ADCON1 = 0X00 ' Reset registre A/D 1.
    ADCON1 = %1100 ' activation AN2,AN1,AN0

    soft_I2C_init()
    Lcd_Init()
    delay_ms(200)

    Lcd_Cmd(_LCD_CURSOR_OFF) ' Cursor off

    DonneeCodee[2]=0 ' fonctions1
    DonneeCodee[3]=0 ' fonctions2
    FlagClavier=false
    ModeClavier=0 ' mode gestion radio
    TempoLed=0 'temporisation pour l'éclairage de LEDs d'info
    'paramètres d'options
    SonsActifs=true
    CaractTab=chr(9)
    Regeneration=true
    AffichageMini=false
    IndicRecept=true
    DelaiAlarmeCourt=true
    XenonAbsent=false
    LedsAux=false
    VitesseLimitee=false
    ExitOptions=false 'indicateur de sortie de mode spécial
    NiveauRFID2=false
    INTCON.INT0IE = 1 ' autorise INTO (=compteur vitesse)
    INTCON.INT0IF = 0 ' flag INT0 à zéro
    INTCON3.INT1IE = 1 ' autorise interruption INT1 (RFID)
    INTCON3.INT1IF = 0 ' flag INT1 à zéro
    INTCON3.INT1IP= 0 ' priorité basse
    INTCON.INTEDG0=1
    INTCON2.INTEDG1=1 ' selectionne front montant
    INTCON.GIE = 1 ' autorise interruptions
    Adresse24C512=%10100100 '1010 + A2 + A1 + A0 + read/write (read=1)
    Volume=63

    LireDS1307

    Lcd_Cmd(_LCD_CLEAR)

    'boucle de test
    While true
    ModeTest12V
    Wend
    ...........





    Une chose importante: même si on a un court circuit en valeur de cellule (la première), la valeur lue varie entre 0 et "quelque chose".
    Est-ce que la fréquence du quartz (20Mhz) pourrait être trop haute pour faire des conversions correctes ?

    mesures multiplexées :
    quel est le delai d'attente apres modification du routage multiplexeur. Celui ci peut generer du bruit si la mesure ADC
    embraie de suite apres la commutation de voie.


    Dans le cas de la lecture du courant, lecture qui ne passe pas par le mutiplexeur, on a aussi une valeur qui varie. Si je n'avais eu le problème que sur la lecture des éléments j'aurais aussi mis en doute la commutation du mutiplexeur (et rajouté un petit délai) mais je ne pense pas que ça soit nécessaire car le temps d'interprétation du convertisseur est forcément au moins aussi long que celui de la commutation, non ? enfin ... on verra ... Ah oui, à signaler tout de même: le multiplexeur est commandé en parallèle avec l'afficheur (pour cause de pas assez de ports) donc, effectivement, il faudra que je me méfie de ça même si je ne pense pas que ça soit mon problème actuel.

    "Les ampli OP en amont du PIC ne sont pas limités en bande passante :
    possibilité de filtrer en passe bas avec C en // sur resistance du gain. "


    OK mais il n'y a qu'un seul ampli op pour le cas du courant (pour amplifier les 75mv pour 100A, le reste envoie directement la vraie valeur des cellules sauf pour le cas de la tension globale (53V) où c'est un pont diviseur.

    Je vais peut être commencer par mettre une petite capacité (10nF ?) sur les entrées du PIC, "au cas où".
    Dernière modification par Tropique ; 18/09/2010 à 07h58. Motif: Suppression de liens vers serveur tiers

  10. #9
    Tropique

    Re : Voltmetre à PIC

    Bonjour,

    Merci de respecter les http://forums.futura-sciences.com/el...-sabonner.html, et de replacer les images en pièces jointes.

    Ce message sera supprimé dès la présentation conforme des PJ.
    Pas de complexes: je suis comme toi. Juste mieux.

  11. #10
    Orphée

    Re : Voltmetre à PIC

    Désolé pour les fichiers joints: c'était pour que le schéma soit plus clair et comme il est grand.

    Voici ce que ca donne en compressé. C'est lisible quand meme.
    Images attachées Images attachées

  12. #11
    Orphée

    Re : Voltmetre à PIC

    bon, le probleme vient d'ici: mo +5V est parfait, mon -5V (d'ailleurs à 4V4) généré par un NJU7662 n'est pas propre du tout

    Je vais d'abord voir si je trouve la cause de ce défaut là et puis, au pire, je référencerai tous les autres 7662 (hors courant) sur le gnd et non pas le -5V comme ça les autres seront fiables.

  13. #12
    Orphée

    Re : Voltmetre à PIC

    Pour info, c'est le filtrage proposé sur la datasheet du 7662 qui n'est pas suffisant. J'ai passé la valeur à 200uF (au lieu de 10) et je n'ai plus le problème. Néanmoins je vais quand même changer le PIC par un PIC18F4553 pour avoir une meilleure résolution.
    Merci pour vos suggestions.

  14. #13
    alayn91

    Re : Voltmetre à PIC

    Bonsoir,

    RISC dit:
    "n'oublie pas que les multimètre montrent la valeur RMS...et filtrent "natuellement"

    Faux, un multimètre mesure une valeur moyenne, et le filtrage n'est pas naturel, mais basé sur les harmoniques du secteur.

    L'utilisation d'un convertisseur à double pente, permet d'obtenir une rejection des harmoniques du secteur, si le temps d'intégration est suffisant.
    CaD, sous-multiple de la fréquence secteur.
    Les multimètres, aujourd'hui, utilisent tous un convertisseur double pente.

    A+
    Alain.

  15. #14
    Orphée

    Re : Voltmetre à PIC

    Mise à jour

    En fait le NJU7662 n'est pas approprié pour ce type d'application, il ne débite probablement pas assez ou est trop "influencable". Ça marchait mais pas correctement si on connectait plusieurs sources en même temps.
    Je l'ai donc remplacé par ... un driver de LED (1W) ! driver que j'ai modifié pour en faire un générateur en négatif, régulé ensuite par un 7905 pour un résultat sans parasites. Quelques filtrages supplémentaires et modifications dans les gains et c'est presque parfait.
    Reste à remonter l'ensemble sur la machine pour un essai en conditions réelles (les tests étaient sur la base d'un 12V uniquement)

  16. #15
    Orphée

    Re : Voltmetre à PIC

    Une mise à jour supplémentaire

    Disparition également du LM071 qui posait problème par le fait de sa liaison à la masse. Il a été remplacé par un autre LT1990 en série avec celui qui s'occupait de la partie courant.
    En résumé et approximativement, il y a donc maintenant, pour la partie courant, deux LT1990 dont le gain est de dix avec un réglage du "point zéro" pour avoir une sortie finale positive entre zéro et cinq volts. Zéro=-100 ampères, 5V=+100 ampères.
    Idéalement, il faudrait une alimentation +-5V parfaitement équilibrée pour éviter les bricolages de dernière minute.
    Mais, bon, le LT1990 est quand même un circuit idéal !

Discussions similaires

  1. Realisation voltmetre avec pic 18F877
    Par inviteee484a5f dans le forum Électronique
    Réponses: 7
    Dernier message: 13/02/2011, 16h51
  2. voltmetre
    Par invite07d08647 dans le forum Physique
    Réponses: 2
    Dernier message: 12/05/2009, 17h57
  3. Voltmètre
    Par invite6ba1806f dans le forum Électronique
    Réponses: 6
    Dernier message: 07/03/2007, 20h17
  4. voltmetre à pic
    Par leullier dans le forum Électronique
    Réponses: 5
    Dernier message: 10/11/2006, 07h52
  5. [PIC]Voltmètre avec adaptation de la gamme de mesure
    Par Rodrigue dans le forum Électronique
    Réponses: 6
    Dernier message: 02/11/2006, 11h01
Découvrez nos comparatifs produits sur l'informatique et les technologies.