Fizikai Szemle honlap

Tartalomjegyzék

Fizikai Szemle 2009/6. 211.o.

SAJÁT FEJLESZTÉSŰ AD-KONVERTER AZ OKTATÁS SZOLGÁLATÁBAN

Poór Attila
Széchenyi István Gimnázium, Sopron

A soproni Széchenyi István Gimnázium 2008 őszén nyújtotta be pályázatát az Oktatási és Kulturális Minisztérium Útravaló Nemzeti Ösztöndíjprogram Út a tudományhoz című alprogramjára, amelyen 390.000,- Ft támogatást nyert.

A kutatási projekt célja egy oktatást segítő AD-konverter megépítése fizikai és kémiai mérésekhez, hozzá kapcsolható kiegészítő érzékelők tervezése, elkészítése, kommunikációs és feldolgozó szoftver kifejlesztése.

1. ábra

A feladatot Poór Attila kémia-fizikai-informatika szakos tanár vezetésével három 11. évfolyamos diák: Balázs Ádám, Horváth Kristóf és Polgár Andor oldotta meg (1. ábra). A pályázatot támogatta a Nyugat-magyarországi Egyetem Erdőmérnöki Kar Kémiai és Termőhelyismerettani, valamint a Faipari Mérnöki Kar Fizikai és Elektrotechnika Intézete.

A projekt eredményeit a csoport 2009. május 28-án mutatta be az érdeklődőknek a Széchenyi István Gimnázium fizika szaktantermében.

A helyi szaktanári körben már korábban megfogalmazódott a kitűzött cél iránti igény, hiszen az elmúlt években jelentősen csökkent a műszaki és természettudományos órák száma, ugyanakkor nem változott a tananyag mennyisége, ami a minőségi oktatást teszi szinte megvalósíthatatlanná. Ezekről a problémákról és a megoldási javaslatokról részletesebben olvashatunk Kertész János: A Természettudományos közoktatás javításáért című tanulmányában és a különböző tudományos szakmai ajánlásokban. (Fizikai Szemle 59/1 (2009) 26., valamint a Szemle http://fizikaiszemle.elft.hu honlapján.)

A projekt megvalósítása pontos ütemterv szerint zajlott, a téma szakirodalmának feldolgozásától a gyakorlati kivitelezésen át az oktatási alkalmazhatóság vizsgálatáig. A feladatokat maradéktalanul megoldottuk, biztosítva a további fejlesztések lehetőségét. Az alábbiakban röviden összefoglalom az elvégzett munkát, s az elért eredményeket.

AD-konverter

Technikai paraméterek:

• 8 db 12 bites bemeneti csatorna
• 4 db programból vezérelhető kapcsoló
• 3 db kontroll LED (működés, kapcsolat és az 5 V-os kimenet)
• 5 V-os stabil kimenet, ami a mérő eszközök táplálására felhasználható
• méréshatár: 0-5 V
• érzékenység: 1,25 mV
• pontosság: körülbelül 1‰
• maximális mintavételezés: 1000 db/s
• szabadon és pontosan állítható a mintavételezés sebessége (1000 db/s .... 1 db/perc)
• USB porton kommunikál a számítógéppel.

Az AD-konverter tokozott képét, valamint a szerelt belsejét mutatja a 2. ábra. A 3. ábrán az AD-konverter elvi kapcsolási rajza látható.

Az AD-konverter utasításkészlete:

A kommunikáció az AD-konverterrel az USB porton keresztül 8 byte-os csomagok formájában történik. Az első byte mindig 170 (csomag kezdete), a második az utasítás kódja, a harmadik és negyedik az utasítás paraméterei, az ötödik mindig 85 (csomag vége), a többi byte jelenleg nem használt.

A kommunikációban egy mcHID.dll nevű file-t használunk, ezt az interneten találtuk és szabadon felhasználható. Ez a driver USB HID-on keresztül 8 byte-os csomagokat továbbít egy USB-s eszköz és a számítógép között. (Ezért használunk 8 byte-os csomagokat.)

Az AD-konverternek küldhető utasítások:
1.2. 3. 4. 5. 6. 7. 8.
170 1 csat 0 85xxx
A mérni kívánt csatorna beállítása
(csat: a beállítani kívánt csatorna sorszáma [0....7])
1702 hi lo 85 xx x
A mérési időköz beállítása ms-ban
(hi = ms div 256; lo = ms mod 256) (ms = 256 hi+lo)
170 3 hi lo 85 x x x
A mérések számának beállítása
(hi = db div 256; lo = db mod 256) (db = 256 hi+lo)
170 4 0 0 85 x x x
A mérés indítása
170 5 0 0 85 x x x
A mérés megszakítása
170 6 sz 0 85x xx
Az sz sorszámú relé bekapcsolása [0....3]
170 7 sz 0 85 x x x
Az sz sorszámú relé kikapcsolása [0....3]
1708 sz 0 85 x x x
Az sz sorszámú relé állapotának invertálása [0....3]

Az AD-konverter által küldött válaszok:
A parancsok végrehajtása után az AD-konverter nyugtázza a feladatokat és visszaküldi a parancs második .... ötödik byte-jait. Ha az első byte tartalma 2, az azt jelenti, hogy az utasítást végrehajtotta. Elvileg, ha ugyanitt 3-at küld vissza, akkor az utasítást nem tudta végrehajtani. (Ilyent azonban nem tapasztaltunk!)

2. ábra

A mért értékek küldésekor az első byte tartalma 1, a második és harmadik byte tartalmazza a mért értéket (mért érték = 256 [második]+[harmadik]).

Mérőeszközök/érzékelők

Az eddig megvalósított mérésekben a következő fizikai mennyiségeket tudjuk mérni:

Megtett út: ezt precíziós potenciométerek tengelyére szerelt korongokkal valósítottuk meg. Két mérőkorongot is készítettünk, egyikkel körülbelül 90 cmes, a másikkal 210 cm-es elmozdulás vizsgálható körülbelül 1 mm-es pontossággal. Próbálkoztunk ellenálláshuzal alkalmazásával is, de érintkezési problémák miatt döntöttünk a potenciométerek alkalmazása mellett. Így egyébként sínpályára sincs szükség.

Hőmérséklet: a klasszikus termisztoros megoldást választottuk. Egy 4,7 kΩ-os termisztor ellenállás-változását használtuk fel. Az érzékenysége 0,02 °C (0-40 °C intervallumban). Megfelelő kalibrálás után a pontossága 0,05 °C. Mivel mi a hőmérséklet-különbséget akartuk mérni, ezért nekünk a 0,1 °C-os pontosság is megfelelt. A termisztorok festékrétegét lakkozással erősítettük meg, mert vegyszerek jelenlétében (HCl és NaOH) használtuk. Ez a hőátadást egy kicsit lassította. A termisztor beállási ideje körülbelül 15-20 s. Próbálkoztunk műanyagréteg felvitelével is, ez sokkal ellenállóbbá tette a termisztort, de a beállási idő 90-120 s-ra nőtt, ezért mérésnél a lakkbevonatút használtuk.

3. ábra

Fényintenzitás: egy fotoellenállás változásának mérésével elég nagy érzékenységgel határozható meg. Mivel az erre irányuló mérésünk egy másik érzékelő (CO2) hiányában jelenleg még nem valósult meg, ezért a részletes vizsgálatokat nem végeztük el. Csak két tájékoztató adat: egy világító LED helyzetét 1-15 cm között körülbelül 0,5 cm-es pontossággal tudtuk meghatározni; az ablak előtt elhaladt teherautókat még 2 m-es távolságból is érzékelni lehetett. Természetesen egyszerűbb esetekben fénykapuként is használható, például fordulatszámmérés, cseppek számlálása stb.

Hang: a mikrofonokról jövő jel túl kicsi, hogy megfelelő pontossággal érzékelni lehessen, ezért készítettünk egy erősítőt, amivel már jól mérhető jeleket kaptunk. Mivel az AD-konverterünk mintavételezési frekvenciája jóval kisebb, mint a gyakorlatban használt hangkártyáké, ezért nem is ilyen jellegű hangfeldolgozást terveztünk. Beszéd felismerésére és feldolgozására nem alkalmas. A szabályos zenei hangok még jól vizsgálhatók és kirajzolhatók. Egyébként a környezetben bekövetkező hangintenzitás változásának észlelésére szántuk. Mellkasra erősített mikrofonnal a szívverés jól érzékelhető.

Szoftverek

Egy, az interneten található és szabadon felhasználható mcHID.dll nevű programon kívül az összes többi szoftvert mi készítettük. Az interneten találtunk néhány szabadon felhasználható példaprogramot a USB hídon való kommunikációról. Ezek túlnyomó többsége Visual Basic nyelven íródott. Ezért mi is ezzel a nyelvvel próbálkoztunk. Az első adatátvitelt is ezen a nyelven valósítottuk meg az AD-konverterünk és a számítógép között.

Későbbiekben megvalósítottuk az adatbeolvasást C# és Delphi programnyelveken is. Az egyedi szoftverek készítésénél a fő hangsúly áthelyeződött a Delphire. (Gimnáziumunk évek óta rendelkezik ezen programozói nyelv legális példányával.) A mért adatok feldolgozása és megjelenítése saját fejlesztésű programokkal történik.

Visual Basicben az univerzális felhasználást biztosító programot készítettük el, lehetőséget adva, hogy a felhasználók egy XML file tartalmának módosításával saját elképzelésüknek megfelelően "testre szabhassák" a program megjelenítését. Az adatok összegyűjtését, ábrázolását és mentését valósítottuk meg, az elmentett adatokat mindenki a "kedvenc" programjával dolgozhatja fel. (Akár valamelyik táblázatkezelővel, így készen kap olyan matematikai segítséget, ami különben számára esetleg nehezen lenne megvalósítható.)

A C# nyelven csak az adatok beolvasását oldottuk meg, hogy a vállalkozó szellemű felhasználó saját "kénye-kedve" szerint dolgozhassa fel a mért adatokat.

A Delphi nyelven írt programjaink a leginkább testreszabottak. Az általunk készített alapprogramból fejlesztettük tovább az adott mérés igényeinek megfelelően. Mindegyik szoftverünkben lehetőség van a következőkre:

• Beállítani, hogy melyik csatornán akarunk mérni.
• Hány adatot és milyen időközönként akarunk mérni.
• Beállítható, hogy csak mérni akarunk vagy egyből ábrázoljuk is a kapott értékeket (a régebbi gépek esetén 10 ms-nál rövidebb idő alatt gondot jelent egyszerre mérni és rajzolni is, egy 5 éves gép, ha nem kellett rajzolni, gond nélkül tudott 1 ms-onként mérni).
• Mind a függőleges, mind a vízszintes tengely skálázható a várt értékeknek leginkább megfelelő tartományra.
• A vízszintes tengely görgethető, ha túl sok adatot mérünk, követhetjük az ábrázolt, de a képernyőn már nem látható jeleket.
• A célprogramok az adott méréshez kapcsolódó adatokat feldolgozzák és megjelenítik (pl. lengésidő, gyorsulás, reakcióhő stb.)
• Néhány célprogramban a szoftver automatikusan érzékeli a mérés megkezdését, természetesen itt is lehetőség van a manuális indításra.
• Egymás után több mérés is végrehajtható, összehasonlíthatjuk az ábrán különböző színekkel megjelenő értékeket.
• A mért adatok és az ábrák elmenthetők, később újra feldolgozhatóak.

4. ábra 5. ábra

Megvalósult és bemutatott mérések

Gyorsulásmérés

A haladó mozgást egy potenciométerre szerelt korong segítségével érzékeltük. A potenciométert az AD stabilizált 5 V-os feszültségével tápláltuk. A kapott jel közvetlenül rávihető az AD-konverterre (4. ábra). Elég érzékeny összeállítást kaptunk, 1-2 mm-es változást már érzékelni lehetett.

Egy kiskocsira szerelt súllyal valósítottuk meg a gyorsuló mozgást. Körülbelül 1 m-es út állt rendelkezésünkre, 10 ms-onként mértünk. Az elindulást a program automatikusan érzékeli. A mérés végén kiszámolja és kiírja a gyorsulás értékét. A mérés megismételhető úgy, hogy kisebb súllyal húzatjuk a kiskocsit. A más színnel rajzolt görbén azonnal látható a különbség. Természetesen ez a kiírt gyorsulás számértékén is látható. Ez egy jól reprodukálható és gyorsan elvégezhető, látványos kísérlet.

Lengő mozgás

A potenciométer tengelyére egy vékony rudat szereltünk, amelynek a végén egy elcsúsztatható nehezék volt. Az összeszerelés többi része megegyezett a gyorsuló mozgásnál leírtakkal. Ha két mérést végzünk, a súly elcsúsztatásával jól szemléltethetjük, hogy az inga lengésideje függ az inga hosszától (5. ábra).

Lebegés

Két egyforma frekvenciájú hangvilla közül az egyiket kicsit elhangoltuk. A két eltérő frekvenciájú hangot egy mikrofon és egy erősítő alkalmazásával vittük rá az AD-konverterre. Az AD-konverterünk nem elég gyors tetszőleges hangok feldolgozásához. Tiszta zenei hangok esetén viszont jól reprodukálható a jel, ha a hang frekvenciájának és a mintavételezés frekvenciájának hányadosa nem egész szám (6. ábra). A mi beállításunknál a hang frekvenciája körülbelül 3,1- szer volt nagyobb, mint a mintavételezés frekvenciája. Tehát 31 teljes rezgésből származó jelből rajzolt ki egy rezgésnek megfelelőt a képernyőre (7. ábra).

6. ábra

Reakcióhő mérése

Ez a mérés hagyományosan sok időt igényel. Ezt próbáltuk lerövidíteni, és a technikai igényeit is csökkentettük. Az oldatokat előző nap előkészítve elegendő egy hőmérő használata, hiszen a két oldat hőmérséklete egyforma. Mivel a mérést igyekszünk gyorsan elvégezni, ezért hőszigetelés nélküli edényeket alkalmazunk. (Mi mindössze két főzőpoharat és egy általunk készített termisztoros hőmérőt használtunk.) A viszonylag pontos eredmények érdekében hasonló körülmények között meg kell határozni a készülék vízértékét. Ezt az oldatok tömegével megegyező tömegű, különböző hőfokú vizek összeöntésével meg is tettük. Maga a mérés nagyon gyors. Az elején kell egy kicsit várni, amíg a hőmérő felveszi az oldat hőmérsékletét, ez körülbelül fél perc. Majd összeöntjük a két oldatot. A mi esetünkben NaOH-t öntöttünk HCl-ba. Az összeöntés után egy kis keverés, majd ismét várakozunk 1-2 percet, amíg a hőmérő beáll a végső hőmérsékletre. A program az oldatok tömegéből, koncentrációiból és a hőmérsékletváltozásból kiszámolja a reakcióhőt (8. ábra). Az így kapott értékek általában 10%-nál kisebb mértékben térnek el a tényleges értékektől. Az egész mérés elvégezhető körülbelül 5 perc alatt. Nem is a pontosság volt a fő célkitűzésünk, hanem egy gyors, a tanórán is elvégezhető kísérlet.

7. ábra 8. ábra

További tervezett és részben megvalósult mérések

Egyenesvonalú egyenletes mozgás

A gyorsuló mozgásnál ismertetett elrendezéssel megvalósítható. A kiskocsit kézzel vagy inkább egy kis motorral egyenletesen húzzuk. Természetesen mások a kirajzolt görbék és más a feldolgozásuk, értelmezésük.

Rezgő mozgás

Itt mindenképpen érdemes a sínpályát használni. A sín két végéhez rúgóval rögzített kiskocsi rezgéseit lehet vizsgálni. A kocsi egy kifeszített ellenálláshuzal felett mozog. Itt komoly érintkezési gondjaink voltak. Ha a kocsi egy pillanatra nem érintkezik a huzallal, az ADkonverterre hibás adatok érkeznek. Az érintkezés a kiskocsi súlyának növelésével javítható, de minden mérés előtt újra be kell "játszani" az optimális állapotot. Ha kevés a hibás adat, azt szoftveresen is ki lehet hagyni. Próbáltuk üzembiztosabbá tenni a kísérletet úgy, hogy itt is potenciométert használunk. Ez az érintkezési problémákat meg is oldotta, de itt egy ellensúlyra is szükség volt, ami visszaforgatja a potenciométert. Sokat kell próbálkozni, míg a megfelelő beállítást sikerül megtalálni. Mivel látványában nagyon hasonlít az ingánál tapasztaltakra és az sokkal egyszerűbben és megbízhatóbban kivitelezhető, egyelőre nem véglegesítettük ezt a mérést.

Szívműködés vizsgálata

Egy érzékeny mikrofont erősítettünk a mellkasra, majd a mikrofon jelét az erősítőn keresztül az AD-konverterre kötöttük. Csendes környezetben vizuálisan jól azonosíthatók a szívdobbanások. Fizikai terhelés után (20 fekvőtámasz) jól látható, hogy a szívdobbanások közötti időszakok lerövidültek. Az esetleges háttérzaj miatt egyelőre tanórai bemutatásra nem alkalmas, de mindenképpen fejlesztésre alkalmasnak ítéljük. Megpróbáljuk sztetoszkóppal kombinálni a mikrofont, és hogy a szoftver automatikusan határozza meg a pulzusszámot.

Növények asszimilációjának vizsgálata

Egy búrában elhelyezünk egy növényt és egy CO2 szenzort. A burában megnöveljük a CO2 mennyiségét 1-2%-ra, majd hermetikusan lezárjuk. Az AD-konverterre rákötjük a CO2 szenzort és egy fényintenzitás mérőt. Több napon keresztül vizsgálnánk, hogyan változik a CO2 szint a fényintenzitás függvényében. Természetesen ezt nem tanórai mérésnek szánjuk, hanem inkább szakkör keretében. A kapott adatok már az órákon is bemutathatók, felhasználhatók. Ez a kísérlet azért nem valósult meg, mert nem tudtunk megfelelő CO2 szenzort beszerezni! Több gázérzékelő szenzort is találtunk elfogadható áron, de ezek más gázokat érzékeltek (CO, SO2, H2S, NH3, C2H5OH). Sajnos csak komplett, kazánházakban használható, nagyméretű riasztókat találtunk. Ezek elég drágák és inkább csak egy kritikus szint elérésének jelzésére valók, mintsem pontos mérésekre.

A következő tanévben szeretnénk befejezetlen terveinket is megvalósítani, reméljük, hogy új ötletek is érkeznek hozzánk. Mi nyitottak vagyunk, hogy minden értelmes, képzést segítő kísérletben részt vegyünk.

A projekt értékelése

A kutatási projekt egyik legnagyobb eredményéként elmondhatjuk, hogy megvalósult a tanár-diák együttgondolkodás, sikerült a munkába bevont diákok segítségével társaik figyelmét is felkelteni a téma iránt. A feladatot kihívásnak tekintették és lelkesen dolgoztak a megoldás érdekében.

A műszaki és természettudományi tárgyakat oktató kollégák iskolán kívül és belül egyaránt érdeklődtek, kérések és közös fejlesztések iránti igények fogalmazódtak meg a fizika, kémia, biológia és informatika területéről.

Az elnyert támogatásból beszerzett Samsung plazmakijelző biztosítja a finomvonalas ábrák kiváló megjelenítését, a tantermi alkalmazást.

Összefoglalva: a projekt nemcsak a diákok tananyagfejlesztésben, kutatásban való részvételét segítette elő, hanem élményszerűbbé teszi a "mostoha", kényszerből kísérletekben szegénnyé vált oktatást, segíthet a pályaválasztásban, annak megerősítésében. Ezt igazolja a diákok véleménye:

"A kutatómunka jóval nehezebb, mint középiskolai tanulmányaink, mivel utóbbiban elég 80%-ra teljesíteni, addig az előbbiben 100%-ot kell, különben az adott program nem működik."

"Ez a kutatómunka nem hasonlított az iskolai tanuláshoz… a már megszerzett tudásunkat kellett alkalmaznunk, amely kiegészült új ismeretekkel, tapasztalatokkal, segítve a felsőoktatási tanulmányokra való felkészülést."