Sida 1 av 1

AD omvandlare värde!

Postat: 30 november 2006, 07:59:28
av olssoninc
Har haft en hetsig diskusion nu om AD omvandlar värden och behöver lite hjälp att överbevisa vad som är rätt eller fel.

Vi håller på mäter en 0-5V signal med en 10 bitars AD och en av oss påstår att om spänning 2.5V mäts så kommer bit värde 511 och 512 vara lika medans den andra påstår att värde 511 representerar 2.5V. Vilket påstående är rätt och hur bevisas det?


//Olssoninc

Postat: 30 november 2006, 08:10:52
av strombom
Förutsatt att referensvärdena på AD:n verkligen är 0 och 5 volt så borde 0V representeras av 0 och 5V av 1023. Jag hävdar att AD:n kommer fladdra mellan 511 och 512 om man har "exakt" 2.5V......

1023/5 * 2.5 = 511.5

Postat: 30 november 2006, 08:27:42
av Icecap
strombom har relativt rätt ;-)

Om förutsättningarna är som strombom beskriver gäller samt att AD-omvandlaren är helt linjär (alltså perfekt):
Varje steg är värd 5/1024V = 4,8828125mV. Detta ger att man kan säga såhär:
0x000 = 0,0000000 - 4,8828124mV
0x001 = 4,8828125 - 9,7656249mV
0x002 = 9,7656250 - 14,6484374mV
osv.

Alltså representerar 511 och 512 olika värden men då 2,5V är så pass grovt värde kommer de nog att fladdra precis som strombom skrivar.

Hade det varit 2,500000V och en total felfri AD kan man säga vad den skulle ge av värde ut men läs datablad och förstå att man kan höfta ganska bra men inte exakt.

Postat: 30 november 2006, 09:03:29
av olssoninc
Strombom du delar med 1023 vilket är talet som representerar pos 1024. Om man antar att 0 är en possition.

Om man instället delar med antalet positioner (1024)

så 5/1024 * 2.5 =512 dvs pos 512 som är bit värde 511.

Är jag helt ute och cyklar?

Postat: 30 november 2006, 09:33:19
av sodjan
Vad är *igentligen* problemet ?

Hela diskussionen är oerhört teoretisk och frågan om 2.5 V motsvarar
511 eller 512 (eller 511.5) är i praktiken oftast ganska ointressant...

Dessutom så brukar databladet ha en tydlig beskrivning över hur
"stegen" fördelas samt hur brytpunkterna mellan de olika stegen beräknas.

I princip alla ADC'er i dag är monotona (d.v.s att de aldrig stegar "bakåt"),
men stegen i sig kan vara olika långa/höga.

Strombon> Jag hävdar att AD:n kommer fladdra mellan 511 och 512 om man har "exakt" 2.5V......

I *praktiken* (om man inte har en väldigt "bra" analog koppling) så kommer
värdet att fladdra över kanske 3-4 steg...

Men som sagt, om man vill ha ett rent teoretiskt svar, så har databladet det ! :-)

Postat: 30 november 2006, 10:06:15
av vfr
Eftersom det var en teoretisk diskussion om funktionsprinciper från början så är det väl helt ok att den faktiskt är teoretisk, tycker jag.

De AD-omvandlare som jag jobbat praktiskt med har haft att fullt skalutslag = VH - 1LSB. D.v.s i det här fallet skulle VH motsvara värdet 1024 som inte går att representera utan det högsta möjliga värdet blir då 1023 som är VH - 1LSB. Svaret på frågan blir då exakt 512 för 2,5V.

Så fungerar t.ex. AD-omvandlaren i HC11-processorn som var den jag hade närmast till hands att titta på just nu. Därmed inte sagt att alla omvandlare måste fungera på det sättet även om jag har för mig att det var så det lärdes ut när man pluggade en gång i tiden. Skall man ha ett bättre svar än det så får man nog välja en eller flera faktiska omvandlare och, som Sodjan säger, kolla i databladen.

Postat: 30 november 2006, 10:58:28
av olssoninc
Den processor som jag arbetar med är en HC12D64 vilket jag då borde anta att AD:ns värde 512 motsvarar 2.5 Volt.

Postat: 30 november 2006, 11:04:37
av vfr
Om uppbyggnaden motsvarar HC11:ans omvandlare så kan man ju anta det. Men det finns bara ett sätt att vara säker...

Postat: 30 november 2006, 11:20:27
av sodjan
Se även :
http://www.freescale.com/files/microcon ... AN2438.pdf
("ADC Definitions and Specifications")

Re: AD omvandlare värde!

Postat: 30 november 2006, 11:47:54
av Andax
olssoninc skrev:Har haft en hetsig diskusion nu om AD omvandlar värden och behöver lite hjälp att överbevisa vad som är rätt eller fel.

...och en av oss påstår...
Ville du avvakta svaren här innan du avslöjar vad DU trodde? :D Kunde inte hålla mig!

Postat: 30 november 2006, 12:01:21
av sodjan
> Den processor som jag arbetar med är en HC12D64 vilket jag då borde anta
> att AD:ns värde 512 motsvarar 2.5 Volt.

Kanske rent teoretiskt så som diskussionen i tråden började.

Men om man tittar på en specifik processor/ADC, så gäller naturligtsvis
de praktiska begränsningar och felnivåer som databladet specificerar.
Bl.a ett upp till +/- 2.5 bitars fel i alla ADC mätningar. Mer *garanterar*
inte Freescale (men sannolikt är felet normalt lite lägre).

Vilket är det du vill veta ?

Att bygga en applikation som förutsätter ett visst *exakt* förhållande
mellan en viss inspänning och ett visst digitaliserat värde är lite farligt...

PS: Jag hittade inte HC12D64, utan kollade HC12D60 istället. Jag tror
dock inte att det är någon avgörande skillnad...