Obsah:

UltraV: přenosný měřič UV indexu: 10 kroků (s obrázky)
UltraV: přenosný měřič UV indexu: 10 kroků (s obrázky)

Video: UltraV: přenosný měřič UV indexu: 10 kroků (s obrázky)

Video: UltraV: přenosný měřič UV indexu: 10 kroků (s obrázky)
Video: Garmin Forerunner 955 (Solar) úplná recenze 2024, Listopad
Anonim
UltraV: přenosný měřič UV indexu
UltraV: přenosný měřič UV indexu

Protože jsem se kvůli dermatologickým problémům nemohl vystavit slunci, využil jsem času, který bych strávil na pláži, k vybudování měřiče ultrafialových paprsků. UltraV.

Je postaven na Arduino Nano rev3, s UV senzorem, DC/DC převodníkem pro zvýšení napětí 3v baterie a malým OLED displejem. Mým hlavním cílem bylo udržet jej přenosný, abych mohl snadno znát UV index v každém okamžiku a na jakémkoli místě.

Krok 1: Díly a součásti

  • Mikrokontrolér Arduino Nano rev.3
  • ML8511 UV senzor
  • 128 × 64 OLED diplay (SSD1306)
  • Zesílení MT3608 DC-DC
  • Baterie CR2
  • Držák baterie CR2
  • přepínač
  • pouzdro skříně

Krok 2: Senzor

Senzor
Senzor
Senzor
Senzor

ML8511 (Lapis Semiconductors) je UV senzor, který je vhodný pro získávání intenzity UV uvnitř i venku. ML8511 je vybaven vnitřním zesilovačem, který převádí fotoproud na napětí v závislosti na intenzitě UV záření. Tato jedinečná funkce nabízí snadné rozhraní s externími obvody, jako je ADC. V režimu vypnutí je typický pohotovostní proud 0,1 µA, což umožňuje delší životnost baterie.

Funkce:

  • Fotodioda citlivá na UV-A a UV-B
  • Integrovaný operační zesilovač
  • Analogový napěťový výstup
  • Nízký napájecí proud (300 µA typ.) A nízký pohotovostní proud (0,1 µA typ.)
  • Malý a tenký balíček pro povrchovou montáž (4,0 mm x 3,7 mm x 0,73 mm, 12pinový keramický QFN)

Bohužel jsem neměl šanci najít žádný UV průhledný materiál na ochranu senzoru. Jakýkoli druh průhledného krytu, který jsem testoval (plast, sklo atd.), Zeslaboval měření UV. Jako lepší volba se jeví křemičité sklo křemičité sklo, ale nenašel jsem žádné za rozumnou cenu, a tak jsem se rozhodl nechat senzor mimo krabici, na čerstvém vzduchu.

Krok 3: Operace

Operace
Operace

Chcete -li provést opatření, stačí zapnout zařízení a namířit jej na několik sekund na slunce, aby bylo zarovnáno se směrem slunečních paprsků. Pak sledujte na displeji: index vlevo vždy zobrazuje okamžitou míru (jedna každých 200 ms), zatímco hodnota vpravo je maximální hodnota naměřená během této relace: to je ta, kterou potřebujete.

V levé dolní části displeje je uvedena také ekvivalentní nomenklatura WHO (NÍZKÁ, MODERNÍ, VYSOKÁ, VELMI VYSOKÁ, EXTRÉMNÍ) pro naměřený UV-index.

Krok 4: Napětí baterie a čtení

Vybírám baterii CR2, pro její velikost a kapacitu (800 mAh). UltraV jsem používal celé léto a baterie stále ukazuje 2,8 V, takže jsem s volbou celkem spokojený. Při provozu obvod vyčerpá asi 100 mA, ale měření hodnoty netrvá déle než několik sekund. Vzhledem k tomu, že nominální napětí baterie je 3v, přidal jsem konvertor DC-DC pro zvýšení napětí až na 9 voltů a připojil jej ke kolíku Vin.

Aby se na displeji zobrazila indikace napětí baterie, použil jsem analogový vstup (A2). Analogové vstupy Arduino lze použít k měření stejnosměrného napětí mezi 0 a 5V, ale tato technika vyžaduje kalibraci. K provedení kalibrace budete potřebovat multimetr. Nejprve zapojte obvod do konečné baterie (CR2) a nepoužívejte napájení USB z počítače; změřte 5V na Arduinu z regulátoru (najdete na pinu Arduino 5V): toto napětí se standardně používá pro referenční napětí Arduino ADC. Nyní vložte naměřenou hodnotu do náčrtu následujícím způsobem (předpokládám, že jsem četl 5,023):

napětí = ((dlouhý) součet / (dlouhý) NUM_SAMPLES * 5023) / 1024,0;

V náčrtu beru měření napětí průměrně z 10 vzorků.

Krok 5: Schéma a připojení

Schéma a připojení
Schéma a připojení

Krok 6: Software

Pro zobrazení jsem použil U8g2lib, který je pro tento typ OLED displejů velmi flexibilní a výkonný, což umožňuje široký výběr písem a dobré funkce určování polohy.

Pokud jde o čtení napětí z ML8511, použil jsem 3,3v Arduino referenční pin (s přesností do 1%) jako základ pro převodník ADC. Takže převedením analogově na digitální na pin 3,3 V (připojením k A1) a následným porovnáním této hodnoty se čtením ze senzoru můžeme extrapolovat skutečné hodnoty bez ohledu na to, jaké je VIN (pokud je vyšší než 3,4 V).

int uvLevel = averageAnalogRead (UVOUT); int refLevel = averageAnalogRead (REF_3V3); float outputVoltage = 3,3 / refLevel * uvLevel;

Stáhněte si celý kód z následujícího odkazu.

Krok 7: Pouzdro skříně

Pouzdro skříně
Pouzdro skříně

Po několika (špatných) testech ručního řezání obdélníkového okénka na komerční plastové krabici jsem se rozhodl pro něj navrhnout vlastní. S aplikací CAD jsem tedy navrhl krabici a aby byla co nejmenší, namontoval jsem baterii CR2 externě na zadní stranu (s držákem baterie nalepeným na samotném boxu).

Stáhněte si soubor STL pro pouzdro skříně z následujícího odkazu.

Krok 8: Možná budoucí vylepšení

  • Použijte UV spektrometr k měření skutečných hodnot UV indexu v reálném čase za různých podmínek (UV spektrometry jsou velmi drahé);
  • Současně zaznamenávejte výstup z ML8511 s mikrokontrolérem Arduino;
  • Algoritmus zápisu pro přiřazení výstupu ML8511 ke skutečné hodnotě UVI v reálném čase za široké škály atmosférických podmínek.

Krok 9: Galerie obrázků

Galerie Obrázků
Galerie Obrázků
Galerie Obrázků
Galerie Obrázků
Galerie Obrázků
Galerie Obrázků

Krok 10: Kredity

  • Carlos Orts:
  • Fórum Arduino:
  • Spuštění elektroniky:
  • U8g2lib:
  • Světová zdravotnická organizace, UV index:

Doporučuje: