Innehållsförteckning:

UltraV: en bärbar UV-indexmätare: 10 steg (med bilder)
UltraV: en bärbar UV-indexmätare: 10 steg (med bilder)

Video: UltraV: en bärbar UV-indexmätare: 10 steg (med bilder)

Video: UltraV: en bärbar UV-indexmätare: 10 steg (med bilder)
Video: STOP The #1 Vitamin D Danger! [Side Effects? Toxicity? Benefits?] 2024, Juli
Anonim
UltraV: en bärbar UV-indexmätare
UltraV: en bärbar UV-indexmätare

Eftersom jag inte kunde utsätta mig för solen på grund av ett dermatologiskt problem använde jag den tid jag skulle ha spenderat på stranden för att bygga en ultraviolett strålningsmätare. UltraV.

Den är byggd på en Arduino Nano rev3, med en UV -sensor, en DC/DC -omvandlare för att höja 3v batterispänning och en liten OLED -display. Mitt främsta mål var att hålla den bärbar, så att jag lätt kunde känna till UV-index när som helst och var som helst.

Steg 1: Delar och komponenter

  • Mikrokontroller Arduino Nano rev.3
  • ML8511 UV -sensor
  • 128 × 64 OLED diplay (SSD1306)
  • MT3608 DC-DC steg-upp
  • CR2 batteri
  • CR2 batterihållare
  • växla
  • kapslingsfodral

Steg 2: Sensorn

Sensorn
Sensorn
Sensorn
Sensorn

ML8511 (Lapis Semiconductors) är en UV -sensor som är lämplig för att få UV -intensitet inomhus eller utomhus. ML8511 är utrustad med en intern förstärkare, som omvandlar fotoström till spänning beroende på UV-intensiteten. Denna unika funktion erbjuder ett enkelt gränssnitt till externa kretsar som ADC. I avstängningsläget är den typiska standbyströmmen 0,1 µA, vilket möjliggör en längre batteritid.

Funktioner:

  • Fotodiod känslig för UV-A och UV-B
  • Inbyggd operationsförstärkare
  • Analog spänningsutgång
  • Låg matningsström (300µA typ.) Och låg standbyström (0,1µA typ.)
  • Litet och tunt ytmonteringspaket (4,0 mm x 3,7 mm x 0,73 mm, 12-stifts keramiskt QFN)

Tyvärr hade jag inte chansen att hitta något UV-transparent material för att skydda sensorn. Varje form av genomskinligt lock som jag testade (plast, glas, etc.) dämpade UV -mätningen. Det bättre valet verkar vara kvarts -smält kiseldioxidglas, men jag har inte hittat några till ett rimligt pris, så jag bestämde mig för att lämna sensorn utanför lådan, utomhus.

Steg 3: Verksamhet

Operationer
Operationer

För att göra en åtgärd, slå på enheten och rikta den mot solen i flera sekunder, håll den i linje med solstrålarnas riktning. Titta sedan på displayen: indexet till vänster visar alltid det omedelbara måttet (en var 200 ms), medan avläsningen till höger är den maximala avläsningen som tas under denna session: det är den du behöver.

I den nedre vänstra delen av displayen rapporteras också WHO-ekvivalentnomenklaturen (LÅG, MEDEL, HÖG, MYCKET HÖG, EXTREM) för det uppmätta UV-indexet.

Steg 4: Batterispänning och avläsning

Jag väljer ett CR2 -batteri, för dess storlek och kapacitet (800 mAh). Jag använde UltraV under hela sommaren och batteriet läser fortfarande 2,8 v, så jag är ganska nöjd med valet. Vid drift dränerar kretsen cirka 100 mA, men en avläsningsmätning tar inte mer än några sekunder. Eftersom batteriets nominella spänning är 3v, lade jag till en DC-DC-stegomvandlare för att få spänningen upp till 9 volt och kopplade den till Vin-stiftet.

För att få indikering av batterispänning på displayen använde jag en analog ingång (A2). Arduino analoga ingångar kan användas för att mäta likspänning mellan 0 och 5V, men denna teknik kräver en kalibrering. För att utföra kalibreringen behöver du en multimeter. Slå först på kretsen med ditt slutbatteri (CR2) och använd inte USB -strömmen från datorn; mäta 5V på Arduino från regulatorn (finns på Arduino 5V -stiftet): denna spänning används som standard för Arduino ADC -referensspänning. Lägg nu in det uppmätta värdet i skissen enligt följande (antar att jag läser 5.023):

spänning = ((lång) summa / (lång) NUM_SAMPLES * 5023) / 1024,0;

I skissen tar jag spänningsmätningen som ett genomsnitt över 10 prover.

Steg 5: Schematisk och anslutningar

Schemat och anslutningar
Schemat och anslutningar

Steg 6: Programvara

För displayen använde jag U8g2lib som är mycket flexibel och kraftfull för denna typ av OLED -skärmar, vilket möjliggör ett brett urval av teckensnitt och bra positioneringsfunktioner.

När det gäller spänningsavläsningen från ML8511 använde jag 3.3v Arduino -referensstiftet (exakt inom 1%) som bas för ADC -omvandlaren. Så genom att göra en analog till digital konvertering på 3,3V-stiftet (genom att ansluta den till A1) och sedan jämföra denna avläsning med avläsningen från sensorn kan vi extrapolera en verklighetstrogen avläsning, oavsett vad VIN är (så länge den är över 3,4V).

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

Ladda ner hela koden från följande länk.

Steg 7: Lådfodral

Lådfodral
Lådfodral

Efter flera (dåliga) tester för att manuellt klippa det rektangulära fönstret på en kommersiell plastlåda bestämde jag mig för att designa mitt eget för det. Så med en CAD -applikation konstruerade jag en låda och för att hålla den så liten som möjligt monterade jag CR2 -batteriet externt på baksidan (med en batterihållare limmad på själva lådan).

Ladda ner STL -filen för höljet, från följande länk.

Steg 8: Möjliga framtida förbättringar

  • Använd en UV-spektrometer för att mäta faktiska UV-indexvärden i realtid under olika förhållanden (UV-spektrometrar är mycket dyra);
  • Spela samtidigt in utdata från ML8511 med Arduino mikrokontroller;
  • Skriv algoritm för att relatera ML8511-utmatningen till det verkliga UVI-värdet i realtid under ett stort antal atmosfäriska förhållanden.

Steg 9: Bildgalleri

Bildgalleri
Bildgalleri
Bildgalleri
Bildgalleri
Bildgalleri
Bildgalleri

Steg 10: Poäng

  • Carlos Orts:
  • Arduino -forum:
  • Starta elektronik:
  • U8g2lib:
  • Världshälsoorganisationen, UV -index:

Rekommenderad: