SDS 1PR: ADC vstupy a kalibrace

Tato stránka má význam pro HW SDS První Produktové Řady - viz seznam.

Vše co je na této stránce uvedeno, lze aplikovat jen na SDS První Produktové Řady, tedy, MICRO, MACRO, MINI atd.

Nastavení převodu digitální hodnoty na fyzikální veličinu

Vybrané zařízení SDS (např. SDS-MICRO) mají dva nebo čtyři napěťové vstupy, označené jako "AINx" nebo "ADx", které umí měřit a digitalizovat.

Všechny AIN vstupy jsou měřeny vůči společné svorce (AIN-GND), a umožňují měřit jen stejnosměrné (DC) napětí.

Každý z AINx vstupů má následující zapojení:

And sds micro analog in.png

To znamená, že uvnitř zařízení SDS je napěťový dělič (na obrázku jako RR a RX), dále kondenzátor (na obrázku CX) pro potlačení rušení, a nakonec ochranné diody na vstupu samotného A/D převodníku (který je v SoC chipu).

Úkolem napěťového děliče je upravit vstupní napětí (mezi svorkou ADx a GND) tak, aby při plném měřeném napětí (takové jaké si uživatel vybere) bylo na vstupu SoC chipu právě přesně 3V0 nebo 3V3 (záleží na konkrétním zařízení SDS, protože jejich vnitřní převodník měří v rozsahu 0V až 3V nebo v rozsahu 0V až 3V3).

Pokud tedy chceme měřit napětí např. v rozsahu 0V až 30V, tak musí být dělič zapojen tak, aby při 30V na svém vstupu dával právě 3V0 (nebo 3V3) na svém výstupu (připojený do SoC).

Dělič je spočítán tak, aby jím protékal proud zhruba 1mA (při RR=2k a RX=3k). Větší proud není obvykle vhodný, protože způsobí ohřev rezistorů v děliči. Někdy může být vhodnější proud i zmenšit, např. pokud se má měřit napětí baterie - pak je baterie trvale vybíjena právě proudem, který si dělič vezme. Čím větší je hodnota RR (a RE), tím menší je proud, který děličem protéká.

Úkolem ochranných diod (na obrázku jako D1), je omezit maximální napětí na SoC na 3.3V, a tím zabránít zničení SoC při nesprávném děliči, nebo při připojení vyššího napětí na vstupní svorku. Pozor, tato ochrana je pouze krátkodobá, při delším působení (více než desítky vteřin) dojde ke zničení zařízení SDS.

Kondenzátor CX je osazen pro potlačení VF rušení. Jeho hodnota je u různých SDS různá, nicméně není kritická. Pokud plánujete měřit pomalu se měnící napětí, může být velmi výhodné hodnotu CX zvýšit, popřípadě přidat mezi vstupní svorku a svorku GND další kondenzátor (stovky nF až jednotky uF, podle toho jak rychle se měřené napětí mění) - získáte tím vyšší potlačení případného šumu a rušení.

Jak upravit měřící rozsah

Nejprve je potřeba uvést maximální limit, jaký vlastně sami chcete - ten je ale omezen vzhledem k vzdálenostem mezi svorkami, a vzhledem na vzdálenosti mezi součástkami na desce. Tím je omezeno maximální možné napětí, jaké je možné přivést na vstupní svorky (mezi svorky ADx a GND). Pokud dojde k poškození zařízení SDS z důvodu přepětí (lze to snadno zjistit, i pohledem), nebude uznána záruka.

Teoreticky lze měřit i DC napětí ve stovkách Voltů. Je vždy potřeba správně upravit dělič (RE, RR a RX).

Typicky, rezistor RX se nemění (je to SMD součástka na desce), a buď lze změnit rezistor RR (je to vývodová součástka, takže ji lze snadno vyměnit), nebo se připojí externí sériový rezistor RE, a to mezi zdroj měřeného napětí a vstupní svorku ADx, viz obrázek dole.

Dále se budeme zabývat pouze připojování externího rezistoru RE. Jeho odpor se přičte k odporu rezistoru RR, a tak spolu s RX vytvoří tyto tři rezistory dělič. Pokud chcete pouze změnit hodnotu RR, pak platí stejný postup, s tím, že RE = nula Ohmů.

Výpočet (pro varianty LM):

Budeme určovat hodnotu externího rezistoru RE. Tento rezistor je zapojen mezi měřený zdroj napětí, a vstupní svorku zařízení SDS.

Soubor:And sds micro analog div.gif

Výpočet je pak zřejmý. Podle hodnot RE, RR a RX se zajistí, že při maximálním napětí, které chceme měřit, bude na vstupu do SoC právě 3.0V (pro LM) nebo 3.3V (pro ST).

Základní vzoreček:

LM:  3.0V = (UmaxIn * RX) / (RE + RR + RX)
ST:  3.3V = (UmaxIn * RX) / (RE + RR + RX)

Kde UmaxIn je zadání (maximální měření napětí), hodnota RX je pevně daná (3kOhm = 3000 Ohmů). Hodnota RR je různá pro různé SDS, řekněme pro náš příklad že je to 27kOhm (= 27000 Ohmů).

