Tröskel på PIC A/D?
Tröskel på PIC A/D?
Databladet specar en hel drös olika felkällor angående A/D-omvandlaren, men vad är det samlade reslutatet vid mycket låga inspänningar?
Jag tyckerdet förefaller finnas en tröskel, sedan denna väl har passerats så stämmer det betydligt bättre. Nu kan ju detta även bero på svårigheter att mäta så låga nivåer, så jag är inte helt säkerrr. Vdd är Vref och drivspänningen 5.12V.
Har någon av Er också noterat detta synnerligen oönskade fenomen?
Jag tyckerdet förefaller finnas en tröskel, sedan denna väl har passerats så stämmer det betydligt bättre. Nu kan ju detta även bero på svårigheter att mäta så låga nivåer, så jag är inte helt säkerrr. Vdd är Vref och drivspänningen 5.12V.
Har någon av Er också noterat detta synnerligen oönskade fenomen?
Alla A/D har ju osäkerhet...
Ofta uttryck den i bitar. tex. en 10 bitars AD med 2 bitars onogranhet gör att de 2 LSB bitarna inte går att lita på men de 8 över är ok.
Så spänningar över 4 * "kvantan" har paserat tröskeln men man kan inte använda absoulta värden som vilkor utan man måste använda ett spann.
så 5 v med 1024 steg ger en "kvanta" på ~0,005V då blir lägsta "tillförlitliga" spänning ~0,02v.
Skickar vi in 0.02v så kan resultatet bli 4 men också 7 (dvs som om vi skickade in 0.035v eftersom om vi skickar in 0.02V men inte kan lita på bit 1 och 0... vi skickar in vad som borde bli 4 men kan ev. bli 7).
Detta felet inverkan minskar med ökande insignal.
Ofta uttryck den i bitar. tex. en 10 bitars AD med 2 bitars onogranhet gör att de 2 LSB bitarna inte går att lita på men de 8 över är ok.
Så spänningar över 4 * "kvantan" har paserat tröskeln men man kan inte använda absoulta värden som vilkor utan man måste använda ett spann.
så 5 v med 1024 steg ger en "kvanta" på ~0,005V då blir lägsta "tillförlitliga" spänning ~0,02v.
Skickar vi in 0.02v så kan resultatet bli 4 men också 7 (dvs som om vi skickade in 0.035v eftersom om vi skickar in 0.02V men inte kan lita på bit 1 och 0... vi skickar in vad som borde bli 4 men kan ev. bli 7).
Detta felet inverkan minskar med ökande insignal.
20-25 mV med den "smutsiga" elektriska miljö som en PIC är ?
Det måste vara att tänja på gränserna ordentligt.
Har du provat sådana knep som att köra ADC konverteringen under "sleep" ?
Och naturligtsvis massor av avkoppling o.s.v.
Men du ligger nog på gränsen för vad man kan förvänta sig av en
"inbyggd" ADC...
Det måste vara att tänja på gränserna ordentligt.
Har du provat sådana knep som att köra ADC konverteringen under "sleep" ?
Och naturligtsvis massor av avkoppling o.s.v.
Men du ligger nog på gränsen för vad man kan förvänta sig av en
"inbyggd" ADC...
Jodå, jag vet att det är lite ansträngt. Det går inte att mäta i stoppläge, den måste vara igång och att PWM måste gå gör det knappst bättre...
Jag har nog feltolkat det där med specar på A/D ända sedan jag såg en sådan spec första gången för riktigt mångaår sedan. +/- 2 lsb tolkade jag som två räknarsteg, men det betyder tydlign 2 bitar och fyra räknarsteg istället...
Då är den inom spec, 4 steg fel är väl till och medbra med tanke på alla de andra felen.
Ojdå

Jag har nog feltolkat det där med specar på A/D ända sedan jag såg en sådan spec första gången för riktigt mångaår sedan. +/- 2 lsb tolkade jag som två räknarsteg, men det betyder tydlign 2 bitar och fyra räknarsteg istället...
Då är den inom spec, 4 steg fel är väl till och medbra med tanke på alla de andra felen.
Ojdå





Jag tolkar +/- 2 lsb som +/- två "räknarsteg" d.v.s totalt ett spann
om 4 steg (men alltså *symetriskt* kring centrumvärdet). Inte att det
kan/ska vara 4 x lsb åt ett och samma håll.
Men som sagt, 20 mV med CPU'n igång (och andra delar "running") är
nog att önska sig lite väl mycket av en "inbyggd" ADC.
om 4 steg (men alltså *symetriskt* kring centrumvärdet). Inte att det
kan/ska vara 4 x lsb åt ett och samma håll.
Men som sagt, 20 mV med CPU'n igång (och andra delar "running") är
nog att önska sig lite väl mycket av en "inbyggd" ADC.
Ja, men både Renesas och Freescale har visat grafer över deras A/D jag inte kan tolka att de är symetriska... Men PIC kanske gör annorlunda...
Jag använder en 10 bitars A/D där de 8 övre är tillförlitliga...
Om det är sant hur kan det vara ett symetriskt fel runt 0.02 V? (bit 3 satt)
Du kan lita på den biten! Men inte de lägre. Så jag har i samplern 0b00000001XX vid 0.02 volts input. Kan vara 0b0000000100 eller 0b0000000111 eller nått därimellan... Men det kommer inte vara mindre än 0.02V.
Men visst kan man ta "medelvärdet" och hoppas att felet är helt stokastsikt.
Detta är inte helt enkelt och jag är mer än villig att medge att jag kan ha fel... Om du kan förklara hur det blir symetriskt så jag begriper.
Jag använder en 10 bitars A/D där de 8 övre är tillförlitliga...
Om det är sant hur kan det vara ett symetriskt fel runt 0.02 V? (bit 3 satt)
Du kan lita på den biten! Men inte de lägre. Så jag har i samplern 0b00000001XX vid 0.02 volts input. Kan vara 0b0000000100 eller 0b0000000111 eller nått därimellan... Men det kommer inte vara mindre än 0.02V.
Men visst kan man ta "medelvärdet" och hoppas att felet är helt stokastsikt.
Detta är inte helt enkelt och jag är mer än villig att medge att jag kan ha fel... Om du kan förklara hur det blir symetriskt så jag begriper.

-
- Inlägg: 7122
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Hmm.. Hittar inget direkt om PIC:ens A/D's precision mer att den är har +/- ½ LSB vilket är självklart att den kommer att ge ett värde runt kvantan...
Detta gäller ju alla A/D... Den är definitivt symetrisk. Så vi kanske har talat om olika saker här..
Men det verkar som Microchip menar att man kan lita på alla bitar i deras A/D hela tiden... DET skulle jag vilja ha på papper... i så fall är det den bästa inbyggda A/D jag sett.
Har du ett bättre dokument om A/D (kollar i 16FXXX) PICmicro
Mid-Range MCU Family
Reference Manual Sektion 23
Detta gäller ju alla A/D... Den är definitivt symetrisk. Så vi kanske har talat om olika saker här..
Men det verkar som Microchip menar att man kan lita på alla bitar i deras A/D hela tiden... DET skulle jag vilja ha på papper... i så fall är det den bästa inbyggda A/D jag sett.
Har du ett bättre dokument om A/D (kollar i 16FXXX) PICmicro
Mid-Range MCU Family
Reference Manual Sektion 23
Det står spec på A/D sist i databladet innan alla diagrammen. Där finns bl.a. "offset error +/- 2lsb" och ett antal andra errors också. Det finns i databladet för 16F88 och även det för 18F4620.
A/D i båda dessa kretsar förefaller att vara en aning "trögstartade", det behövs kring 20mV innan den börjar röra på sig. 4620 är aningen mindre trög och "lossnar" från nollan redan kring 15mV, men det kan ju vara spridning mellan exemplar.
Värdet från båda är stabilt och reproducerbart och varierar bara +/- 1 bit. Sedan kan det givetvis finnas temperaturdrift och andra variabla felkällor.
Här är en del av specen för 16F88

A/D i båda dessa kretsar förefaller att vara en aning "trögstartade", det behövs kring 20mV innan den börjar röra på sig. 4620 är aningen mindre trög och "lossnar" från nollan redan kring 15mV, men det kan ju vara spridning mellan exemplar.
Värdet från båda är stabilt och reproducerbart och varierar bara +/- 1 bit. Sedan kan det givetvis finnas temperaturdrift och andra variabla felkällor.
Här är en del av specen för 16F88

Hade man en analog VSS ingång till A/D-omvandlare och negativ spänningsskälla så hade man förmodligen kunnat korrigera bort det här offsetfelet.Marta skrev:Det står spec på A/D sist i databladet innan alla diagrammen. Där finns bl.a. "offset error +/- 2lsb" och ett antal andra errors också. Det finns i databladet för 16F88 och även det för 18F4620.
A/D i båda dessa kretsar förefaller att vara en aning "trögstartade", det behövs kring 20mV innan den börjar röra på sig. 4620 är aningen mindre trög och "lossnar" från nollan redan kring 15mV, men det kan ju vara spridning mellan exemplar.
Annars är det alltid knepigt att nå dom sista mV upp mot VDD eller ned mot GND/VSS när man har singelspänningsmatning,.
Även rail-to-rail OP-ampar byggda för analogbruk har trubbel med utsvinget på utgången för dom sista mV till VSS/VDD-matningsspänning, och blir knappast bättre då CMOS-processer avsedda för digitalsnusk nu också skall hantera analoga saker, det blir kompromisslösningar helt enkelt.
Det finns möjlighet till en sådan ingång och den tillåter att dras 300mV under Vss så visst skulle det väl gå att kompensera. Problemet är att det slukar en pinne och kräver alldeles för mycket extra komponenter för att vara värt det.
Ett annat enklaresätt skulle kunna vara att påföra en bias, ett motstånd i serie medinsignlaen och ett stort motstånd mot +5V helt enkelt. Det blir ju ingen linjär bias, men den skulle kunna börja indikera med en gång. Sedan vid högre insignal blir den procentuella felvisningen mindre och betyder inte så mycket.
Ett annat enklaresätt skulle kunna vara att påföra en bias, ett motstånd i serie medinsignlaen och ett stort motstånd mot +5V helt enkelt. Det blir ju ingen linjär bias, men den skulle kunna börja indikera med en gång. Sedan vid högre insignal blir den procentuella felvisningen mindre och betyder inte så mycket.