Budapest University of Technology and Economics Összetett mérési rendszer tervezése Elektronikus Eszközök Tanszéke Ender Ferenc mikofluidika.
Áttekintés Integrált hardver platform és PC alapú mérésvezérlés A rendszertervezés folyamata Funkcionális rendszerterv, HW-SW szétválasztás Implementációs kérdések: architektúra, sebesség, pontosság Mikrofluidika, Lab-on-a-Chip, mikrofluidikai platformok Mikrofluidikai tesztkörnyezet: rendszertervezés A tápellátás tervezési elvei Architektúra, buszrendszer és kommunikáció Firmware tervezés: vezérlés és állapotgép NI LabVIEW platform Programtervezési minták Szabályzókör kialakítása összetett mérési rendszerben 13-04-30 2
Integrált hardver platform Mérésvezérlés PXI Modular Instrumentation Desktop PC Laptop PC PDA Kommunikációs interfész High-Speed Digitizers High-Resolution Multifunction Dynamic Digitizers and DMMs Data Acquisition Signal Acquisition Instrument Control Digital I/O Counter/ Timers Machine Vision Motion Control DAQ és DSP interfész Signal Conditioning and Switching DUT interfész: szenzorok és beavatkozók Unit Under Test Distributed I/O and Embedded Control
PC alapú mérésvezérlés Bemeneti/Kimeneti jelek Jelkondicionáló hardver Adatgyűjtő hardver Analóg Digitális Számláló, Időzítő Érzékelők Beavatkozás Motorok Relék Modul meghajtó hardver ZH Meghajtó- és felhasználói programok
A rendszertervezés folyamata Specifikáció A megvalósítandó feladat pontos körülírása Akkor jó, ha a másik fejlesztőcsapat ugyanazt hozza létre! Rendszerterv Az összes megvalósítandó feladatrész blokkokra bontása és az azok közötti kapcsolatok leírása A konkrét implementáció itt még nem eldöntött! ZH
Rendszerterv példa - ébresztőóra
Rendszertervezés Hardver szoftver szétválasztás Mit milyen platformon érdemes megvalósítani (szoftver, firmware, hardver, kontroller, DAQ, beágyazott rendszer) Specifikációs adatok, költség stb. figyelembevétele ZH
Rendszertervezés ZH Funkcionális rendszerterv Hardverre és szoftverre külön alkalmazható A részfeladatok funkciók szerinti lebontását mutatja Bitvonalszám, moduláris felépítés, célhardverek Architektúra terv Célhardverek kiválasztása és összerendelése a becsült számítási igény szerint Elosztott vagy központi intelligencia Autonóm (beprogramozott) működés PC vezérelt működés Távvezérelt működés Belső kommunikációs protokollok
Sebességbecslés A szükséges számítási kapacitás meghatározói Jelfeldolgozási feladatok Soros vs. párhuzamos végrehajtás Problémaméret és órajel Szabályozási feladatok A szabályozott paraméterek száma A folyamat dinamikája, időállandók A szabályozási kör leglassabb része határozza meg a szabályzás sebességét! Belső kommunikáció Kommunikációs overhead Soros vs. párhuzamos kommunikáció Zavarvédettség Natív átviteli sebesség Ökölszabályok a beavatkozási időre: PC (USART, USB, Ethernet): ~200 ms (!), Belső kommunikáció (SPI, I2C): ~1 us, Mikrovezérlőn belül futó beavatkozó: <1 us ZH
Bevezetés Mi a mikrofluidika? Minden olyan mikrorendszer mikrofluidikának tekinthető, ahol a rendszerben mozgó folyadékok nem makroszkópikus módon viselkednek A mikrofluidika fő felhasználási területei manapság: Orvosi és kémiai diagnosztika Integrált áramkörök hűtése Nyomtatóipar A mikrofluidikai rendszerek kutatása, tervezése és alkalmazása kapcsán érintett tudományterületek: Villamosmérnök (kutatás és fejlesztés: szenzorok, aktuátorok, technológia) Fizikus (kutatás: a mikrotartomány hatásai) Gépészmérnök (kutatás és tervezés: az áramlás leírása) Orvos és biológus (kutatás és fejlesztés: alkalmazások) 10
Mikro és fluidika Fluidika - tehát folyadékokkal foglalkozó Mikro, ebben a jelentésben legalább egy az alábbiakból: Kis térfogatok (μl, nl, pl) Kis méret (mm, μm) Alacsony energiafelhasználás A mikrotartomány hatásai (lamináris áramlás, felületi feszültség, diffúzió, csatolt hőtranszfer) A mikrorendszerek tipikus erősségei (sorozatgyárthatóság, párhuzamosíthatóság, reprodukálhatóság) 11
Esettanulmány: Lab-On-a-Chip 12
Esettanulmány: Lab-On-a-Chip Az influenzavírus kimutatása 240 nl mintából 13
Esettanulmány: Lab-On-a-Chip Minta betöltés Polimeráz láncreakció (PCR) Restrikciós enzimes bontás Elektroforézis Villamosmérnöki feladatok Folyamatvezérlés Termikus vezérlés Termikus tervezés Szelepvezérlés Folyadék aktuáció vezérlése 14
Mikrofluidikai platform Egy mikrofluidikai platform... lehetővé tesz egy sor fluidikai műveletet fluidikai elemeken (reagensek, pufferek) melyeket úgy terveztek, hogy egymással keveredve reakciót végezzenek a reakciók lefolyása a rendszerbe ágyazott szenzorokkal figyelhető a folyamat a platformról, külső vagy belső aktuátorokkal irányítható mindezt jól körülírt és lehetőleg olcsó technológián valósítja meg 15
Mikrofluidikai tesztkörnyezet
Rendszerterv
Funkcionális blokkvázlat
Architektúra terv
Mechanikai tervezés
Rendszerplatform IEEE 1101.10
A tápellátás tervezés kérdései Precíziós, analóg áramkörök SNR-jét nagyrészt a tápból beszűrődő zavarok rontják le Digitális és analóg illetve teljesítmény áramkörök mindig külön tápellátásról üzemelnek Igen kritikus analóg részeknél akkumulátoros táplálás is gyakori Nagyáramú/nagyteljesítményű tápellátás méretezésénél a pillanatnyi csúcsteljesítmény fölé kell tervezni! Analóg áramköröknél gyakori igény a szimmetrikus tápfeszültség A különböző tápok földjei az egész rendszerben csak egyetlen ponton kapcsolódhatnak össze! Tápegységek zavarszűrése párhuzamos kerámia és ELKO kondenzátorral Kritikus áramköri részek (IC-k) külön szűrhetők Fontos az elhelyezés a készüléken belül ZH
A tápellátás tervezés kérdései ZH
Buszrendszer
Kommunikáció a buszon
Általános kapcsolási séma
Modulspecifikus kapcsolás
Általános PCB séma Általános rész Modulspecifikus rész
Modulspecifikus kapcsolás
Parancsvégrehajtás
Parancs és regiszter példa
Programvezérlési minták Állapotgép - Állapotkód - Állapot-tranzíciós kód - Állapot-átmeneti feltétel (időzített v. eseményvezérelt) - Mindig szinkron - Nehezen párhuzamósítható ZH
Programtervezési minták Master-Slave minta - Egyirányú Adatvesztéses Master szerinti időzítés Nincs bufferelés Slave-k egymástól nem függenek - Slave szinten párhuzamos ZH
Programtervezési minták Producer-Consumer minta - Nem biztosított szinkron - Párhuzamosan működtethető - Bufferelt, nincs adatvesztés - Buffer túlcsordulás kérdése ZH
Firmware működés vázlata
A firmware általános sémája Modul specifikus kód Általános kód (lib) *command[] pointer main.c commandip.c bus.c interrupt parancs vektorok kiválasztás SLAVE mode állapotgép init while(1) parancs vektor MASTER mode állapotgép modulefcn.c usart.c Modul specifikus PC kommunik.
Firmware állapotgép ZH
Forráskód betekintés
A LabVIEW és más programnyelvek LabVIEW = Laboratory Virtual Instrumentation Engineering Workbench A LabVIEW adatfolyam típusú programozási nyelv. Az adatok irányítása két művelet között irányított gráffal történik. Az adatfolyam típusú programnyelvek deklaratívak, tehát (az imperatív nyelvekkel ellentétben) nem az a fontos hogy a dolgok hogyan történnek, hanem az, hogyan kapcsolódnak egymáshoz
Imperatív vs. deklaratív programpélda function btn_start_callback(hobject, eventdata, handles) t = 0:pi/20:2*pi; k=0; y = sin(t); h = plot(t,y,'ydatasource','y'); while (get(handles.ck_run,'value')) k=k+0.1; f=get(handles.sl_freq,'value'); y = sin(t.*f+k); refreshdata(h,'caller'); drawnow; pause(.1); end
Front panel és Blokk diagram 41
Néhány fontosabb kiegészítő (Toolkit, Modul) Modulációs PID szabályozás Szimulációs Hang és vibráció analízis 2011.09.07. Virtuális műszerek a mérnöki gyakorlatban (VIEEAV04) 44/23
Mikrofluidikai tesztkörnyezet szoftveres rendszerterv
Beágyazott állapotgép - Az állapottranzíciókat a felérendelt struktúra határozza meg, így nincs tranzíciós kód Init Time critical requests Wait Read values Action
- Esettanulmányok szabályzásokra Szakasz - - Leírása analitikusan, numerikusan, méréssel, identifikációval A szakasz időállandói határozzák meg a szabályozó köridejét Helyes működésnél a szabályozó körideje kisebb a szakasz időállandójánál. Szabályozó - A szakaszhoz és a feladathoz illeszkedik Ha a szakasz változik, a szabályozó is változhat (adaptív szabályozó, pl. Fuzzy szabályozó) A szabályozó periódusideje a kör periódusidejével egyenlő Implementáció: hardveresen (pl. műveleti erősítőből épített integráló), szoftveresen (PC-n, uc-n, FPGA-n) Az implementációs platform kiválasztásánál a sebesség és a számítási igény a meghatározó Számításigény Kis periódusidő Nagy pediódusidő Alacsony Mikrokontroller / Analóg ák. PC (LabVIEW) / Analóg ák. Magas FPGA / DSP PC (LabVIEW) ZH
Esettanulmányok szabályzásokra Szenzor és beavatkozó A szenzor válaszideje a kör periódusidejénél kisebb Szenzor kiolvasás, A/D, adatátvitel kérdése, bufferelés Szenzor jelének feldolgozása: egyszerűbb esetben analóg szűrés Számításigényes esetben (digitális szűrés, képfeldolgozás) célhardveren célszerű implementálni Beavatkozás módja: folyamatos v. diszkrét idejű Adatátvitel Megszabja az implementációt: folytonos v. diszkrét Fix késleltetésű adatátvitel, kompenzáció: Smith prediktor ZH
1. Hidrodinamikai fókusz szabályzása
Hidrodinamikai fókusz szabályzása
Hidrodinamikai fókusz szabályzása ZH Képfeldolgozási algoritmus implementálása a célhardveren a szenzorjel előállításához, szabályozó a PC-n fut. Megvalósítási platform Megvalósítási platform A szakasz időállandója kb. 300 ms, így a PC-n futó szabályozó még éppen használható. A szenzor jel előállítása viszont számításigényes, az ehhez szükséges képfeldolgozási algoritmus a SmartCamera processzorában fut.
Identifikáció modellillesztéssel
Forráskód betekintés és videó
Áramlásszenzor szabályzása A szakasz időállandója kb. 50 ms, így a szabályozó megvalósítási platformja a modult vezérlő mikrokontroller. Így megoldható a ~1 ms szabályozási köridő.
Áramlásszenzor
Áramlásszenzor szabályzása Identifikáció szimulációval
Áramlásszenzor szabályzása Nagysebességű szabályozás mikrokontrollerel, adaptív paraméterállítás LabVIEW-ből Megvalósítási platform ZH
Időmultiplexált érzékelés és beavatkozás
Időmultiplexált érzékelés és beavatkozás
Áramlásszenzor karakterisztika
Forráskód betekintés
Nyomástranziens korrekció
Nyomástranziens korrekció Adatgyűjtés nagyfelbontású A/D-vel crio-n keresztül Megvalósítási platform ZH
Nyomástranziens korrekció Identifikáció méréssel A szakasz időállandója kb. 8 sec, így a szabályozó megvalósítási platformja a PC-s LabVIEW vezérlő, illetve abban megvalósított PID szabályozó. A szabályozó körideje kb. 200 msec.
A szabályozó működése
Forráskód betekintés
ZH példa ZH Egy mini - klímakamra vezérlőjét készíti el. A kamra időállandója 120 sec, a hőmérsékletmérést 0.05 oc pontossággal valósítják meg egy műveleti erősítővel A=500 erősítés mellett. A kamra 300 W-os, 24V-os fűtése egy relével ki-be kapcsolható. A vezérlő egy PC-s mérésvezérlő rendszerre csatlakozik, ahol a célhőmérséklet beállítható. a) Rajzolja fel a berendezés rendszertervét. b) Adjon javaslatot a rendszer tápellátásának kialakítására. c) Az időzítési kritériumok figyelembevételével adjon javaslatot a szabályozó megvalósítási platformjára és jelölje a rendszerterven.