Takže, pro UmaxIn = 60V bude dosazení takové:

UmaxIn = 60V (toto si určí uživatel)
UmaxSoc = 3V0 (vždy je to 3.000 V pro LM - nebo 3.3V pro ST)
RX = 3000 Ohmů (podle toho co je v konkrétním SDS)
RR = 27000 Ohmů (podle toho co je v konkrétním SDS)
RE = ?

Výpočet pro LM:
3.0 = (60 * 3000) / (RE + 27000 + 3000)

Odsud lze snadno zjistit hodnotu RE, jednoduchou úpravou vzorečku:

RE = ( (UmaxIn * RX) / UmaxSoc ) - ( RR + RX )

RE = ( (60 * 3000) / 3.0 ) - ( 27000 + 3000 )

RE = 30000   [Ohmů]  (pro SDS typu LM)

Takže pro UmaxIn = 60V vychází RE jako 30kOhm rezistor pro SDS typu LM.

Do vzorečku si samozřejmě můžete dosadi jiného hodnoty, pro UmaxIn (to vždy vybíráte jako základní zadání) a popř. upřesnit hodnotu RR (protože některé SDS mají různý rezistor RR).

Rezistor RX je na všech SDS stejný (3kOhm) a napětí 3V0 je také vždy stejné (maximum na vstupu chipu SoC pro všechny varianty LM).

Samozřejmě výpočet pro SDS řady ST, které má maximum 3V3 (tedy ne 3V0 jako LM) je naprosto stejný, jen zadáte 3V3 na patřičná místa ve vzorcích.


Konfigurace webu

Protože se provádí převod napětí (analogová veličina) na digitální hodnotu (číslo), je potřeba správně nastavit přepočtové konstanty, aby z výsledku převodu (digitálního čísla) šla zobrazit změřená hodnota na webové stránce.

Převodník v SoC chipu typu LM, umožňuje měřit napětí v rámci 1024 kroků. To znamená, že UmaxIn je rozděleno na 1024 (nebo 4096) úrovní, přičemž 0V odpovídá hodnota '0' a napětí UmaxIn odpovídá hodnota '1023' (nebo '4095' pro ST).

Pro zařízení SDS se nastavují dvě položky: 'nulový offset' a 'přepočtová konstanta'.

Nulový offset se používá proto, aby zařízení SDS na svém webu zobrazilo '0V', pokud skutečně na vstupu je 0V (popř. pokud je vstup odpojen). Nastavení nulového offsetu je nutné, protože SoC chip není dokonalý a může měrit šum (to znamená, že typicky až první tři úrovně převodu je potřeba zahodit, právě nastavením nulového offsetu). Tento nulový offset se odečte od výsledku A/D převodu, a teprve hodnota po tomto odečtení se pak dále zpracovává.

Přepočtová konstanta je určena pro převod výstupu A/D převodu (po odečtení nulového offsetu) na "skutečnou čitelnou hodnotu", např. na text změřené hodnoty ve Voltech.

Hodnota prezentovaná na webových stránkách je vypočítána následovně:

prezentovaná_hodnota = (surová_změřená_hodnota - nulový_offset) / (přepočtová_konstanta / 100)

Postup konfigurace:

1. určit hodnotu nulový_offset
2. pro UmaxIn určit hodnotu přepočtová_konstanta

Takže, za prvé: toto je nutno provést s každým výrobkem SDS, a to pro každý A/D vstup, zvlášť. Může se stát, že všechny vstupy pro dané SDS budou mít nulovou konstantu jako '0', ale také ji mohou mít zcela libovolnou (typicky od nuly do pěti).

Určení nulového offsetu se provede tak, že se zařízení SDS nechá ohřát na provozní teplotu. Vstupní A/D svorka zařízení SDS je odpojená. Přepočtová konstanta se ve webovém rozhraní nastaví na 100, takže web pak ukazuje přímo hodnoty 0 až 1023 (nebo 0 až 4095). Pokud nebude pro nezapojenou vstupní svorku ukazovat nulu, tak je potřeba postupně zvyšovat nulový offset - měl by být stejný jako hodnota, kterou právě web zobrazí (s nastavenou přepočtovou konstantou 100), a nemělo by to přesáhnou zhruba číslo pět. Následně je dobré provést ověření, že při spojení vstupní svorky na svorku GND, bude web stále ukazovat nulu.

Za druhé, jakmile je známá nulová konstanta, provede se určení přepočtové konstanty - víme, že '1023' pro LM (nebo '4095' pro ST) vždy odpovídá právě UmaxIn:

přepočtová_konstanta = ( (1023 - nulový_offset) * 100 ) / UmaxIn

Příklad pro LM:

UmaxIn = 5V
nulový_offset = 3
přepočtová_konstanta = ( (1023 - 3) * 100 ) / 5
přepočtová_konstanta = 20400

Hodnotu přepočtová_konstanta a nulový_offset pak zadáte přímo do webové administrace zařízení SDS, pro konkrétní A/D vstup.