Mérés Labor II. Ellenőrző mérés gyakorlat
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
Aki valamit tud, az ne habozzon kitölteni. Előtte akár utána is nézhet, hogy tényleg jó-e, amit gondol. ;)
%TOC{depth="2"}%
Megjegyzések a gyakorlati feladatokhoz:
- Az ellenőrző mérés gyakorlati részén ilyen vagy ehhez hasonló feladatokat kapnak a hallgatók. A feladatok nehézsége nem teljesen egyforma, ezeket az eltéréseket a mérésvezetők az osztályzat megállapításánál igyekeznek figyelembe venni.
- Az 1. mérés speciális részei (pl. hogyan kell egye ellenállást bekötni a breadboardon) technikai okokból nem szerepelnek a gyakorlati feladatok közt, de az ott gyakorolt mérési eszközök, módszerek más mérésekben is szerepeltek, és azokkal kapcsolatban "előkerülnek". Az írásbeli részen számítani lehet az 1. méréshez kapcsolódó kérdésre.
- A 2-3. méréshez kapcsolódó feladatok esetében mindjárt az elején célszerű tisztázni az esetleg nem egyértelműnek tűnő feladatokat, lehetőségeket. (Pl. az egyszerűség kedvéért tekinthető-e pergésmentesnek a nyomógomb vagy kapcsoló.) Az első megjegyzésben szereplő "ehhez hasonló" elsősorban itt fog előfordulni: pl. lehet, hogy valamilyen értéket nem a LED soron kell kijelezni, hanem az LCD kijelzőn, de ebben az esetben kérhető egy LCD kezelő rutin.
1. A D/A átalakító erősítési hibája és beállása
Mérje meg a D/A átalakító erősítési hibáját! A hibát százalékban adja meg, és hasonlítsa össze
az adatlap adataival. (A tesztpanelen a "VREF Range", "Output buffer enabled" van beállítva, a
VREF névleges értéke +2,5 V.)
Nézze meg oszcilloszkópon a D/A átalakító beállását, a dac_gui alkalmazással beállítható
legnagyobb amplitúdójú pozitív irányú ugrás esetén. Becsülje meg a beállási időt!
Megoldás
Erősítési hiba: (Vmax-V0)/(2.5V-1LSB), ahol a Vmax és V0 a maximum és minimum értékeknél mért feszültétség. LSB = FS/2n, ahol FS a maximum értékhez tartozó feszültség, n pedig a bitek száma (jelenleg 12).
Beállási idő: a dac_gui-nál Square Wave-t kell beállítani. A beállás pedig a 0-ról 2.5V-ra történő beállás ideje, ahol 1LSB-s eltéréstől mérünk.
2. D/A átalakító integrális linearitási hibájának meghatározása
Mérje meg a D/A átalakító kimenő feszültségét a tartományon belül nagyjából egyenletesen
elosztott 10 pontban, a jeltartomány két szélső pontját is belevéve. A mért feszültségeket
közvetlenül elektronikusan vigye át egy Excel táblába! A linearitási hiba számítását az Excel
tábla segítségével végezze!
Az integrális linearitási hiba értékét LSB-ben adja meg! Értékelje is az eredményt!
Megoldás
Excel tábla felosztva 10 részre, a mért és a számított (lineáris) feszültség különbsége osztva 0.0006-tal (=1LSB) adja az eltérést FSB-ben. Értékelni az adatlap alapján.
3. D/A átalakító differenciális linearitási hibájának meghatározása és glitch vizsgálata
Mérje meg a D/A átalakító differenciális linearitási hibáját az 1022 – 1026 bemenő
jeltartományban! A hiba értékét LSB-ben adja meg!
Az oszcilloszkópon mutasson be egy átváltási tranzienst (glitch), és mérje meg az amplitúdóját a
kurzorvonalak segítségével.
Megoldás
Differenciális hiba: Az 1022-tól az 1026-ig való értékek ráadásával miden értéknél meg kell adni a mért feszültséget LSB-ben, és aztán ezek különbségének 1LSB-től való eltérését kell megadni.
Glitch: dac_gui "Glitch" funkciója. Ezután oszcilloszkóp, és kész...
4. Az A/D átalakító tulajdonságainak vizsgálata szinuszjellel
A szinuszos mérőjelet az ADC2-es csatornára kell adni. A méréshez a szinuszjel amplitúdóját a
mérésvezető által megadott paraméterek szerint állítsa be. (Ha nem kapott ilyen előírást, akkor a
jel a 0 - 2,4 V tartományt töltse ki.) A jel ráadása előtt oszcilloszkóppal ellenőrizze, hogy a
generátoron beállított jel tényleg nem lépi túl az átalakító jeltartományát, ami 0 .. +2,5 V.
A jel frekvenciáját úgy válassza meg, hogy koherens mintavételezés legyen, és a mintavételezés
időtartama a jel periódusidejének k-szorosa legyen. A k értékét a mérésvezető adja meg, a k = 5
érték nem választható. (A k lehet pl. 3, 7, 9, 11 stb.) Az átalakító mintavételi frekvenciája
115200 Hz, és az átalakító 8192 egymás utáni mintát tárol a tesztpanel RAM-jában. Ezekkel az
adatokkal a koherens mintavételezéshez szükséges jelfrekvencia már kiszámítható.
Nézze meg az átalakított jelet az időtartományban, és ellenőrizze, hogy a mintavétel tényleg
koherens.
Nézze meg az átalakított jel spektrumát! Értékelje a spektrumot, hogy az jellegre megfelel-e az
elvártnak. Térjen ki arra is, hogy a spektrumon látszik-e, hogy a mintavétel koherens volt-e. Az
értékelés alapjául szolgáló ábrát emelje át a jegyzőkönyvrészletbe, és írja mellé az értékelést.
Megoldás:
A jel frekvenciája: fm=k*115200/8192.
Időtartomány: Time-domain mód. Koherens, ha a jobb oldalon a vonal ott ér véget, ahol a bal oldalon levő vonal kezdődik.
Spektrum: Frequency-domain mód. Látszik az offset a 0. spektrumvonalnál, és az alapharmonikus, valamint pedig a felharmonikusok.
5. Négyszögjel vizsgálata A/D átalakítóval
Adjon az átalakító bemenetére (ADC2-es csatorna) szimmetrikus (50%) kitöltésű négyszögjelet.
A négyszögjel amplitúdóját a mérésvezető által megadott paraméterek szerint állítsa be. (Ha nem
kapott ilyen előírást, akkor a jel a 0,4 - 2,0 V tartományt töltse ki.) A jel ráadása előtt
oszcilloszkóppal ellenőrizze, hogy a generátoron beállított jel tényleg nem lépi túl az átalakító
jeltartományát, ami 0 .. +2,5 V.
A jel frekvenciáját úgy válassza meg, hogy koherens mintavételezés legyen, és a mintavételezés
időtartama a jel periódusidejének k-szorosa legyen. A k értékét a mérésvezető adja meg, a k = 5
érték nem választható. (A k lehet pl. 3, 7, 9, 11 stb.) Az átalakító mintavételi frekvenciája
115200 Hz, és az átalakító 8192 egymás utáni mintát tárol tesztpanel RAM-jában. Ezekkel az
adatokkal a koherens mintavételezéshez szükséges jelfrekvencia már kiszámítható.
Nézze meg az átalakított jelet az időtartományban, és ellenőrizze, hogy a mintavétel tényleg
koherens.
Nézze meg az átalakított jel spektrumát! Értékelje a spektrumot, hogy az megfelel-e az
elvártnak. Térjen ki arra is, hogy a spektrumon látszik-e, hogy a kitöltési tényező 50%. Az
értékelés alapjául szolgáló ábrát emelje át a jegyzőkönyvrészletbe, és írja mellé az értékelést.
Megoldás
Ugyanaz, mint a 4. feladat, csak most négyszögjel.
Értékelés: a páros sorszámú komponensek lényegesen alulmaradnak amplitúdóban a páratlanokkal szemben. Az alakhűség is látszik az időtartományban.
6. Alapsávi digitális jel átvitelének vizsgálata
A szem-ábra felvételéhez adjon egy, a szem-ábra vizsgálatához alkalmas vizsgáló jelet a
jelcsatorna bemenetére, és figyelje meg az szem-ábrát a jelcsatorna-modell másik végén! Vegye
fel a szemábrát 4800 és 9600 Baud jelváltási sebesség esetén, az ábrákat mentse is át egy
jegyzőkönyv-részletbe. Értékelje a kapott szem-ábrákat!
Ellenőrizze, hogy a jelcsatorna-modellen átvitt jelet helyesen veszi-e a PC soros portja 9600
Baud esetén. (A mérésvezető más átviteli sebességet is előírhat.) Vegye is fel a jelcsatorna
kimenetén látható jelalakot a mérésvezető által megadott karakter átvitele esetén. A karaktert a
klaviatúra megfelelő gombjának leütésével kell ráadni a csatornára. Az oszcilloszkópot úgy kell
triggerelni, hogy az minden karakter-jelet kijelezzen a következő karakter érkezéséig, de a
kijelzési kép megőrzése nem a STOP gomb megnyomásával történik. Értékelje a kapott
jelalakot!
Megoldás
Jel: so_rand2 progival. Az oszcilloszkópon infinite persistence megjelenítési mód. Értékelés: nyitottság.
Helyes jel átvitelének ellenőrzése: tvsio program kell. Az oszcilloszkópon a triggernél a ’pattern’-t kell állítani, méghozzá lefutó élre (ugyanis a startbit 0). -- Tompika - 2006.12.06.
7. Vegye fel a jelcsatorna-modell frekvenciamenetét ("amplitúdó-menet"), és határozza meg a felső határfrekvenciát!
A vizsgált frekvenciatartomány legyen 500 Hz - 10 kHz, és elég 10-15 pontban mérni.
A frekvenciamenet vizsgálatánál a relatív erősítést mérje meg dB-ben. A mérési eredményeket
közvetlenül elektronikusa vigye át egy Excel táblába! Határozza meg a -3dB-es felső
határfrekvenciát, és mérje meg ott a fázistolást!
A mérési eredményeket ábrázolja Excel "chart"-ként is a hagyományos Bode-diagram
formájában! A diagramon természetesen fel kell tüntetni a tengelyek skálázását és a
mértékegységeket is. Amikor a Bode-diagramot átemeli a jegyzőkönyvbe, ne felejtse el a mérési
eredményeket tartalmazó táblázatot is átemelni.
Megoldás
500Hz-től 10kHz-ig kell egyenletesen 10-15 pontban mérni. A jel 4 Vp-p, 0 V offszet.
Relatív erősítés: a digitális multiméterre először a sávközépi jelet kell ráadni (500Hz, sin). Ezt kell a ’shift + db’ gombbal eltárolni, aztán majd ehhez viszonyítja a többit. Így már a relatív erősítést fogjuk kapni.
Kérdéses: 3dB-es határfrekvencia?
- addig kell állítgatni (tekergetni) a hullámforma-generátoron a frekvenciát, amíg a multiméteren a -3dB -t nem látod. Ez lesz a határfrekvencia. -- Gabesz - 2005.12.05.
A fázistolást mérhetjük automatikusan (gondolom, mert nem kötötték ki, hogy nem), vagy kézzel: (96/207)*360 [(időeltolódás/kimenet periódusideje)*360]
8. A jelcsatorna-modell erősítésének és határfrekvenciájának vizsgálata
Adjon a jelcsatorna-modell bemenetére 1V effektív értékű, 500 Hz frekvenciájú szinuszjelet.
Multiméterrel mérje meg a kimenő és bemenő feszültséget, és számítsa ki az erősítést. Mérje
meg a fázistolást is az oszcilloszkóppal, lehetőleg minél pontosabban. A fázistolást nem a
Quick_Meas funkcióval kell végezni, hanem a képernyőn mért értékekből kell számítani.
Értékelje is az eredményt! (Mekkora fázistolást vár sávközépen?)
Ezután keresse meg azt a határfrekvenciát, amelyen az erősítés a felére csökken. Az itt mért
erősítést számítsa át dB-be.
Számítsa ki az elméleti csatornakapacitást kétállapotú jelek esetére, az előzőkben mért étékek
felhasználásával.
Megoldás
A jel le van írva, erősítés a kimenet/bemenet. Ha dB kell akkor átváltani. A fázistolás megmérése számítással: (időeltolódás/kimenet periódusideje)*360
Kérdéses: Ezek után el kell kezdenem lépegetni (különböző frekvenciájú jeleket ráadni) és megnézni mikor lesz az erősítés a fele? Meg aztán a dB nem határozható meg e nélkül? Mert ha fele, akkor Uki/Ube=0.5 20*log0.5=-6.02
- kiszámoltad az erősítést a fenti módszerrel (legyen mondjuk A). Ekkor addig állítgatod a frekit, amíg az erősítés A/2 lesz (=/=0.5). dB-ben: ahogy fent, csak 0.5 helyett A/2. -- Gabesz - 2005.12.05.
Csatornakapacitás: 2*B*log22 = 2*B = 2*határfrekvencia
11. Bináris számok beolvasása
Írjon egy programot az AVR Experiment kártyára, amely 8 bites bináris számot olvas be a
kapcsolósorról, két részletben. A kapcsolókon (SW0 -SW3) beállított értéket jobbról balra
növekvő súlyozású 4 bites bináris számként kell kezelni. A 8 bites szám alsó (alacsonyabb
súlyozású) része a BT0 nyomógombbal, a felső része a BT1 nyomógombbal vihető be.
A BT1 gomb megnyomása után a bevitt 8 bites szám értéket jelezze ki a LED soron!
===
=
12. Gombnyomás számláló
Írjon egy programot az AVR Experiment kártyára, amely az INT nyomógomb lenyomására (ill.
pergésére) keletkező 1->0 átmeneteket számolja. Az INT nyomógomb változásait
megszakítással kezelje. A számláló 4 bites, tartalma a LED soron van kijelezve.
Kiegészítő feladat: A számláló az 1111 érték elérése után nem számol tovább, a számláló egy
másik nyomógombbal törölhető.
===
változott!===
- bugfix: állapotregiszter mentése/visszaállítása az IT-rutinban
13. LED villogtatás-1
Írjon egy programot az AVR Experiment kártyára, amely kb. másodperces ütemezéssel villogtat
egy LED-et. Az időzítést egy timer egységgel végezze.
Egy nyomógomb megnyomása után a LED villogás helyett folyamatosan égjen. Ugyanazon
nyomógombot még egyszer megnyomva megint villogjon. A nyomógomb kezelését interrupttal
oldja meg.
===
=
14. LED villogtatás-2
Írjon egy programot az AVR Experiment kártyára, amely kb. másodperces ütemezéssel villogtat
egy LED-et. Az időzítést egy SW időzítő rutinnal végezze.
Egy nyomógomb megnyomása után a LED villogás helyett folyamatosan égjen. Ugyanazon
nyomógombot még egyszer megnyomva megint villogjon. A nyomógomb kezelését interrupttal
oldja meg.
===
=
15. Gombnyomás-emlékező
Írjon egy programot az AVR Experiment kártyára, amely emlékezik a gombok megnyomási
sorrendjére. A BT0, BT1, BT2 nyomógombhoz rendre a LED1, LED2, LED3 világító dióda
tartozik. A gomb megnyomása esetén a hozzá rendelt LED világít. Egyidejűleg tárolásra kerül a
gombnyomás eseménye. Alapállapot után a felhasználó legfeljebb 8 gombnyomást végezhet. A
felhasználó egyszerre csak 1 gombot tarthat lenyomva.
Az IT gomb lenyomása után kb. 0.5 sec ütemezéssel a kártya visszajátssza a lenyomott
gombokat. (Ehhez kérhető kész időzítő rutin, ha a megoldás túl lassan készül.)
===
=
A fenti verziót nem tudtam szimulálni, mert a .inc fájl miatt az AVR Studio nem engedte felüldefiniálni a 25-nél nagyobb ill. 16-nál kisebb regisztereket, így ez a megoldás kevesebb regisztert használ: (A státuszregiszterrel nem törődtem, mo: lásd. 19. feladat)
===
=
16. Összeadó készítése
Írjon egy programot az AVR Experiment kártyára, amely egy összeadót valósít meg. Az
összeadó 4 bites, előjel nélküli bináris kódolású operandusokkal dolgozik.
A számokat az SW0..3 kapcsolókon kell beállítani. Az IT gomb első megnyomásának hatására a
szám betöltődik a 8 bites eredményregiszterbe. Az eredményregiszter tartalmát a LED0..7 jelzi
ki. Az IT gomb második megnyomása beviszi a kapcsolókon beállított második operandust, és
rögtön hozzáadja az eredményregiszter tartalmához. Az IT gomb harmadik megnyomása törli az
eredményregisztert és alapállapotba viszi vissza az összeadót.
===
=
17. Összeadó/kivonó készítése
Írjon egy programot az AVR Experiment kártyára, amely egy összeadó/kivonó egységet valósít
meg. Az egység 4 bites 2-es komplemens kódolású operandusokkal dolgozik.
A számokat az SW0..3 kapcsolókon kell beállítani. Az BT0 gomb megnyomásának hatására a
szám betöltődik az eredményregiszterbe. Ezután kell a kapcsolókon beállítani a második
operandust. Ha ezután a felhasználó a BT1 gombot nyomja meg, akkor a számot hozzáadja az
eredményregiszterhez, ha pedig a BT2 gombot nyomja meg, kivonja a számot az
eredményregiszter tartalmából. Az eredmény-regiszter hosszát, a carry kezelését a hallgató
választja meg. Az eredményregiszter tartalmát a LED0..7 jelzi ki.
Megoldás:
===
=
18. LED-léptetés
Írjon egy programot az AVR Experiment kártyára, amely gombnyomásra lépteti a "fényt" a LED-soron. Bekapcsolás után a program gyújtsa ki a LED4 diódát, a többi ne világítson. A világító LED-pozíció a BT0 és BT2 nyomógombok segítségével léptethető, BT0-val az egyik irányba, BT2-vel a másikba. Minden gombnyomás 1 pozíciónyit léptet az adott irányba. Ha a léptetés során elértük a szélsõ helyzetet, akkor ne lehessen "kiléptetni" a világító LED-et.
===
=
19. Kódfigyelő
Írjon egy programot az AVR Experiment kártyára, amely a gombok megnyomási sorrendjét
figyeli. Az SW0...3 kapcsolók egy bináris kódot adnak meg. Ezt a kódot kell bebillentyűzni a
BT0 és BT1 nyomógombokkal, amikor is a BT0jelzi a 0 értéket, BT1 pedig az 1 értéket. Ha a
kódot sikerül helyesen beütnünk, akkor a LED0 kigyullad, egészen a következő gombnyomásig.
Amíg a kódot nem ütjük be, a LED0 nem világít.
Egy példa az értelmezésre:
Kapcsolóállás: SW0=1 SW1=0 SW2=0 SW3=1
Beütendő szekvencia: BT1, BT0 BT0 BT1
Megoldás
===
=
A státuszregisztert lusta voltam elmenteni, de nyilván (IT kezelő rutin elején) in temp, SREG ; push temp ; (IT kezelő rutin végén - reti előtt) pop temp ; out SREG, temp ; menthető minden IT rutinban!
20. Dobókocka
Írjon egy programot az AVR Experiment kártyára, mely egy dobókockát szimulál. A "dobás" a
BT2 gombbal történik. A gomb minden egyes megnyomására 1 - 6 darab LED gyullad ki a LEDsoron,
a világító LED-ek száma véletlenszerű. (Tipp a véletlenszám előállításához: ha pl. egy
számláló az emberi akciókhoz képest nagy sebességgel számol, akkor a gomb megnyomása
biztos nem lehet szinkronban a számlálóval, a számlálónak a gomb megnyomása pillanatában
aktuális értéke véletlenszerűnek tekinthető.)
===
=
interrupt nélkül, a pergésnél mindig újabb eredmény keletkezik, de az is ugyanannyira véletlen mint az első.
-- Đani - 2005.12.03. -- Peti - 2006.12.06.
- Ezen a helyen volt linkelve a(z) Meres2GyakPeldak.zip nevű fájl ("Meres2GyakPeldak.zip" link szöveggel) a régi wiki http://wiki-old.sch.bme.hu/bin/view/Infoalap/MeresLabor2EllGy oldaláról. (Ha szükséged lenne a fájlra, akkor a pontos oldalmegnevezéssel együtt küldd el a wiki sch.bme.hu címre a kérésedet)
- Megcsináltam én is az assembly példákat, hiba - tévedés joga fenntartva, persze minden javítást szívesen veszek :)