Innholdsfortegnelse:

UltraV: en bærbar UV-indeksmåler: 10 trinn (med bilder)
UltraV: en bærbar UV-indeksmåler: 10 trinn (med bilder)

Video: UltraV: en bærbar UV-indeksmåler: 10 trinn (med bilder)

Video: UltraV: en bærbar UV-indeksmåler: 10 trinn (med bilder)
Video: SÅDAN FORBEREDS EN KANIN PÅ ET SPIT. MANGALE. GRILLET SABRE RØGET. I CREMME 2024, November
Anonim
UltraV: en bærbar UV-indeksmåler
UltraV: en bærbar UV-indeksmåler

Siden jeg ikke var i stand til å utsette meg selv for solen på grunn av et dermatologisk problem, brukte jeg tiden jeg ville ha brukt på stranden til å bygge en ultrafiolett strålemåler. UltraV.

Den er bygget på en Arduino Nano rev3, med en UV -sensor, en DC/DC -omformer for å øke 3v batterispenningen, og en liten OLED -skjerm. Hovedmålet mitt var å holde den bærbar, slik at jeg lett kunne kjenne til UV-indeksen når som helst og hvor som helst.

Trinn 1: Deler og komponenter

  • Mikrokontroller Arduino Nano rev.3
  • ML8511 UV -sensor
  • 128 × 64 OLED diplay (SSD1306)
  • MT3608 DC-DC trinn-opp
  • CR2 batteri
  • CR2 batteriholder
  • bytte om
  • kabinettskap

Trinn 2: Sensoren

Sensoren
Sensoren
Sensoren
Sensoren

ML8511 (Lapis Semiconductors) er en UV -sensor, som er egnet for å få UV -intensitet innendørs eller utendørs. ML8511 er utstyrt med en intern forsterker, som konverterer fotostrøm til spenning avhengig av UV-intensiteten. Denne unike funksjonen gir et enkelt grensesnitt til eksterne kretser som ADC. I nedstengingsmodus er typisk standby -strøm 0,1µA, noe som muliggjør en lengre batterilevetid.

Funksjoner:

  • Fotodiode sensitiv for UV-A og UV-B
  • Innebygd operasjonsforsterker
  • Analog spenningsutgang
  • Lav strøm (300µA typ.) Og lav standby -strøm (0,1µA typ.)
  • Liten og tynn overflatemonteringspakke (4,0 mm x 3,7 mm x 0,73 mm, 12-pinners keramisk QFN)

Dessverre hadde jeg ikke sjansen til å finne noe UV-transparent materiale for å beskytte sensoren. Enhver form for gjennomsiktig deksel jeg testet (plast, glass, etc.) dempet UV -målingen. Det bedre valget ser ut til å være kvarts -smeltet silikaglass, men jeg har ikke funnet noen til en fornuftig pris, så jeg bestemte meg for å la sensoren stå utenfor boksen, i friluft.

Trinn 3: Operasjoner

Operasjoner
Operasjoner

For å ta et mål må du bare slå på enheten og peke den mot solen i flere sekunder, og holde den på linje med solstrålens retning. Se deretter på displayet: indeksen til venstre viser alltid øyeblikkelige mål (en hver 200 ms), mens avlesningen til høyre er den maksimale avlesningen som er tatt i løpet av denne økten: det er den du trenger.

I nedre venstre del av displayet er det også rapportert WHOs tilsvarende nomenklatur (LAV, MODERAT, HØY, VELDIG HØY, EKSTREM) for den målte UV-indeksen.

Trinn 4: Batterispenning og lesing

Jeg velger et CR2 -batteri, for størrelsen og kapasiteten (800 mAh). Jeg brukte UltraV gjennom sommeren og batteriet leser fortsatt 2,8 v, så jeg er ganske fornøyd med valget. Når den er i drift, tømmes kretsen omtrent 100 mA, men en måling tar ikke mer enn noen få sekunder. Siden batteriets nominelle spenning er 3v, la jeg til en DC-DC step up-omformer for å bringe spenningen opp til 9 volt og koblet den til Vin-pinnen.

For å få indikasjonen for batterispenning på displayet, brukte jeg en analog inngang (A2). Arduino analoge innganger kan brukes til å måle likestrøm mellom 0 og 5V, men denne teknikken krever en kalibrering. For å utføre kalibreringen trenger du et multimeter. Slå først på kretsen med det endelige batteriet (CR2), og ikke bruk USB -strømmen fra datamaskinen; måle 5V på Arduino fra regulatoren (funnet på Arduino 5V -pinnen): denne spenningen brukes som standard for Arduino ADC -referansespenningen. Sett nå den målte verdien inn i skissen som følger (antar at jeg leste 5.023):

spenning = ((lang) sum / (lang) NUM_SAMPLES * 5023) / 1024,0;

I skissen tar jeg spenningsmåling som et gjennomsnitt over 10 prøver.

Trinn 5: Skjematisk og tilkoblinger

Skjematisk og tilkoblinger
Skjematisk og tilkoblinger

Trinn 6: Programvare

For skjermen brukte jeg U8g2lib som er veldig fleksibel og kraftig for denne typen OLED -skjermer, noe som gir et bredt utvalg av fonter og gode posisjoneringsfunksjoner.

Når det gjelder spenningsavlesningen fra ML8511, brukte jeg 3.3v Arduino referansepinne (nøyaktig innen 1%) som en base for ADC -omformeren. Så ved å gjøre en analog til digital konvertering på 3,3V-pinnen (ved å koble den til A1) og deretter sammenligne denne avlesningen med avlesningen fra sensoren, kan vi ekstrapolere en sant til virkelighet, uansett hva VIN er (så lenge den er over 3,4V).

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

Last ned hele koden fra følgende lenke.

Trinn 7: Vedleggsveske

Vedleggssak
Vedleggssak

Etter flere (dårlige) tester på manuell kutting av det rektangulære displayvinduet på en kommersiell plastboks, bestemte jeg meg for å designe min egen for det. Så med en CAD -applikasjon designet jeg en eske og for å holde den så liten som mulig, monterte jeg CR2 -batteriet eksternt på baksiden (med en batteriholder limt på selve boksen).

Last ned STL -filen for kabinettet, fra følgende lenke.

Trinn 8: Mulige fremtidige forbedringer

  • Bruk et UV-spektrometer for å måle faktiske sanntids UV-indeksverdier under forskjellige forhold (UV-spektrometre er veldig dyre);
  • Registrer samtidig utgang fra ML8511 med Arduino mikrokontroller;
  • Skriv algoritme for å relatere ML8511-utgangen til den faktiske UVI-verdien i sanntid under et bredt spekter av atmosfæriske forhold.

Trinn 9: Bildegalleri

bildegalleri
bildegalleri
bildegalleri
bildegalleri
bildegalleri
bildegalleri

Trinn 10: studiepoeng

  • Carlos Orts:
  • Arduino forum:
  • Starter elektronikk:
  • U8g2lib:
  • Verdens helseorganisasjon, UV -indeks:

Anbefalt: