zaródolgozat - győri sándor

36
ZÁRÓDOLGOZAT Győri Sándor 2015 Műszaki informatikus 2

Upload: gyori-sandor

Post on 12-Nov-2015

239 views

Category:

Documents


6 download

DESCRIPTION

My final exam

TRANSCRIPT

ZRdolgozatGyri Sndor2015Mszaki informatikus

Brassai Smuel Gimnzium s Mszaki SzakkzpiskolaZRdolgozat

Ellenlls meghatroz s Keres

Gyri Sndor

Mszaki informatikusDebrecen

2015Tartalomjegyzk

21.BEVEZETS

32.A LabView Bemutatsa

2.1Szerepe342.2Mkdse

2.3A LabView Megismerse53.Az ellenllsokrl73.1Szerepk73.2Felptsk73.2.1Huzalellenllsok73.2.2Rtegellenllsok83.2.3Fmrtegellenllsok93.3Jellseik94.A program bemutatsa114.1Az rtkszmt modul114.2Keres modul134.2.1Feladata134.2.2Tblzatkszt almodul134.2.3Keres almodul154.2.4Sznmeghatroz almodul1785.FELHASZNLT IRODALOM

96.MELLKLETEK

85.FELHASZNLT IRODALOM

96.MELLKLETEK

1. BEVEZETSAz ellenllsok egy rendkvl fontos ha nem a legfontosabb - rszt kpezik minden elektromos rendszernek. Annak ellenre, hogy csupn egy dolgot ltnak el: korltozzk az ram tjt.

1. bra. Ellenlls.

Ha eltekintnk az anyagi sszettelktl s kialaktsuktl, teljestmnyktl, csupn egy dolog van, amiben ezek az ellenllsok klnbznek, ez pedig az rtkk. A hagyomnyos ellenllsokon ennek meghatrozsra egy tbbsvos sznkdot lthatunk. Ennek leolvassa egy kevs gyakorls utn knnyv vlik, vagy egsz egyszeren hasznlhatunk multimtert is a valdi rtk meghatrozsra. Az lland mrs viszont hossztvon fraszt lehet, s ez ltal nem is szrhetjk ki a hibs darabokat.Az Ellenlls meghatroz s Keres egyrszt ezt a clt szolglja a svok leolvasst. Msrszt viszont egy olyan szolgltatst is nyjt, ami segt megkeresni neknk egy adott ellenllst. Brkinek, aki elektronikval foglalkozik, elbb utbb sszegylik egy kis doboz ilyen-olyan alkatrszekkel. Egy ilyen vegyes dobozban rendkvl problms megtallni egy adott rtk ellenllst. Ebben segt a keres: Ha neknk egy adott rtk ellenllsra van szksgnk, a program az rtk alapjn megkeresi, mi az ahhoz legkzelebbi gyrtott ellenlls majd kijelzi, hogy azon milyen jellsnek kell szerepelnie. Ezltal - ha nem ismerjk a sznkdokat - knnyebb vlik a keress, mivel mr tudjuk mit is kell keresni. Vagy pusztn azrt is lehet hasznos, hogy tudjuk mi a legkzelebbi ltez, gyrtott ellenlls ahhoz kpest, amire szksgnk lenne anlkl, hogy tblzatokat bjnnk.Az albbi dokumentumban a program mkdsi elvt fogom elmagyarzni, a kzelt rtkkeress mdszert, a helyi rtk kiolvasst manulisan valamint ezt visszafele, szmok sszelltst adott helyi rtkek alapjn.2. A LabView Bemutatsa2.1 SzerepeA LabView egy grafikus programfejleszt, amely elssorban mrstechnikai s a hozzkapcsold jelfeldolgozsi feladatok megoldsra szolgl, de alkalmas ms, pl. szimulcis munkkra is, vagy akr prezentlni olyan dolgokat, amit szeretnnk, hogy lben, mkds kzben mgis tlthatan lsson a kznsg, betekintst nyerve a dolog mikntjeire, elveire.

2. bra. A LabView program logja.

