Unstable ADC?

Z

Zanor

Guest
Salut!

J'utilise ADC sur 16f819 et peu taper le résultat à mon PC.Mais le résultat ADC est si instable, il garde sautant sur place (ex. 950 sauts entre 947 et 953).

J'ai connecté un pot 1k aux entrées.

voici mon code mikroC:
Code:

unsigned données à court = 0, ro = 1;

unsigned short * ER;void Comm_WriteConst (const char * s)

(

while (* s)

(

Soft_Uart_Write (* s);

s ;

)

)SENDB void (char sendme) (

Soft_UART_Write (sendme);

)void WAITB () (

while (* er) (

= données Soft_UART_Read (er);

)

ro = 1;

)void main () (

er = &ro;OSCCON = 0xFF;

TRISA = 0xFF;

TRISB = 0b00000010;

PORTA = 0b00000000;

PORTB = 0b00000000;ADCON0 = 0b01000001; / / Nombre de 20MHz, le canal 0, ADC ON

ADCON1 = 0b01000000; / / 4 canaux analogiques et

/ / Justification à gauche (ADRESH = 8bit résultat)Soft_UART_Init (PORTB, 1, 0, 9600, 0);

Delay_ms (10);while (1) (WAITB ();if (data == 'a')

(

SENDB ( 'a');ADCON0 = 0b01000001;

Delay_ms (1);

ADCON0 = 0b01000101;

while (ADCON0 & 0x4);

SENDB (ADRESH);

SENDB (ADRESL);ADCON0 = 0b01001001;

Delay_ms (1);

ADCON0 = 0b01001101;

while (ADCON0 & 0x4);

SENDB (ADRESH);

)))
 
Vérifiez VCC, decouplig vref (100nF 10 UF)
assurer que vous disposez d'impédance correcte à l'entrée ADC
essayer de voir le bruit au CDA dans (la portée)
moyen le plus simple est d'utiliser une moyenne de

 
Comme vous utilisez plus de 8 bits de résolution, vous devriez avoir une mise en page correcte.A PCB deux couches avec un plan de masse solide.Casquettes découplage devraient être pris en considération.
Avez-vous un filtre RC dans votre entrée ADC?
Quelles sont les fournitures Vcc analogique?

Farshid

 
1.Mise en page est d'une importance cruciale.Tenir loin des circuits numériques des signaux analogiques.

2.Avec un maximum à 1 k impédance de source (du pot), vous devez fournir une certaine capacité à l'entrée ADC pour aider à réduire le bruit qui va inévitablement en couple sur votre signal d'entrée.

3.Ne pas utiliser numérique VCC (ou sa tension divisée, en passant par pot) comme la source de votre entrée analogique.De même, essayez de penser à un moyen d'obtenir un terrain propre à l'extrémité à la terre de votre pot.Voir le numéro 1.

4.Pensez à utiliser une moyenne numérique.Par exemple, l'ensemble somme 16 échantillons consécutifs ADC, puis à droite à décalage de la somme de 4 bits (ce qui divise la somme par 16, sans un bouquet de maths).

 
merci pour vos réponses.

Donc ce que vous dites en réalité, c'est que je suis juste la chance d'avoir de bons résultats sur mon tel carte?hehe
Essayé avec un capuchon sur l'entrée ADC 1uF mais didnt help.

 
Oui, vous avez eu la chance d'obtenir de si bons résultats!Essayez quelques-unes des idées proposées ci-dessus et vous obtiendrez probablement de meilleurs résultats, bien qu'il existe des limites fondamentales à la performance du bruit lorsque le Connecteur Active Directory est intégré dans le même appareil qui contient des circuits numériques telles que le processeur, des minuteurs, contrôleur d'interruption, comm série,. ..

 
prélever des échantillons peu (peut-être 100) et en faire la moyenne puis envoyer ce sur PC

 
salut
1), utiliser un filtre passe-bas à l'entrée e de l'ADC.
2) l'utilisation des terrains isolés sur votre projet.(Convertisseur DC-DC est le meilleur choix)
3) u pouvez également utiliser algorithmes DSP pour réduire le bruit en amont.

 
extrait d'un autre thread:

