MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY
Univerzální datové rozhraní pro digitální senzory
BAKALÁŘSKÁ PRÁCE
Tomáš Bartoň
Brno, jaro 2012
Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Poděkování Rád bych vyjádřil své poděkování vedoucímu práce RNDr. Zdeňkovi Matějovi za jeho užitečné rady a trpělivost. Dále bych rád poděkoval vedení firmy ZPA Nová Paka, a.s. za umožnění realizace prototypu.
Shrnutí Tato práce se snaží být úvodem do digitálního měření teploty pomocí odporového čidla a termočlánku v průmyslovém prostředí. Zabývá se fyzikální podstatou teploty a některými jejími vlivy na vlastnosti materiálů, které nám ji umožňují měřit. Dále se zaměřuje na konkrétní způsoby snímání a převod do digitální podoby, jakožto i její následné zpřístupnění na některou z průmyslových sběrnicí. V druhé části se práce věnuje návrhu a vytvoření prototypu převodníku, který je v závěru zhodnocen.
Klíčová slova teplota, měření, PT100, termočlánek, Sigma Delta, Modbus
Obsah 1
ÚVOD ......................................................................................................... 1
2
ÚVOD DO MĚŘENÍ TEPLOTY ............................................................ 3 2.1 TEPLOTA ................................................................................................... 3 2.1.1 Teplotní stupnice .............................................................................. 3 2.2 SNÍMÁNÍ TEPLOTY .................................................................................... 4 2.2.1 Kovové odporové senzory teploty ..................................................... 4 2.2.2 Termočlánky ................................................................................... 14 2.3 CHYBY MĚŘENÍ ....................................................................................... 17
3
PRŮMYSLOVÉ SBĚRNICE .................................................................. 21 3.1 3.2 3.3 3.4 3.5
4
PROFIBUS ................................................................................................ 21 FOUNDATION FIELDBUS ................................................................... 23 MODBUS ................................................................................................. 24 METER-BUS ............................................................................................ 27 ZÁVĚR ..................................................................................................... 27
AD PŘEVODNÍKY................................................................................. 29 4.1 SUCCESSIVE-APPROXIMATION AD PŘEVODNÍK .................................... 30 4.2 INTEGRAČNÍ AD PŘEVODNÍK ................................................................ 31 4.3 FLASH AD PŘEVODNÍK .......................................................................... 32 4.4 PIPELINED AD PŘEVODNÍK .................................................................... 33 4.5 SIGMA DELTA AD PŘEVODNÍK .............................................................. 33 4.5.1 Chyba kvantování ........................................................................... 35 4.5.2 Oversampling ................................................................................. 36 4.5.3 Výstup ............................................................................................ 37
5
NÁVRH PŘEVODNÍKU ....................................................................... 39 5.1 POŽADAVKY ........................................................................................... 39 5.2 VÝBĚR SOUČÁSTEK ................................................................................. 41 5.2.1 AD převodník ................................................................................. 41 5.2.2 Zdroj napětí .................................................................................... 42 5.2.3 Mikroprocesor ................................................................................. 44 5.3 ZAPOJENÍ ................................................................................................ 44 5.4 DESKA PLOŠNÝCH SPOJŮ ........................................................................ 47 5.5 NÁVRH FIRMWARE ................................................................................. 48 5.5.1 Modbus ........................................................................................... 48 5.5.2 AD převodník ................................................................................. 50
5.5.3 5.5.4 6
Další moduly.................................................................................. 51 Algoritmus měření ......................................................................... 51
MĚŘENÍ PŘEVODNÍKU ..................................................................... 53 6.1 ŠUM ........................................................................................................ 53 6.2 TEPLOTNÍ DRIFT ..................................................................................... 55 6.3 SPOTŘEBA ELEKTRICKÉ ENERGIE ........................................................... 57
7
ZÁVĚR ..................................................................................................... 59
8
BIBLIOGRAFIE ...................................................................................... 61
A: VÝKRESY DESKY .................................................................................... 65 B: SEZNAM SOUČÁSTEK........................................................................... 67 C: MAPA REGISTRŮ .................................................................................... 69
1
Úvod
Teplota je jednou z významných veličin, které ovlivňují veškeré procesy fyzikální podstaty kolem nás. Počínaje našim subjektivním pocitem tepla či zimy, přes změny skupenství kapalin, až k ionizaci nosičů v polovodičích a spoustě další důležitých jevů. A právě kvůli této její významnosti vznikla potřeba teplotu zjišťovat a ovlivňovat. V dnešní době známe mnoho způsobů, jak teplotu měřit. Každý jistě zná rtuťové teploměry, které využívají teplotní roztažnosti kapalin. Existují ale i mnohem sofistikovanější způsoby měření. Jedním z nich může být sledování infračerveného záření pomocí speciální kamery, které nám dá představu o rozložení teplot na nějakém objektu. V této prácí se ale zaměřím na dvě metody používané v průmyslovém prostředí – měření pomocí odporového snímače teploty a termočlánku. Tyto dva senzory promítají měřenou teplotu do veličin odporu a napětí. Aby bylo možno pracovat přímo s teplotou, je nutné tyto veličiny změřit a převést je na teplotní údaj. K tomuto účelu slouží zařízení zvané převodník teploty, což je hlavní téma mé bakalářské práce. Jak již bylo řečeno, do převodníku vstupují analogové signály, které reprezentují teplotu. Na straně druhé je rozhraní pro komunikaci s okolím. Toto rozhraní může být v nejjednodušším případě panelové měřidlo, případně displej. Nicméně toto řešení je nepraktické, pokud je potřeba sledovat více různých teplot. V tomto případě je lepší svézt informace na jedno centrální místo, kde je bude moci operátor sledovat pohromadě, případně se o jejich vyhodnocování může starat počítačový software. Z tohoto důvodu se v dnešní době u složitějších systémů často volí připojení převodníků na sběrnici, jenž propojuje různá měřící zařízení spolu s centrálním uzlem, který zpracovává naměřené hodnoty. Tato sběrnice se nazývá fieldbus, což je někdy překládáno jako průmyslová sběrnice. V praxi se dnes používá mnoho různých implementací, které se liší jednak vlastnostmi tak i cenou. V této práci uvedu několik protokolů, které se používají v praxi, a jeden z nich implementuji do prototypu. Rekapitulace cílů práce: Snímání teplot z termočlánků a odporových snímačů.
Výstup na průmyslovou sběrnici.
Příprava na montáž displeje.
Vzdálená konfigurace celého zařízení.
1
2
2 2.1
Úvod do měření teploty
Teplota
Teplotu můžeme definovat z tzv. nultého zákona termodynamiky. Je-li každé z těles A i B v tepelné rovnováze se třetím tělesem T, budou v tepelné rovnováze také tělesa A a B. K očíslování stavů tepelné rovnováhy stačí jediný spojitě proměnný parametr – teplota. (1) Z těchto vět vyplývá, že teplota je nezávislý stavový parametr zkoumaného systému. Mimoto nám dává jeden velmi zajímavý a důležitý poznatek pro její měření, kterým je tranzitivita teploty. Není proto nutné měřené těleso přikládat k jinému tělesu se známou teplotou a sledovat, jestli neproběhne výměna tepla. Stačí použít jako prostředníka jiné, teploměrné těleso. Tímto tělesem může být těleso o známé teplotě. Běžně se užívají látky, u kterých právě probíhá změna skupenství. Jejich teploty jsou definované ve standardech za známých podmínek. Příkladem může být dokument ITS-90 (2). teplota [°C] -38,8344 0,01 29,7646
látka Hg H2O Ga
stav trojný bod trojný bod bod tání
Tabulka 1: Vybrané pevné body podle ITS-90 Měření tímto způsobem by bylo jistě velmi nepraktické a navíc by dovolovalo určovat pouze několik bodů. Proto se jako teploměrné těleso užívá látka, jejíž některé vlastnosti se s hodnotou teploty mění. Často se využívá teplotní roztažnosti látek, například ve známém rtuťovém teploměru se při roztahování rtuti mění výška sloupce, který můžeme kalibrovat a následně odečítat teplotu. Další důležité vlastnosti jsou změna elektrického odporu látky, případně generování napětí. Bezdotykové teploměry využívají potom vyzařování elektromagnetického záření.
2.1.1 Teplotní stupnice V našich končinách se v běžném životě používá Celsiova stupnice. Tato vznikla historicky pomocí dvou bodů – tání ledu a varu vody. Tyto dva body se vynesly na stupnici a interval mezi nimi se rozdělil na 100 dílků. Jeden dílek se nazývá stupeň Celsia.
3
Další stupnice, která se používá převážně ve výpočtech v různých vědních oblastech, je Kelvinova stupnice. Tato byla zavedena podle plynového teploměru s konstantním objemem, pro který platí následující rovnice. C je konstanta a p je tlak vyvolaný plynem s konstantním objemem. Z rovnice je vidět, že teplota má nejnižší hodnotu při nulovém tlaku, což je začátek Kelvinovy stupnice. Konstanta C byla zvolena tak, aby 1 K = 1 °C. Problém s touto stupnicí je neexistence ideálního plynu, který je potřebný pro plynový teploměr. Pokud zředíme jakýkoli plyn, tak se jeho vlastnosti sice blíží ideálnímu plynu, ale na druhou stranu se musí pracovat s menším množstvím plynu a měření je náchylnější k rušivým vlivům. (1) Z toho důvodu byla později definována termodynamická teplotní stupnice pomocí účinnosti Carnotova stroje, která už je po teoretické stránce dokonalá. Termodynamická teplotní stupnice je prakticky ekvivalentní s Kelvinovou stupnicí a také používá jako jednotku Kelvin. V USA se používá Fahrenheitova stupnice, která má jinou velikost stupně i jiné referenční body. Převod se realizuje následující funkcí.
2.2
Snímání teploty
Jak již bylo řečeno, teplota se neměří přímo, ale pomocí sledování jevů, které změnu teploty látek provází. V elektrotechnické praxi je přirozené sledovat napětí, proud a případně odpor.
2.2.1 Kovové odporové senzory teploty Vodivost Jádra atomů kovu jsou uspořádána v mřížce. Nad nimi se vznáší oblak elektronů, z nichž některé se po přiložení napětí mohou účastnit vedení proudu. Podle kvantové teorie jsou tyto elektrony rozděleny v nespojitých energetických pásmech. Elektrony zaplňují pásma postupně od nejnižších do nejvyšších vrstev. Pásma, která jsou kompletně zaplněná, se nazývají valenční a pásma zaplněná částečně jsou vodivostní. (3) (4) Elektrony ve vodivostním pásu se mohou účastnit vedení proudu. Po přiložení napětí se začnou tyto elektrony uvolňovat, přeskočí do vyššího energetického pásu a začnou se pohybovat ve směru daným orientací elektrického pole driftovou rychlostí. Toto samo o sobě ještě nevysvětluje, proč kov klade proudu odpor. Pro vysvětlení se musíme zaměřit na vlastnosti atomové mřížky. Tato obsahuje nedokonalosti a nečistoty. Pokud elektron při svém pohybu
4
narazí na takovýto element, je vychýlen ze své trajektorie, část své energie odevzdá mřížce a přesune se do nižšího energetického pásu. Tyto srážky jsou na teplotě nezávislé. Nicméně ke stejnému jevu dochází i vlivem chvění jader z důvodu teploty. Při vzrůstající teplotě se amplituda oscilací zvětšuje a tím se zvýší pravděpodobnost srážky. Odpor tedy se zvyšující se teplotou roste. V polovodičích jsou naopak zaplněna pouze valenční pásma, která jsou od vodivostního pásu oddělena zakázaným pásem. Aby mohl polovodič vést proud, musí se elektronům dodat energie ve formě tepla, aby byly schopné překovat zakázaný pás, dostat se do vodivostního pásu a tím umožnit vedení proudy. Odpor polovodiče proto se zvyšující se teplotou klesá. (5) Teplotní závislost vodivosti Závislost rezistivity na teplotě můžeme obecně vyjádřit následujícími rovnicemi. a jsou teplota a příslušná rezistivita v nějakém počátečním bodě. (6)
Koeficienty α [K-1], β [K-2], … nazýváme teplotní součinitele rezistivity, které se dají vyjádřit v diferenciálním tvaru. Jejich význam je relativní část odporu, která se změní při změně teploty o 1 K.
Při malých změnách teploty je možné vyšší koeficienty zanedbat a brát pouze první dva členy rozvoje. Potom Pro kovy je součinitel rezistivity kladný, pro polovodiče naopak záporný. Pro konstrukci čidel teploty požadujeme koeficient velký, kvůli dostatečné citlivosti. Pro konstrukci rezistorů naopak malý, aby byl dosažen konstantní odpor rezistoru v pracovním rozsahu teplot. Platinové snímače teploty Platina je ušlechtilý, odolný, kujný a tažný kov stříbřité barvy. V přírodě se vyskytuje v ryzí formě. Pro výrobu snímačů teploty se používá pro stálost, netečnost a vysokou teplotu tání. Její teplotní součinitel rezistivity je 0.00387 K -1. (7)
5
Pro výrobu snímačů se používá kov s vysokou čistotou – až 99.999 %. Parametry čidel jsou specifikovány v normě IEC-751. Závislost odporu na teplotě je následující.
R0 je jmenovitá hodnota odporu při 0 °C a koeficienty A, B, C jsou specifikovány normou. A = 3,90802 . 10-3 K-1 B = -5,80195 . 10-7 K-2 C = -4,27350 . 10-12 K-4 Pro určení teploty ze známé hodnoty odporu se například metodou nejmenších čtverců najde inverzní polynom. Platinové snímače se vyrábějí s charakteristickým odporem 100 Ω, 500 Ω a 1000Ω a podle jeho hodnoty se nazývají PT100, PT500 a PT1000. Podle IEC 751 rozlišujeme dvě třídy přesnosti. Tyto třídy jsou pojmenovány A a B a platí pro ně následující vztahy.
Mimo tyto třídy existují ještě i další, definované v jiných standardech. Známé kritérium je DIN 1/3 B, pro které platí následující.
5 4,5
Odchylka [K]
4 3,5 3 2,5
A
2
B
1,5
DIN 1/3 B
1 0,5 0 -200
0
200
400
600
Teplota [°C]
Graf 1: Různé třídy přesnosti PT100
6
800
Měřící systém Klasická metoda měření s platinovým čidlem spočívá v použití takzvaného Wheatstoneova můstku. Jde o zařízení, které se skládá ze tří přesných rezistorů R1, R2 a R3 známé hodnoty, ke kterým se připojí měřený rezistor RX. Pokud je dodržen následující poměr, pak je napětí UG nulové. (8) (7)
Obrázek 1: Wheatstoneův můstek V praxi je na můstku jeden z rezistorů měnitelný s přesně kalibrovanou stupnicí. Místo voltmetru na měření UG se připojí indikátor nuly, který indikuje nulové napětí na svých svorkách. Měnitelný rezistor se potom nastavuje tak dlouho, dokud indikátor nuly neukazuje nulu. Pak se podle nastavené hodnoty rezistoru a podle hodnot pevných rezistorů vypočítá neznámá hodnota měřeného rezistoru. Toto zapojení se hodí pro sledování jedné konkrétní hodnoty odporu a v našem případě tedy i teploty. Můstek se pro tuto teplotu vyváží. Pokud se teplota nemění, napětí UG je nulové. Naopak při změně je napětí nenulové. Podle jeho polarity se dá dokonce poznat, na kterou stranu se teplota změnila. Přesnost celého měření velmi záleží na přesnosti indikátoru nuly a přesnosti rezistorů v můstku. Pro měření teploty jako proměnné veličiny je můstek potřeba vyvažovat. Při nevyváženém měření je výstupní napětí vzhledem k měřenému odporu nelineární.
7
Vliv přívodních kabelů Pokud použijeme pro připojení čidla kabely o nezanedbatelné délce, musíme počítat s jejich vlastním odporem, který může způsobit závažnou chybu. Například odpor měděného vodiče, který má průměr 1 mm a délku 10 m je
Tento vodič je použitý dvakrát, takže výsledný odpor vedení je 0,46 Ω, který se může navíc s teplotou měnit. Pro čidlo PT100 to znamená chybu 1,2 K při délce vodičů pouze 10 m a průměru 1 mm. Kvůli omezení tohoto vlivu se používají čidla v třívodičovém a čtyřvodičovém provedení. Vliv vedení u třívodičového provedení se dá kompenzovat například pomocí takzvaného aktivního můstku, který napájí čidlo proudem. (7)
Obrázek 2: Aktivní můstek (7) Předpoklad je, že RV1 = RV2 = RV3 = RV a R1 = R2. Proud, který vytéká ze zesilovače má, za předpokladu R1 + R2 ∞, jen jednu cestu – rezistorem RV1, RT, RV2 a R6. Na rezistoru R6 musí1 být napětí Ur, proto proud touto smyčkou bude I = Ur/R6. Napětí na výstupu zesilovače bude
1
Operační zesilovač udržuje na svých vstupech stejné napětí.
8
Pro výstupní napětí přístrojového zesilovače platí rovnice Tento zesilovač má na neinvertujicím vstupu připojenu polovinu napětí z výstupu operačního zesilovače a na invertujicí terminálu I*RV + Ur. Jeho výstupní napětí je tedy
Z této rovnice můžeme vyjádřit RT jako
V rovnici mimo jiné figuruje konstanta referenčního napětí Ur. Pro přesnější výpočet by bylo vhodné se této konstanty zbavit. Postup, který se v tomto případě nabízí, je použít napětí Ur jako referenci pro AD2 převod v dalším kroku. Vezmeme-li v potaz, že výstupní signál z převodníku je číslo , můžeme psát.
A po dosazení do rovnice získáme závislost odporu čidla na výstupní hodnotě AD převodníku.
Z rovnice je vidět, že jsme se elegantně zbavili jedné konstanty, která nadále nemůže ovlivňovat výsledek. V předchozím zapojení bylo vidět, že čidlo je napájené zdrojem proudu, nikoli napětím přes odporový dělič, jako tomu bylo v případě klasického Wheatstoneova můstku. Toto má oproti zapojení s děličem výhodu v linearitě.
První rovnice odpovídá zapojení s děličem a je vidět, že závislost je parabolická. Kdežto u rovnice obvodu se zdrojem proudu I je závislost lineární. Většina zapojení v literatuře pracuje se zdrojem proudu. Mírná nevýhoda tohoto zapojení může být zdroj proudu, který je řízený úbytkem napětí na rezistoru. K měřenému napětí je tento úbytek přičten a pro měření napětí na snímači je nutno použít diferenciální zesilovač. Toto může být problém v případě měření dvojvodičového připojení, kde diferenciální zesilo2
AD = Analogově Digitální
9
vač není nutný. Případně při použití jednoduššího AD převodníku, který nebude mít diferenciální vstup. Tuto nevýhodu řeší zdroj proudu z následujícího zapojení, který je na napájeném obvodu nezávislý. Zesilovač A2 je zapojený jako jednotkový oddělující zesilovač, tzv. buffer. Jeho vstupní i výstupní napětí je U0. Toto napětí se na R3 a R4 průměruje s napětím Uref, takže na zesilovač A1 je přivedeno napětí (Uref + U0) / 2. Tento zesilovač je v konfiguraci neinvertujicí se zesílením 2, proto na jeho výstupu je napětí Uref + U0. Na rezistoru Rref je napětí Uref + U0 – U0 = Uref. Proud dodávaný tímto zdrojem je tedy I = Uref / Rref. Tímto proudem se napájí snímač. Zesilovač A3 v tomto případě obstarává korekci odporu vedení. Protože má nekonečný vstupní odpor, je na jeho neinvertujicím vstupu napětí snímače a jedné části vedení – druhá se neuplatní, protože vodičem neteče žádný proud. Jeho invertujicí vstup je připojen na obě vedení, napětí na něm je proto vyšší. Vzhledem k tomu, že na jeho invertujicím vstupu musí být stejné napětí jako na neinvertujicím, protéká R5 proud takový, aby na R5 byl stejný úbytek jako na Rv1. Vzhledem k nekonečnému vstupnímu odporu zesilovače tento proud musí téct rezistorem R6, kde vytvoří stejný úbytek jako na Rv ale s opačnou polaritou. Tento úbytek se odečte od napětí přivedené na neinvertujicí vstup, čímž úplně kompenzuje úbytek napětí na vedení.
Obrázek 3: Nezávislý zdroj proudu a kompenzace vlivu vedeni (9)
10
Stejného efektu se dá dosáhnout i číslicově bez použití A3 tak, že se digitalizuje napětí U1 a U2. Jejich rozdíl je potom napětí na jednom vodiči. Tento rozdíl se odečte od napětí U2, čímž je zapojení zbaveno vlivu přívodních vodičů.
Obrázek 4: Zapojení se dvěma AD převodníky
Dalším možným zapojením pro kompenzaci vlivu vedení je zapojení se dvěma zdroji proudu. (10)
Obrázek 5: Zapojení se dvěma zdroji proudu 11
Za předpokladu, že oba zdroje dodávají stejně velký proud, dojde k úplné kompenzaci odporu vedení. Proudy procházejí vedením v obou směrech, proto se napětí jimi vyvolané objeví v rovnici výsledné smyčky s opačnými znaménky a navzájem se vyruší. Proud vytékající ze snímače můžeme použít k vytvoření referenčního napětí, čímž se zbavíme závislosti na hodnotě proudu I. U čtyřvodičové varianty rozeznáváme dva druhy zapojení – s volnou smyčkou a paralelní vodiče.
Obrázek 6: A) Paralelní vodiče. B) S pomocnou smyčkou. Měření odporu snímače s pomocnou smyčkou probíhá tak, že se změří hodnota odporu čidla, pak hodnota odporu pomocného vedení a tyto údaje se od sebe odečtou, viz Obrázek 7. Při zapojení převodníku s paralelními vodiči je měření nejpřesnější za předpokladu, že měřící zesilovač má velmi vysoký vstupní odpor. Toto bývá u moderních součástek splněno. Snímač se napájí jednou dvojící vodičů a druhou dvojící se měří. Vzhledem k tomu, že měřícími vodiči neprotéká prakticky žádný proud, není měření úbytky na vedení ovlivněno. Vodiče nemusí mít stejný odpor, což bylo u všech ostatních variant podmínkou. Schéma je na Obrázek 8.
12
Obrázek 7: Čtyřvodičové zapojení s pomocnou smyčkou
Obrázek 8: Čtyřvodičové zapojení s paralelními vodiči Vliv měřícího proudu Vlivem průtoku proudu čidlem vzniká na jeho odporu úbytek napětí a tím se přeměňuje část výkonu na teplo.
Druhá rovnice udává nejistotu měření způsobenou ohřevem vlivem měřícího proudu. Koeficient D je zatěžovací konstanta a má rozměr WK-1. Udává, jaký výkon se musí rozptýlit, aby se čidlo ohřálo o 1 K. Jeho hodnota se pohybuje mezi 4 až 10 mWK-1 ve vzduchu a 40 až 150 mWK-1 ve vodě. (7)
13
Při proudu 1 mA v nejhorším případě podle předchozího odstavce může být ohřev až o 0,025 K při odporu 100 Ω. Tato hodnota je relativně malá, ale bude se zvyšovat s narůstajícím odporem. Konstrukce čidel Měřící rezistor obsažený v čidle se vyrábí několika různými technologiemi. Při drátkové technologii je odpor tvořen tenkým stočeným drátkem. Tento může být buď fixován v keramice, nebo navinut na keramickém či skleněném tělese a zataven do skla. Jako celek může být uložen v ochranné trubici někdy označované jako stonek. Při výrobě tenkovrstvou technologií se technikou napařování a iontovým leptáním vytváří na podložce Al2O3 kovová vrstva, která funguje jako měřící odpor. Tato vrstva se dá dále upravit pro větší přesnost laserem.
Obrázek 9: A) Drátková technologie. B) Tenkovrstvá technologie. C) Volně vinuté. (7) Nevýhodou těchto technologií je to, že použité izolační materiály mají jinou délkovou teplotní roztažnost, což při změnách teploty způsobuje změny v materiálu odporu a má za následek systematickou odchylku ve formě hystereze. Z tohoto důvodu se vyrábí i čidla, jejichž odpor je volně vinut ve vzduchu či v ochranné atmosféře.
2.2.2 Termočlánky Termočlánkové3 snímače teploty fungují na zcela jiném principu než odporové. Řadíme je mezi snímače aktivní, protože se samy o sobě chovají jako zdroj elektrické energie. Tento jev se nazývá Seebeckův jev a obecně umožňuje převod tepelné energie na elektrickou. 3
Termočlánek neboli termoelektrický článek.
14
Pokud je elektrický vodič4 vystaven rozdílu teplot, v teplejších místech získají nosiče proudu více energie a zvýší svou koncentraci. To vyvolá difuzi do míst s nižší koncentrací, takže na teplejším a studenějším místě bude rozdílné náboj. Tento rozdíl vyvolá elektrické pole v opačném směru k probíhající difuzi. Po určité době elektrické pole probíhající difuzi omezí a bude ji udržovat v rovnováze. (4) (6) Napětí na vodiči je přímo úměrné Seebeckovu koeficientu S a rozdílu teplot na jeho koncích. Tento vztah platí i pro segment vodiče. Napětí na celém vodiči je potom
Pokud můžeme považovat Seebeckův koeficient S za konstantní, což je možné při malé změně teploty, lze rovnici upravit následovně.
Nicméně toto napětí nemůžeme měřit, protože stejný princip zafunguje u přívodních kabelů měřicího přístroje.
Obrázek 10: Schéma termočlánku Napětí na této smyčce bude
Pokud bychom považovali SA a SB za konstanty, můžeme psát
4
Jev platí i pro polovodiče, ale o těch nebude už dále zmínka.
15
Z předcházejících rovnic jde vidět, že pro konstrukci termočlánku je potřeba použít dvou vodičů různých materiálů – aby (SA - SB) nebylo nulové. Navíc jsme zjistili, že nezáleží na místě, kde jsme vodiče rozpojili a ani na teplotě tohoto místa. Další, neméně důležitý poznatek je rozměr Seebeckova koeficientu, který je V/K, ačkoli častější je použití jednotky µV/K. Tento koeficient se také nazývá termoelektrický koeficient a značí se α. V praxi používáme čidla z různých materiálů, která se liší především koeficientem α (běžné rozpětí jednotky až desítky µV/K) a maximální teplotou, při které je čidlo použitelné. Koeficient α nebývá na celém rozsahu konstantní. Kombinace materiálů použitých při výrobě čidla se označují písmennými zkratkami a jsou specifikovány například v normě IEC 584.1. Kód
Složení
Rozsah [°C]
K
NiCr (+), NiAl (-) Cu (+), CuNi (-) Fe (+), CuNi (-) NiCrSi (+), NiSiMg (-)
-180, +1350
Přibližná α [µV/°C] 42
-250, +400
46
-180, +750
54
-270, +1300
30
T J N
Tabulka 2: Parametry některých termočlánků Měřící systém Vzhledem k tomu, že výstup termočlánku je napětí, stačí toto pouze změřit a podle inverzního polynomu charakteristiky přepočítat na teplotu. Problém je, že úroveň citlivosti je velmi malá, z tabulky výše je vidět, že se pohybuje v řádech desítek µV. Při takto malých úrovních může šum podstatně ovlivnit výsledek měření. Přívodní kabely ke snímači musí být proto zakroucené, čímž částečně omezíme vliv elektromagnetického rušení – oba vodiče zachytí stejný šum, který se na diferenciálním vstupu zesilovače navzájem zruší. Další možností je použití stíněného kabelu, který zlepší odolnost proti šumu. Stínění by v ideálním případě mělo být připojené na nějaký pevný potenciál. Plovoucí stínění je méně účinné. (7) Citlivost termočlánku lze zvýšit sériovým zapojením několika článků dohromady. Podobně je možné zapojit články diferenciálně, takže budou snímat pouze rozdíl teplot mezi sebou navzájem. Když se podíváme na rovnice z minulé kapitoly, zjistíme, že termočlánek není schopen měřit teplotu absolutní. Snímá pouze rozdíl mezi měřeným místem a srovnávacím spojením. Abychom určili teplotu absolutně, potřebu-
16
jeme znát teplotu srovnávacího spoje. Tato znalost je zásadní a její přesnost je horní hranicí, kam můžeme s přesností konečného měření dosáhnout. Dříve se přesná teplota srovnávacího spojení realizovala tak, že se srovnávací spoj umístil do prostoru se známou teplotou. Ta se udržovala buď termostatem, nebo se mohl spoj například ponořit do vody, ve které se rozpouštěl led5. Tato řešení jsou nepraktická, proto se v dnešní době mikroprocesorů dá uvažovat nad číslicovou korekcí. Tato funguje tak, že vývod z termočlánku se připojí do svorkovnice, jejíž teplotu jsme schopni změřit například odporovým čidlem. Potom známe teplotu svorkovnice, což je srovnávací spojení, a rozdíl teploty mezi svorkovnicí a měřeným objektem. Prostým sečtením těchto hodnot určíme měřenou teplotu. Jelikož napětí na termočlánku může být v určité části rozsahu i záporné, je vhodné, aby termočlánek nebyl zapojen přímo k některému z okrajů rozsahu AD převodníku, ale aby byl připojen na napětí přibližně z poloviny rozsahu, které umožní snímat hodnotu napětí v obou polaritách. (10)
Obrázek 11: Schéma při měření termočlánku
2.3
Chyby měření
Měření teploty, jako každé jiné měření, je zatíženo chybami. Obecně rozdělujeme chyby do tří kategorií. 1. Chyby hrubé jsou chyby způsobené nepozorností obsluhy, chybou zapojení měřicího přístroje, atd. Tyto chyby se většinou velmi liší od očekávané hodnoty a převyšují chyby ostatní.
Led má při tání stálou teplotu 0 °C. Dokud se všechen led nerozpustí, měla by mít směs teplotu 0 °C. 5
17
2. Chyby systematické jsou způsobené špatnou kalibrací, postupnou poruchou měřicího přístroje, špatnou interpretací výsledku, atd. Tyto chyby ovlivňují všechna měření stejnou měrou. 3. Chyby náhodné vznikají jako důsledek působení okolních nepředvídatelných vlivů. Příkladem může být šum, indukovaný ve vedení. Vliv chyb na výsledek měření se dá vyjádřit několika způsoby. Absolutní chyba je rozdíl mezi správnou hodnotou a hodnotou změřenou. Relativní chyba je potom podíl absolutní chyby a výsledku měření. Relativní chyba přístroje je podíl maximální absolutní chyby v daném rozsahu a velikosti měřícího rozsahu.
Další možností je udávat nejistotu měření. Nejistota vychází ze statistických metod a má význam směrodatné odchylky. Nejistot rozeznáváme tři druhy. (11) Nejistota typu A je nejistota zjištěná statistickým zpracováním naměřených údajů. Pro její zjištění potřebujeme n naměřených hodnot veličiny X. Za minimum se považuje n = 10. Poté z údajů určíme odhad hodnoty x jako aritmetický průměr.
Samotnou nejistotu potom vypočítáme podle vzorce na určení výběrové směrodatné odchylky.
Za předpokladu, že měřená veličina má normální rozdělení, můžeme směrodatnou odchylku interpretovat následujícím způsobem. je interval, ve kterém je s pravděpodobností 68 % správný výsledek. je potom interval s pravděpodobností 95 % a 99,7 %. Nejistota typu B je naopak taková nejistota, kterou nezískáváme statistickým zpracováním naměřených dat. Tuto nejistotu určujeme na základě předvídání příčin jejich vzniku. Zahrnujeme zde například vliv tolerance použitých součástek, čidel, vlivy stárnutí, vliv linearizace charakteristiky, nejistoty referenčních bodů aj. Pro každý z těchto vlivů určujeme nejistotu zvlášť. Pro
18
další zpracování musíme nejistoty vyjádřit také ve směrodatné odchylce, jako tomu bylo u typu A. Postupujeme tak, že určíme interval Zmin – Zmax. Následně na to musíme odhadnout hustotu pravděpodobnosti, jinými slovy musíme určit, o jaké rozdělení se jedná. Se znalostí tvaru hustoty už můžeme určit směrodatnou odchylku některým ze vzorců z oblasti statistiky.
Graf 2: Normální rozdělení
Graf 3: Rovnoměrné rozdělení
Pokud je vlivů více než jeden a tyto vlivy jsou navzájem nezávislé, sečteme jejich nejistoty podle následujícího vzorce.
19
Kde Aj je citlivostní koeficient, který udává, jak velký důsledek má vliv na měření veličiny. Může se odhadnout nebo spočítat jako derivace funkce veličiny podle vlivu. Další nejistotou je kombinovaná nejistota typu C, která je součtem nejistot typu A a B.
Při nepřímém měření, kterým měření teploty vždy je, musíme zjištěné nejistoty vstupních veličin promítnout do výsledku. Toto provádíme pomocí zákonu šíření nejistot. Mějme funkci f, která je závislostí hledané veličiny na vstupních veličinách. Veličiny x můžeme změřit a známe jejich standardní nejistoty. Pokud máme určit vliv nejistot vstupních parametrů, musíme vypočítat vliv každého zvlášť a následně je sečíst. Změna funkce f v závislosti na změně parametru xi pro ostatní xk konstantní je derivace f podle xi.
Předchozí vztah platí, pokud jsou jednotlivé nejistoty nezávislé.
20
3
Průmyslové sběrnice
V osmdesátých letech začaly nahrazovat digitální spoje analogová spojení, která byla realizována proudovým či napěťovým výstupem. Digitální spoj je mimo jiné výhodný z důvodu úspory vodičů, protože lze realizovat topologii typu sběrnice, kdežto pomocí proudových smyček lze realizovat topologii typu hvězda. Pro označení sběrnice používané v průmyslu se používá termín fieldbus, což by se dalo přeložit jako sběrnice pro nasazení v terénu nebo průmyslová sběrnice. V současnosti existuje kvantum různých průmyslových sběrnicí lišících se v oblasti pokrytí, složitostí implementace a mimo jiné i v ceně. V roce 1999 byl vydán dokument IEC 61158, který se snaží standardizovat průmyslové sběrnice. Nicméně nepřináší jediný univerzálně použitelný protokol, ale místo něj specifikuje 8 různých, z nichž každý má jiné použití. (12) Type 1: Foundation Fieldbus H1
Type 2: ControlNet
Type 3: PROFIBUS
Type 4: P-Net
Type 5: FOUNDATION fieldbus HSE (High Speed Ethernet)
Type 6: SwiftNet
Type 7: WorldFIP
Type 8: Interbus
Z tohoto seznamu se zaměříme na protokoly typu 1 a 3. Mimoto se podíváme na protokoly Modbus a Meter-Bus, které mají trochu užší zaměření než zmiňované dva.
3.1
Profibus
Profibus je průmyslová komunikační sběrnice, vyvinutá koncem 80. let jako snaha o standardizaci množství uzavřených protokolů, které v té době figurovaly na trhu. Dnes má vývoj protokolu na starosti PROFIBUS & PROFINET International, která má kolem 1400 členů (aktuální v roce 2010). Profinet je protokol fungující nad průmyslovým Ethernetem, který zajišťuje komunikaci na vyšších úrovních. Profibus a Profinet dohromady jsou schopny zajistit automatizaci celého výrobního procesu, od dodávky materiálu až po vyskladnění výrobků. Tato šíře pokrytí má výhodu v tom, že veškerá instalace je provedena
21
homogenní technologií, čímž jsou sníženy nároky na kvalifikaci obsluhy a údržby. Na druhou stranu je celý protokol se všemi svými vlastnostmi poměrně komplexní. (12) (13) Na fyzické vrstvě může být standard RS485, optická linka nebo proudová smyčka podle IEC 61158-2. RS485 je levnou variantou, která je rychlá a snadná na instalaci i údržbu. Pro komunikaci používá kroucenou dvojlinku. Umožňuje zapojení v topologii typu sběrnice, což minimalizuje náklady na kabeláž. Délka jednoho segmentu sítě může být až 1200 m při 93,75 Kb/s a 100 m při 12 Mb/s a na každém segmentu může být až 32 zařízení. Dohromady může být na síti 126 zařízení v 10 segmentech spojených 9 opakovači. RS485 v základní variantě není vhodný do výbušného prostředí. Tento nedostatek částečně řeší RS485-IS (intrinsically-safe). RS485 je nejčastěji využívanou fyzickou vrstvou pro Profibus. Proudová smyčka podle IEC61158-2 je vhodná pro prostředí s nebezpečím výbuchu. Oproti RS485 poskytuje výrazně pomalejší přenosovou rychlost – 31,25 Kb/s. Omezení na počet zařízení je stejný. Třetí variantou je optické vlákno, které má výhodu v odolnosti proti elektromagnetickému rušení. Typická topologie pro optické vlákno je hvězda nebo kruh, ačkoli lineární zapojení je taky možné. Na linkové vrstvě je FDL – Fieldbus Data Link. Tento protokol zajišťuje přístup k médiu a výměnu zpráv mezi zařízeními. Způsob komunikace je master-slave 6 s podporou singlemaster i multimaster 7 . V režimu multimaster se předává právo řídit komunikaci metodou token passing8. Tento protokol poskytuje vyšší vrstvě metody pro cyklickou i acyklickou komunikaci a pro multicast či broadcast. Další využitou vrstvou ISO-OSI modelu je aplikační vrstva, která má v protokolu Profibus několik implementací. Profibus DP (Decentralized Periphery) nabízí rychlou a jednoduchou komunikaci. Používá se na nejnižší úrovni komunikace. Existují 3 verze, které se liší úrovní vlastností. DP-V0 nabízí základní funkcionalitu a cyklickou komunikaci.
DP-V1 přidává možnost acyklické komunikace a alarmy.
DP-V2 doplňuje navíc redundanci, asynchronní přenosy, časovou synchronizací a jiné.
Každé zařízení musí podle požadovaných služeb splňovat některou z úrovní. Acyklická komunikace se používá převážně při konfiguraci, proto většina zařízení, kromě nejjednodušších, leží na úrovni jedna. (13) Podobně se Master-Slave znamená, že některá zařízení jsou nadřazena jiným. Při konfiguraci singlemaster je na síti pouze jeden nadřazený prvek. Při multimaster jich může být více. 8 Předáváním příznaku. 6 7
22
dělí i řadiče. Řadič třídy 1 používá cyklickou komunikaci pro vyčítání hodnot a nastavování akčních členů při běžném provozu, kdežto řadič třídy 2 slouží pro konfiguraci připojených zařízení pomocí acyklických zpráv. Nástavbou pro automatizaci procesů je Profibus PA (Process Automation). PA se zaměřuje na použití sběrnice v prostředí s nebezpečím výbuchu a za tímto účelem upravuje některé vlastnosti sítě. Komunikace je vzhledem k použití proudové smyčky s rychlostí 31,25 Kb/s výrazně pomalejší. Třetí možností protokolu aplikační vrstvy je FMS. Tento protokol poskytuje metody pro práci s datovými objekty a jiné pokročilé funkce. Hodí se pro komunikaci řídicích systémů. Profibus je otevřený standard. Nicméně toto označení je trochu zavádějící, protože za kompletní dokumentaci se musí zaplatit. Z tohoto důvodu je složitější nahlédnout hlouběji do struktury protokolu, protože volně dostupné materiály jsou psány marketingovým stylem.
3.2
FOUNDATION Fieldbus
FOUNDATION Fieldbus (dále FF) je protokol spravovaný nezávislou organizací Fieldbus FOUNDATION. Hlavní vlastností FF jsou takzvané funkční bloky (function blocks). Jde o sadu specifikací, které přesně popisují jednotlivé typy zařízení na sběrnici. Při návrhu sítě či implementaci nějakého řídicího algoritmu inženýr pracuje s těmito bloky a v ideálním případě ho nezajímá konkrétní zařízení. Funkční bloky mohou být jednoduchá vstupní zařízení typu tlačítko, teploměr nebo i složitější zařízení, která samostatně řídí nějaký proces. Typicky to může být PID9 kontrolér. FF se snaží o decentralizaci řídících algoritmů. (14) (16) Na fyzické vrstvě využívá dva různé standardy. Prvním z nich je H1, což je proudová smyčka podle IEC 61158-2. Hlavním důvodem pro proudovou smyčku je možnost jejího použití ve výbušném prostředí. Na vyšší úrovni nabízí FF standard HSE (High Speed Ethernet). Jde o rychlou síť, která je vhodná na propojování segmentů sítě H1. Přístup k médiu je řízen centrálně. Zařízení nazvané LAS 10 má v sobě operátorem uložený rozvrh komunikace, kdy cyklicky vyzývá jednotlivá zařízení ke komunikaci. Mimoto distribuuje po sítí čas, aby všechna zařízení mohla být synchronizována. Na rozdíl od ostatních sběrnicí zde zmíněných může v FF komunikovat každé zařízení s každým. Toho je dosaženo pomocí takzvané publisher – subscriber 11 metody. Publisher zařízení vystavují na síť data Proportional Integral Derivative. Link Active Scheduler 11 Vydavatel – odběratel. 9
10
23
podle stanoveného rozvrhu a subscriber zařízení je odebírají, pokud mají o ně zájem. V mezerách mezi cykly opakování rozvrhu mohou zařízení komunikovat acyklicky. Na aplikační vrstvě má FF funkce umožňující provádět výměnu dat pomocí zmíněné publisher – subscriber metody, acyklické komunikace nebo zasíláním zpráv na operátorův terminál. Nad tímto komunikačním rozhraním jsou definovány zmíněné funkční bloky. Ke každému zařízení je dodáván soubor, který popisuje implementované funkční bloky a jiné vlastnosti zařízení v programovacím jazyce. Návrhové prostředí pro FF potom dokáže takový soubor přečíst a vytvořit pomocí něj konfiguraci pro ono zařízení.
3.3
Modbus
Na rozdíl od dříve zmíněných sběrnicí se Modbus zaměřuje výhradně na komunikaci mezi řadičem a zařízením. Je to master-slave protokol, kde je veškerá komunikace řízena jedním řadičem – jde tedy o singlemaster protokol. Zařízení nemají možnost zahájit komunikaci. (15) Na fyzické vrstvě je ve standardu specifikováno několik rozhraní, mezi nimiž je i RS-485 a Ethernet.
Obrázek 12: Schéma protokolu modbus (15) V protokolu Modbus může zahájit komunikaci pouze řadič, ostatní zařízení potom pouze odpovídají na jeho dotazy. Takovémuto protokolu říkáme dotaz-odpověď. Zprávy, vyměňované účastníky komunikace, mají přesně specifikovaný tvar, který se skládá z příkazu a jeho parametrů. Tento rámec se nazývá PDU (protocol data unit). Kolem PDU může být ještě další slupka, potřebná pro fungování protokolu na fyzické vrstvě – typicky adresa a kontrolní součet. Tato se nazývá ADU (application data unit). 24
Obrázek 13: Rámec v protokolu Modbus (15) Komunikace je v každém případě zahájena řadičem. Ten odešle svůj dotaz na sběrnici a očekává odpověď. Ta může přijít od zařízení ve dvou formách. Buď jako odpověď, která obsahuje nějaké výsledky nebo pouze potvrzení akce, nebo jako chybová zpráva se speciálním kódem a daty. Řadič mimoto specifikuje timeout12, po který čeká na odpověď. Pokud odpověď nedorazí včas, je vygenerována chyba lokálně a typicky se dotaz opakuje. V dokumentaci k protokolu jsou diagramy doporučovaných algoritmů komunikace, které splňují specifikaci. Maximální velikost PDU je stanovena podle první implementace, která byla na RS485, na 253 B. Modbus podporuje dva druhy komunikace na sériové lince. Modbus RTU (Remote Terminal Unit) posílá po lince binární data, každý znak je reprezentován posloupností bitů, jak je běžné u asynchronní komunikace 13. Jednotlivé znaky musejí být vysílány těsně za sebou. Modbus sleduje mezery mezi znaky a jakmile překročí mezera délku 3 a půl násobku délky znaku, považuje rámec za kompletní. Dalším přenosovým módem je Modbus ASCII, kde je každý znak vysílán jako dvě číslice v šestnáctkové soustavě zakódované v ASCII. (16) Účel většiny příkazů je přistupovat k určitému fiktivnímu adresovému prostoru, který nazýváme datový model. Datový model se dělí na 4 oblasti, která každá obsahuje prvky jednoho datového typu. Datové typy jsou Input Register, Holding Register, Discrete Input a Coil. Jejich vlastnosti shrnuje následující tabulka. Název typu Input Register Holding Register Discrete Input Coil
12 13
Přístupová práva čtení čtení/zápis čtení čtení/zápis
Velikost [b] 16 16 1 1
Časový limit. Start bit, data, parita, stop bit.
25
Tabulka 3: Přehled datových typů (15) Jednotlivé registry se v datovém modelu adresují od 1 do n a každý typ má oddělený adresový prostor. V parametrech funkcí se potom používá adresování 0 – (n-1).
Obrázek 14: Přístup k fiktivnímu paměťovému prostoru Funkcí je dohromady 128 a jsou rozděleny do několika kategorií. Mezi nimi je i 17 funkcí uživatelských, které protokol nijak nedefinuje.
Přístup k datům
Diagnostika
Číst Discrete Inputs Číst Coils Zapsat Coil Zapsat více Coils Číst Input Register Číst Holding Register Přečíst výjimku Diagnostika Zjistit identifikační číslo a jiné
02 01 05 15 04 03 07 08 43
Tabulka 4: Několik funkcí z protokolu Modbus Kompletní dokumentace k protokolu je přístupná na internetu. (15) (16)
26
3.4
Meter-Bus
Zkráceně taky M-Bus je sběrnice původně určená pro vyčítání hodnot z měřičů tepla za účelem účtování. Nejsou na ni kladeny nároky na velkou šířku pásma a rychlou odezvu, ale na počet zařízení v síti a spolehlivost. (17) Topologie komunikace je master-slave, komunikaci vždy zahajuje řadič. Na jedné síti může být až 250 stanic a délka kabelu nesmí překročit 1000 m. Při požadavku většího počtu účastníků je možno sít rozšířit o sítovou vrstvu. Síť se rozdělí na zóny a použije se rozšířené adresování. Tato sběrnice využívá speciální fyzickou vrstvu, která funguje následovně. Komunikace probíhá po dvou vodičích, mezi kterými řadič udržuje klidové napětí 36 V, které znamená klidový stav a logickou jedničku. Když chce vysílat nulu, sníží napětí o 12 V na 24 V. Klient odpovídá změnami odebíraného proudu. Jeho klidový stav je odběr 1,5 mA, který znamená logickou jedničku. Při vysílání nuly zvýší svůj odběr na 11-20 mA. Toto uspořádání dovoluje napájet měřiče přímo po komunikačním vedení. Komunikace je asynchronní half-duplex a jednotlivá slova jsou kódována do signálů podobně jako u UART – start bit, 8 datových bitů, parita a stop bit. Na aplikační vrstvě nabízí protokol metody pro přenos výsledků měření, kalibraci zařízení a konfiguraci komunikace. Tyto funkce jsou zaměřeny na sběr dat z měřičů odběru různých médií – tepla, vody, plynu, proto nemusí být pro všechny aplikace přívětivé. Mimo lze přenášet přes M-Bus i surová data.
3.5
Závěr
Z popisu jednotlivých protokolů je vidět, že Profibus a FF mají podstatně širší spektrum možností než Modbus nebo M-Bus. Profibus PA by se dal svým účelem i rozsahem přirovnat k FF, ačkoli systém decentralizace pomocí funkčních bloků FF je další vrstvou abstrakce navíc. Výhoda protokolů Modbus a M-Bus je v dostupnosti kompletní dokumentace. (17) (19) Toto je hlavní důvod, proč jsem zvolil Modbus jako protokol implementovaný v prototypu. M-Bus jsem zamítl kvůli nestandardní fyzické vrstvě. Další výhodou protokolu Modbus je relativní jednoduchost.
27
28
4
AD převodníky
AD převodník je bezpochyby nejdůležitější součást převodníku teploty. Jedná se o součástku, která zajišťuje převod z analogové veličiny napětí na její digitální reprezentaci. Spíše než absolutní hodnota napětí bývá výstupem informace vztažená k nějakému jinému známému napětí, které označujeme jako referenční napětí. V dnešní době se dají aplikace AD převodníků rozdělit do čtyř hlavních oblastí. (20) 1. Sběr dat 2. Precizní měření v průmyslu 3. Audio aplikace 4. Vysokorychlostní snímání Na druhé straně existují tři hlavní kategorie AD převodníků podle principu jejich funkce, které svými parametry uspokojují většinu aplikací. 1. Successive-approximation (SAR) 2. Sigma Delta (Σ-Δ) 3. Pipelined ADC Bezesporu hlavními parametry, které sledujeme u AD převodníků, jsou vzorkovací frekvence a rozlišení. Jejich závislost na architektuře konkrétního ADC vystihuje následující graf.
Graf 4:Závislost rozlišení na vzorkovací frekvenci AD převodníků (20) 29
Jak je vidět z grafu, mezi rychlostí převodníku a jeho rozlišením platí nepřímá úměra. V následujících kapitolách se blíže podíváme na jednotlivé kategorie.
4.1
Successive-Approximation AD převodník
Tyto převodníky pracují na principu zlepšování výsledku pomocí půlení intervalů. Na vstupu obsahují SHA (sample and hold) obvod, který slouží k tomu, aby se měřený signál po dobu převodu neměnil.
Obrázek 15: Schéma SAR AD převodníku (20) Základní funkční bloky jsou komparátor, DA převodník a řídicí logika. Na začátku měření je DAC14 nastaveno na polovinu rozsahu. Vstupní signál se potom porovná s jeho výstupem a podle výsledku srovnání se nastaví MSB (Most Significant Bit) - pokud byl vstupní signál vyšší než signál z DAC, je MSB 1 jinak 0. V dalším kroku se hodnota DAC nastaví na ¼ nebo na ¾ rozsahu podle toho, jestli bylo MSB 0 nebo 1. Tato hodnota se zase porovná se vstupním napětím a výsledek tohoto srovnání je druhý nejvýznamnější bit. Tímto způsobem se pokračuje přes všechny bity výstupního slova. Hodnota výstupu se tedy blíží logaritmickými kroky ke skutečně měřené hodnotě. V takovémto AD převodníku je kladen velký důraz na kvalitu vnitřního DAC, od jehož vlastností se odvíjí výsledná přesnost. 14
DAC = DA převodník
30
Výhoda tohoto přístupu je ta, že při přepínání kanálů 15 dostáváme výsledky bez zpoždění. U jiných druhů převodníků bývá zpoždění způsobené sřetězením operací – tzv. pipelining. Například u Σ-Δ AD převodníku je digitální filtr fungující na principu pipeline nebo u pipelined AD převodníku, kde je pipeline funkčním prvkem. U těchto převodníků je nutno počkat nějaký čas, než můžeme odečíst první měření.
4.2
Integrační AD převodník
Hlavním prvkem je zde integrační jednotka, která integruje vstupní napětí Ui na přesně stanoveném časovém intervalu ti. Po jeho uplynutí připojí na vstup integrátoru známé napětí opačné polarity Uv a měří dobu, za kterou se integrovaná hodnota u(t) vrátí zpět na nulu. Z poměru těchto časových údajů se určí hodnota vstupního napětí.
Obrázek 16: Schéma integračního převodníku Zesilovač v integrátoru vytvoří virtuální nulu. Jelikož má tento zesilovač nekonečný vstupní odpor tak proud, který protéká odporem R, musí protékat i kondenzátorem C. Protože napětí na kondenzátoru je přímo úměrné náboji a proud je náboj za časovou jednotku, je na výstupu zesilovače napětí přímo úměrné času připojení, což je integrál napětí podle času. Toto napětí je záporné, ale v rovnicích je znaménko vynecháno, protože na princip nemá vliv.
15
Přepínání kanálů neboli multiplexování.
31
Stejná rovnice platí i pro vybíjení a napětí v čase ti se rovnají. Můžeme proto psát.
Vidíme, že výstupní hodnota záleží na poměru časů a vybíjecího, pro nás referenčního, napětí. Tyto převodníky mohou být velice přesné, ale za cenu zvyšování doby převodu. Přesnost je omezena rozsahem napětí zesilovače. Se zvyšující se dobou nabíjení, vzrůstá lineárně napětí na výstupu zesilovače – zesilovač musí být schopen dodat dostatečné napětí. Dalším faktorem je kvalita indikátoru nuly. Tento musí být schopen přesně najít čas, kdy se napětí vrátí zpět na nulu i přes určitou úroveň šumu, která je nutně přítomna. Neméně důležitý je i integrační kondenzátor. Integrační převodníky se dříve používaly převážně ve voltmetrech a jiných podobných aplikacích, kde hraje přesnost větší roli než rychlost. V dnešní době jsou podle (21) nahrazovány Σ-Δ převodníky díky jejich menší ceně a vyšší integraci.
4.3
Flash AD převodník
V těchto převodnících je dlouhý odporový řetězec, který dělí referenční napětí na ekvidistantní části. Ke každému z těchto napětí je připojen komparátor, který ho porovnává se vstupním napětím.
Obrázek 17: Schéma Flash AD převodníku
32
Výstupní signál je potom zakódován pomocí prioritního kodéru. Výhoda tohoto přístupu je ta, že je velice rychlý a nemá žádnou latenci. Vzorkovací frekvence se pohybuje až do řádu GHz. Nevýhoda je, že je potřeba 2n komparátorů, takže obvod je komplexní.
4.4
Pipelined AD převodník
Další z kategorie rychlých převodníků jsou pipelined AD převodníky. Vycházejí ze subranging AD převodníků, které fungují tak, že nejdříve převedou vyšší bity, tento výsledek pomocí DAC převedou zpět na napětí, které odečtou od vstupního. Výsledek je zbytek reprezentující nižší bity. Tento zbytek se zesílí a převede, čímž získáme celý převod ve dvou krocích. Každá fáze převádí například 3 bity, čímž získáme 6bitový výsledek. Pipelined ADC za účelem zrychlení vloží mezi první a druhou část analogový buffer, který umožní paralelní fungování první části nad dalším vzorkem, během toho, co druhá část převádí nižší bity. Těchto částí může být i více než dvě. Pipelined ADC mohou být velmi rychlé a přesnější než flash ADC, nicméně jejich odezva kvůli sřetězení operací není okamžitá. (20)
4.5
Sigma Delta AD převodník
Princip fungování Sigma Delta (Σ-Δ) převodníku je založen na delta modulaci, což je technika, která měla původně zvýšit rychlost přenosu dat. Měla sledovat změny mezi vzorky a ne hodnotu vzorků jako takových.16 (22)
Obrázek 18: Schéma delta modulace (22) 16
delta modulation and differential PCM
33
Její funkce je následující: signál je převáděn jednobitovým ADC (komparátorem). Tento výstup je převeden zpět na signál (+Vref nebo -Vref podle toho, jestli byl výstup z komparátoru 1 nebo 0) a odečten od původního signálu. V integrátoru tento součet přičten k minulému výsledku. Proces se opakuje. Differential PCM používá tentýž princip, akorát má n-bitové ADC místo komparátoru. Výstupní proud bitů se dá tedy znázornit jako diskrétní křivka, která sleduje vstupní signál. Nicméně se může stát, že signál se změní moc rychle a delta modulace „nebude stíhat“ – dojde ke slope overload, protože je omezena velikostí kroku za časovou jednotku, viz Obrázek 19. To se dá omezit zvětšením velikosti kroku nebo zvýšením vzorkovací frekvence. Prakticky je doporučován 20 násobek, na rozdíl od dvojnásobku podle Nyquistova teorému. (22)
Obrázek 19: Ilustrace ke slope overload (22) Tyto problémy vedly k tomu, že se podle (22) delta až tak moc nepoužívala v komunikacích, ale vedla ke vzniku dnes oblíbených Σ-Δ AD převodníků. První použití: 1969 D. J. Goodman v Bell Labs. Pro pochopení funkce sigma delta ADC je třeba znát techniky oversampling, quantization noise shaping, digital filtering a decimation.
34
4.5.1 Chyba kvantování Ideální N bitový AD převodník má chybu kvantování +- ½ LSB.
Graf 5: Chyba kvantování (22) Graf 5 ukazuje závislost kvantovací chyby na čase pro vstupní signál, který roste s konstantní rychlostí.
Efektivní hodnota chyby je pak.
Kde q je velikost signálu reprezentovaná jedním LSB. Když bude vstupním signálem harmonické vlnění o plném rozsahu převodníku, pak jeho efektivní hodnota bude polovina rozsahu vydělená odmocninou ze dvou.17
Jejich SNR18 je potom
Standardní převod z měřítka maximálních hodnot do efektivních. v efektivních hodnotách 18 Signal to Noise Ratio = odstup signálu od šumu 17
je
35
Toto platí pro signál v Nyquistově spektru19. Pokud budeme sledovat signál s užší šířkou pásma a zbytek signálu odfiltrujeme, tak musíme přidat k předešlé formuli korekci.
Kde fs je vzorkovací frekvence a Bw20 je šířka sledovaného pásma. Je vidět, že se odstup od šumu se zvyšováním frekvence a zužováním pásma zlepšuje. Toto je základní princip techniky zvané oversampling.
4.5.2 Oversampling Pokud ADC není ideální, pak se mimo jeho rozlišení udává ještě efektivní rozlišení. Toto se dá spočítat jako
Obrázek 20: Ilustrace k technikám fungování Σ-Δ. Převzato z (22).
19 20
Dvojnásobná vzorkovací frekvence, než je nejvyšší složka signálu. Bw = Bandwidth.
36
Při oversampling (převzorkování) dojde k roztažení vzorkovaného pásma, nicméně množství šumu zůstane stejné. Bude roztažené v širším pásmu. Proto po roztažení a odfiltrování na původní šířku pásma se SNR zlepší. Decimation znamená vynechávání vzorků, resp. použití každého i vzorku. Používá se proto, že při digitálním filtrováním se odfiltruje velká část spektra, proto je zbytečné zpracovávat vzorky vzorkované frekvencí K * fs, které neobsahují žádné dodatečné informace, stačí pouze fs. Σ-Δ převodníky mají navíc tu vlastnost, že při oversampling přesouvají větší množství šumu do pásem, která se následovně odfiltrují. Tím ještě zlepšují výsledný odstup. Toto tvarování šumu (noise shaping) je způsobeno tím, že analogový integrátor má ve frekvenční doméně přenosovou funkci H(f) = 1/f.
Obrázek 21: Noise shaping (22)
Z výsledné rovnice lze vidět, že se zvyšující se frekvencí se bude úroveň signálu snižovat a úroveň šumu poroste. V případě použití vícestupňového integrátoru, lze dosáhnou ostřejší změny mezi čistou a zašuměnou oblastí. Nicméně více než 2stupňový integrátor se ukázal být nestabilní. (22) Pro jednostupňový filtr je zlepšení odstupu 9 dB na oktávu, při dvoustupňovém 15 na oktávu a při tří 21 dB na oktávu.
4.5.3 Výstup Samotný výstup z komparátoru nám nic neřekne. Důležitý je poměr jedniček a nul v proudu dat, která tečou z komparátoru. Abychom dosáhli N bitového rozlišení, je třeba získat proud o délce 2N bitů. To omezuje výslednou rychlost 37
převodu. Další věc, kterou je třeba brát v potaz, je zpoždění způsobené funkcí digitálního filtru, což může znamenat zpoždění i ve stovkách cyklů.
38
5 5.1
Návrh převodníku
Požadavky
Základní požadavky na převodník teploty jsou specifikovány v zadání bakalářské práce. V této části se na ně podívám kvalifikovanějším pohledem a provedu konečné upřesnění. Základní funkcí je převod teploty. Přesnost měření je složitá oblast a závisí na mnoha faktorech, z nichž ne všechny mohu ovlivnit při konstrukci převodníku. Umístění snímače, ideální přenos tepla a jiné faktory, které mají vliv na přesnost měřícího systému jako celku, musím zanedbat. Také přesná kalibrace není nikterak jednoduchý proces a vyžaduje nákladné zařízení. Proto je těžké mluvit o absolutní přesnosti, která udává odchylku od skutečné měřené veličiny. Spíše nás bude zajímat rozlišení, jakého je zařízení schopno dosáhnout. S přesností je úzce spjat další pojem, kterým je teplotní drift. Tento udává, jakým způsobem se změní výstupní signál, když budeme měnit teplotu samotného převodníku při zachování konstantního vstupního signálu. Teplotní drift by měl být v ideálním případě nulový. Pro konkrétní hodnoty přesnosti, jakou dosahují zřízení používaná v praxi, se podíváme na specifikace několika konkurenčních zařízení. Například v katalogovém listu k převodníku Rosemount 848T (23) je pěkně zpracovaná tabulka přesností pro jednotlivá čidla. Například pro čidlo PT100 uvádějí přesnost ± 0,3 °C a teplotní drift 0,003 °C na 1 °C při kalibrační teplotě 20 °C. Dalším příkladem může být PROFIPAQ-H (24) s udanou přesností 0,1 °C pro PT100 nebo TH200 (25) s přesností 0,1 °C + 0,1 % z rozsahu. Při měření termočlánků jsou přesnosti horší a pohybují se kolem 1 °C pro termočlánek typu K u zařízení Rosemount 848T. V kapitole věnované průmyslovým sběrnicím jsme zvolili Modbus jako protokol, který bude implementován v prototypu zařízení. Výstup zařízení tedy bude přesně vyhovovat specifikaci podle Modbus na sériové lince RS485. V zadání práce byly zmíněny i jiné fyzické vrstvy než RS485 – například SPI nebo I2C. Při průzkumu průmyslových sběrnicí bylo zjištěno, že se tyto linky nepoužívají, a proto bylo od jejich implementace upuštěno. Jeden z možných argumentů pro SPI je její použití pro připojení komunikačních modulů. Nicméně se ukázalo, že komunikační moduly buď komunikují přes UART (převodníky UART-RS232, UART-RS485) nebo pokud používají SPI, tak mají speciální protokol, do kterého by musela být komunikace Modbus zapouzdře-
39
na. Proto bude v převodníku implementována pouze UART komunikace se signálem RTS. Dalším požadavkem ze zadání je displej, který by zobrazoval hodnoty měřené teploty. Pro zapojení displeje existují dva přístupy. Buď se displej zabuduje přímo do hlavice, která má průhledné víko, nebo je v externí krabičce, která je připojena na sběrnici (případně do proudové smyčky) nebo speciálním konektorem přímo k převodníku. Jako zobrazovače se nejčastěji používají displeje z tekutých krystalů. Výhodou těchto displejů je malá spotřeba, nicméně jsou složitější na ovládání. Jednotlivé segmenty se chovají jako kapacitní zátěž a dlouhodobě nesnesou stejnosměrné napětí. Tyto displeje si vyrábí buď s multiplexovanými21, nebo přímými vývody. Multiplexovaný displej vyžaduje buzení pomocí komplexních signálů, pro jejichž generování je potřeba řadič LCD displeje. Pokud jsou segmenty vyvedeny přímo, lze displej ovládat jednoduše stvořitelným signálem, nicméně každému segmentu musí být věnován jeden digitální výstup mikroprocesoru. Například pro 3 číslici se jedná o 20 pinů. Další nevýhoda displeje je zvýšení spotřeby energie. Ačkoli displej samotný má spotřebu velice nízkou, jeho řadič musí neustále generovat budící signály. Toto v případě použití speciálního řadiče LCD není problém, protože tyto součástky mají minimální spotřebu. Nicméně při buzení pomocí mikroprocesoru musí tento pořád pracovat, což vede k nárůstu spotřeby energie. Z těchto důvodů nebude v prototypu displej implementován. Rozměr desky převodníku byl zadán vedoucím práce. Vychází z velikosti hlavice22, do které bude převodník nainstalován. Posledním, ale o to důležitějším požadavkem, je možnost fungování na napájení z baterie. Při napájení z baterie je kritické udržet příkon zařízení na minimální úrovni, abychom maximalizovali dobu životnosti na jedno nabití. Vzhledem k tomu, že má být baterie umístěna v hlavici spolu s převodníkem, je nutno volit baterii patřičných rozměrů. Rozměrům převodníku odpovídá klasická baterie v pouzdře AA, případně článek tvořený ze dvou AA baterií. Požadavkům na kapacitu a napětí nejvíce odpovídají lithiové baterie s napětím 3,7 V.
Multiplexované zde znamená, že vývody z jednotlivých segmentů sdílí vývody z pouzdra displeje. 22 Hlavice je speciální kovová skříň, do které se zasune měřící vložka, například PT100, a vloží se do ní i převodník. 21
40
5.2
Výběr součástek
5.2.1 AD převodník V kapitole věnované převodníkům jsme se dozvěděli, že pro konstrukci převodníku teploty bude nejvýhodnější Sigma Delta AD převodník. Tyto převodníky mají dnes své zastoupení v nabídce většiny známých výrobců převodníků a bývají vybaveny nejrůznějšími podpůrnými obvody, což zvyšuje integraci aplikace a vede ke snížení nákladů a ke zvýšení spolehlivosti zařízení. Jednoduchým výpočtem můžeme ověřit, že pro dosažení rozlišení 0,01 °C potřebujeme převodník s rozlišením alespoň 15 bitů. Toto kritérium splňují prakticky všechny Σ-Δ AD převodníky.
Vzorkovací frekvence pro převodník teploty není kritická, můžeme proto volit z nejnižší řady. Tyto frekvence se typicky u nejpomalejších zařízení pohybují v desítkách Hz, což je zcela dostačující. Zatím jsme viděli, že základní požadavky splňují prakticky všechny nabízené modely Σ-Δ převodníků (samozřejmě mimo ty se speciálním účelem), proto budou hrát důležitou roli při rozhodování periferie přítomné v integrovaném obvodu. Teorie spolehlivosti nám říká, že nejporuchovější oblastí na součástce jsou její vývody, proto platí, že čím více funkčních prvků můžeme umístit do jednoho pouzdra, tím lépe. Pro měření teploty bychom potřebovali zesilovač, zdroj proudu, referenční napětí a alespoň dva vstupní kanály nebo kombinaci jeden vstupní kanál a jedno vnější referenční napětí. Z nabídky firmy Analog Devices23 těmto požadavkům vyhovuje několik obvodů, ze kterých AD7793 nabízí podle mě nejužitečnější periferie pro převodník teploty. (10) Dva zdroje konstantního proudu je vlastnost vhodná pro kompenzaci vlivu vedení u odporového čidla.
Zesilovač s nastavitelným zesílením.
Interní reference 1,17 V se použije při měření s termočlánkem.
Interní senzor teploty se dá použít pro dodatečné korekce výsledků.
Firma Analog Devices je jeden z předních výrobců integrovaných obvodů a mám s jejich produkty dobrou zkušenost, proto následující odstavce čerpají z jejich katalogů. Nabídka ostatních výrobců bude jistě podobná. 23
41
Jak lze vytušit ze soupisu vlastností, jedná se o součástku přímo určenou pro měření teploty s termočlánky nebo odporovými čidly. Další vlastnosti jsou rozlišení 24 bitů, vzorkovací frekvence až 470 Hz, napájecí napětí 2,7 až 5,25 V a výstup na SPI rozhraní. Výběrem takto bohatě vybaveného integrovaného obvodu získáme za 5 dolarů prakticky kompletní analogovou část převodníku teploty.
5.2.2 Zdroj napětí Protože napájecí napětí může kolísat, je potřeba napětí stabilizovat. Jako hodnotu stabilizovaného napětí jsem zvolil 3,3 V, protože tato úroveň umožňuje napájení jednou 3,6V baterií bez potřeby zvyšování napětí. Pro stabilizaci se používají lineární nebo spínané stabilizátory. Lineární stabilizátor obsahuje tranzistor a zpětnou vazbu, která řídí úbytek na tranzistoru tak, aby na výstupu bylo přesně dané napětí. Problém tohoto zapojení je nízká účinnost, která je závislá na velikosti vstupního a výstupního napětí. Například při výstupním napětí 3,3 V a napájení ze dvou 3,6V článků v sérii je účinnost pouze 46 %, což není příliš šetrné k bateriím. Proto jsem zvolil zdroj spínaný. Tento funguje tak, že ukládá energii do setrvačného prvku pomocí energetických pulzů, jejichž množství24 je úměrné odebíranému proudu. Vzhledem k tomu, že se jedná o pulzy spínané spínačem s teoreticky nulovým odporem, je na spínacím prvku nulový úbytek napětí a tím i nulový ztrátový výkon, což znamená 100% účinnost. Prodávané integrované spínané stabilizátory mají nejčastěji topologii buck. Toto zapojení funguje jako snižující měnič a jako setrvačný prvek používá tlumivku. Přes sepnutý spínač protéká proud tlumivkou, ve které se vytváří magnetické pole. Při rozpojení spínače pole zaniká a tím se indukuje na tlumivce napětí opačné polarity. Toto opačné napětí poté slouží jako zdroj v obvodu, který se uzavře přes diodu, která je vůči indukovanému napětí v propustném směru. Na výstupu je kondenzátor, který slouží zároveň jako filtr a rezervoár energie. V pouzdře stabilizátoru je integrován spínač a řídící elektronika, která pomocí zpětné vazby z výstupu řídí střídu spínaného signálu, případně i jeho frekvenci, čímž udržuje výstupní napětí na nastavené hodnotě bez ohledu na odebíraný proud. I dioda může být integrována, jak je časté u obvodů pro malé výkony.
Množstvím je myšlena spíše střída – moderní spínané zdroje se regulují pulzní šířkovou modulací, mnohé používají i komplexnější způsoby 24
42
Obrázek 22: Schéma buck měniče Takovýto stabilizátor v reálném světě samozřejmě nemá 100% účinnost, protože součástky nejsou ideální a vznikají na nich ztráty. I přes to ale není výjimkou účinnost přes 90 %. Do převodníku byl vybrán obvod TPS62056 firmy Texas Instruments, což je spínaný stabilizátor fungující na principu popsaném výše. Tento obvod je stavěný pro napájení z jednoho nebo dvou 3,6V článku a v katalogovém listu je uváděna účinnost nad 90 %. (26)
Graf 6: Závislost efektivity na odebíraném proudu. Nevýhodou spínaného stabilizátoru je rušení způsobené spínacími pulzy. Je proto potřeba dbát na důkladnou filtraci, zvláště ve spojení s přesným AD převodníkem.
43
5.2.3 Mikroprocesor Za účelem řízení a obstarávání komunikace musí být v převodníku mikroprocesor. Z široké nabídky typů jsem zvolil řadu PIC18 firmy Microchip, protože s ní mám už určité zkušenosti a mám přístup k vývojovým prostředkům. Mikroprocesor řady PIC18 je tvořen osmibitovým jádrem s RISC architekturou, flash pamětí pro program, operační pamětí a množstvím různých periferií. Pro převodník teploty potřebujeme SPI pro komunikaci s AD převodníkem a UART pro připojení výstupu převodníku na sběrnici. Dále se po vytvoření programu pro mikroprocesor ukázalo, že je potřeba alespoň 20 KB flash paměti a 2 KB RAM. Těmto požadavků vyhovuje PIC18F26K22. Jeho užitečné vlastnosti jsou shrnuty v následujícím seznamu. (27) 64 KB flash paměti pro program a 3896 B operační paměti
1024 B EEPROM pro uložení konfigurace při výpadku napájení
2 moduly sériové synchronní komunikace pro SPI
UART modul pro připojení na sběrnici
Programování mikroprocesoru probíhá přes speciální sériové rozhraní. Jako programátor lze zakoupit výrobcem dodávaná zařízení nebo použít některý z univerzálních programátorů. V této práci používám univerzální programátor PRESTO firmy ASIX.
5.3
Zapojení
Spínaný stabilizátor byl zapojen podle doporučeného zapojení v katalogovém listu. Na vstupu je zapojena pojistka, která má ochránit baterii před explozí, která může hrozit při zkratu na desce. Další funkce pojistky je ve spojitosti s diodou D1 ochrana proti přepólování. Při normálním zapojení napětí je dioda v závěrném směru. Ovšem při přepólování je tato dioda v propustném směru a prakticky zkratuje zdroj, čímž vyvolá enormní nárůst proudu a tím se přeruší pojistka.
44
Obrázek 23: Zapojení zdroje Vstup LBI stabilizátoru slouží pro sledování nízkého napětí baterie. Integrovaný obvod v sobě obsahuje referenční napětí 1,21 V a komparátor, který ho porovnává se vstupem LBI. Pokud napětí klesne pod referenční hodnotu, stabilizátor signalizuje na výstupu LBO nízkou úroveň baterie. S hodnotami rezistorů v děliči R9, R10 je nastavena kritická hodnota baterie na 5,8 V. Protože digitální obvody při změnách stavů vyvolávají nárazově velké proudy, jsou u AD převodníku i mikroprocesoru blokovací kondenzátory na napájecím napětí. Tyto kondenzátory by měly být na desce co nejblíže pouzdrům integrovaných obvodů.
Obrázek 24: Blokovací kondenzátory AD převodník je napájen dvěma různými napětími. DVDD je napětí pro digitální část. Toto napětí je přímo přivedeno ze stabilizátoru a blokováno kondenzátorem. AVDD je napětí pro analogovou část převodníku a proto musí být dodatečně filtrováno, aby bylo zbaveno rušení vlivem spínání digitálních obvodů. O filtraci tohoto napětí se stará filtr R4, L1, C2 a C3 a není jím napájena žádná jiná součástka kromě převodníku. Vstupní část převodníku je zapojena tak, aby bylo možno připojit dvou, tří i čtyřvodičové odporové čidlo, jakožto i termočlánek pomocí dvou vodičů. Při použití třívodičového zapojení je použita kompenzace pomocí dvou zdrojů proudu, jak bylo popsáno v teoretické kapitole. Dvou a třívodičové čidlo je napájeno pouze jedním zdrojem proudu. Pro získání referenčního napětí je použita metoda s referenčním rezistorem Rref, kterým protéká stejný proud jako mě-
45
řeným odporem. Mimo to je na vstupu převodníku zapojen filtr R5, C5, R6, C7, který omezuje rušení na vodičích a C8, který vyhlazuje změny napětí čidla.
Obrázek 25: Zapojení převodníku Napájení mikroprocesoru je také blokováno kondenzátorem. Resetovací pin je připojen přes R8 na VDD, což zaručí, že nebude docházet k samovolným restartům procesoru způsobeným rušením na nepřipojeném pinu. Vnější resetovací obvod v tomto případě není potřeba, protože PIC18F26K22 v sobě obsahuje obvod sledování napětí, který zajistí rozběhnutí procesoru teprve při dostatečném napětí. AD převodník je pak resetován softwarově. K mikroprocesoru jsou připojeny dvě LED diody, jejichž proud je nastaven na 2,6 mA pro červenou LED1 a 1,2 mA pro zelenou LED2. Rozdílná svítivost vlivem různých proudů nebude vadit, protože LED diody budou vydávat pouze záblesky.
46
Obrázek 26: Zapojení mikroprocesoru
5.4
Deska plošných spojů
Velikost desky plošných spojů byla omezena velikostí hlavice, pro kterou je převodník určený.
Obrázek 27: Rozměry desky převodníku
47
Tři menší díry průměru 3 mm slouží k uchycení desky. Velká díra uprostřed je připravena na přivedení vodičů od čidla a dvě středně velké díry jsou přístupová místa ke šroubům. Průměr celé desky je 58 mm. Jak je vidět z obrázku, deska je kvůli konstrukčním prvkům velmi členitá. Můžeme zde ovšem nalézt dvě větší volné plochy. Na první z nich jsem se rozhodl umístit mikroprocesor a na druhou potom AD převodník se zdrojem. Všechny součástky kromě konektorů jsou SMD a jsou umístěny na spodní straně spoje s výjimkou LED diod. Horní stranu spoje jsem vyhradil pro rozlitou zem a snažil jsem se všechny ostatní signály umístit na stranu spodní. Toto nicméně nejde v některých případech dodržet. V katalogovém listu AD převodníku doporučují použít oddělenou zem pro převodník. Toto jsem dodržel a země spojil v jediném bodě. Mimoto pod pouzdrem převodníku nevede žádný spoj a rozlitá zem zde slouží jako stínění. Při návrhu desky byl problém s umístěním svorkovnice X1, která slouží k připojení čidel. Jedná se o klasickou šroubovací svorkovnici s roztečí 5,08 mm. Takto velká svorkovnice byla zvolena proto, že vývody z čidel bývají dráty na konci opatřené dutinkou, které by se do menší svorkovnice nemusely vejít. Jediné volné místo pro tuto svorkovnici bylo na kraji desky naproti konektoru pro připojení komunikačního modulu. Nicméně, jak lze vidět z nákresu, svorkovnice částečně přesahuje okraje desky. Deska plošných spojů byla navržena v programu Eagle 6. Kompletní výkres je uveden v příloze.
5.5
Návrh firmware
Program pro mikroprocesor byl napsán v programovacím jazyce C v prostředí MPLAB X.
5.5.1 Modbus Důležitou částí programu je implementace protokolu Modbus. Rozhodl jsem se nepsat si implementaci vlastní, ale využít některou z už existujících knihoven. Na internetu jsem našel několik komerčních implementací, ale volba nakonec padla na knihovnu FreeMODBUS (28), která je uvolněna pod BSD licencí. BSD je licence pro svobodný software, která mimo jiné dovoluje použití v proprietárním software bez nutnosti zveřejňování zdrojových kódů. Tato knihovna se v systému chová jako služba, která ovládá sériovou linku. Pokud přijde na sběrnici požadavek, knihovna ho vyhodnotí a pokud jde o validní zprávu tak zavolá příslušnou uživatelskou funkci, která má za úkol
48
poskytnout data. Tyto uživatelské funkce nazýváme callback funkce. Vzhledem k tomu, že knihovna je volána z přerušení, tak budí dojem autonomně běžící služby. Aby nebyla obsluha protokolu přímo v přerušení, má knihovna frontu, do které jsou z přerušení přidávány události. V hlavní smyčce programu je potom cyklicky volána obsluha událostí.
Obrázek 28: Struktura FreeMODBUS knihovny Knihovna implementuje linkovou a uživatelskou vrstvu, jak jsou definované ve specifikaci. Knihovna je koncipována jako univerzální, tzn. nezávislá na platformě. Neobsahuje tedy funkce pro obsluhu HW. Tyto funkce musí uživatel doplnit. Požadované funkce jsou rozděleny do tří kategorií. První jsou funkce pro obsluhu událostí. Tyto slouží k předávání zpráv pro interní potřeby knihovny a je k nim poskytnuta výchozí implementace. Dokumentace doporučuje tyto funkce předefinovat, pokud používáme operační systém, který implementuje nějaký systém předávání událostí. Toto není můj případ, a proto jsem ponechal výchozí implementaci. Dalšími funkcemi jsou funkce pro obsluhu sériové linky. Jsou zde funkce pro nastavení UART, zapnutí a vypnutí UART, výpočet parity a příjem a odeslání znaku. Funkce pro příjem a odeslání znaku mají zvláštní postavení, protože jsou volány z přerušení. K těmto funkcím by se dala ještě řadit i obsluha přerušení od UART. V obsluze přerušení musíme volat příslušné funkce knihovny při odeslání znaku a při příjmu znaku. Protože knihovna potřebuje měřit čas mezi znaky, aby byla schopna identifikovat konec zprávy, jsou třetí kategorií funkce pro práci s časovačem. Jsou zde funkce pro nastavení časovače, zahájení odpočtu a podobně jako u sériové linky musíme doplnit obsluhu přerušení, která volá knihovní funkci.
49
V dokumentaci FreeMODBUS je dokument, který popisuje přenos knihovny na konkrétní HW. Tento návod je s příklady, neměl jsem tedy problémy s přenosem na platformu PIC18. Jakmile jsou implementovány funkce popsané výše, zbývá nadefinovat uživatelské callback funkce. Základní služba knihovny je zprostředkovat přístup k fiktivnímu adresovému prostoru registrů. Pokud přijde po sběrnici například požadavek na čtení z holding register, zavolá knihovna následující funkci. eMBErrorCode eMBRegHoldingCB ( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegisterMode eMode ); Parametr eMode určuje, zdali budeme z registru číst nebo do něj zapisovat. usAddress udává počáteční pozici operace a usNRegs počet požadovaných registrů. Pokud jde o operaci čtení, musí uživatel do pole pucRegBuffer nahrát požadovaná data podle adresy a počtu registrů. Data jsou 16 bitová, proto pro každý prvek jsou vyhrazeny dva po sobě jsoucí elementy pole. Při operaci zápisu obsahuje pole pucRegBuffer data, která přišla po sběrnici. Tato funkce vrací hodnotu, která určuje úspěch operace. Pokud byla adresa i počet registrů korektní (ve smyslu, že takovéto registry existují a podařilo se s nimi provést operaci), vrací funkce hodnotu MB_ENOERR. V případě chyby vrací buď MB_ENOREG při neexistenci registrů, MB_ETIMEDOUT při nedostupnosti dat nebo MB_EIO při nespecifikované chybě. Knihovna na tyto chybové návratové hodnoty reaguje tím, že odešle na sběrnici chybovou odpověď podle Modbus protokolu. Podobně jako pro holding register existují další callback funkce i pro ostatní datový typy. Knihovna navíc dovoluje specifikovat vlastní callback funkci pro jakýkoli funkční kód Modbus protokolu. Protože protokol Modbus nespecifikuje význam jednotlivých registrů, je nutné dodat k zařízení takzvanou mapu registrů. Tato popisuje význam jednotlivých registrů. Mapa registrů tohoto převodníku je v příloze B.
5.5.2 AD převodník AD7793 komunikuje přes SPI rozhraní. Toto rozhraní funguje tak, že řadič komunikace (v našem případě mikroprocesor) začne generovat hodinový signál, který synchronizuje dva posuvné registry, v každém zařízení jeden. Tyto registry si postupně vymění data, takže po skončení komunikace má řadič data ze zařízení a zařízení má data od řadiče. Tento způsob komunikace neumožňuje, aby zařízení dopředu vědělo, kdy po něm budou žádána data, a proto je musí mít připravena v registru před tím, než řadič zahájí komunikaci.
50
AD převodník se ovládá pomocí několika registrů, ke kterým můžeme přistupovat následujícím protokolem. První odeslaný byte je vždy zapsán do Communications Register. Tento určuje význam následujících bytů. Můžeme specifikovat, jestli půjde o zápis či čtení a s jakým registrem budeme pracovat. Podle těchto instrukcí následně odešleme další data ve formátu a počtu podle specifikace. Pokud vyžadovaná operace trvá nějaký čas, je potřeba mít signál READY, který signalizuje dokončení operace. SPI samo o sobě takovou možnost nemá, ale AD7793 využívá jeden z datových vodičů sběrnice jako signál READY. Je tedy možné zavést asynchronní řízení. Převodník mimoto podporuje softwarový reset, kterého se docílí zasláním 4 B po sobě s hodnotou 0xFF. Pro ovládání převodníku jsem vytvořil funkce, které zapouzdřují komunikaci s převodníkem do knihovny.
5.5.3 Další moduly Pro ukládání nastavení jsem vytvořil funkce pro práci s EEPROM pamětí. Tyto funkce dokážou uložit různé datové typy na adresy v paměti stanovené při kompilaci. Nad těmito funkcemi je potom vytvořena vyšší funkce, která ukládá celou strukturu s nastavením. Podobně jsem vytvořil i funkce pro načítání těchto dat.
5.5.4 Algoritmus měření Měření by se dalo rozdělit na dvě části. Jedna část je nezávislá a slouží k měření teploty převodníku. K tomuto používá vnitřní čidlo AD7793. Tato část se spouští každých 5 sekund a počítá teplotu jako plovoucí průměr z pěti hodnot. Čidlo lze kalibrovat pomocí změny koeficientů v polynomu prvního řádu, který slouží pro výpočet vnitřní teploty. Kde X je výstup převodníku při měření interního čidla. Alfa je citlivost, kterou zjistíme z katalogového údaje 0,81 mV/°C.
1,17 je referenční napětí použité při měření čidla. Beta je posun a pro výslednou hodnotu ve stupních Celsia je rovna -273,15. Druhá část slouží pro měření samotné teploty. Tento kód se taktéž spouští opakovaně s nastavitelnou periodou. Typ článku, který měříme, se určí buď při zapnutí přístroje načtením konfigurace, nebo při zápisu do příslušných registrů přes Modbus protokol. Při měření se toto nastavení nemění. Získání
51
teploty z naměřeného údaje se provede aplikací polynomu nanejvýš pátého stupně. Tento přepočet je univerzální a pro jednotlivé snímače se liší pouze v zadaných koeficientech polynomu. Převodník obsahuje v paměti katalogové hodnoty koeficientů, které se použijí při změně nastavení. Veškeré naměřené hodnoty se ukládají do paměti, odkud si je může Modbus callback funkce v případě potřeby vyčíst. Při ukládání těchto hodnot je potřeba uložit celou strukturu atomicky. Nicméně vzhledem k tomu, že Modbus knihovna pracuje s událostmi, které nejsou obsluhované z přerušení, nemůže přerušit ukládání dat do struktur a tím získat nekonzistentní data.
52
Měření převodníku
6
Desku prototypu jsem nechal profesionálně vyrobit ve firmě. Převodník byl osazen a oživen bez problému. Na změření prototypu jsem vytvořil několik testů, které jsem byl schopen provézt s jednoduchým vybavením.
6.1
Šum
Zajímalo mě efektivní rozlišení převodníku. Sestavil jsem proto test následujícím způsobem. Převodník jsem umístil do krabičky, abych omezil vliv změn teploty okolí. Především šlo o zamezení pohybu vzduchu. Na vstup jsem připojil čidlo PT100, které jsem ponořil do vody o pokojové teplotě, abych zamezil změnám teploty čidla. Čidlo PT100 jsem použil, protože má větší teplotní setrvačnost než běžný rezistor, jehož odpor se ukázal při běžné teplotě nestabilní. Ukládal jsem výstup AD převodníku a informaci o vnitřní teplotě. Jako první jsem měřil se zesílením 1. Na následujícím grafu jsou vidět vzorky zbavené lineárně závislé složky (teplota na čidle mírně stoupala.
680790 680770 680750 680730 680710 680690 0
50
100
150
200
250
300
350
400
Vzorky
Graf 7: Zesílení 1. Histogram k minulému grafu.
53
100 90 80 Četnost
70 60 50 40 30 20 10 680710 680715 680720 680725 680730 680735 680740 680745 680750 680755 680760 680765 680770 680775 Další
0
Třídy
Graf 8: Histogram, zesílení 1. Z grafu je vidět, že šum má normální rozdělení. Můžeme proto určit odchylku.
Další měření bylo provedeno se zesílením 4. 2723600 2723580 2723560 2723540 2723520 2723500 2723480 0
20
40 Vzorky
Graf 9: Zesílení 4.
54
60
80
30 Četnost
25 20 15 10 5 0
Třídy
Graf 10: Histogram, zesílení 4x. Z grafu můžeme podobně určit odchylku, která vyjde 13. Poslední měření bylo provedeno se zesílením 8x a odchylka byla 16. Jak je vidět, odchylka se nezvyšuje lineárně se zvětšováním zesílení. Nyní můžeme vypočítat odstup od šumu.
Při zesílení 8 můžeme určit efektivní rozlišení převodníku.
Při zesílení 8x jsme dosáhli rozlišení 19,7 bitů na celém rozsahu převodníku. Jak je vidět z předchozích výpočtů, pro nejlepší rozlišení je nutno využívat celého rozsahu převodníku.
6.2
Teplotní drift
Vliv teploty na převodník jsem měřil tak, že jsem umístil převodník do uzavřené skříně spolu se zdrojem tepla. Připojené čidlo PT 100 bylo ponořeno do vody o pokojové teplotě. Pomocí interního teplotního senzoru jsem zazna-
55
80,00
25,200
70,00
25,100 24,900
50,00
24,800
40,00
24,700
30,00
24,600 24,500
20,00
Teplota na čidle [°C]
25,000
60,00
24,400
10,00
24,300
0,00
24,200 1 59 117 175 233 291 349 407 465 523 581 639 697 755 813 871 929 987 1045 1103 1161 1219 1277 1335
Teplota převodníku [°C]
menával teplotu v krabici a také jsem ukládal hodnotu, kterou převodník určil pro čidlo ponořené ve vodě. Následující graf obsahuje naměřené údaje. Spodní křivka je teplota převodníku. Tato dosahuje špičkově až 70 stupňů. Křivka uprostřed, s výraznou prohlubní, je teplota měřená na PT100, které je ponořeno v nádobě s konstantní25 teplotou. Horní křivka je teplota na snímači po korekci, viz další odstavce.
Vzorky
Graf 11: Teplotní drift převodníku. Legenda ke křivkám viz text. Klesající tvar křivky teploty převodníku PT100 napovídá, že se buď snižuje odpor PT100, nebo se zvyšuje odpor referenčního rezistoru. Jelikož je odpor PT100 v tomto případě konstantní, musí se zvyšovat odpor referenčního rezistoru. Pro vysvětlení se podíváme na teplotní závislost odporu kovů. Víme, že kov má kladný součinitel rezistivity, proto by tato rovnice mohla vysvětlovat děj, který vidíme na grafu. Dosazením do rovnic pro výstup AD převodníku dostaneme následující.
25
Není úplně konstantní. Z grafu jde vidět, že teplota mírně klesá.
56
X je výstup převodníku při vyšší teplotě, X0 je výstup při vztažné teplotě. Pokud dosadíme do rovnice údaje z grafu, vyjde α ≈ 40∙10-6 ppm26. Pokud nyní místo hodnoty odporu Rref dosadíme do polynomu pro výpočet teploty PT100 hodnotu , získáme teplotu s vykompenzovaným teplotním driftem. Na Graf 11 se jedná o horní křivku. Koeficient α referenčního rezistoru by měl mýt co nejmenší. Rezistor, který je v prototypu, má podle katalogu až 200 ppm/K. Kvalitní tenkovrstvé rezistory mohou mít koeficient i 15 ppm/K. V grafu jsme viděli skoky v místech, kde se teplota převodníku prudce měnila. Tyto jsou podle mě způsobeny tím, že pouzdro rezistoru má menší tepelnou kapacitu, a proto se ohřeje rychleji než pouzdro AD převodníku, jehož teplota se používá pro korekci. Jakmile teplota AD převodníku „dožene“ teplotu rezistoru, korekce opraví výsledek správně. Při pomalejších změnách funguje korekce teplotního driftu dobře.
6.3
Spotřeba elektrické energie
Spotřeba elektrické energie byla měřena pomocí TrueRMS mikroampérmetru a zdroje konstantního napětí 6,5 V. Napětí 6,5 V bylo zvoleno proto, že je přibližně uprostřed vybíjecí charakteristiky zamýšlené baterie. Odběr byl s komunikací po sběrnici i bez komunikace. Jako fyzická linka byl použit UART na úrovních 3V, takže nebyly napájeny žádné budiče. Samotný mikroprocesor spotřebovával 380 µA. Při komunikaci se odběr zvýšil na 600 µA. Při zapnutí AD převodníku se odběr navýšil o 180 µA. Pokud byl převodník teploty spuštěn podle algoritmu uvedeného v kapitole o návrhu, ukazoval ampérmetr 410 µA. Je vidět, že převážnou část spotřeba tvoří mikroprocesor. Pokud bychom použili baterii s kapacitou 2100 mAh, můžeme očekávat dobu běhu až 7 měsíců.
26
Parts per milion.
57
58
7
Závěr
Výstupem této práce měl být prototyp převodníku teploty. Tento cíl se podařilo splnit, ačkoli nenaplnil všechna má očekávání. Především je problém s velkou spotřebou elektrické energie. Výdrž 7 měsíců na běžnou baterii je krátká doba, která se ještě zkrátí po připojení komunikačního modulu, pokud tento nebude mít vlastní zdroj. Důvod tohoto problému vidím v neefektivně naprogramovaném firmware pro mikroprocesor, který nevyužívá všechny jeho vlastnosti pro snížení příkonu. Na druhou stranu se podařilo úspěšně nasadit protokol Modbus, hlavně díky využití připravené knihovny, kterou jsem musel upravit pro běh na platformě PIC18. Veškeré parametry komunikace, jakože i nastavení měření teploty, jsou nastavitelné přes registry komunikačního protokolu. Zařízení obsahuje výchozí konfiguraci a koeficienty pro převodní polynomy podle příslušných standardů. Komunikace přes Modbus byla ověřena pomocí počítače, který se cyklicky dotazoval na hodnoty změřených veličin. Pokud by se toto zařízení mělo nasadit v praxi, bude nutné rozsáhlé testování, které ověří jednak spolehlivost a jednak správnost výsledků. S omezeným vybavením, které jsem měl k dispozici, jsem mohl zařízení otestovat jen z menší části. Další doporučení je instalovat na desku resetovací tlačítko, které v případě potřeby vrátí zařízení do továrního nastavení. K tomu se pojí i spolehlivost uložené konfigurace. Tato není nijak chráněna a při chybě ukládání či načítání dat může dojít k nedefinovanému chování. Doporučil bych použít CRC součet, který je přítomen v FreeMODBUS knihovně.
59
60
8
Bibliografie
1. HALLIDAY, David. Fyzika: Vysokoškolská učebnice obecné fyziky. 1. vyd. Brno/Praha : VUTIUM/PROMETHEUS, 2000. str. 1198. Kapitola 19. ISBN 80214-1869-9. 2. PRESTON, Thomas H. The International Temperature Scale of 1990. [Online] [Citace: 1. 5 2012.] http://www.its-90.com. 3. VETTOOR, Suresh V. Electrical Conduction and Superconductivity. Resonance. Volume 8, Issue No 9 September, 2003. [online][Citace: 1. 5. 2012] http://www.ias.ac.in/resonance/Sept2003/pdf/Sept2003p41-48.pdf. 4. JIRÁK, Josef. Materiály a technická dokumentace, Část: Materiály v elektrotechnice. Brno : Fakulta elektrotechniky a komunikačních technologií VUT v Brně. stránky 37-44. 5. BRZOBOHATÝ, Jaromír aj. Elektronické součástky. Brno : Fakulta elektrotechniky a komunikačních technologií VUT v Brně, 2003. 6. RIPKA, Pavel aj. SENZORY A PŘEVODNÍKY. Vydání první. Praha : České vysoké učení technické v Praze, 2005. ISBN 80-01-03123-3. 7. KREIDL, Marcel. MĚŘENÍ TEPLOTY - senzory a měřící obvody. 1. vydání. Praha : BEN - technická literatura, 2005. ISBN 80-7300-145-4. 8. KESTER, Walt. BRIDGE CIRCUITS. [Online] [Citace: 1. Květen 2012.] http://www.analog.com/static/importedfiles/seminars_webcasts/49470200sscsect2.PDF. 9. Microchip Technology Inc. AN687: Precision Temperature-Sensing With RTD Circuits. [Online] 2008. [Citace: 1. 5 2012.] http://ww1.microchip.com/downloads/en/appnotes/00687c.pdf. 10. Analog Devices. AD7792/AD7793 Datasheet. [Online] Rev. B, 2007. [Citace: 1. 5 2012.] http://www.analog.com/static/importedfiles/data_sheets/AD7792_7793.pdf. 11. VDOLEČEK, František a Martin HALAJ. Nejistoty v měření II: nejistoty přímých měření. Automa. 2001, Sv. 10. [online] http://www.odbornecasopisy.cz/download/au100152.pdf. 12. Anonym. Co v sobě ukrývá mezinárodní standard IEC 61158? Automa. Číslo 09, 2000. [online] http://www.odbornecasopisy.cz/index.php?id_document=27893.
61
13. BRÁBLÍK, Radim. Datalogger pro sběrnici typu profibus. Diplomová práce. Brno : VUT FEKT, 2010. 14. PROFIBUS Nutzerorganisation e.V. PROFIBUS System Description - Technology and Application. [Online] November 2010, 2010. [Citace: 1. 5 2012.] http://www.profibus.com/nc/downloads/downloads/profibustechnology-and-application-system-description/download/12821/. 15. SAMSON AG. FOUNDATION Fieldbus. [Online] 2000. [Citace: 1. 5 2012.] http://www.samson.de/pdf_en/l454en.pdf. 16. STOOR, Phil. FOUNDATION™ TECHNOLOGY: AUTOMATION INFRASTRUCTURE FOR OPERATIONAL EXCELLENCE. [Online] Červenec 2007. [Citace: 1. 5 2012.] http://www.fieldbus.org/images/stories/enduserresources/technicalreferences/d ocuments/fieldbus_brunnermond_whitepaper.pdf. 17. Modbus-IDA. MODBUS APPLICATION PROTOCOL SPECIFICATION. [Online] V1.1b, 28. Prosinec 2006. [Citace: 1. 5 2012.] http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf. 18. Modbus-IDA.ORG. MODBUS over serial line specification and implementation guide. [Online] V1.02, 20. Prosinec 2006. [Citace: 1. 5 2012.] http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf. 19. HOENTZSCH, Christof. M-Bus. [Online] 1997. [Citace: 1. 5 2012.] http://www.m-bus.com/. 20. KESTER, Walt. Which ADC Architecture Is Right for Your Application? Analog Dialogue. Volume 39, Number 2, 2005, stránky 11-18. ISSN 0161-3626. 21. Maxim Integrated Products. APPLICATION NOTE 2102: DeltaSigma ADCs Replace Integrating ADCs for Panel Meters. [Online] 5. 4 2011. [Citace: 1. 5 2012.] http://pdfserv.maxim-ic.com/en/an/AN2102.pdf. 22. KESTER, Walt. ADC Architectures III: Sigma-Delta ADC Basics. [Online] 2009. [Citace: 1. 5 2012.] http://www.analog.com/static/importedfiles/tutorials/MT-022.pdf. 23. Rosemount Inc. Rosemount 848T High Density Temperature Measurement Family. [Online] January 2009. [Citace: 1. 5 2012.] http://www.rosemount.com/document/pds/00813-0100-4697.pdf. 24. ZPA Nová Paka, a. s. Univerzální vysoce výkonný Profibus - PA převodník do hlavice. [Online] verze 1, červen 2006. [Citace: 1. 5 2012.] http://www.zpanp.cz/files/doc/univerzalni-vysoce-vykonny-profibus-paprevodnik-do-hlavice-24-4.pdf. 62
25. —. Dvouvodičový převodník programovatelný izolovaný do hlavice. [Online] verze 1, únor 2007. [Citace: 1. 5 2012.] http://www.zpanp.cz/files/doc/dvouvodicovy-prevodnik-programovatelnyizolovany-do-hlavice-24-4.pdf. 26. Texas Instruments Incorporated. TPS62056: 800-mA SYNCHRONOUS STEP-DOWN CONVERTER. [Online] June 2011. http://www.ti.com/lit/ds/symlink/tps62056.pdf. 27. Microchip Technology Inc. PIC18(L)F2X/4XK22 Data Sheet. [Online] Preliminary, 29. 11 2011. [Citace: 1. 5 2012.] http://ww1.microchip.com/downloads/en/DeviceDoc/41412E.pdf. ISBN 978-161341-966-3. 28. WALTER, Christian. FreeMODBUS - A Modbus ASCII/RTU and TCP implementation. [Online] [Citace: 1. květen 2012.] http://freemodbus.berlios.de/. 29. KESTER, Walt. Taking the Mystery out of the Infamous Formula,"SNR = 6.02N + 1.76dB," and Why You Should Care. [Online] Rev.A, 8 2010. [Citace: 1. 5 2012.] http://www.analog.com/static/importedfiles/tutorials/MT-001.pdf.
63
64
Horní strana desky
A: Výkresy desky
65
66
Spodní strana desky
B: Seznam součástek Označení C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 D1 F1 J1 L1 L2 PROG R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 SV1 U1 U2 U3 X1
Hodnota 1 µF 10 µF 0,1 µF 2 µF 2 µF 0,1 µF 0,1 µF 0,1 µF 0,1 µF 10 µF 22 µF SS14 Polyswitch Konektor 10 µH 10 µH Konektor 1M 1M 1M 10 R 1K 1K Reference 10 K 215 K 56 K Konektor AD7793 18F26K22 TPS62056DGS Konektor
Pouzdro 0603 0805 0603 3216 3216 0603 0603 0603 0603 3216 3216 DO214AC 0603 Pinheader 1812 1812 Pinheader 0603 0603 0603 0603 0603 0603 0603 0603 0805 0805 Pinheader TSSOP16 SO28W MSOP10 Svorkovnice
67
68
C: Mapa registrů Adresa 1 2 3 4 5 6 8 9 11 13 15 17 19 21 23
Název Baud Rate Parity RTU/ASCII Address Unit Ref. Resistor Sensor Type Internal A Internal B Cal A Cal B Cal C Cal D Cal E Temp Drift
Datový typ integer parity_t comm_t integer unit_t float sensor_t float float float float float float float float
Poznámka Baudová rychlost Parita Mód komunikace Modbus adresa Jednotka výstupu Ohm Typ připojeného senzoru Konstanty polynomu vnitřního teploměru Konstanty polynomu pro převod teploty z čidla
Konstanta pro kompenzaci driftu
Tabulka 5: Holding registers
Adresa 1 3 5 7 9
Název Temperature Accuracy Resistance Voltage Internal Temp
Datový typ float float float float float
Poznámka Teplota na čidle Spolehlivost údaje Odpor čidla Napětí na vstupu Interní teplota
Tabulka 6: Input registers
parity_t None Odd Even
integer 0 1 2
Tabulka 7: Typ parity_t
69
comm_t RTU ASCII
integer 0 1
Tabulka 8: Typ comm_t
unit_t Kelvin Celsius Fahrenheit
integer 0 1 2
Tabulka 9: Typ unit_t
sensor_t PT100 2 PT100 3 PT100 4 Thermocouple K Thermocouple J Thermocouple N
integer 0 1 2 3 4 5
Tabulka 10: Typ sensor_t V případě připojení odporového čidla s jinými parametry je třeba nastavit nejpodobnější z nabídky a ručně změnit koeficienty. Typ float je 4B číslo podle normy IEEE 754, kde na adrese A jsou horní dva byte a na (A+1) jsou spodní dva byte.
70