A grafikus programozs egy ltvnyos, ltszlag knnyen kvethet programozsi mdot jelent, amely a gyrt s forgalmazk vlemnye szerint a hagyomnyos programnyelveket nem ismerknek kszlt. Ebben van is nmi igazsg ugyanis anlkl ismerhetjk meg a programozs alapjait, hogy egy szt is kelljen rnunk, mgis meg kell jegyezni, hogy a programozs alapvet jellemzi (vltozk deklarlsa, ciklusok) teljes mrtkben a C programnyelvhez hasonlan, illetve azzal analg mdon trtnnek, ezrt brmilyen hagyomnyos programnyelv alapszint ismerete sokat segt a kezdeti lpsekben. Termszetesen az, hogy mi az integer, vagy double (Pascalban real) tpus vltoz, vagy hogyan hasznlhat a for s while ciklus, gyorsan megtanulhat aprsgok, ezrt valban ajnlhat a LabView mindenkinek, aki gyorsan s egyszeren szeretn megtanulni a programozs alapelveit. A LabView azzal, hogy sajt grafikus krnyezetet ad a programoznak, felszabadtja a grafikus kezelfellet ksztsnek terhe all, ami hagyomnyos mdon akr igen megterhel feladat lehet egy ember szmra ezrt gyakran kln ember foglalkozik ezzel. Habr a Front Panelen egy hasonl felletet kszt el, ezt mgis jval knnyebb elkszteni mintha hagyomnyosan C-ben dolgoznnk. Legnagyobb htrnya a LabView programnak, hogy a benne kszlt programok a LabView sajt Run Time Engine-jt kvetelik meg, mint futtatkrnyezet. E nlkl a program kptelen elfutni, csak gy, mint ahogy sok ms program a dotnet krnyezet nlkl is kptelen mkdni. Viszont ahogy mr korbban emltettem, hatalmas elnye a grafikus programozsnak, hogy nagyszeren lehet vele a programozs alapelvt megrtetni, illetve oktatni, mivel tlthat kpet ad arrl, hogy mi is trtnik egy program belsejben.2.2 MkdseA LabView egy j projektjt megnyitva kt kperny trul elnk. A Front Panel s a Block Diagram. A Front Panel-len tallhatjuk az indiktorokat nevezhetjk ket vizulis outputoknak- s az inputokat, amik egy szmtl kezdve az egyszer gombokon t akr egy szveges inputot is jelenthetik. Az itt kapott informcikbl fog dolgozni a program, melynek mkdst a Block Diagram-mon llthatjuk fel, illetve lthatjuk. Itt a Block Diagram-mon egy jobb klikk segtsgvel rhetjk el a ment, mely azokat az elemeket tartalmazza melyekkel dolgozni fogunk. Minden elemnek van legalb egy inputja, s egy outputja, utbbi pedig kerlhet tovbbtsra a Front Panel-re is. Az elemeket, n. vezetkekkel kthetjk ssze. Ezek az adatfolyamok tovbbthatnak szmokat, s szvegeket is. Szmok kzl pldul lehetnek integer szmok is melyek csak egsz szmok lehetnek trtalak nlkl, ezeket a program kk vonallal jelli. Valamint elhetnek vals szmok is amiket Float-nak neveznk, ezek lehetnek trtrtkek is. Ezeket a program narancssrgval jelli. A vezetkek tovbbthatnak logikai, azaz boolean rtkeket is ami FALSE vagy TRUE lehet. Ezeket ksbb a beptett logikai kapukkal manipullhatjuk. Amg egy szmokkal foglalkoz egysg dolgozhat mind integer mint float rtkekkel - s ilyenkor az elem automatikusan mdot vlt addig egy logikai kapu csak logikai kaput fog tudni fogadni. Ugyangy ahogy azt a Stringekkel is teszi. A string egy szveges adatot jelent, karakterek sorozatt. A program ezeket magenta sznnel jelli. A vonalok vastagsga indiklja, hogy az adatfolyamban egyszerre tbb adat is fut, pldul tblzatok. Az alap vkony vonal melyen csak egy rtk fut gyakorlatilag egy 0 dimenzis tblnak felel meg. A vastag vonal egy 1 dimenzisnak amit sornak is nevezhetnk. az egyms mellett prhuzamosan fut kt vkony vonal pedig egy 2 dimenzis tblt jell. a vastag rcsos vonal pedig mtrixot ami gyakorlatilag egy maximum 2 dimenzis tbla.A program kezel loopokat is, az albbi programban kettt hasznltam fel. Az egyik a While Loop ami mindaddig fut mg a felttele be nem teljesl. A program esetben az egsz programot egy while loop veszi krbe aminek a felttele, hogy lelljon egy kikapcsol gomb. Ez, s a belltott rajele biztostja azt, hogy a program eredmnyei folyamatosan frisslnek. Az rajelre azrt van szksg, hogy sproljunk a felhasznlt erforrssal.

A For Loopok pedig pontosan annyiszor fognak lefutni, amekkora rtket megadtunk neki.A LabView alap ptkvei az egyser matematikai elemek, sszeadsok, kivonsok, szorzsok osztsok. Ahogy a matematiknak, gy a program jelents rsznek alapkveit ezek az elemek kpezik.

2.3 A LabView megismerseA 'VI' a 'Virtual Instrument', azaz a Virtulis Mszer szavak rvidtse. A LabVIEW programokat VI-oknak nevezzk. Ennek az az oka, hogy a LabVIEW programozsi krnyezetet kifejleszt National Instruments, a fejlesztrendszert alapveten az ltala gyrtott mrkrtyk szmtgpes interfsznek sznta, melyekkel a szmtgpen, virtulisan lehet megalkotni a mrkrtyk kijelzit valamint kezelszerveit.

