ad omvandling n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
AD-omvandling PowerPoint Presentation
Download Presentation
AD-omvandling

Loading in 2 Seconds...

play fullscreen
1 / 37

AD-omvandling - PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on

AD-omvandling. Ny processor med AD-omvandlare. PIC16F628 saknar AD-omvandlare. När vi behöver AD-omvandlare här i skolan använder vi PIC16F874 . 8 AD-kanaler på PORTA och PORTE AN0/RA0/2 AN1/RA1/3 AN2/RA2/4 AN3/RA3/5 AN4/RA5/7 AN5/RE0/8 AN6/RE1/9 AN7/RE2/10.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'AD-omvandling' - sharvani


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
ad omvandling
AD-omvandling

William Sandqvist william@kth.se

ny processor med ad omvandlare
Ny processor med AD-omvandlare

PIC16F628saknar AD-omvandlare. När vi behöver AD-omvandlare här i skolan använder vi PIC16F874.

8 AD-kanaler på PORTA och PORTE

AN0/RA0/2AN1/RA1/3AN2/RA2/4AN3/RA3/5AN4/RA5/7AN5/RE0/8AN6/RE1/9AN7/RE2/10

Många andra PIC-processorer har inbyggd AD-omvandlare, tex. PIC16F690.

William Sandqvist william@kth.se

en ad beh ver en da
En AD behöver en DA

DA i puben ( Digitalt in Öl ut ) …

Digitalt in Spänning ut …

I en DA-omvandlare styr det binära talets bitar binärkodade ”strömmar” som summeras till ett analogt spänningsvärde i en resistor.

William Sandqvist william@kth.se

succesiva approximationer
Succesiva approximationer

AD-omvandling med succesiva approximationsmetoden

AD-omvandlaren innehåller en DA-omvandlare och en komparator.

AD-omvandling enligt metoden succesiva approximationer är jämförbart med att väga en okänd massa med binära vikter på en balansvåg. Man provar steg för steg med att lägga till binära ”vikter” om ”<” eller dra ifrån ”vikter” om ”>”.

William Sandqvist william@kth.se

bin ra vikter 8 4 2 1
Binära vikter 8 4 2 1 …

8

8+4

8+2

AD-omvandlingen tar tid. För varje bits upplösning krävs ett ytterligare steg.

8+2+1

William Sandqvist william@kth.se

en ad omvandlare 8 kanaler
En AD-omvandlare, 8 kanaler

Med PIC-processorns AD-omvandlare kan man mäta 8 olika spänningar, en i taget.

Kanalvalsmultiplexor.

William Sandqvist william@kth.se

inre eller yttre referenssp nning
Inre eller Yttre referensspänning?

AN3 och AN2 kan användas till yttre referensspänning ( jäm-förelsespänning ) och jord.

Det enklaste är naturligtvis att använda matningsspänningen ( AVDD och AVSS ) som referens, men det kan finnas olika anledningar till att använda yttre spänningsreferens.

William Sandqvist william@kth.se

yttre precisionsreferens
Yttre precisionsreferens

Voltmeter. Det är viktigt att den uppmätta spänningen jämförs med en exakt referens. Om utrustningen tillexempel är batteridriven, så varierar matnings-spänningen för mycket för att vara lämplig som referensspänning.

Man ansluter då en yttre referensspänning till ingången AN3. Spänningsreferenskretsen MAX6241 har spänningen 4,096V. Detta "ovanliga" spänningsvärde kommer av att talet 4096 är en tvåpotens, 212 = 4096.

PIC-processor som voltmeter.

AD-omvandlaren får nu skalfaktorn 4 mV/steg. Division med "4“, för att få skalfaktorn 1 mV/steg, kan man utföra genom att "skifta" det binära talet två steg åt höger.( Multiplikationer och divisioner innebär mycket programkod för PIC-processorer som saknar inbyggd multiplikatorenhet ).

William Sandqvist william@kth.se

inre precisionsreferens
Inre precisionsreferens?

PIC-processor som voltmeter.

PIC12F1840 har en inre referensspänning 1,024. Den inbyggda AD-omvandlaren kan då få 1 mV omvandlingssteg.

William Sandqvist william@kth.se

h gsta uppl sning
Högsta upplösning

