Budapesti Műsaki és Gadaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Méréstechnika és Információs Rendserek Tansék Sekeres Balás ELEKTRONIKUS MÉRLEG SZOFTVERKOMPONENSEINEK TERVEZÉSE KONZULENS Oros György BUDAPEST, 03
Tartalomjegyék Kivonat... 5 Abstract... 6 Beveetés... 7. Feladat áttekintése... 7. Tömegmérés lehetséges módjai... 8 Rendserterv... 9. Célkitűések és feladatok... 9. Hardveres felépítés... 0.3 Softveres jelfeldolgoás és felépítés... 3 3 Felhasnált softverek és hardver elemek... 6 3. A mérőrendser jelfeldolgoó egysége... 6 3. Megjelenítést végő egység... 7 3.3 VisualDSP++... 9 3.4 AVR Studio... 0 3.5 Matlab... 0 4 Beágyaott esköök softverkomponensei... 4. A jelfeldolgoó egység softvere... 4. A mikrokontroller softvere... 4 5 Becslési módserek... 6 5. Előetes visgálatok... 6 5. Rugó-erő modell... 8 5.3 Exponenciális átlagolás... 30 5.4 Kedeti meredekség alapján történő súlybecslés... 3 5.5 Amplitúdók csúcsainak átlagolása... 3 5.6 Rendseridentifikáció... 36 6 Becslési módserek megvalósítása és hasnálhatósága... 40 6. Exponenciális átlagolás... 40 6. Kedeti meredekség alapján sámítás... 4 6.3 Amplitúdók csúcsainak átlagolása... 44 6.4 Rendseridentifikáció... 48 6.5 DSP-re írt softver online méréshe... 50
7 Össefoglalás és kitekintés... 5 Irodalomjegyék... 53
HALLGATÓI NYILATKOZAT Alulírott Sekeres Balás, sigorló hallgató kijelentem, hogy et a sakdolgoatot meg nem engedett segítség nélkül, saját magam késítettem, csak a megadott forrásokat (sakirodalom, esköök stb.) hasnáltam fel. Minden olyan rést, melyet só serint, vagy aonos értelemben, de átfogalmava más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem. Hoájárulok, hogy a jelen munkám alapadatait (serő(k), cím, angol és magyar nyelvű tartalmi kivonat, késítés éve, konulens(ek) neve) a BME VIK nyilvánosan hoáférhető elektronikus formában, a munka teljes sövegét pedig a egyetem belső hálóatán kerestül (vagy hitelesített felhasnálók sámára) köétegye. Kijelentem, hogy a benyújtott munka és annak elektronikus veriója megegyeik. Dékáni engedéllyel titkosított diplomatervek esetén a dolgoat sövege csak 3 év eltelte után válik hoáférhetővé. Kelt: Budapest, 03. 05. 6..... Sekeres Balás
Kivonat A sakdolgoatom témája egy elektronikus mérleg softverkomponenseinek megterveése volt. A mérlegserkeetet késen kaptam, et módosítani nem volt lehetőségem. A mérőrendser tartalmaott egy Analog Devices gyártmányú ADSP BF-537 típusú jelfeldolgoó processort (Digital Signal Processor, röviden DSP). A feladatom ennek a rendsernek a továbbfejlestése volt. A dolgoat késítése során a fejlestésnek két fő iránya volt: egy megjelenítő egység illestése, valamint a mérendő súly becslésére egy gyors és pontos módser kidolgoása, implementálása és testelése. A megjelenítőt tartalmaó eskö rendelkeésre állt, így nekem a illestő softvert kellett megvalósítani. A becslési módser megvalósítása során többféle módsert (egyserű átlagolás, súlyoott átlagolás, exponencális átlagolás, rendseridentifikáció) is testeltem és a általam megfelelőbbnek ítéltet a DSP-re is implementáltam. A itt bemutatott módserekhe kifejtem a elméleti alapokat, eek ismertetése után pedig követkenek a mérési eredmények. A simulációk Matlab felhasnálásával késültek.
Abstract The thesis presents the design of the software components of an electronic scale. The mechanical structure of the scale was complete, and I wasn t be able to modify it. The measuring system consists of an ADSP BF-537 Digital Signal Processor (DSP), manufactured by Analog Devices. My task was to improving and developing the next version of system. The development had two main directions: the first goal was the design of software interfaces of a display device (LCD), and the second goal was the development, implementation and test of a fast and accurate method, which can predict the weight of the measured object with minimal mistake. I have tested several predicting methods such as the simple averaging, weighted averaging, exponential averaging and system identification. I have implemented the best one on the DSP. I have presented the basic concept of every method, and after that, the results of measurements can be seen. The simulations were created by an interactive environment, the Matlab. 6
Beveetés. Feladat áttekintése Sakdolgoatom keretében egy mechanikus mérleg villamos jeleinek feldolgoását végő processor softverét valósítottam meg. Een egység segítségével egyserűen keelhető elektronikus mérleget tudunk létrehoni, amelynek a méréstartománya 0-00 g. A rendser köponti eleme egy DSP (Digital Signal Processor), amiről a későbbiekben les résletesen só. A feladat nem volt teljesen ismeretlen, mert eel a projekettel foglalkotam a önálló laboratóriumi feladatom során. A alacsony sintű jelfeldolgoás (gerjestés, kimenet feldolgoása, nyers eredmény) már késen volt. A sakdolgoat során ennek a rendsernek a továbbfejlestésével foglalkotam. A feladatom két fő résből állt. A első rés célja egy keelői felület megvalósítása volt, ahol meg lehet jeleníteni a eredményt és a üemmódot. A második rés a mérési eljárás továbbfejlestéséről sólt. A legnagyobb probléma a mérleg serkeetének kis belső csillapítása miatti lengések jelenléte volt, amelyek miatt nagy a beállási idő. A feladatom a volt, hogy találjak egy módsert, ami a nyers mérési eredmények adataiból gyorsan és pontosan megbecsüli a lengések utáni végértéket. A algoritmus fejlestés offline módon történt Matlab segítségével, majd a letestelt és működő algoritmus lett implementáltam a DSP-n. A második fejeetben bemutatom a célkitűéseket és a feladatokat. A harmadik témakörben a felhasnált softvereket és hardvereket mutatom be. Itt található résletes leírás többek köött a DSP-ről. A negyedik fejeetben a általam fejlestett softverek általános bemutatása olvasható. A ötödik fejeet tartalmaa a becslési módserek elméleti áttekintését, a hatodik pedig a gyakorlati alkalmaásukról ad információkat és követketetéseket. A hetedik és egyben utolsó fejeetben a össefoglalással és a kitekintéssel árul a sakdolgoatom. 7
. Tömegmérés lehetséges módjai A tárgyak tömegének megmérése éveredek óta foglalkotatja a emberiséget. Erre a célra hoták létre a mérleget [], majd fejlestették tovább folyamatosan a idők folyamán. A legrégebben hasnált típus a mechanikus mérlegek. Eek két féle alapelv serint működnek. A első csoportba tartonak a tömegek össehasonlításán alapulók, köülük a legismertebb a kétkarú mérleg. Kedetben a két serpenyő tengelye felülről volt felfüggestve, később pedig a alulról megtámastott tengely terjedt el a nagyobb súlyok egyserű mérése miatt. Ahogy a emberek egyre nagyobb súlyokat akartak mérni, egyre jobb mérlegeket találtak fel. Ilyen újítás során építették meg különböő karhossúságú mérlegeket. Nagy méréstartományuk miatt rengeteg helyen tudták alkalmani őket. Eekre jó példa a tiedesmérleg és a hídmérleg. A második csoport alapja a erőmérés valamilyen fiikai tulajdonság váltoásán kerestül, például egy rugó megnyúlása. A napjainkban hasnált kéi mérlegek gyakran rendelkenek egy beépített csillapítással, ahol egy majdnem árt dugattyú légellenállása segít abban, hogy ne lengjen sokáig a mérleg a súly felhelyeése után. Létenek hidraulikus és pneumatikus elven működő mérlegek is. Een módsernél a mérendő test egy munkahengert terhel. A test súlya könnyen sámítható a általa okoott nyomásnövekedés és a munkahenger aktív felületének sorataként. Főként nagy súlyok mérésére hasnálják. A elektronikus mérlegek különböő érékelők villamos jeleiből tudnak súlyt mérni. Legelterjedtebb módser a nyúlásmérő bélyegek alkalmaása. A mérleg valamely rése (általában egy rugó) a súly felhelyeésekor alakváltoást senved, eáltal váltoik a bélyeg ellenállása. A váltoás arányos a megnyúlással kalibráció után könnyű belőle vissasámolni a mérendő test tömegét. A megnyúlással arányos villamos jelet Wheatstone-híddal célserű mérni. Et a elvet hasnálja a rendelkeésre álló mérőrendser is. 8
Rendserterv. Célkitűések és feladatok Ebben a fejeetben ismertetem a megoldandó feladat és a megvalósítandó rendser főbb funkcionális egységeit. A rendser funkcionális blokkdiagramja.-es ábrán tekinthető meg.. A rendser funkciós blokkválata A.-es ábrán a feketével jelölt egységek már rendelkeésre álltak a sakdolgoat késítése előtt. A piros dobook a rendserhe a sakdolgoat során illestett blokkok. Aok a dobook, amelyek pirosak, de bennük feketével írt söveg található, aok módosítva lettek. A nagy kék doboban található résekért a DSP felelős. Megjelenítési felület Elektronikus mérleg esetén sükség van valamilyen megjelenítő felületre, amin meg lehet tekinteni a mért értékeket. A alapprogram soros porton küldte el et a értéket egy sámítógépnek és e volt a kijelő. Egy kéi mérleg esetén visont fontos a hordohatóság. Bár napjainkban könnyen elérhető egy laptop, ennek hasnálata 9
időnként körülményes, így egy LCD (Liquid Cristal Display) kijelő tökéletes a kicsi és mobil megjelenítő serepére. A kijelő veérlését egy Atmel ATmega6 típusú mikrokontroller végi, a mérést pedig a DSP. Át kell küldeni a mikrokontrollernek a mérési eredményeket vagy kalibráció esetén at, hogy éppen hol tart a felhasnáló. A kommunikáció egyirányú, a DSP csak adó a mikrokontroller pedig csak vevő. Fontos sempont hogy a kommunikáció a sámértékek mellett más veérlő karaktereket is tartalmaon. Súlybecslés gyorsítása A jelenleg hasnált mérlegserkeet külső csillapítással nem rendelkeik, így új súly felhelyeése vagy levétele után jelentős lengések keletkenek. A belső csillapítás miatt eek idővel eltűnnek, de a beállási idő így 5-30 másodperc körüli érték. Bár e nem sok, egy mérlegnél elvárás, hogy sinte egyből mutassa a felhelyeett súly nagyságát. Ebből kifolyólag érdemes beépíteni a softverbe valamilyen becslő algoritmust, amely ennél a időnél jóval kevesebb alatt ad nagy pontossággal egy köelítő értéket a végeredményre. A tényleges becslési eljárás mellett a algoritmusnak at is fel kell ismernie, hogy mikor történik súlyváltoás a serpenyőben, hisen nyugalmi helyetben a folyamatos becslés csak felesleges erőforrás-paarlás.. Hardveres felépítés A meglévő rendser komplett mérést képes elvégeni, és a sámított adatokat valós időben jeleníteni meg egy sámítógép képernyőjén. A mérési paraméterek előre meghatároott súlyokkal kalibrálhatóak. A mérleg méréstartománya 0-00 g. Ennek a rendsernek a össeállításával a önálló laboratórium keretében foglalkotam. Mérlegserkeet A mérlegserkeet sematikus ábrája a.-es ábrán látható. A mérleg mechanikai serkeete adott, nem volt mód annak megváltotatására. A rendser többi komponensét illesteni kellett a feladat támastotta követelményekhe. Különböő magasságban helyekednek el a nyúlásmérő bélyegek és a serpenyő a ellen súllyal. R, R, R 3 és R 4 a nyúlásmérő bélyegek. A mérés alapelve a, hogy a serpenyőre helyeett súlyok a serpenyőhö kapcsolódó toriós acélleme elhajlását okoák. A leme alsó és felső oldalán különböő nagyságú a deformáció, és et nyúlásmérő bélyegek segítségével mérjük. A megfelelő érékenység eléréséhe a bélyegeket hídkapcsolásban 0
(Wheatstone-híd) alkalmauk. A serpenyő alatti függőleges rúd serepe a, hogy akárhol helyekedik el a mérendő súly a serpenyőn, a nyúlásmérő bélyegek lemeét csak egy pontban terheli. E a megoldás lehetővé tesi, hogy a súly(ok) fiikai elhelyekedése ne befolyásolja a mérést. A terhelt leme kis kitérés esetén nem senved maradandó alakváltoást.. A rendser sematikus raja.3 A mérlegserkeet fiikai képe A rendser elrendeése A megvalósított rendser blokkválata a.4-es ábrán látható. A elrendeés köponti egysége a DSP. A jelfeldolgoó egység egy Analog Devices gyártmányú ADSP-BF537-es kártya. A kártyáról bővebben a 3.-es alfejeetben fogok írni. E
solgáltatja a megfelelő hullámformájú bemeneti jelet a mérés elvégéséhe, és e dolgoa fel a válasjelet is. A meghajtó jel egy leválastó transformátoron kerestül jut a Wheatstone-híd bemenetére. A hídkapcsolásban 4 db nyúlásmérő bélyeg van, eekből kettő (R,R ) váltotatja a hossát a mérés során a másik kettő (R 3,R 4 ) pedig a hőkompenáció miatt van a híd másik ágában. A érékenység növelése érdekében a két bélyeg hossváltoása ellentétes irányú. A jobb ajsűrés érdekében vivőfrekvenciás mérőhidat alkalmaunk. Ekkor a híd gerjestése egy előre meghatároott frekvenciájú sinusos jel, így előre lehet tudni a spektrum melyik rése les hasnos jel és melyik környeeti aj. A híd kimeneti jele egy analóg sélessávú erősítőn kerestül jut vissa a DSP-be. Erre aért van sükség mert még a fent leírt kapcsolás esetén is annyira kicsi (néhány 0 mv nagyságrendű) a jel, hogy követlen analóg-digitális átalakítás során nagy lenne a kvantálási aj. A DSP kártyán történik meg a sűrés és a sűrt jel további feldolgoása, hogy a felhasnáló sámára is könnyen értelmehető információt kapjunk A egyes elemek össekötése 50 Ω-os koaxiális kábel segítségével történik..4 Rendser blokkválata Analóg jelkondcionálás A rendserhe rendelkeésre állt egy Brüel & Kjær által gyártott 638 [] -as típusú jelkondícionáló berendeés. E egy általános célú váltóáramú erősítő, a működési tartománya 0. H-től MH-ig található. A erősítése 0 db-essével állítható nyomógombok segítségével állítható és egy tekerő gombbal lehet még 0 db utólagos erősítés alkalmani db-es léptékkel. Így a eskö maximálisan 60 db-es erősítésre képes. E teljes mértékben ki van hasnálva, mivel a hídkimenet amplitúdója nagyon kicsi. Lehetőség van sűrés beállítására is a jelkondiciónálón, alul- és 4 felüláterestő sűrő köül válasthatunk. A aluláterestő sűrő felső határfrekvenciája
0 kh, a felüláterestő sűrők alsó határfrekvenciája pedig 50, 00, 00 és 400 kh. A mérés során a aluláterestő sűrő volt bekapcsolva, hogy minél kevesebb nagyfrekvenciás ajt kelljen kisűrni a DSP-vel. A késülék bemeneti impedanciája 50 Ω vagy MΩ lehet alkalmaástól függően. Én a 50 Ω-os variációt hasnáltam..5 A rendser fényképe.3 Softveres jelfeldolgoás és felépítés A jelfeldolgoó processor softvere a egés rendser lelke. E vége el minden sámolást, és meghatároa a passív elemek viselkedését is. Többféle feladatot kell ellátnia: híd gerjestésének generálása, ajsűrés, sűrt jel további feldolgoása, kalibráció elvégése, kommunikáció a megjelenítő esköel. Wheatstone híd gerjestése: 3
A mérés során vivőfrekvenciás mérőhidat hasnálunk. Ekkor a híd gerjestése valamilyen sinusos jel. Ennek nagy előnye, hogy ismert gerjestő frekvencia esetén tudjuk, hogy válasnak melyik rése hasnos jel és melyik rése aj. DC gerjestés esetén a erősítők offsethibája miatt nagyobb eredő offsethiba jelenne meg. Zajsűrés és burkoló detektálás: Bár a erősítőben van analóg sűrés, még eután is marad nemkívánatos aj a bemenő jelen. Et digitális sűréssel igyeketem minél jobban csökkenteni. A sűrés folyamatában blokkválata a.6-os ábrán látható:.6 Zajsűrés és burkolódetektálás blokkdiagramja A ábrán látható, hogy a sűréshe db sűrőt hasnáltam. Erre a pillanatnyi amplitúdó meghatároásho van sükség, mivel a mérőhíd gerjestése sinusos, amelynek a amplitúdója (burkolója) hordoa a információt. Minél nagyobb a nyúlásmérő bélyegek deformációja, annál nagyobb a híd kimenő jelének amplitúdója. A felső egy sima sávsűrő, aminek a áterestő tartománya a mérőhíd meghajtásáho hasnált frekvencia körül van. A alsó egy Hilbert-sűrő, ami annyiban különböik, hogy a sűrés során 90º-os fáistolást is vége, így a sinusosból kosinusos jelet A sin és késít. Sinusos bemenő jelet feltételeve a két sűrő kimenete tehát t Acos t. A trigonometrikus Pitagoras-tétel felhasnálásával négyetössegük kiadja a jel amplitúdójának négyetét. y out A sin t A cos t A (.) Ebből a eredményből négyetgyököt vonva megkapjuk a jel amplitúdóját. Mivel a gerjestőjel 6 kh, eért a áterestő sáv 5850 és 650 H köé került, a árósáv pedig 5500 H alatt és 6500 H felett helyekedik el. Ilyen paraméterek mellett egy 00-as foksámú sűrő 4 db-es ajelnyomást bitosít a áró tartományban. 4
Skáláás és kalibráció A híd kimenő jelének amplitúdója nyers mérési eredmény, így et át kell konvertálni a ember sámára is könnyen felismerhető mértékegységre. A mérleg adottságait figyelembe véve automatikusan adódott, hogy a gramm a legmegfelelőbb mértékegység erre a célra. Előetes mérések alapján a mérleg karakteristikája lineárisnak adódott, így a nyers eredmények konvertálása értelmehető adatokká lineáris össefüggésként írható fel: xm a y b (.) x m a mért tömeg g-ban, y out a nyers adat, a és b pedig konveriós paraméterek. A mérést különböő külső hatások erősen befolyásolhatják. Ilyen befolyásoló tényeő lehet a erősítő erősítése, a aj nagysága vagy akár a híd meghajtó jelének amplitúdója. Ebből kifolyólag nem sabad a előbb leírt konveriós paramétereket konstansként beleégetni a programba. Sükséges egy kalibrációs folyamat, ahol a rendser képes néhány előre meghatároott próbamérés alapján kisámítani a adott feltételek esetén a illestett görbe tengelypontját és meredekségét (b és a). A paraméterek meghatároása a legkisebb négyetek módserével történik, aminek a elméleti háttere egy későbbi fejeetben les résleteve. A kalibrációs pontok 0 g-tól kedve 0 g-onként helyekednek el a 90 g-os végső értékig. E a felbontás lefedi a mérési tartományt és jól illeskedő görbe sámítható belőle. Lehetett volna végpontillestést is válastani kalibrációs módsernek, ám én aért nem emellett döntöttem, mivel jóval érékenyebb a egyseri hibákra. out 5
3 Felhasnált softverek és hardver elemek 3. A mérőrendser jelfeldolgoó egysége A jelfeldolgoásho a Analog Devices által gyártott ADSP-BF537 EZ-KIT [] típusú DSP kártyát hasnáltam. Főbb jellemői: ADSP BF-537-es processor 64 MB SDRAM 4 MB Flash memória Analóg audió interfés 4 bites DAC és ADC 48 kh mintavételi frekvencia stereó ki- és bementi jack aljat AC csatolás 0/00 Mbit-es ethernet csatlakoó CAN csatlakoó db UART csatlakoó JTAG (Joint Test Action Group) interfés 6 db programoható LED és 4 db programoható nyomógomb A BF-537-es jelfeldolgoó össetettsége miatt külön figyelmet érdemel. A egység főbb jellemői: Módosított Harvard architektúra 600 MH belső órajel 33 MH külső bus órajel 3 kb SRAM db 40 bites ALU (Aritmetical and Logical Unit, aritmetikai és logikai egység) db 6 bites MAC (Multiple and Accumulate) egység RISC utasításkéslet 8 lábas mini-bga tokoás Eekkel a tulajdonságokkal e a kártya alkalmas a feladat elvégésére. A audió interfés kellően nagy mintavételi frekvenciával rendelkeik a mérőhíd gerjestéséhe és a kimenetének nyomon követéséhe. Többfajta kommunikációs lehetőség is adott a 6
kártya és egy sámítógép vagy más beágyaott rendser köötti adatátvitelhe. A módosított Harvard architektúrának kösönhetően a processor egyserre fér hoá a program- és a adatmemóriáho is. A MAC egység segítségével egy órajel alatt el lehet végeni egy 6 bites sorást és egy össeadást, ami a jelfeldolgoás során hasnált eljárásokat jelentősen felgyorsítja (pl.: digitális sűrés, Fourier-transformáció). A nyomógombok lehetővé tesik a rendser veérlését a LED-eket pedig alkalmassá lehet tenni, hogy vissajelést adjanak a program státusáról. A 3.-es kép egy fénykép a DSP-ről. 3. Megjelenítést végő egység 3. DSP felülnéetből E a modul integrálva tartalmaa a LCD kijelőt és a et veérlő mikrokontrollert. A DSP-vel a UART-es porton kerestül kommunikál, és a tápellátásáról is a jelfeldolgoó egység gondoskodik. Et a kártyát egy korábbi hallgató késítette a diplomamunkája során. LCD kijelő: A LCD (Liquid Cristal Display) kijelő a nevét a benne lévő folyadék [3, 97 oldal] kristályról kapta. A folyadékkristály molekulái rendeettebbek, mint a folyadékoké, de nem annyira, mint a kristályoké. Egyes folyadékkristályok a fény 7
polariációs síkját elforgatják, de et a tulajdonságukat kis elektromos térerősség hatására elvesítik. A 90 fokos elforgatást okoó folyadékkristály lemet két keresteett polariátor köé helyeik, és egy tükröt helyenek a így kialakult rendser mögé. Ha semből fény éri a esköt, akkor a 90 fokos forgatás miatt mindkét polariátoron áthalad a fény és vissaverődve a tükörről világosnak látsik. Ha fesültséget kapcsolunk a folyadékkristály lemere, akkor már nem forgat 90 fokkal, így a belső polariátor kisűr minden fényt, sötét les. 3. A felhasnált kijelő Egy korábbi hallgató projektjéből rendelkeésre állt egy EW0400LY [4] típusú kijelő. Néhány fontosabb mechanikai adat a modulról: Megjeleníthető karakterek: 4 db sor, soronként 0 karakter Modul mérete: 98*60*4 mm Kijelő területe: 76*5, mm Karakter betűtípusa: 5*7 pixel + kuror A egység -0ºC +70ºC hőmérsékleti tartományban képes hossútávon működni. 90%-os páratartalmat bír ki kondenáció nélkül és a korrodáló anyagok ellen nem védett. A belső logika működéséhe +5 V-os tápfesültség sükséges. Lehetőség van a kijelő kontrastjának külső sabályására. Válastható a 4 vagy 8 adatvonalas kommunikáció, a fiikai kialakítás miatt én a 4 vonalast hasnáltam. A kijelő háttérsíne öld. 8
Kijelést veérlő mikrokontroller: A LCD kijelő veérlését egy ATmega3 [5] -es mikrokontroller látja el. E a típus 8 bites alacsony fogyastású mikrokontroller, amely megfelelően gyors, és elegendően nagy memóriával rendelkeik a terveett cél megvalósításáho. A chip néhány fontosabb tulajdonsága: RISC architektúra 3 utasítás, a legtöbb egy órajel alatt elvégehető akár 6 MIPS (millió utasítás/ másodperc) műveltvégési képesség 3*8 db általános célú register 6 MH-es órajel 6 kb flash memória, 0000 írás/törlés ciklus élettartam kb belső SRAM 5 byte EEPROM, 00000 írás/törlés ciklus élettartam JTAG interfés db 8 bites időítő/sámláló, külön előostóval és komparátor móddal db 6 bites időítő/sámláló, külön előostóval, komparátor és capture móddal 8 csatornás 0 bites ADC USART adó-vevő SPI interfés Programoható watchdog timer, saját oscillátorral 6 féle alvó üemmód Külső és belső megsakítási források 3 programoható I/O vonal Tápfesültség: 4.5 V 5.5 V, L típus esetén.7 V 5.5 V 3.3 VisualDSP++ A VisualDSP++ egy könnyen hasnálható integrált softverfejlestő környeet, ami a Analog Devices által gyártott Blackfin (ADSP-BFxxx), SHRAC (ADSP-xxx) és TigerSHARC (ADSP-TSxxx) processorcsalád tagjaiho késült. Eel a fejlestőkörnyeettel egyserűen és hatékonyan lehet menedselni a projekteket a kedettől a befejeésig. 9
A környeet assembly, C és C++ nyelvű forráskódokat képes feldolgoni, össelinkelni, majd rátölteni a DSP-re. A futtatható programot USB-n kerestül lehet a DSP-re tölteni. A debuggolásho többféle lehetőség is rendelkeésre áll. Hasnálhatunk beépített emulátort, simulátort és JTAG-en kerestül lehet visgálni a processor registereit, ha nem fut a program. A emulátorral lehetőség van a processor viselkedését testelni a sámítógépen. A JTAG-en kerestül nemcsak megfigyelni lehet a belső registereket, hanem módosítani is. Lehetőség van a memória tartományokat külső fájlból feltölteni vagy értékeiket fájlba kimásolni. A kártyán található flash memóriáról is lehet bootolni e lehetővé tesi, hogy ne kelljen mindig sámítógépről felprogramoni a kártyát hasnálat előtt. A törtsámok egyserű ábráolásáho rendelkeésre áll a fract6 és fract3 típus előre megírt könyvtári függvényekkel. 3.4 AVR Studio A AVR Studio egy integrált fejlestőrendser, amely a Atmel AVR mikrokontrollereihe késült. A környeet támogatja a össes AVR processorcsaládot, így egyserűen lehet vele menedselni mind a 8, mind pedig a 3 bites esköhö kapcsolódó projekteket. A rendser rendelkeik beépített fordítóval, assemblerrel és debuggerrel, eel is megkönnyítve a felhasnálók munkáját. A project varáslóban többféle beállítási lehetőség van a fordításho és a linkerhe is, majd eek kiválastása után el lehet kedeni a forráskód megírását. A fejlestőrendserrel JTAG-en kerestül is elérhetjük a processort, ami jelentősen megkönnyítheti a programok debuggolását. Sajnos nekem nem álltak rendelkeésre a mikrokontroller JTAG adatvonalai a felhasnált esköön. 3.5 Matlab A Matlab [6] egy univerálisan hasnálható matematikai program. Nevét a Matrix Laboratory kifejeés rövidítéséből kapta. A numerikus sámításokon kívül rengeteg beépített és külső kiegésítés léteik hoá a mérnöki és tudományos területek minden réséről. Een kívül rendelkeik egy magas sintű script nyelvvel algoritmus és program fejlestéshe. A numerikus sámítási módserek és matematikai függvények elvégése a lehető leggyorsabb futtatásho lett optimaliálva. Ahogy a nevéből is látsik főleg 0
vektor és mátrix műveletek gyors elvégéséhe lett a program megalkotva. Sokféle beépített funkciója van még, amik nélkülöhetetlenek a bonyolultabb problémák megoldása során. Néhány példa: differenciál- és integrálsámítás, Fourier analíis, lineáris egyenletrendserek megoldása, ritka mátrixok feldolgoása, interpoláció, regressió sámítás. A softver nagyon jó adatelemési és megjelenítési lehetőségekkel rendelkeik. Egyserűen be tudja olvasni a elterjedtebb söveges vagy bináris adatfájlokat, Excel táblákat, de a különböő kép, hang vagy videó fájlokat is. A fájlokon kívül adatokat nyerhetünk ki a sámítógép soros portjáról, hangkártyájáról és különböő esköökből, mint például egy oscilloskóp vagy spektrumanaliátor. A adatok ábráolására -D és 3-D megjelenítés is lehetséges. A magas sintű script nyelv sok könnyítést tartalma a többi programoási nyelvhe képest. A egyik legfontosabb a mátrixokkal és vektorokkal végett műveletek leegyserűsítése. További hatalmas segítség, hogy nem kell a váltoók deklarálásával és adattípusuk kiválastásával tölteni a időt. A memóriakeelés automatikus eel időt takarítunk meg és sok hibalehetőséget kerülünk el. A sámos egyserűsítés ellenére e a program mégis tartalmaa a hagyományos programoási nyelvek legtöbb előnyös tulajdonságát mint a hibakeelés, a objektumorientált programoás vagy a saját struktúrák létrehoásának lehetősége. A fejlestés során a Matlab-ot a becslési algoritmusok előetes testeléséhe hasnáltam. A jelfeldolgoó egység lehetővé tesi nagy mennyiségű nyers adat gyűjtését, amelyet Matlab-ban offline módon fel lehet dolgoni. A módser előnye, hogy a Matlab-os jelfeldolgoás egyserűen megvalósítható és testelhető, így a jelfeldolgoó processoron csak a legjobban teljesítő algoritmust kell implementálni. Mivel a beágyaott esköökön történő softverfejlestés hossadalmas és nehékes (PC-s fejlestéshe képest), a fejlestési idő eel a módserrel leredukálható.
4 Beágyaott esköök softverkomponensei 4. A jelfeldolgoó egység softvere A jelfeldolgoás folyamatáról már volt só a.3-as témakörben, most DSP softverének technikai jellegű bemutatása követkeik. A DSP működése megsakítás veérelt végrehajtású. E a jelenti, hogy vannak időkritikus feladatok és alacsonyabb prioritásúak. A időkritikus feladatok (pl.: jelfeldolgoás, időítés) egy megsakítási rutinban futnak, és a érdekükben a alacsonyabb prioritású (pl.: kommunikáció, sövegformáás) feladatok ideiglenesen felfüggestésre kerülhetnek. A folyamatok időítési diagramja a 4.-es ábrán látható. 4. DSP időítési diagramja A DSP softverének folyamatábrája 4. DSP softverének folyamatábrája
A 4.-es ábrán látható a DSP egyserűsített folyamat ábrája. A interruptkeelés (IT) dobo tartalma minden a jelfeldolgoásho kapcsolódó tevékenységet, mint a ajsűrés, burkoló detektálás, adatkonverió, becslési algoritmus, kalibráció vagy a felvétel. A DSP-nek 3 féle üemmódja van kööttük a váltás nyomógombok segítségével lehetséges. Üemmódok: Folyamatos mérés Kalibráció Felvétel Folyamatos mérés üemmód A legtöbbet hasnált üemmód, ebben történik a érdemi munka, a felhasnálónak sánt adat meghatároása és kijelése. A kimeneti jel a stereó hangkimenet jobb csatornáján kerestül jut a mérőhídho. A kimeneti érték sámolása során a váltoók fract6 típusúak. E egy beépített típus a VisualDSP++ fejlestőkörnyeetben, amellyel a 6 bites tört sámokat hatékonyabban lehet ábráolni, mint a C nyelvben hasnálatos típusokkal. A gerjestőjelként solgáló sinusjel előállítása a mérési eljárás fontos rése. E a fordító beépített könyvtári függvényeivel előállítható. A gerjestőjel generálását a követkeő pseudokód írja le, amely minden jelfeldolgoási ütemben (IT) lefut: φ = φ+δφ gerj = sin(φ) Δφ=f/f s, ahol f=6000 H, f s =48000 H Figyelembe kell venni, hogy a DA átalakító 48000 H-es mintavételi frekvenciával működik, így csak 4 kh alatti jel kiadására alkalmas. Mivel eek kicsi sámok, a sűrés esetén a négyetre emeléskor bionyos résük elveshet a sámábráolási módser miatt. Een okból kifolyólag a négyetre emelés előtt a sűrők kimenetét átkonvertáljuk float típusúvá és innentől kedve eel sámolunk tovább. A sűrés során FIR-sűrőt hasnáltam, ami bármilyen időben véges gerjestő jelre véges válast ad. A FIR-sűrés egy diskrét konvolúció, csak össeadásokból és sorásokból áll, aminek sámítását a DSP, a MAC utasítás gyorsasága miatt, 3
rendkívül hatékonyan képes elvégeni. Többfajta sűrőfoksám kipróbálása után, a hatékonyság és a processor hasnálat figyelembe vételével a 00 tap-es sűrő mellett döntöttem. Ilyen foksám esetén a sűrő már jó ajelnyomással rendelkeik a áró sávban, aránylag sűk a áterestő sávja mégis csak a processoridő 0%-át foglalja le, így más feladatokra is jut elegendő sámítási kapacitás. A sávsűrő együtthatóinak meghatároása Matlab segítségével történt. A kommunikáció a DSP és a mikrokontroller (valamint a PC-s Debugger) köött asinkron soros porton ajlik. A átvitel 8N keretű, aa 8 adatbit után nincs paritásbit és db stopbit található. A átvitel során hasnált simbólumsebesség 9600 Baud/s. Kalibráció üemmód Erről a üemmódról már írtam a.3-as fejeetben. A kijelőn folyamatosan követhetjük, hogy mekkora súlyt kell éppen felhelyeni. A lengés megsűnését a nyomógombokkal kell nyugtáni, majd egyből kiírásra kerül a követkeő mérési pont. A utolsó kalibrációs pont után megtörténik a egyenesillestés és automatikusan folyamatos mérés üemmódba kerülünk, ahol már a újonnan kalibrált paraméterek felhasnálásával kapott eredményeket láthatjuk. Felvétel üemmód Felvétel üemmód során a külső, nagy kapacitású SD memóriában folyamatosan eltárolásra kerülnek a mért értékek. A mérés idejének hossa előre bele van égetve a programba, így megváltotatása csak újrafordítás során történhet. Elindítása nyomógomb lenyomásával történik, leállása automatikus. Felvétel alatt is nyomon követhetőek a mért értékek a kijelőn. A üemmód fő célja, hogy lehetővé tegye a adatok offline feldolgoását. 4. A mikrokontroller softvere Kijelő keelése A ATMega3-es mikrokontroller a DSP és a LCD kijelő köötti egység. A rendelkeésre álló esköön úgy volt kialakítva, hogy csak een kerestül lehet megvalósítani a kommunikációt. Első lépésben inicialiálni kell a kijelőt. A folyamat során meg kell adni, hogy be van-e kapcsolva, 4 vagy 8 adatvonalas kommunikációt hasnálunk, akarunk-e kurort és ha igen villogjon-e. A megjelenítés során a alábbi függvényeket hasnáltam: 4
void lcd_init(): inicialiálja a kijelőt. 4 adatvonalas kommunikációt hasnáltam kikapcsolt kurorral. void lcd_cls (): törli a képernyő jelenlegi tartalmát minden pixelen. void lcd_putch(): kiír egy karaktert a megadott helyre. void lcd_putsrt(): kiír egy nullterminál stringet a megadott kedőhelytől indulva. UART keelése A mikrokontoller a DSP-től UART-on kerestül kapta a utasításokat. Inicialiálás után a softver folyamatosan figyeli a soros portot. Egy csomag tartalma egy veérlő karakter, majd egy sókö, et pedig egy érték követi két tiedes jegy pontossággal. A veérlő karakter vétele után a program megjeleníti a hoá tartoó söveget, majd a megfelelő helyre kiírja a csomagban kapott értéket. A kiírt söveg két féle lehet, attól függően, hogy folyamatos mérés vagy kalibrációs üemmód van érvénybe. A mikrokontroller softverének folyamatábrája 4.3 A mikrokontroller softverének folyamatábrája 5
5 Becslési módserek 5. Előetes visgálatok A becslési módser megalkotása előtt meg kellett tudni, hogy mi játsódik le a mérés során, milyen jelalakokra lehet sámítani. Ehhe elengedhetetlen volt néhány testmérés, ami alapján el lehetett kedeni a további munkát. Elősör megnétem a.6. ábrán látható sávsűrők kimenetét, ennek ábráolása a 5.-es ábrán található. 5. Sűrőkimenet A ábrán a sűrő kimenetének időfüggvénye látható. A mérés során egy próbasúly lett felhelyeve kb. másodpercnél. Mivel csak a amplitúdót ábráoljuk ugyanolyan a képe a sima- és a Hilbert-sűrőnek is, mivel csak a fáisuk különböik. A fenti kép 6 másodperc felvételét mutatja, e 768000 db float típusú sám. Ekkora adatmennyiség tárolása a DSP belső memóriájában nem lehetséges, eért a külső SDRAM-ban lettek elhelyeve, ahonnan USB porton kerestül néhány másodperc alatt a sámítógépre lehet másolni a memóriaterület tartalmát. A y tengelyen a értékek a nyers adatok, amelyekből néhány egyserű matematikai művelettel megkapható a grammban értelmeett tömeg a (.) egyenlet alapján A két sűrő kimenetét négyetre emelés, össeadás, majd gyökvonás után, tehát a (.) egyenletben leírt burkolósámítást követően, a 5.-es ábra mutatja: 6
5. A burkoló időfüggvénye A képen a y értékek még nyers mérési eredmények. A ábrán jól látható, hogy a súly felhelyeése után egy meredek felfutás követkeik, majd mivel a rendsernek nincs jelentős külső csillapítása, egy sépen kirajolódó lassú exponenciális burkolójú lecsengés a válas. 5.3 Aonos súllyal végett mérések 7
A 5.3-as ábrán a y tengelyen már a grammban kisámított súly serepel. A képen három mérés ábráolása található, mind a három mérés 50 g-os súly felhelyeése utáni jelalakot ábráol, de minden alkalommal más magasságból lett felhelyeve (-4 mm) a próbasúly a serpenyőre. A végérték minden testmérésnél aonos lett, de a lengések kedeti amplitúdói nagyon séles skálán váltonak. A beállás a végértékhe 5-0 másodpercet ves igénybe, ami meglehetősen sok. A kapott eredmények alapján sükség van valamilyen becslési eljárásra, ami a beállási időnél jóval kevesebb alatt ad egy előkalkulációt a végértékre vonatkoóan. Én a alábbi módsereket vettem sámításba, amelyeket a 5.3-5.6 alfejeetekben ismertetek: Exponenciális átlagolás Kedeti meredekség alapján sámítás Amplitúdók átlagolása Rendser identifikáció 5. Rugó-erő modell Első megköelítésben a mérlegserkeetét egy másodrendű lengő rendsernek tekintettem. Ebben a alfejeetben a másodrendű rendserek legfontosabb tulajdonságait mutatom be, amelyeket a becslési módsereknél felhasnálok. E a modell egy olyan tömeg viselkedését írja le, ahol kimodítás után a test nem sabadlengést vége, hanem valamilyen belső csillapítás miatt megáll egy idő után. A modell semléltetése a 5.4-es ábrán látható: 5.4 Belső csillapítással rendelkeő másodrendű lengőrendser ábrája 8
A modellben sereplő m tömegű test egy k rugómerevségű rugóval és egy c belső csillapítással csatlakoik egy felülethe. A rendsert leíró differenciálegyenlet a (5.3)-as egyenlet tartalmaa [7] :... m x c x k 0 (5.3) Ennek a differenciálegyenletnek a megoldását (5.4)-es képlet adja meg: x t t Ae t cos (5.4) Ahol A a kedeti amplitúdó, a kedeti fáis, t a eltelt idő, a csillapítatlan körfrekvencia, a pedig a rendser csillapítási visonya. A csillapítási visony kisámítható a differenciálegyenlet paramétereiből a alábbi képlettel: c (5.5) k m A egyenlet megoldásából látható, hogy a x(t) pillanatnyi kitérés értékei függenek a kedeti amplitúdótól, a csillapítástól és a első amplitúdó óta eltelt időtől. A időt és a amplitúdók nagyságait meg lehet határoni a mért időfüggvényből, ebből sámolható les a. Amint megvan e a érték c és k konstansok ismerete esetén, meg lehet határoni a m tömeget is. A k konstans meghatároható egy egyserű méréssel. A rugómerevség mértékegysége N/m, vagyis le kell mérni, hogy ismert súly felhelyeése esetén mekkora a elmodulása a nyúlásmérő bélyegekkel ellátott leme végének. A két érték hányadosa les a rugómerevség. A c belső csillapítás meghatároása nem egyértelmű ennyire, ugyanis nincs fiikai megfelelője a mérlegserkeeten, mint a c- nak, eért vissafele sámolással egyserűbb dolgunk van. A testmérések adataiból lehet sámolni -t, k és m ismert, így c k m. sámolása: a exponenciális függvénynek 3 paramétere van, de mivel én a e alapúval sámolunk e a sám -re redukálódik. Eek köül a egyik a tengelypontot meghatároó soró (A), a másik pedig a kitevőben lévő konstans soró ( ), így a lecsengés függvénye, amiből -t sámoljuk a t y leképeés esetén a követkeő: y Ae t (5.6) Mivel e egy két ismeretlenes egyenlet sámításáho mérési pont kell. Amint e rendelkeésre áll meghatároható a (5.7)-es egyenlet alapján: 9
y ln y t t (5.7) 5.3 Exponenciális átlagolás A lengést, mint sinusos avarkomponenst tekintve a becslés pontossága várhatóan javítható een sinusos komponens eltávolításával, kisűrésével. A sűrésre aluláterestő sűrőt kell hasnálni, mivel a hasnos jel (végérték) egy DC komponens. Első megköelítésben a aluláterestő sűrők egyik legegyserűbb formájával, a exponenciális átlagolóval foglalkotam. Másik neve a felejtő átlagolás [8, 59. oldal.]. E egy súlyoott átlagolás, amely egy paraméterrel rendelkeik, a α-val és sámításáho csak a adatsor előő adataiból kapott exponenciális átlag és a adatsor legutolsó új értéke sükséges. A sámítás módja a (5.8)-as képleten látható: n yn xn y (5.8) Ahol y(n) jelöli a új elem figyelembevételével kapott átlagot, y(n ) a új elem nélküli exponenciális átlag, x(n) a új elem, α pedig egy 0 és köötti sám. A egyenletbe rekurívan vissahelyettesítve a előő elemeket a követkeőt kapjuk: y n yn α xn α y(n ) α xn α xn α n n α x α xn α xn α x 0 (5.9) A képlet kifejtéséből látható, hogy a régebben megfigyelt értékek exponenciálisan csökkenő súlyoással serepelnek a n-dik ütemben kapott végértékben. Innen kapta a felejtő átlagolás nevet, hisen ahogy haladunk előre a időben fokoatosan tűnnek el a régebbi értékek. Valójában nem felejtődnek el a régebbi megfigyelések, hisen értékük csak a végtelenben les 0. A exponenciális átlagolás nagy előnye kicsi a memória igénye, mivel csak a előő átlagértéket és a α paramétert kell tárolni. A kevés váltoó és paraméter felhasnálásból követkeik, hogy a sámításigény sokkal kevesebb, mint más módserek hasnálata esetén. 30
5.4 Kedeti meredekség alapján történő súlybecslés A sabadon eső tárgyak köel aonos gyorsulással indulnak el lefelé elengedés után, et valamennyire befolyásolja a légellenállás, de általában ettől eltekintünk. A mérlegserkeetnek van valamekkora tehetetlensége, e nagyban befolyásolja a kedeti gyorsulást. Ebből kifolyólag kisebb súlyok esetén kevésbé les meredek a felfutási sakas, mint a nagyobb súlyok felhelyeésekor. Ha egyserű arányosság van a két mennyiség köött egyserűen becsülhető a súly. 5.5 Amplitúdók csúcsainak átlagolása A 5.3 alfejeetben leírt gondolatment alapján, a mérleg kimenőjele egy végérték körül leng, és een végérték a lengő jel DC értéke, tehát átlaga. Ennek megfelelően a átlagolást is a végértékbecslés egy potenciális lehetőségeként visgáltam. E a módser több lépésből épül fel. Elősör meg kell keresni a lokális sélső értékeket. Eek alapján lehet sámolni egyserű átlagot, majd ennek a felhasnálásával súlyoott átlagot. Sélső érték keresés: A egyik legegyserűbb becslési eljárás, ha egy bionyos sámú mérési eredménynek vessük a sámtani átlagát. Ehhe rengeteg adatot kellene letárolni, és a feldolgoás is hossú időbe telne. Ebből adódik a a kéenfekvő megoldás, hogy csak olyan speciális pontokat tárolunk el, amiket könnyű megkülönbötetni a többitől, mégis jól repreentálja a eloslásukat. Erre a célra a legmegfelelőbbek a lokális amplitúdó maximumok és minimumok. Eeket a akár maximum, akár minimum sélsőértékeket a továbbiakban csúcsoknak neveem. A 5.5-ös ábrán láthatóak a 6.3-as alfejeetben ismertetésre kerülő algoritmus által megtalált csúcsok rárajolva a adathalmara, ahonnan ki lettek válogatva. A poitívak piros sínnel, a negítavak pedig ölddel vannak kiemelve. 3
5.5 Időfüggvény, poitív és negatív amplitúdó sélsőértékekkel A 5.6-os ábrán látható köelről a lengés köelről. Pirossal vannak ábráolva a csúcsok, csak eekkel a értékekkel foglalkook a módser további résében. 5.6 A időfüggvény eleje kinagyítva 3
Egyserű átlagolás: E a módser a megtalált poitív és negatív csúcsok egyserű átlagát vesi a követkeő módon: m N N y i i (5.0) A előnye, hogy rendkívül egyserű a algoritmus és a hogy robostus. A hátránya, hogy nem a legpontosabb a így kapott érték, mivel e a módser nem vesi figyelembe, hogy a poitív és a negatív csúcsok köött eltelt idő miatt a későbbi csúcs már valamivel kisebb mivel hat rá a csillapítás, tehát a poitív és negatív csúcsok nem ejtik ki egymást tökéletesen. Aért, hogy et a pontatlanságot csökkentsük súlyoott átlagolást célserű hasnálni. Súlyoott áltagolás: A egyserű átlag várhatóan javítható, ha figyelembe vessük, hogy a csúcsértékek köel exponenciálisan csökkenve követik egymást. Feltételeve, hogy a időfüggvény a végérték körül lengő exponenciálisan csillapodó sinus, ahol a lengés amplitúdója A, a köépértéke (a becslendő végérték) x 0, a egymást követő poitívnegatív csúcspárok értéke (y i érték a 5.6-os ábrán jelölve) ideális esetben a követkeők lesnek: y x A y 0 c x A 0 c y y x A 3 0 c3 x A (5.) 4 0 c4 Ahol c i a csillapítás miatti amplitúdó csökkenés, értéke: c ( t i t 0 ) i e (5.) t 0 -at tekintjük a lengés kedő időpontjának, t i a y i edik csúcsho tartoó időpont. Algebrai átalakítások után belátható, hogy a x 0 végérték a követkeő módon sámítható: 33
x y c y c y n 0 c c cn c n (5.3) Feltételeük, hogy páros sámú adatot dolgounk fel, így a poitív és a negatív tagok kiejtik egymást, mint ahogyan a (5.) egyenletben is látható. E a módser tehát a mért sélsőértékek súlyoott átlagából becsüli a végértéket. A algoritmus nagyban épít a ζ csillapítási tényeő ismeretére, a követkeőkben ennek meghatároására térek ki. A csillapítási tényeő meghatároására két módsert visgáltam: ζ becslése két pontból: a 30. oldal alján és 3. oldal tetején ismertetett eljárásnak megfelelően a (5.7)-es képlet alapján. A képletben sereplő y és y értékek, valamint a t, t időadatok a sélsőérték kereső algoritmus segítségével kaphatóak meg. ζ becslése több pontból: a tapastalatok alapján két pontból történő becslés nagyon érékeny a mérési hibákra, így testeltem több pontra történő becslést is. A több pont felhasnálásával történő illestés a módserével csupán a végérték körüli lengést visgáljuk, eért y i pontokat a x 0 végértékkel el kell tolni, hogy nulla körüli lengést kapjunk. Paradox módon, ehhe a mérni kívánt x 0 végértékre lenne sükség, de een ponton annak egy kevésbé pontos módserrel (pl. egyserű átlag) előállított becslőjét hasnáljuk. Ahho, hogy meghatárouk a csillapítást, a első csúcs előtti rést figyelmen kívül kell hagyni, és a egés függvényt el kell tolni úgy, hogy a köépértéke a 0-ban legyen. Eután vessük a függvény absolút értékét, eel művelettel a minimum csúcsok átkerülnek a poitív félsíkra. Ekkor a kapott értékek a csúcsok távolságát adják meg a köépértéktől sámítva. Eek a értékek időben előrehaladva exponenciálisan csökkennek, és a csökkenés időállandója a ismeretlen ζ paraméter. A feladat tehát egy paraméterbecslés, ami a mérési pontokra történő exponenciális függvény illestésével oldható meg. Exponenciális görbeillestést érdemes úgy megvalósítani, hogy vessük a adatok logaritmusát: Ae t ln t Ae t lne lna t lna (5.4) ahol ζ a csillapítási tényeő, t a idő vagy a mintasám (a kettő köött csak egy konstans soró van), A a kedeti csúcsérték. Látható, hogy egy lineáris függés van a logaritmus 34
elvégése után, mégpedig egy konstans értékről csökken a időfüggvény, aminek a meredeksége éppen a exponenciális csillapítási tényeő. A ekképpen transformált adatokból ζ lineáris regressióval meghatároható. A regressiósámításho a legkisebb négyetek módserét hasnáltam. A eljárás onnan kapta a nevét, hogy a hasnálat során a eltérések négyetössegét igyeksünk minimaliálni. Tetsőleges foksámú polinom illesthető a mérési adatokra, a jelenlegi esetben a első fokú (egyenes) elég pontos. x y leképeés esetén a y=f(x) képletben a x i értékek a mérési pontok a y i -k pedig a mért értékek. Erre a adathalmara akarunk olyan ŷ=f(x) függvényt illesteni, ahol a kumulált kvadratikus hiba (Q) minimális. A hiba sámítása: Q n i y i y i (5.5) Első fokú köelítés esetén ŷ=ax+b, ahol a a egyenes meredeksége és b a tengelypontja. A hiba csak akkor lehet minimális, ha minden paraméter (a,b) serinti parciális derivált nulla. Q 0 b Q és 0 a (5.6) Behelyettesítve a ŷ-ot Q-ba és elvégeve a deriválást a alábbi eredményeket kapjuk: Q b n i n mx b y a x nb y 0 i i n n Q i i i i a i i i i n ax b y x a x b x x y 0 n i i i n i i i i (5.7) (5.8) Eekből a egyenletekből a-t és b-t kifejeve: a y n i i xi yi i n és n x n i i x i n i n b n y m n n i i i x i (5.9) Amint kisámítottuk a meredekséget, tudjuk sámolni a csillapítást is a (5.0)-as egyenlet alapján: 35
a e (5.0) A résletsámítások kölését követően, a súlyoott átlagolásra kidolgoott módser a követkeő módon foglalható össe:.) y i sélsőértékek mérése, hoájuk tartoó x i időadatok mentése.) x 0 első becslése (5.0) alapján 3.) yi yi x0 eltolás 4.) y ln logaritmus transformáció végrehajtása a eltolt pontokon i y i 5.) lineáris regressióval x i és y i párosokból (5.9) és 5.(0) alapján ζ becslése 6.) (5.) alapján c i sámítása 7.) (5.3) alapján x 0 sámítása a eredeti y i értékek alapján. x 0 tekinthető a becsült tömegnek. 5.6 Rendseridentifikáció A identifikáció során meghatárouk a rendser empirikus modelljét. At feltételetem, hogy a rendser egy másodrendű lengőtag jól köelíti. Ennek a átviteli függvénye: H s A s 0 (5.) 0 s A képletben A 0 a körerősítés, ζ a csillapítás és ω 0 pedig a csillapítatlan körfrekvencia. Vegyük úgy, hogy a rendser gerjestése a egységugrás és a körerősítés pedig a felhelyeett súly nagyságával arányos, így A 0 -at kell meghatároni. E a átviteli függvény folytonos időben írja le a rendsert, de a AD átalakító 48 kh-es mintavételi frekvenciával digitaliálja be a jelet, így diskrét idejű les a feldolgoás. Folytonos időből a bilineáris transformáció felhasnálásával alakíthatjuk a rendserünket diskrét idejűvé [9, 44 oldal]. Et a követkeő helyettesítéssel tudjuk elvégeni: 0 36
37 T s s (5.) A (5.)-es egyenletet behelyettesítve a (5.3)-esbe, a követkeőt kapjuk: 0 0 0 4 T T A H s H s s (5.3) Hasnáljuk fel a követkeő konstans jelöléseket: T s k 0 és 0 4 T s k (5.4) Helyettesítsük be eeket, majd sorouk be a tört sámlálóját és neveőjét is (+ - ) - el. Eel nem váltotatjuk meg a értékét, mivel össességében -el sorouk meg. 0 k k A H (5.5) A árójeleket felbontva, majd a tagokat foksám serint rendeve a követkeőhö jutunk: 0 k k k k k A H (5.6) Ahho, hogy et a átviteli függvényt a megsokott formára houk a neveőből ki kell emelni (+k +k )-t. 0 k k k k k k k k k A H (5.7) Veessük be a követkeő paramétereket: k k k l, k k k k l és 0 k k A A (5.8) Behelyettesítve eeket a paramétereket sokkal keelhetőbb alakú les a átviteli függvény. A átviteli függvény a válasjel és a gerjestés hányadosa. l l A H U Y (5.9)
A kerestsorás elvégeve a követkeő rekurív össefüggést kapjuk y n-edik ütemére: y n A un A un A un l yn l y( n ) (5.30) A célunk A, l és l paraméter meghatároása. Mártixos formában felírva et a egyenletet, a össes időpontra: y U p (5.3) A (5.3) egyenletben y=[y(0) y() y(n)] T tartalmaa a rendser mért kimenetét, p=[a l l ] T tartalmaa a becsülni kívánt paramétereket, U-t pedig a időben eltolt u(n) és y(n) értékek alkotják. A mérési ajok és modelleési hibák miatt egakt egyenlőség nem írható fel, de a eltérés négyetes értelemben minimaliálható, ha p-t a követkeő módon válastjuk: [9, 384] : p T T U U U y (5.3) E a módser p sámolására lényegében egy többváltoós regressió sámolás, ahol U tartalmaa a magyaráó váltoók vektorait és y a eredmény vektor. A Matlab een modellparaméterek meghatároására tartalma beépített függvényt, pl. a System Identification toolbox arx() parancsát. Aért ismertetem résletesen a paraméterbecslést, mert sem előtt kell tartanom, hogy amennyiben a módser ígéretes, implementálni kell a jelfeldolgoó processoron, e pedig a eljárás alaplépéseinek ismeretét. A identifikációho sükséges u(n) gerjestés ismerete. Itt feltételetem, hogy a gerjestés egységugrás: u(n) =, ha n 0 és u(n) = 0, n < 0, tehát a súly felhelyeését követően egyenletes a terhelés. A ráhelyeett súly tömegét nem a gerjestésbe, hanem a rendser körerősítésébe foglalom bele, így matematikailag egyserűen keelhető a probléma, hisen a tömeg ismeretlen, így célserű at a egyébként is meghatároandó rendserparaméterekbe belefoglalni, nem pedig a gerjestésbe. Amint a A 0, l és l paraméterek ismertek, a végérték tétel [9, 440 oldal] segítségével meghatároható, hogy a rendser kimenete milyen értéket ves fel állandósult állapotban, ha a gerjestés egység ugrás: lim F lim H m ki 38
4 lim H A l l (5.33) 39
6 Becslési módserek megvalósítása és hasnálhatósága Ebben témában a 5. fejeetben ismertetett becslési módserek implementálása és testelése olvasható. 6. Exponenciális átlagolás A előő fejeetben említett yn yn α xn α képlet hasnálata esetén kettő váltoót kell tárolni, a y(n )-et és a α paramétert. A exponenciális átlagolás alkalmaását a 6.-as ábra mutatja: 6. Exponenciális átlagolás α=0.00 és 0.000-es paraméterrel A ölddel ábráolt görbe a átlagolás nélküli időfüggvény, ennek a adataiból lett a többi görbe kisámítva. A kék sínű görbe α = 0.00 értékkel lett átlagolva. A eredmény a lett, hogy egy rövid, köel másodperces, felfutási sakas után a átlag a végérték körül leng, majd a idő múlásával e a lengés csillapodik, ahogyan a időfüggvény is. A pirossal ábráolt görbe α = 0.000 paraméter alkalmaásával késült. 40
Látható, hogy ilyen kicsi paraméter válastása esetén a beállási idő nagyon megnövekedett, de a lengés sinte teljesen eltűnt. Eek után válastottam egy olyan α értéket, ami a két előő köé esik és eel testeltem a módsert. A eredmény a 6.-es ábrán látható. 6. Exponenciális átlagolás α=0.0005 paraméter alkalmaásával A α = 0.0005 paraméterválastás esetén ötvöődik a előő két paraméter előnye. A beállási idő kb. másodperc, de semmel látható módon a apró lengések kb. 0 másodperc elteltével tűnnek el. A módser előnyös tulajdonságai köé tartoik, hogy kis tárhely igénye van, nagyon gyorsan és folyamatosan sámolható, hisen csak két sorás és egy össeadás. Teljesen éréketlen a nulladik elem helyére és értékére és jó a avartűrése is. A módser egyserűen implementálható és könnyen hangolható. 6. Kedeti meredekség alapján sámítás Ahho, hogy et a módsert eredményesen lehessen hasnálni bitosítani kellett, hogy aonos kedeti feltétele legyen a mérleg serpenyőjének minden méréskor. E at 4
jelenti, hogy amint elindul a mérés csak a felhelyeett test tömegével legyen arányos a kedeti kimenet külső avaroktól mentesen. Ilyen avar lehet, ha néhány mm magasról esik a serpenyőre a test, vagy a test felhelyeése előtt leng a serpenyő. Eek elkerülésének legcélserűbb módja, ha a nyúlásmérő bélyegeket tartalmaó lemere kitámastott állapotban helyeük fel a mérni kívánt tömegeket, majd a kitámastás oldalra való gyors kihúásával indítjuk a mérést. A különböő súlyok testmérésekor kapott eredményeket a 6.3-as ábráolja: 6.3-as ábra A rósasín időfüggvény 0 g-os súly mogását ábráolja, a piros 30 g-osat, a öld 50 g-osat a kék pedig 70 g-osat. A 6.4-es ábra köeli kép eek felfutásáról: 4