Budapest University of Technology and Economics
Összetett mérési rendszer tervezése Elektronikus Eszközök Tanszéke Ender Ferenc
mikofluidika.eet.bme.hu
Á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 eet.bme.hu
13-04-30 © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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!
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
Rendszerterv példa - ébresztőóra
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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)
eet.bme.hu
10 © BME Department of Electron Devices, 2010.
“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)
eet.bme.hu
11 © BME Department of Electron Devices, 2010.
Esettanulmány: Lab-On-a-Chip
eet.bme.hu
12 © BME Department of Electron Devices, 2010.
Esettanulmány: Lab-On-a-Chip • Az influenzavírus kimutatása 240 nl mintából
eet.bme.hu
13 © BME Department of Electron Devices, 2010.
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
eet.bme.hu
Folyamatvezérlés Termikus vezérlés Termikus tervezés Szelepvezérlés Folyadék aktuáció vezérlése
14 © BME Department of Electron Devices, 2010.
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
eet.bme.hu
15 © BME Department of Electron Devices, 2010.
Mikrofluidikai tesztkörnyezet
eet.bme.hu © BME Department of Electron Devices, 2010.
Rendszerterv
eet.bme.hu © BME Department of Electron Devices, 2010.
Funkcionális blokkvázlat
eet.bme.hu © BME Department of Electron Devices, 2010.
Architektúra terv
eet.bme.hu © BME Department of Electron Devices, 2010.
Mechanikai tervezés
eet.bme.hu © BME Department of Electron Devices, 2010.
Rendszerplatform – IEEE 1101.10
eet.bme.hu © BME Department of Electron Devices, 2010.
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 eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
A tápellátás tervezés kérdései
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
Buszrendszer
eet.bme.hu © BME Department of Electron Devices, 2010.
Kommunikáció a buszon
eet.bme.hu © BME Department of Electron Devices, 2010.
Általános kapcsolási séma
eet.bme.hu © BME Department of Electron Devices, 2010.
Modulspecifikus kapcsolás
eet.bme.hu © BME Department of Electron Devices, 2010.
Általános PCB séma Általános rész Modulspecifikus rész
eet.bme.hu © BME Department of Electron Devices, 2010.
Modulspecifikus kapcsolás
eet.bme.hu © BME Department of Electron Devices, 2010.
Parancsvégrehajtás
eet.bme.hu © BME Department of Electron Devices, 2010.
Parancs és regiszter példa
eet.bme.hu © BME Department of Electron Devices, 2010.
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ó
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
Firmware működés vázlata
eet.bme.hu © BME Department of Electron Devices, 2010.
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.
eet.bme.hu © BME Department of Electron Devices, 2010.
Firmware állapotgép
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
Forráskód betekintés
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
Front panel és Blokk diagram
eet.bme.hu © BME Department of Electron Devices, 2010.
41
eet.bme.hu © BME Department of Electron Devices, 2010.
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu 2011.09.07.
Virtuális műszerek a mérnöki gyakorlatban (VIEEAV04) © BME Department of Electron Devices, 2010.
44/23
Mikrofluidikai tesztkörnyezet szoftveres rendszerterv
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
-
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)
eet.bme.hu © BME Department of Electron Devices, 2010.
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
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
1. Hidrodinamikai fókusz szabályzása
eet.bme.hu © BME Department of Electron Devices, 2010.
Hidrodinamikai fókusz szabályzása
eet.bme.hu © BME Department of Electron Devices, 2010.
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.
eet.bme.hu © BME Department of Electron Devices, 2010.
Identifikáció modellillesztéssel
eet.bme.hu © BME Department of Electron Devices, 2010.
Forráskód betekintés és videó
eet.bme.hu © BME Department of Electron Devices, 2010.
Á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ő.
eet.bme.hu © BME Department of Electron Devices, 2010.
Áramlásszenzor
eet.bme.hu © BME Department of Electron Devices, 2010.
Áramlásszenzor szabályzása Identifikáció szimulációval
eet.bme.hu © BME Department of Electron Devices, 2010.
Á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
eet.bme.hu © BME Department of Electron Devices, 2010.
ZH
Időmultiplexált érzékelés és beavatkozás
eet.bme.hu © BME Department of Electron Devices, 2010.
Időmultiplexált érzékelés és beavatkozás
eet.bme.hu © BME Department of Electron Devices, 2010.
Áramlásszenzor karakterisztika
eet.bme.hu © BME Department of Electron Devices, 2010.
Forráskód betekintés
eet.bme.hu © BME Department of Electron Devices, 2010.
Nyomástranziens korrekció
eet.bme.hu © BME Department of Electron Devices, 2010.
Nyomástranziens korrekció Adatgyűjtés nagyfelbontású A/D-vel cRIO-n keresztül Megvalósítási platform
eet.bme.hu © BME Department of Electron Devices, 2010.
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.
eet.bme.hu © BME Department of Electron Devices, 2010.
A szabályozó működése
eet.bme.hu © BME Department of Electron Devices, 2010.
Forráskód betekintés
eet.bme.hu © BME Department of Electron Devices, 2010.
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.
eet.bme.hu © BME Department of Electron Devices, 2010.