Vill man ha högsta upplösning vid mätning av givarsignaler måste man se till att givarens utspänningsområde och det spänningsområde AD-omvandlaren omvandlar helt "täcker" varandra. I allmänhet krävs det då att både AD-omvandlarens referensspänning och 0-nivå kan justeras.

Hög upplösning kräver att AD-omvandlarens referensspänning och 0-nivå kan justeras efter givarens spänningsområde.

William Sandqvist william@kth.se

ex linj riserad ntc termistor
Ex. Linjäriserad NTC-termistor

Ett praktiskt exempel är temperaturmätning med en NTC-termistor. En termistor har hög känslighet, men olinjärt temperatursamband.

I praktiken seriekopplar man termistorn med en fast resistor så att den ingår i en spänningsdelare. ( Tekniken beskrivs i boken Mätgivare ). Figuren visar sambandet mellan spänning och temperatur för en sådan spänningsdelare. Kurvan börjar vid 0,5 V och slutar vid 3,5V och blir däremellan förvånadsvärt linjär.

William Sandqvist william@kth.se

ex linj riserad ntc termistor1
Ex. Linjäriserad NTC-termistor

3,5V

0,5V

Genom att ställa in VREF- = 0,5V och VREF+ = 3,5V med potentiometrarna, så utnyttjar temperaturgivaren AD-omvandlarens hela spänningsområde.

William Sandqvist william@kth.se

ratiometrisk inkoppling
Ratiometrisk inkoppling

Ibland behöver man stabila referens-spänningar både till givare och AD-omvandlare. Ett ofta använt konstgrepp är då ratiometrisk anslutning av givaren. Så länge givarens referensspänning och AD-omvandlarens referens-spänning ändrar sig i samma proportioner så omvandlas samma värde. Om man har samma referens-spänning till givare och AD-omvand-lare så ställs det därför inga krav på att den ska vara stabil.

Ratiometrisk anslutning av en potentiometer till en AD-omvand-lare. Som referensspänning kan den ostabiliserade matningsspän-ningen användas!

Detta är några av anledningarna till att PIC-processorns AD-omvandlare har inkopplingsmöjligheter för externa spänningsreferenser!

William Sandqvist william@kth.se

beh vs 10 bitars uppl sning
Behövs 10 bitars upplösning?

b9b8b7b6b5b4b3b2b1b0

AD-omvandlaren är på 10 bitar. Vad kostar en givare som har 10 bitars upplösning?

100 $ ?

10 bitar

1024 steg

5 mV/steg

Upplösning 0,1%

Vanligare är att man har råd med en 8 bitars givare. (PICprocessorn själv kostar 10 $).

William Sandqvist william@kth.se

8 bitars program
8-bitars program

Behöver man bara 8 bitars upplösning kan man strunta i de två minst signifikanta bitarna och hantera resultatet som en Byte.

b9b8b7b6b5b4b3b2 b1b0

8 bitar

256 steg

20 mV/steg

Upplösning 1%

William Sandqvist william@kth.se

v nsterjusterat resultat f r 8 bitar
Vänsterjusterat resultat för 8 bitar

Vänsterjusterat. 8 bitarstal:

char answer;answer = ADRESH;

William Sandqvist william@kth.se

undvik f rst rkare
Undvik förstärkare

Behöver man bara 8 bitars upplösning kan de två mest signifikanta bitarna få vara konstanta. Man slipper förstärka givarsignalen eftersom steget är 5 mV.

1 0 b7b6b5b4b3b2 b1b0

43

En febertermometer behöver bara temperaturområdet 34…43 (eller hur!)

8 effektiva bitar

256 effektiva steg

5 mV/steg

Upplösning 1%

34

William Sandqvist william@kth.se

h gerjusterat resultat 10 bitar
Högerjusterat resultat 10 bitar

Högerjusterat. 10 bitarstal:

unsigned long answer;answer = 256*ADRESH; answer += ADRESL;

William Sandqvist william@kth.se

vad h nder om signalen ndrar sig under omvandlingen

Resultatet blir ett värde som före-kommit under omvandlingen, men vid en obestämd tidpunkt!

Vad händer om signalen ändrar sig under omvandlingen?

AD-omvandlaren kan aldrig ”ångra” en redan bestämd bit!

William Sandqvist william@kth.se

slide20

Problemet

Samplingstid-punkten blir obestämd!

William Sandqvist william@kth.se

sample hold krets
Sample & Hold -krets

Lösningen är att den analoga signalen ”fryses” under omvandlingen.

Vid AD-omvandlingens start tar en switch ett ”sample” av signalen och lagrar det i en kondensator.

PIC-processorernas samplingskondensator har kapacitansen 120 pF.

William Sandqvist william@kth.se

acquisition time t acq
ACQUISITION TIME tACQ

Varje gång man har valt/ändrat kanal måste samplingskondensatorn CHOLD hinna ladda upp sig till den analoga spänningen. Detta tar c:a 20s.

En 20s fördröjning kan enklast programmeras som:

char i = 3; do ; while ( --i > 0); /* 4 MHz clock */

William Sandqvist william@kth.se

ad omvandlarens inst llningar
AD-omvandlarens inställningar

Det är många inställningar som måste göras för att få fart på AD-omvandlaren!

Ett inställningsscript finns som hjälpmedel

William Sandqvist william@kth.se

ad omvandlarens klockfrekvens
AD-omvandlarens klockfrekvens

PIC-processorn är snabbare än AD-omvandlaren. Som klocka för AD-omvandlaren kan PIC-oscillatorns frekvens delad med 2, 8, eller 32 användas.

Vid 4 MHz klocka ska oscillatorfrekvensen delas med minst 8 innan den används till AD-omvandlaren.

William Sandqvist william@kth.se

st lla in ad klockfrekvens
Ställa in AD klockfrekvens

William Sandqvist william@kth.se

st lla in portpinnar an ref dig
Ställa in portpinnar AN/Ref/Dig

William Sandqvist william@kth.se

vilka kombinationer r m jliga
Vilka kombinationer är möjliga?

8 analoga kanaler, matningen som referens?

En analog kanal med ratiometrisk anslutning?

Två analoga kanaler, matningen som referens?

Oooops!

William Sandqvist william@kth.se

st lla in portpinnar an ref dig1
Ställa in portpinnar AN/Ref/Dig

Glöm inte att också ställa in portpinnarnas TRIS-register.

”1” för ingångar Analoga eller Digitala, ”0” för Digitala utgångar.

William Sandqvist william@kth.se

st lla in ad kanal
Ställa in AD kanal

William Sandqvist william@kth.se

starta ad och v nta p klar
Starta AD och vänta på klar

Starta AD-omvandling:

GO = 1;

Vänta på AD-omvandling klar:

while( GO ) ;

William Sandqvist william@kth.se

l sa av resultatet tv resultatregister
Läsa av resultatettvå resultatregister

Högerjusterat. 10 bitarstal:

unsigned long answer;answer = 256*ADRESH; answer += ADRESL;

Vänsterjusterat. 8 bitarstal:

char answer;answer = ADRESH;

William Sandqvist william@kth.se

hur snabbt kan man omvandla
Hur snabbt kan man omvandla?

Varje AD-omvandling behöver 12 AD-klockcykler plus ett 2 AD-klock-cykler mellanrum mellan omvandlingarna.

Vi använder fosc/8

Används alla 8 kanalerna så reduceras omvandlingshastigheten. TACQ 20 s måste nu införas mellan kanalbytena.

I praktiken behöver PIC-processorn också tid för att göra något med alla mätvärden!

William Sandqvist william@kth.se

ad lab
AD-lab

Blinkfrekvensen ställs in med potentiometern!

William Sandqvist william@kth.se

initiering ad lab
Initiering AD-lab

/* AD Setup. Se help Script! *//*01.xxx.x.x.x ADclock = fosc/8 xx.000.x.x.x select ch AN0 xx.xxx.0.x.x go = 0, start AD later xx.xxx.x.0.x – xx.xxx.x.x.1 AD unit is ON */ADCON0 = 0b01.000.0.0.1;

/*0.xxx.xxxx left justification x.000.xxxx – x.xxx.1110 internal reference, Vref+ = Vcc, Vref- = Vss*/ADCON1 = 0b0.000.1110; TRISA.0 = 1; /* RA0/AN0 is input */

William Sandqvist william@kth.se

slide36

while(1) { char i = 3; do ; while ( --i > 0); /* wait tACQ */ GO=1; /* start AD */ while(GO); /* wait for done */ blinktime = ADRESH; /* read result 8 msb */ /* double loop i,j generates blinkfrequency */ for( i=0;i < blinktime; i++) { for( j=0;j < 250; j++); } /* toggle lightdiode on/off */ LED = ! LED; }

William Sandqvist william@kth.se