A msik, nmileg gyorsabb mdszer az I.3-as brn lthat. Ekkor a 'New...' gomb szln lthat hromszgre kattintva s a bal egrgombot lenyomva tartva kapjuk az I.3-as brn lthat rvid legrdl ment. A gombot folyamatosan lenyomva tartjuk, mg az egrmutatt a kvnt menpont fl mozgatjuk, s ott felengedjk.

Brmelyik mdszert is vlasztottunk, az eredmny az I.4-es s I.5-s brn lthat kt ablak megnylsa lesz. Az I.4-es brn az gynevezett 'Front Panel' lthat, mely tulajdonkppen megfelel valdi mszerek kezelszerveket s megjelentket tartalmaz ellapjnak. A bemeneti elemeket belltknak (controls), a kimeneti elemeket pedig megjelentknek (indicators) nevezzk. A 'Front Panel'-en a bemeneti rtkek belltst valamint a kiszmtott vagy mrt rtkek kirst, kirajzolst vgezhetjk el. Klnbz tpus bellt s megjelent elemeket (gombokat, kapcsolkat, digitlis s analg tpus belltkat, diagramokat, grafikonokat stb...) alkalmazhatunk annak rdekben, hogy a kialaktott Front Panel-lel a VI hasznlata a felhasznl szmra a legegyszerbb legyen. Minden 'Front panel'-nek van sajt Diagram panel-je, amelyben a VI blokk diagramjt hozhatjuk ltre. A LabVIEW grafikus programnyelvnek segtsgvel - a G nyelvvel - pthetjk fel a blokk diagramot. Ez a blokk diagram felel meg a szveges programnyelvek ltal lert utastssorozatnak, forrskdnak. A programozst az egyes elemek adatvezetkkel trtn sszehuzalozsval vgezhetjk el.

A LabVIEW-ban alapveten adatfolyam-orientlt programozst vgznk (br lteznek esemnyorientlt programozst lehetv tev elemek is!). Ez azt jelenti, hogy programban elsdleges szerepe az adatnak, illetve az adat helyzetnek (holltnek) van. Ebbl kvetkezik, hogy a program megrsa tulajdonkppen az adatvezetkek ltrehozsa a bemeneti, a mveletvgz valamint a kimeneti elemek kztt.

Itt kell megemlteni, hogy a LabVIEW programok van mg egy igen fontos eleme. Ez az gynevezett Icon connector, mely arra szolgl, hogy egy VI-bl subVI-t hozzunk ltre.

3. bra. Icon connector

SubVI-knt a mr megrt eljrsokat fel tudjuk hasznlni ms programokban, mint szubrutin vagy fggvny.

Az bra bal oldaln lthat ikon mind a 'Front panel'-en, mind a 'Block diagram'-on lthat.

