Obsah:

Jak vytvořit aktuální smysl ADC: 5 kroků
Jak vytvořit aktuální smysl ADC: 5 kroků

Video: Jak vytvořit aktuální smysl ADC: 5 kroků

Video: Jak vytvořit aktuální smysl ADC: 5 kroků
Video: How to Interface Industrial Sensors with Arduino Nano 2024, Listopad
Anonim
Jak vytvořit aktuální smysl ADC
Jak vytvořit aktuální smysl ADC

V tomto Instructable popíšeme, jak implementovat 8bitový analogově-digitální převodník (ADC) v SLG46855V, který dokáže snímat zátěžový proud a rozhraní s MCU přes I2C. Tuto konstrukci lze použít pro různé aplikace snímání proudu, jako jsou ampérmetry, systémy detekce poruch a palivoměry.

Níže jsme popsali potřebné kroky, abychom pochopili, jak bylo řešení naprogramováno tak, aby vytvářelo aktuální smysl ADC. Pokud však chcete získat pouze výsledek programování, stáhněte si software GreenPAK a zobrazte již dokončený soubor návrhu GreenPAK. Připojte vývojovou sadu GreenPAK k počítači a spusťte program, abyste vytvořili aktuální smysl ADC.

Krok 1: Architektura ADC

Architektura ADC
Architektura ADC

ADC se v zásadě skládá z analogového komparátoru a převodníku digitálního signálu na analogový (DAC). Komparátor snímá vstupní napětí vs. výstupní napětí DAC a následně řídí, zda má zvýšit nebo snížit vstupní kód DAC, takže výstup DAC konverguje na vstupní napětí. Výsledný vstupní kód DAC se stane digitálním výstupním kódem ADC.

V naší implementaci vytváříme DAC pomocí odporové sítě řízené pulzně šířkovou modulací (PWM). Pomocí GreenPAK můžeme snadno vytvořit přesný digitálně řízený výstup PWM. Když je PWM filtrován, stává se naším analogovým napětím a slouží tedy jako účinný DAC. Výraznou výhodou tohoto přístupu je, že je snadné nastavit napětí, které odpovídá nulovému kódu a plnému rozsahu (ekvivalentně offset a zisk) jednoduchým nastavením hodnot odporu. Například uživatel chce ideálně přečíst nulový kód z teplotního čidla bez proudu (0 µA), což odpovídá 4,3 V, a plného rozsahu při 1000 µA, což odpovídá 3,9 V (tabulka 1). To lze snadno implementovat jednoduchým nastavením několika hodnot odporu. Tím, že rozsah ADC odpovídá požadovanému rozsahu snímačů, využíváme největšího rozlišení ADC.

Zvažování této architektury spočívá v tom, že interní frekvence PWM musí být mnohem rychlejší než rychlost aktualizace ADC, aby se zabránilo podtlumenému chování její řídicí smyčky. Přinejmenším by měl být delší než hodiny čítače dat ADC děleno 256. V tomto návrhu je doba aktualizace ADC nastavena na 1,3312 ms.

Krok 2: Vnitřní obvod

Vnitřní obvod
Vnitřní obvod

Flexibilní ADC vychází z designu uvedeného v Dialog Semiconductor AN-1177. Rychlost hodin se zvýší z 1 MHz na 12,5 MHz, aby bylo možné čítač ADC taktovat, protože SLG46855 má k dispozici hodiny 25 MHz. To umožňuje mnohem rychlejší aktualizaci pro jemnější rozlišení vzorku. LUT taktování datových hodin ADC je změněno tak, aby procházelo signálem 12,5 MHz, když je PWM DFF nízký.

Krok 3: Externí obvod

Externí obvod
Externí obvod