D'annulation du bruit dans les logiciels:
Suréchantillonnage aidera à annuler un bruit aléatoire
16 échantillons en moyenne à réduire le bruit de (√ 16 = 4) à Z
256 échantillons ..........................................( √ 256 = 16) à 1 / 16
en fonction de théorie de l'échantillonnage!

16 échantillons nécessitent 4bit décalage à droite de addition totale
256 échantillons - jeter LSByte de ..... Totalsimple et très efficace

en ce qui concerne PolymathAjouté après 14 minutes:Avec le CIP, vous pouvez utiliser RC horloge pour l'ADC clock source
désactiver COMMS
Start ADC
PIC mis en mode "veille à minimiser le bruit numérique
WAKE PIC sur le CDA FAIT interrompre
permettre COMMS & envoyer des données

garantir un temps d'acquisition est maintenu entre les échantillons
(voir l'ADC sur la fiche technique)
et le retard nécessaire lors de la commutation entre les sources analogiques

Si secteur Hum est un problème d'ajuster la fréquence d'échantillonnage à l'auto-cancel Hum

viens de relire votre annonce - ne la variation de la production des variations conjoncturelles d'IE.chasses monter et descendre régulièrement si c'est le cas suspect secteur Hum sur l'entrée / de référence.

 
tout ce que qui que ce soit mentionné ici est vrai, mais encore
Je ne adc pic plusieurs reprises avec un terrain d'entente, pas de LPF, contournement réservées aux seuls C et jamais eu de problème avec le bruit aussi élevée.planche à pain avec c contournement ne me donne que Abt 1-2 maximale sur le bruit bits.alors, probablement, il ya un autre problème
observe

Annuler

 
Annuler écrit:

Je ne adc pic plusieurs reprises avec un terrain d'entente, pas de LPF, contournement réservées aux seuls C et jamais eu de problème avec le bruit aussi élevée.
planche à pain avec c contournement ne me donne que Abt 1-2 maximale sur le bruit bits
 
ok ..Je n'ai pas été clair diff total de 3 (non -3), qui est la moitié de mentionner ici.Tenter de diminuer l'horloge ad AFAIK vos paramètres sont 10MHz MA maintenant.

 
J'ai exactement le même problème que vous mentionnez.

«relire juste votre annonce - ne la variation de la production des variations conjoncturelles d'IE. chasses monter et descendre régulièrement si c'est le cas suspect secteur Hum sur l'entrée / de référence."

Je suis amené à conduire triying avec PWM des impulsions en fonction de la valeur i lire de l'ADC (pot 10kohm de l'entrée AN0).J'utilise pic 16F877A (quartz de 4 Mhz).J'utilise 10 bit ADC dans ce pic.Mais je n'utilise que 8 bits de cela.Cela fait donc de 0-255 gamme et je peux changer directement PWM duty cycle qui a même gamme.

Mon problème est que je vois la LED clignote.Il convient de gradation la LED avec ces impulsions, mais il DIMM et clignote à la même époque.
So i put a 47nF ceramic capacitor between pics output pin and GND.

Quand je ajouter un délai de 100ms après la fonction (ce que je utiliser pour changer duty cycle), je vois une ondulation sur mes impulsions PWM et il fonctionne sur ces impulsions plus vite que les légumes secs. Cette ondulation a un cycle comme u mentionnés.
Alors, j'ai mis un 47nF condensateur céramique entre la broche de sortie pics et GND.Mais il na pas fonctionné.

Can u plz expliquer pourquoi il arrive régulièrement (avec un cycle).Je suis sûr que ce problème est mon aide de camp.Le temps est compté pour moi.Il s'agit d'un projet professionnel et je dois le compléter avant la date limite.Donc, je serai très heureux si les gens qui ont l'experiance sur cette question peut m'aider.

Merci à tous.

 

Welcome to EDABoard.com

Sponsor

Back
Top