Azonban az 'Icon connector' csak a 'Front panel'-en tallhat meg. Ahhoz, hogy bra jobb oldaln lev konnektorokat lssuk, a jobb egrgombbal kattintsunk az 'Icon connector'-ra, majd a legrdl menbl vlasszuk ki a 'Show connector' menpontot. Az 'Icon connector' csatlakozi tulajdonkppen az adott rutin paramterei, melyek a VI 'Front panel'-jn lev bellt illetve megjelent elemeknek felelnek meg. (A ksbbiekben rszletesen is trgyalni fogjuk az 'Icon

connector' hasznlatt.)

A LabVIEW-beli szmts legnagyobb elnye a VI-ok hierarchikus felptsbl ered. Miutn ltrehoztunk egy VI-t, azt azonnal felhasznlhatjuk egy msik programban, mint subVI. A hierarchiban nincs korlt a szubrutinok klcsns hvsnak mlysgre vonatkozan. Ezltal elrhet, hogy a blokk diagram modulris felpts, knnyen ttekinthet, megrthet s karbantarthat legyen.

A tovbbiakban a LabVIEW valamint a LabVIEW egyes elemeinek a megismerst pldaprogramokon keresztl vgezzk el.

3. Az ellenllsokrl3.1 SzerepkAhogy a bevezetben is rtam, az ellenllsok az egyik legfontosabb elemt kpezik, minden ramkrnek. Segtsgkkel el tudjuk osztani az egyes elemekbe kerl feszltsget ezzel megvdve, s szablyozva azokat.

3. bra. Ellenlls jellsek. Baloldalon az Eurpai, jobboldalon pedig az Amerikai vltozat.

3.2 FelptskAz egyenram ramkrkben felhasznlt ellenllsok alapanyaga szn s fm vegyletekbl, tvzetekbl ll. Ezek lehetnek tmr anyag, rteg s huzalellenllsok. Valamint ide sorolhatjuk az izzkat is, mint fnykibocsjt ellenllsokat. Bortsukhoz hordozanyagknt ltalban manyagokat s kermit hasznlnak. 3.2.1 Huzalellenlls

4. bra. Egy llthat huzalellenlls.

ltalban kermiatest hordozza az ellenllshuzalbl kszlt tekercselst. Egysoros, nagy menetemelkeds ellenllsoknl a kell szigetelst lakkbevonattal, vagy felleti oxidrteggel rik el. Nagyobb ellenllsrtkeknl szigetelt ellenllshuzalt pl.manganin hasznlnak. Nagyram ellenllsokhoz a szoksos kerek huzalok helyett lapos, szgletes huzalt hasznlnak azrt, hogy a tekercsteret jobban kihasznljk. A huzal kezdetn s vgn a csatlakozst lehet forrasztani, hegeszteni, prselni vagy csavarozni. Az ellenllsok felhasznlshoz illeszkedve klnbz kapcsolsokban eltr kivezetsi mdok kzl vlaszthatunk.

forrasztfles

bilincses

huzalos kivezets sapkval, vagy anlkl

Az ellenllsok tekercselsnek induktivitsa is van. Az unifilris (egyszlas) tekercsels ellenllsok induktivitsa akr 10mH is lehet. Specilis mdszerekkel, pldul bifilris (ktszl) tekercselssel, vagy Meander alak kivitellel (nttt ellenlls) olyan kis induktivitst lehet elrni, hogy ezek nagyfrekvencis ramkrben is alkalmazhatk.

3.2.2 Rtegellenllsok

5. bra. Hagyomnyos fmrteg ellenlls.

Az ellenllsanyagot vkuumban elgzlgtetik, s sszefgg rtegben lecsapdik a kermiatestre. Az anyag fajtja szerint az ellenlls sznrteg, fmrteg, nemesfmrteg (EMS) kivitel lehet. Az elbbi felgzl eljrson kvl a rtegmrtogatsal vagy begetssel is elllthat. A fm tiszta nikkel vagy krm-nikkel tvzet. Kis ellenllsrtk gyrtsakor az rtk a megfelel rtegvastagsggal bellthat. A rtegvastagsg kb 10nm - 10m kztt lehet. Az gy kszlt ellenllsok nagy induktivitsok miatt nagyfrekvencis krben nem hasznlhatk. E clra hosszanti hornyokat s/vagy meander alak kereszthornyokat kszrlnek, vagy lzerrel kigetnek.

3.2.3 Miniatr fmrtegellenllsok

6. bra. Miniatr fmrteg ellenlls.

Sk alaplemezre olyan meghatrozott alak fmrteget visznek fel, amelynek ellenllsrtke a megkvnt rtk. Az alkalmazott eljrs alapjn vkony s vastagfilm technika klnbztethet meg.

3.3 JellseikAz ellenllsok gyrti ltalban csak meghatrozott nvleges rtk ellenllsokat ksztenek. Az ellenllsok rtkeit a trsknek megfelelen vlasztjk meg. A leggyakrabban hasznlt rtktrsekhez egy-egy rtksor tartozik, amelyet E betvel jellnk, s a tagjainak szmval. Pldul az E6-os sorozat, amelyet a +/-20 %-os trshez hasznlunk, 6 tagbl ll. Az ellenllsok szabvnyos rtksornak tagjai egy mrtani sorozat elemei, teht az egyms utni tagokat egy lland szmmal megszorozva kapjuk meg. Ez a szorz pl. az E6-os sorozatnl. A sor tagjait a nagysgrendnek megfelelen 10 hatvnyaival is meg kell szorozni.Egy ellenllson 4, 5 illetve 6 sznes sv is lehet melyek az adott ellenlls tulajdonsgait rjk le. Ngy svos esetn az els kett szmjegyeket jell, az els a 10^1 helyirtk szmot, a msodik pedig a 10^0-on helyirtk szmot jelli. A sznek s szmok kapcsolatrl, valamint az rtkleolvassrl tfog kpet kaphat az albbi bra segtsgvel:

4. bra. Ellenlls-sznkdok rtelmezse.

4. A Program Bemutatsa4.1 Az rtkszmt modulA program els hrom fle kzel azonos funkcit lt el. Ellenllsok rtkt hatrozzk meg azok sznkdjai alapjn. Az els fln 4, a msodikon 5, majd a harmadik fln a 6 svos ellenllsok sznkdjaival szmolhatunk, majd a kapott eredmnyt a panel alatti indiktorokrl olvashatjuk le.Mkdst tekintve egy rendkvl egyszer mechanizmusrl van sz. A sznvlaszt minden kivlaszthat sznhez trst egy szmot sorrendjk alapjn. Azrt van szksg erre a szmra, hogy a program szmra is rthet informcit nyjtsunk. A kapott rtk aztn kzvetlenl egy Case Selector-ba megy. Ez a Case Selector csupn a visszajelz sznkd svjainak a sznt hivatott megvltoztatni. Ugyanaz a szm, ami a Case Selectorba is megy, egyben a szmts alapjt is kpezi. Habr a legrdl gomb, amit a sznek felhasznl ltal val kivlasztsra hasznltam az els lehetsget 0-nak rtelmezi pont ugyangy ahogy a legkisebb szn is egy ellenllson is 0-t jelent (fekete) knytelen voltam ebbl az rtkbl egyet levonni, ugyanis a program szpsge okn egy alaprtelmezett llapotot is ltre akartam hozni, ehhez pedig a fekete helyett egy msik 0-s rtket vettem fel. gy a fekete nem az t jelent 0 rtket kapta, hanem az 1-et. Innen addik, hogy egy -1 mveletet vgzek el mindenek eltt az input rtken. De mg ez eltt leellenriztetem, hogy valamelyik gomb rtke egyenl-e nullval, azaz mg default mdban van-e, hogy hiba szmol a program egyelre fals rtkekkel, azt a felhasznl ne lssa.

2. bra. Az els panel Block Diagramja.Ahhoz, hogy tovbb folytathassam a programmodul magyarzatt elszr a sznkdok rtelmezsre (3. bra) kell kitrnem. Egy ngysvos ellenlls esetn az els kt sv jelent helyi rtket. Az els a tzest, a msodik pedig az egyest. A harmadik sv a szorzs mrtkt jelli tz hatvnyaiban a negyedik sv pedig az ellenlls hatkonysgt mutatja.

Ebbl fakadan az els inputrtket a helyi rtknek megfelelen 10-el fel kell szoroznom, majd utna hozzadom a msodik helyi rtknek vlasztott rtkkel, amit ha felszorzok a megadott szorzval megkapom az ellenlls rtkt. Habr a 0,1 s a 0,01 ugyangy 10 hatvnyai, mint a 100 s az 1000 knytelen voltam ket kivtelknt kezelni, ugyanis a vlasztgomb integer mdban van, negatv rtkeket nem kezel. Ha a szorz 9-es vagy 10-es rtket ad ki, akkor nem emeli a 10et ezek hatvnyaira, majd szoroz azzal, hanem kt Select-en keresztl kivtelt tesz s a sznnek megfelel, helyes rtkeket tovbbtja a szorzsmvelet fel. A vgeredmny aztn a modul Case Selector-n kvl elhelyezett indiktorba megy, ahol a Front Panelre, a felhasznlhoz jut el. Ugyanitt, a modulokon kvl tallhat a hatrrtk szmtshoz minden sszetev. Mivel ez ugyanilyen formjban lenne felhasznlva az els hrom panelen, sszerbb volt kvl, de mg a While Loop-on bell elhelyezni. A program Block Diagramjt krllel While Loop a program folyamatos futst biztostja egy elre belltott fix 300-as rajelen. Ilyen sebessgen a program mg lvezhet sebessgen megy, s egyltaln nem terheli meg a szmtgp processzort sem. A hatrrtk szmt ht klnbz sznt tud rtelmezni, mind ms s ms rtkekkel dolgozik, gy egyedien kellett kivtelekkel megoldani az ppen aktulis md valdi szmtshoz val rtknek megadst. Ez a kivlasztott rtk majd a korbban megkapott eredmnnyel fog interakciba lpni, elszr is felszorozzuk vele az eredmnyt, ezt a szorzatot aztn egyrszt kivonjuk, msrszt hozzadjuk az eredeti eredmnyhez, majd a kt jonnan kapott eredmnyt pedig szlsrtkekknt megmutatjuk a felhasznlnak. Valamint kzljk a felhasznlval a maximlis lehetsges eltrst.4.2 A keres modul4.2.1Feladata

Egy adott listbl kikeresni a legkzelebbi ltez rtket a felhasznl ltal megadott szm alapjn. Majd a megtallt szmot a felhasznlnak kirni. Ez a feladat els olvasatra egyszernek tnhet, de ezt programknt megvalstani mr nem az. Nzzk t az alapelvt tzetesebben4.2.2 A tblzatkszt almodulAz ellenllsrtk tblzat igen hossz. Ezt kzzel begpelni rengeteg id lenne ezrt a tblzatot is a program fogja elkszteni s mi csak az alaprtkeket, azaz az els sort adjuk meg kzzel, mivel tudjuk, hogy a tbbi sor csupn ezeknek a tovbbi szorzatai 10 hatvnyaival. 5. bra. Az E12-es szria, mely 10%-os trssel dolgozik.

A programunk kezelfelletn kzzel lltjuk be, hogy melyik sorbl akarunk keresni, ami egyben az ellenlls minsgt, tolerancijt is jelenti. Ezt a kivlasztst egy Case Selector-ral tesszk meg, ami a kpen lthat egy soros tblzatot tartalmazza, amit ksbb manipullunk. A kivlaszott sor ezutn a kpen lthat folyamatokon megy keresztl hogy vgl egy tblzat legyen belle melyet gy kapunk, hogy elszr kibvtjk a tblt, minden egyes j sorba bemsoljuk az eredetit, majd felszorozzuk 10 hatvnyaival mindegyik sort, az elst a 0. hatvnnyal a msodikat az 1. hatvnyval s gy tovbb.

6. bra. A tblzatot elkszt programmodul.

A folyamat elemeire bontva a kvetkez: A kirkez sort az els legazsnl egy mtrixsz kpeznk, amire azrt van szksg, mert mg egy Array gyakorlatilag egy akrhny dimenzis tbla is lehet, addig a mtrixok csupn kt dimenzisok lehetnek. Ennlfogva vannak olyan mtrixmanipulcis eszkzk, amik viszont Array-oknl nem elrhetek s vice-versa. A mtrixsz alaktott sorunknak ezutn egy jabb elemml mr megtudjuk szmolni a kiterjedst az X s Y tengelyen. Mivel egy sorrl beszlnk gy az megmrt Y eredmnyt el is hanyagolhatjuk, ugyanis ez gyakorlatilag egy konstans 1-es. A kapott X rtkkel fogjuk elkszteni az j tblzatot, ami X rtk szles s 13 egysg magas lesz. Azrt 13 mert a legmagasabb ellenllsrtket tznek 11. hatvnyval kapjuk meg. de mivel szzad pontossgig akarunk trtrtket keresni gy mg kt hatvnymagassg is kell, erre a keress rsznl mg visszatrek. Az brn kzpen lthat for loop aztn a kibvtett tblzat minden sorba be fogja illeszteni az eredeti sort. Az N rtk hatrozza meddig fog futni a loop ami egyenl a tblzat magassgval. A ksz tblzatot aztn ismt mtrixsz alaktjuk, hogy megmrhessk s az alul lv dupla for loop segtsgvel manipullhassuk. A bels for loop vgig megy az adott sor minden egyes elemn a kls pedig tmegy a kvetkez sorra. A loop-ok annyiszor futnak le amekkora rtket kap az N vltoz, amit az elbb megmrt mtrix kiterjedsei hatroznak meg. Ahogy korbban emltettem a loopok minden a mtrixban tallhat elemet felszoroznak 10 egyik hatvnyval. A loopok itercii (Ami azt az rtket jelli ahanyadjra ppen fut a loop.) hatrozzk meg hogy a mtrixnak ppen melyik elemt szorozzuk fel 10 hanyadik hatvnyval (ezt a kls loop itercija hatrozza meg). A szorzs sorn a for loopbl kivezetve a LabView automatikusan elszr 1 dimenzis majd 2 dimenzis Array-kk fzi ssze az eredmnyeket. Amit a fejleszts kzbeni ellenrzs megknnytsre pr lpsben 90 fokkal elfordtottam.4.2.1 A keres almodul

A keress a kzelts elve alapjn mkdik. mivel a felhasznl brmilyen tetszleges rtket megadhat, elg csekly annak a lehetsge, hogy olyan rtket ad meg ami tnylegesen szerepel a tblzatban. Ezrt gy kell megoldjuk a problmt, hogy a felhasznl ltal megadott rtkhez legkzelebbi, a tblzatban szerepl rtket adjuk meg mint tallatot. Els lpsben bekrjk a felhasznl ltal keresett rtket ami mivel lehet trtszm is felszorozzuk 100-al, hogy egsz szmknt dolgozhassunk vele. (Nagyobb pontossgra nincsen szksg) Ismt lemrjk a nemrg elforgatott s mtrixsz alaktott tblnk mreteit s ezek segtsgvel hatrozzuk meg, hogy a dupla for loop hnyszor is fusson le. Ugyanazon az elven futunk vgig a tbla minden elemn ahogyan azt az elz rsznl is tettk, itt azonban nem felszorozzuk ezeket az elemeket hanem kivonjuk bellk a felhasznl ltal keresett rtket. Hogy mirt? A kzelt keress azon az elven mkdik, hogy megkeressk a krt szmhoz legkzelebb es ltez rtket. Ezt pedig gy hatrozhatjuk meg, hogyha megtalljuk azt a szmot amibl, ha kivonjuk a keresett rtket a lehet legkisebb abszolt rtk szmot kapjuk. Miutn kivontuk a tbla minden elembl a keresett rtket mg nem tudhatjuk, hogy melyik az amelyik a legkzelebb ll a keresett rtkhez mivel ha megkeressk a legkisebb szmot az egy mnusz rtk lesz s minden esetben a tblzat els eleme. Ezrt kell abszolt rtket vonnunk a tbla minden egyes elembl, hogy ha megkeressk, a tbla legkisebb elemt immron azt kapjuk, ami tnylegesen kzelt a keresett rtkhez.

6. bra. A keresmodul.

Miutn ezt a szmot egy Min Max lekrdezssel megkaptuk mg nem a tnyleges eredmnynk van meg csupn egy szm ami azt jelenti, hogy ekkora tvolsgra van tle az eredmny. Viszont ha ezt az rtket hozzadjuk, illetve kivonjuk a felhasznl ltal keresett rtkbl, megkapjuk a tblzatban valban szerepl rtket. Viszont mivel aboszltrtket vontunk, nem tudhatjuk, hogy a keresett rtket alulrl, vagy fellrl kzeltjk. Ezrt lekrdezzk az abszoltrtkvont tbla legkisebb elemnek kordintit s a nem abszoltrtkvont tblnak ezen koordintin megtalljuk azt az rtket amit ha hozzadunk a keresett rtkhez megkapjuk a tblzat egyik elemt. A kapott szmot elosztjuk szzzal (Mivel eredetileg felszoroztuk a felhasznl ltal megadott rtket s a tblzatot is kibvtettk, hogy trtrtk is kereshet legyen.) s kirjuk a felhasznlnak.gy tudjuk megmondani egy felhasznlnak, hogy az ltala keresett ellenllshoz mi a legkzelebbi valban gyrtott darab. A kvetkez modul viszont azt is megmondja a felhasznlnak, hogy egy ilyen ellenllson milyen jellsek vannak.

4.2.2 A sznmeghatroz almodul

A sznmeghatroz almodul megllaptja, hogy egy adott rtk s trs ellenlls hny svos, s melyik sv milyen szn. Egy ellenlls svjai pldul a leggyakoribb 5 svos fajtban az albbi dolgokat jellik: az els hrom sv az ellenlls rtknek els hrom szmjegyt a negyedik pedig, hogy 10 hnyadik hatvnyval kerl ez a 3 jegy szm felszorzsra. Az 5. sv pedig a trst jelli.

Els lpsben meghatrozzuk az els hrom szmjegyt a kapott rtknek, ehhez meg kell nznnk, hogy a kapott rtk hny szmjegy. Az sszes lehetsges szmjegymennyisget megvizsgljuk kezdve az egyszmjegyes rtktl amit azzal vizsglunk meg, hogy a bejv rtk egy s tz kz esik e egszen addig mgnem mr azt vizsgljuk, hogy a szm egybilli s tzbilli kz esik e. Ne feledjk ezeket mg a szzzal felszorzott rtkekkel vizsgljuk, hogy trtszmokkal is knnyen tudjunk dolgozni.7. bra. A helyi rtk meghatroz almodul.

Miutn teljeslt az egyik ilyen felttel, az egyik S kapu TRUE jelet fog kldeni a SELECT kapunak melynek TRUE gn az eredeti szm s annak als vizsglt hatrnak hnyada fog tovbbmenni. Pldul, ha az eredeti input 4220 (ami 42,2 Ohm-ot jelent) amirl megtudtuk, hogy ngy szmjegy mivel 1000-nl nagyobb vagy egyenl de 10000-nl kisebb, akkor ezt a szmot az als vizsglt hatrral azaz 1000-el osztjuk el gy 4,22-t kapunk amin hogyha egy lefele kerekts mveletet elvgznk megkapjuk a szm els helyirtkt, azaz a 4-est. Ezzel mr meghatroztuk az ellenllsunk els svjnak a sznt. A msik kt sv meghatrozsa fordtott piramisszeren pl egymsra. Az elbb megkaptuk a 4-es rtket az els szmjegyre. Ebbl fogjuk meghatrozni a kvetkezt, mgpedig gy, hogy felszorozzuk ismt az als hatrral, majd azt kivonjuk az eredeti szmmal. Azaz a 4220-bl kivonunk 4 1000-et. A kapott rtkbl, azaz a 220-bl aztn ugyangy kitudjuk vonni az els szmjegyt (ami az eredeti rtk msodik helyi rtke lesz) mint az elz esetben, annyi klnbsggel, hogy itt nem direktben az als hatr alatti rtkkel osztjuk el azt. Azaz egybl 100-al, hogy megkapjuk a 220-bl a 2,2-t, hanem csak 10-el, s a kvetkez szinten mg 10-el gy ugyanaz az eredmnyt rjk el. Ezt aztn lefele kerektjk s megkaptuk a msodik szmjegy helyi rtkt. A harmadik helyirtket mr az rdekessg kedvrt egy msik elven hatroztam meg. Az els s msodik helyirtket felszoroztam eredeti alakukba, azaz a 4-bl 4000-et a 2-bl pedig 200-at, majd a kettt sszeadtam s kivontam az eredeti szmbl. gy 4220 4200 = 20. Ezt 10-el elosztva s levele kerektve megkapjuk a harmadik szmjegy eredmnyt, ami 2.

7. bra. A sznmeghatroz modul.

Miutn megvan az els hrom szmjegy, el kell dntennk, hogy az ellenllsunk ngy, vagy t svos lesz-e. Ezt egyszeren gy vizsglhatjuk meg, hogy megnzzk a harmadik helyirtk nulla e. Ha nulla, akkor feleslegess vlik a kijelzse s ennek megfelelen vlt oldalt a Case Selector. Ebben a Case Selectorban tallhatak a felhasznli felleten lv sznes cskok, melyek egy ellenlls svjait reprezentljk. Az brn pp 4 svos mdban van, ahogy ltszik is a 3. helyirtk sv ki van hagyva. A helyrtkek szne is egy-egy bels Case Selector-ban vannak elre deklarlva m mivel a svindiktornak kell egy alapllapot is, ami nem mutat rtkeket mg inputot nem kap a felhasznltl, gy a 0 szmon nem a valdi 0 rtk szne van, hanem egy alapszn. Ezrt kell 1-et hozzadni a kapott helyirtkhez. A trssvot hrom sznkijelzvel oldottam meg. Ha ezek egy sznt adnak ki akkor ugyangy nz ki mintha egy sv lenne. Erre azrt van szksg mert az E96-os szria 1%, vagy annl kisebb trssel dolgoznak, ezt pontosabban mr nem lehet meghatrozni.

A szorzsv meghatrozshoz meg kell tudnunk, hogy hny helyirtket tartalmaz a szmunk. Miutn ez megvan mr knnyedn behatrolhatjuk, hogy milyen szn lesz a szorzsv. Arra, viszont oda kell figyelni, hogy a 4 s 5 svosok kztt egy helyrtkkel elvan tova minden, ezt egy bels Case Selector-ral ki tudjuk kszblni, azltal, hogy az egyik llapotban minden rtket eggyel eltolunk.

7. bra. A sznmeghatroz modul.

Az felhasznli felleten pedig kijelezzk az rtk alapjn kvetkeztethet svokat. Figyeljk meg hogy habr egy ellenlls 4, 5 vagy akr 6 svos is lehet a 6 svos varicit egybe vettem az 5-el. Ez azrt van mert a 6. sv h egytthatt (Temperature Coefficient) jell, ezt pedig egy ellenllsrtk alapjn lehetetlen meghatrozni.

7. bra. A sznmeghatroz modul.

5. SSZEFOGLALSVgezetl megtudtuk, hogy milyen elven lehet megoldani egy keresalgoritmust, milyen elven olvassunk ki egy szm szmjegyeinek a helyirtkeit, hatrozzuk meg hny szmjegybl ll valamint sokat megtudtunk az ellenllsokrl, jellseikrl, gyrtstechnolgijukrl s felptskrl. Nem beszlve magrl a LabView programrl. A programrl melynek segtsgvel, idhatkonyan s egyszeren megoldhattuk a felvetett problmnkat. Legnagyobb segtsget azonban az nyjtotta, hogy grafikus felletnek ksznheten, a hibaelhrts knnyedn s grdlkenyen mehetett. Programunk mkdst rviden lernm. A keresmodul egy adott ltez ellenllsrtket keres ki a meglv katalgusadatokbl a felhasznl ltal megadott kzelt rtk alapjn, valamint kijelzi, hogy a tallat vrhatan milyen jellsek lesznek. Mivel a katalgusadatokbl rengeteg van, ezeket kzzel felvinni rengeteg id lenne. De mivel szrevettk, hogy a sorok 10 hatvnyaival vannak felszorozva, a mintt kihasznlva elg volt a katalgustblzatok els sort felvenni, a tbbit meg a program kibvtette magnak. Ebben a tblzatban kerestnk. Mivel a felhasznl ltal megadott rtk szinte lehetetlen, hogy szerepeljen a tblzatba ezrt nem lehetett anynival elintzni, hogy egyenlp rtkeket keresnk benne. A hozz legkzelebbi kellett. ezt gy kaptuk meg, hogy a tbla minden elembl kivontuk a keresett rtket, majd az egszbl abszoltrtket vontunk. Ebben az j tblzatban a legkisebb elem megadja azt a koordintt, ami az elz tblzatban, amibl kivontuk a keresett rtket, annak az elemnek a helyt jelli amit ha hozzadunk a keresett rtkhez, azt a szmot kapjuk meg amit a katalgusban tnyleg megtallnnk s a keresett rtkhez a legkzelebb van. Aztn ennek a szmnak kiolvastuk az els hrom szmjegynek helyirtkt, ebbl meghatroztuk, hogy milyen sznek lehetnek az ellenllson a svok, st mivel megvizsgltuk, hogy kell e a 3. sv, azaz nem nulla rtke van e, azt is megtudtuk, hogy kivitelezse megoldhat e lenne csupn 4 svval. Ha igen, az egyszerbb megoldst jelezzk ki a felhasznlnak. A program els hrom modulja pedig ennek fordtottjt csinlja, megadjuk hny svos ellenlls rtkt akarjuk megtudni, belltjuk a svok sznt, a program pedig ezek alapjn kijelez minden elrhet adatot.6.FELHASZNLT IRODALOMEbben a fejezetben kell felsorolni a felhasznlt forrsmunkkat. Nhny pldn keresztl bemutatjuk az egyes publikcik helyes s pontos megnevezst.

Wikipdia - Ellenllsok.[1] http://en.wikipedia.org/wiki/ResistorLabView - tananyag[1] http://www.sze.hu/~jager/LabVIEW/tananyagok/01/fejezet.1.v2.pdf

1PAGE 19