Mérési útmutató

canopus.mogi.bme.hu

Mérési útmutató

D/A konverter vezérlése személyi számítógépről

21.

mérés

MD SZ AK MŰ MÉ MT

A mérés során

gyakorolt

ismeretek és

módszerek

A méréshez

felhasznált

eszközök

A felkészülés

kiemelt

témakörei

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Szakirodalom [1] Dr. Lipovszky György: Számítógépes irányítások jegyzete

A mérés során

elvégzendő

feladatok

Méréshez

szükséges

eszközök

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Toll, papír, számológép

B M E

Mechatronika, Optika és Műszertechnika

Tanszék

MÉRÉSI ÚTMUTATÓ


Mechatronika, Optika és Műszertechnika Tanszék

D/A KONVERTER VEZÉRLÉSE SZEMÉLYI SZÁMÍTÓGÉPRŐL

1. Általános tudnivalók

M21 / 2. oldal

M21

Ebben a mérésben egy speciális 16-bites I/O-kártyán keresztül kell vezérelni egy 12-bites

D/A konvertert PASCAL programból. A D/A konverter analóg kimenőjelét egy tárolós

oszcilloszkópon jelenítjük meg, és tároljuk el. Az eltárolt jeleket visszaolvasva a

számítógépbe, kinyomtatjuk.

Egy érdekes kísérletként a D/A konvertert vezérelhetjük egy PORT.EXE nevű általános

port-indikáló programmal. Először kipróbálhatjuk mi is történik a megfelelő portcím bitjeinek

állítgatásával (az I/O-kártya ebből a programból nem tehető tönkre).

A kísérlet közben határozzuk meg a D/A konverter kimenőfeszültségének értékeit a kiadott

bináris értékek függvényében (ehhez most elegendő a tárolós oszcilloszkóp pontossága).

A D/A átalakító pontos működésével jelen keretek között ne foglalkozunk, de álljék itt két

példa a lehetséges fizikai megvalósításokra:

MSB Digitális jel! LSB

ahol:

U r

referencia

feszültség

1.bit n.bit

2.bit

R 2R 2 n-1 R

I 1 I 2 I n

1. ábra Digitális analóg átalakítók:

ΣI


+

R/2

U ki

Analóg

kimenet

i

2 ellenállás osztó segítségével

MSB – Most Significant Bit, Legnagyobb Helyiértékű Bit

LSB – Least Significant Bit, Legkisebb Helyiértékű Bit


Mechatronika, Optika és Műszertechnika Tanszék

D/A KONVERTER VEZÉRLÉSE SZEMÉLYI SZÁMÍTÓGÉPRŐL

M21 / 3. oldal

M21

2 n átfogású pontos ellenállásokra van szükség a megvalósításához. Ezért ehelyett gyakrabban

alkalmazzák az ún. R-2R létrahálózatot az A/D átalakításhoz

n.bit

2.bit 1.bit

U r

referencia

feszültség

2R

LSB MSB

2R 2R 2R

R R

U be

R be≈∞

R be

U ki

Analóg

kimenet

2. ábra Digitális analóg átalakítók: R-2R ellenállás osztó segítségével

A D/A átalakító beállási ideje μs nagyságrendű!

2. A pascal programozási nyelvről

A PASCAL nyelv tömbként értelmezi a portokat, így értelmes az a kifejezés, hogy

PORTW[$300]; ezt a kifejezést használhatjuk a 16-bites port írásra és olvasásra is.

Egy rövid programrészlet ennek bemutatására:

uses dos, crt;

procedure vizsgalat;

begin

var in,out : integer;{definiálunk két belső változót}

out:=4095; {az ’out’-nak valamilyen értéket adunk}

portw[$300]:=out; {ezt kiírjuk a 300h port címre}

delay(100); {ezt kiírjuk a 300h port címre}

in:=port[$300]; {az in- be beolvassuk a 300h port

értékét}

end;

begin

vizsgalat;

end.


Mechatronika, Optika és Műszertechnika Tanszék

D/A KONVERTER VEZÉRLÉSE SZEMÉLYI SZÁMÍTÓGÉPRŐL

3. A pascal fordítóról

M21 / 4. oldal

M21

A PASCAL 7-es „IDE” programozói környezetben (fordító és linker) néhány nagyon

hasznos „hotkey” van definiálva, így nagyon leegyszerűsödött a program szerkesztése, illetve

egy működő EXE file létrehozása, és kipróbálása.

Ezekből néhány fontosabb:

• F9 fordítása az éppen szerkesztett file-nak.

• CTR F9 fordít (ha kell) és futtatja is a programot.

• CTR F2 megszakítja a program futását.

• F2 elmenti az aktuális szöveg file-t

• F3 megnyit egy .PAS kiterjesztésű szöveg file-t.

• F7 a programot lépésenként hajtja végre, és a meghívott eljárásokba is

bemegy (Trace into).

• F8 a programot lépésenként hajtja végre, de a meghívott eljárásokba nem

megy be (Step over).

• CTR F7 fel vesz a WATCH ablakba egy változót, amelynek értékét a program

lépésenkénti futtatása közben figyelni lehet.

4. A program megírása

A saját programunkat egy előre elkészített “programvázból” kiindulva kell megírni.

Ez a programváz tartalmazza az egyes feladatokhoz tartozó üres eljárásokat, és a fő-eljárást.

A program megírásakor követendő szempontok:

• Nemcsak az üres eljárásokba szabad kódot írni, hanem saját eljárásokat vagy

függvényeket is lehet írni. Sőt érdemes is. Olyan programrészeket, amelyeket több

helyen is használnánk érdemes egy külön eljárás-, vagy függvényként megírni, még

akkor is ha az csak egy működő sort tartalmaz.

• Lehetőleg kevés globális változót használjunk.

• Lehetőleg kevés “literált” (közvetlenül, helyben megadott számot, vagy string-et)

alkalmazzunk. Előnyösebb az érthető névvel ellátott változó, vagy konstans

használata.

• A jelek futás-, illetve periódus idejét az eljárás paraméter(ei)ében lehessen beállítani.

• Az egyes külön-külön megírt programrészeket (eljárásokat) egyenként a főeljárásból

indítsuk úgy hogy, csak azaz egy eljáráshívás legyen a főeljárásban megfelelően

paraméterezve.

• Az oszcilloszkóp úgy legyen beállítva, hogy a képernyőjén

vízszintesen: 1cm = 2 sec, azaz 20 sec látható a teljes képernyőn.

függőlegesen: 1cm = 2 V-tal legyen egyenlő.

• Mivel itt egy 12-bites D/A konverterről van szó, ennek értékkészlete 0-4095-ig

(hexadecimális alakban $000 - $FFF) terjed. Ha fél kimenőfeszültséget akarunk

kiadni, a PORT-ra kiírandó szám: 2047, azaz $7FF.


Mechatronika, Optika és Műszertechnika Tanszék

D/A KONVERTER VEZÉRLÉSE SZEMÉLYI SZÁMÍTÓGÉPRŐL

5. A feladatok:

M21 / 5. oldal

M21

• Állítsa be a D/A konverter kimeneti erősítőjének erősítését és offset-jét úgy, hogy a 0

értékhez 0 V, 4095-ös értékhez pedig 10 V kimenőjel tartozzon.

• Írjon meg előre egy “D/A konverziót elvégző” eljárást. Az eljárás paraméterben kapja

meg a konvertálandó értéket.

• Írjon meg egy egységugrás jelet létrehozó eljárást!

A kimenőjel kezdőértéke legyen 0V, az amplitúdó pedig ~5V.

Az eljárás paraméterében, lehessen megadni

a: a jel teljes futásidejét [ms]-ban,

b: az ugrás késleltetését az indítástól.

Természetesen az idő szűkössége miatt itt nem kell ellenőrizni a paraméterek

helyességét (ezt feltételezzük).

• Írja meg a négyszögjelet előállító eljárást!

A kimenőjel kezdőértéke legyen 0V

Az eljárás paraméterében a négyszögjel periódusidejét, lehessen megadni

másodpercben.

• Írja meg a szinusz jelet előállító eljárást!

A kimenőjel kezdőértéke legyen a maximális kimenőjel fele (2047).

More magazines by this user
Similar magazines