12-BITNI D/A KONVERTOR SA LTC1257 KOLOM

 

          Šema 12-bitnog D/A konvertora na paralelnom portu prikazana je na donjoj slici.

 

 

          Interfejs koristi kolo LTC1257 koje je 12-bitni D/A konvertor. Binarna vrednost zadatog napona upisuje se serijski(bit po bit u kolo) preko pina 2(Din) za šta se koristi D0 bit Data porta. Za pomeranje učitanog bita koristi se klok signal koji mora biti prisutan na pinu 1(Clk), za šta koristi drugi bit D1 Data porta. Za omogućavanje upisa bita u kolo koristi se pin 3 Load tj. treći bit D2, koji mora biti postavljen na 0 prilikom učitavanja bita a na kraju učitavanja vratiti na 1, kada se dobije konvertovana vrednost analnog napona na pinu 7(Vout). Na pin 6(Vref) treba dovesti referentni napon. Kolo konvertuje napon u opsgeu od 0 do 2.048 Volti što znači da ima rezoluciju 2.048/4096 = 0.0005, tj. pola mV, što je vrlo visoka preciznost.  

          Specifikacija neophodnih komponenti za ovaj interfejs data je u donjoj tabeli:

 

Rb.

 Komponenta

Količina

1.

IC1 – LTC1257 – DIP pakovanje

1 kom

2.

DIL-8 podnožje

1 kom

3.

R1 - 10 W

1 kom

4.

R2 –  100 W

1 kom

5.

C1, C2 – 100nF kreamički

2 kom

6.

C3 – 4.7mF(16V) stojeći

1 kom

7.

C4 - 1mF(16V) stojeći

1 kom

8.

DB25 – muški konektor

1 kom

9.

Dvopolna redna stezaljka

4 kom

10.

4-žični kabel

1 m

11.

Vitroplast pločica 100 x 160 mm

1 kom

 

 

 

 

          Izgled gotovog interfejsa prikazan je na donjoj slici.

 

 

          Program za kontrolu ovog interfejsa napisan je u Delphi-u i njegovim pozivom dobićemo sledeću sliku.

 

 

          Pomeranjem horizontalnog klizača menja se binarna vrednost od 0 – 4095, pri čemu se prikazuje i izračunata vrednost napona koja treba da bude dobijena na Vout izlazu kola. Pritiskom na taster Konvertuj zadate vrednosti u programu prosleđuju se na kolo.

          Glavni deo koda programa za upravljanje ovim interfejsom je sledeći.

 

'

'  

//--------Procedura slanja digitalne  vrednosti na kolo----

procedure TForm1.Button1Click(Sender: TObject);

begin

  br:=$00;

  br:= br or $4;  // D2 =1, Load = 0

  PortOut(LPTadresa, br);

  k:=2048;

  For j:=0 To 11 Do // Slanje 12 bita

   Begin

 

   If (digvred and k) = k Then

      br:=br or 2

   Else

      br:=br and $FD;

   PortOut(LPTadresa, br);

   Klok;

   k:=k div 2;

  End;

 

   br:= br and $FB;  // D2 =0, Load = 1

   PortOut(LPTadresa, br);

end;

.

 

 

Vrlo visoku preciznost konverzije možete potvrditi merenjem instrumentom izlaznog napona koji se dobije kao rezultat konverzije.

         

Program za podršku ovom intefejsu možete preuzeti ovde.

           

http://vojo.milanovic.org
© Copyright, 2007 Milanović Vojo

All Rights Reserved