Síť externích odporů a kondenzátorů se používá k převodu PWM na analogové napětí, jak je znázorněno na schématu zapojení na obrázku 1. Hodnoty jsou vypočítány pro maximální rozlišení pro maximální proud, který bude zařízení vnímat. Abychom dosáhli této flexibility, přidáváme rezistory R1 a R2 paralelně k VDD a zemi. Odporový dělič rozděluje VBAT na dolní stranu rozsahu napětí. Poměr děliče pro očekávaný minimální VBAT lze vyřešit pomocí rovnice 1.

Krok 4: I2C Přečtěte si pokyny

I2C Přečtěte si pokyny
I2C Přečtěte si pokyny

Tabulka 1 popisuje strukturu příkazů I2C pro čtení dat uložených v CNT0. Příkazy I2C vyžadují počáteční bit, řídicí bajt, adresu slova, bit čtení a stop bit.

Níže je zapsán příklad příkazu I2C ke čtení hodnoty počítané CNT0:

[0x10 0xA5] [0x11 R]

Počítaná hodnota, která je přečtena zpět, bude hodnotou kódu ADC. Jako příklad je v souboru ZIP této poznámky k aplikaci na webu Dialogu zahrnut kód Arduino.

Krok 5: Výsledky

Výsledek
Výsledek
Výsledek
Výsledek
Výsledek
Výsledek

Aby se otestovala přesnost návrhu snímání proudu ADC, byly naměřené hodnoty při daném zatěžovacím proudu a úrovni VDD porovnány s teoretickou hodnotou. Teoretické hodnoty ADC byly vypočítány pomocí rovnice 2.

ILOAD, který koreluje s hodnotou ADC, se nachází v rovnici 3.

Pro následující výsledky jsem použil tyto hodnoty komponent uvedené v tabulce 3.

Rozlišení převodu hodnoty ADC na ILOAD lze vypočítat pomocí rovnice 3 s naměřenými hodnotami v tabulce 2 a hodnotou ADC nastavenou na 1. Při VBAT 3,9 V je rozlišení 4,96 µA/div.

Za účelem optimalizace obvodu snímání proudu ADC na minimální úroveň VDD 3,6 V s maximálním proudem 1 100 µA a snímacím odporem 381 Ω by byl ideální děličový koeficient 0,884 na základě rovnice 1. S hodnotami uvedenými v tabulce 2, skutečný dělič má dělicí koeficient 0,876. Protože je to o něco méně, umožní to o něco větší rozsah zatěžovacího proudu, takže hodnoty ADC se blíží plnému rozsahu, ale nepřetékají. Skutečná hodnota děliče se vypočítá podle rovnice 4.

Výše (obrázky 2-6, tabulky 4-6) jsou měření provedená v obvodu na třech napěťových úrovních: 4,3 V, 3,9 V a 3,6 V. Každá úroveň zobrazuje graf zobrazující rozdíl mezi naměřenými a teoretickými hodnotami ADC. Teoretické hodnoty se zaokrouhlí na nejbližší celé číslo. Existuje souhrnný graf pro srovnání rozdílů na třech úrovních napětí. Poté je zde graf zobrazující korelaci mezi teoretickými hodnotami ADC a zatěžovacím proudem na různých úrovních napětí.

Závěr

Zařízení bylo testováno na třech úrovních napětí: 3,6 V, 3,9 V a 4,3 V. Rozsah těchto napětí modeluje plnou lithium -iontovou baterii, která se vybíjí na nominální úroveň. Ze tří úrovní napětí je pozorováno, že zařízení bylo typicky přesnější při 3,9 V pro zvolený externí obvod. Rozdíl mezi naměřenými a teoretickými hodnotami ADC činil pouze 1 desítkovou hodnotu při zátěžových proudech 700 - 1 000 µA. V daném rozsahu napětí byly naměřené hodnoty ADC v nejhorším případě o 3 desetinná místa nad nominálními podmínkami. Pro optimalizaci různých úrovní napětí VDD lze provést další úpravy odporového děliče.

Doporučuje: