Inhoudsopgave:
- Stap 1: Onderdelen en componenten
- Stap 2: De sensor
- Stap 3: Operaties
- Stap 4: Batterijspanning en aflezen
- Stap 5: Schema en verbindingen
- Stap 6: Software
- Stap 7: Behuizing:
- Stap 8: Mogelijke toekomstige verbeteringen
- Stap 9: Afbeeldingengalerij
- Stap 10: Tegoeden
Video: UltraV: een draagbare UV-indexmeter - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Omdat ik door een dermatologisch probleem mezelf niet aan de zon kon blootstellen, gebruikte ik de tijd die ik op het strand zou hebben doorgebracht om een ultraviolette stralingsmeter te bouwen. UltraV.
Het is gebouwd op een Arduino Nano rev3, met een UV-sensor, een DC/DC-converter om de 3v-batterijspanning te verhogen en een klein OLED-display. Mijn belangrijkste doel was om het draagbaar te houden, zodat ik op elk moment en op elke plaats gemakkelijk de UV-index kon kennen.
Stap 1: Onderdelen en componenten
- Microcontroller Arduino Nano rev.3
- ML8511 UV-sensor
- 128×64 OLED-display (SSD1306)
- MT3608 DC-DC step-up
- CR2-batterij
- CR2 batterijhouder
- schakelaar
- behuizing behuizing
Stap 2: De sensor
De ML8511 (Lapis Semiconductors) is een UV-sensor, die geschikt is voor het meten van UV-intensiteit binnen of buiten. De ML8511 is uitgerust met een interne versterker, die fotostroom omzet in spanning afhankelijk van de UV-intensiteit. Deze unieke functie biedt een gemakkelijke interface naar externe circuits zoals ADC. In de uitschakelmodus is de typische stand-bystroom 0,1 µA, wat een langere levensduur van de batterij mogelijk maakt.
Functies:
- Fotodiode gevoelig voor UV-A en UV-B
- Ingebouwde operationele versterker
- Analoge spanningsuitgang:
- Lage voedingsstroom (300 µA typ.) en lage stand-by stroom (0,1 µA typ.)
- Klein en dun pakket voor opbouwmontage (4,0 mm x 3,7 mm x 0,73 mm, 12-pins keramische QFN)
Helaas heb ik geen UV-transparant materiaal kunnen vinden om de sensor te beschermen. Elke soort transparante hoes die ik heb getest (plastic, glas, enz.) verzwakte de UV-meting. De betere keuze lijkt kwarts-gesmolten silicaglas te zijn, maar ik heb er geen gevonden voor een redelijke prijs, dus besloot ik de sensor buiten de doos te laten, in de open lucht.
Stap 3: Operaties
Om een meting te doen, zet u het apparaat aan en richt u het enkele seconden op de zon, waarbij u het in de richting van de zonnestralen houdt. Kijk dan op het display: de index aan de linkerkant toont altijd de instant-maat (één per 200 ms), terwijl de meting aan de rechterkant de maximale meting is die tijdens deze sessie is genomen: dat is degene die je nodig hebt.
In de linkerbenedenhoek van het display wordt ook de WHO-equivalente nomenclatuur (LAAG, GEMIDDELD, HOOG, ZEER HOOG, EXTREEM) voor de gemeten UV-index vermeld.
Stap 4: Batterijspanning en aflezen
Ik kies een CR2-batterij, vanwege zijn grootte en capaciteit (800 mAh). Ik heb de hele zomer UltraV gebruikt en de batterij geeft nog steeds 2,8 v aan, dus ik ben best tevreden met de keuze. Wanneer het in werking is, verbruikt het circuit ongeveer 100 mA, maar een uitleesmeting duurt niet langer dan enkele seconden. Omdat de nominale spanning van de batterij 3v is, heb ik een DC-DC step-up converter toegevoegd om de spanning op 9 volt te brengen en deze op de Vin-pin aangesloten.
Om de indicatie van de accuspanning op het display te krijgen heb ik een analoge ingang (A2) gebruikt. Arduino analoge ingangen kunnen worden gebruikt om gelijkspanning tussen 0 en 5V te meten, maar deze techniek vereist een kalibratie. Om de kalibratie uit te voeren, heeft u een multimeter nodig. Voed eerst het circuit met uw laatste batterij (de CR2) en gebruik niet de USB-stroom van de computer; meet de 5V op de Arduino vanaf de regelaar (te vinden op de Arduino 5V-pin): deze spanning wordt standaard gebruikt voor de Arduino ADC-referentiespanning. Zet nu de gemeten waarde als volgt in de schets (stel ik lees 5.023):
spanning = ((lange) som / (lange) NUM_SAMPLES * 5023) / 1024.0;
In de schets neem ik de spanningsmeting als een gemiddelde over 10 monsters.
Stap 5: Schema en verbindingen
Stap 6: Software
Voor de weergave heb ik de U8g2lib gebruikt die zeer flexibel en krachtig is voor dit soort OLED-schermen, waardoor een ruime keuze aan lettertypen en goede positioneringsfuncties mogelijk is.
Wat betreft de spanningsmeting van de ML8511, gebruikte ik de 3.3v Arduino-referentiepin (nauwkeurig binnen 1%) als basis voor de ADC-converter. Dus door een analoog naar digitaal conversie uit te voeren op de 3,3V-pin (door deze aan te sluiten op A1) en deze meting vervolgens te vergelijken met de meting van de sensor, kunnen we een levensechte meting extrapoleren, ongeacht wat VIN is (zolang het boven de 3,4 V is).
int uvLevel = gemiddeldeAnalogRead(UVOUT);int refLevel = gemiddeldeAnalogRead(REF_3V3);float outputVoltage = 3,3 / refLevel * uvLevel;
Download de volledige code via de volgende link.
Stap 7: Behuizing:
Na verschillende (slechte) tests met het handmatig snijden van de rechthoekige etalage op een commerciële plastic doos, besloot ik er mijn eigen voor te ontwerpen. Dus met een CAD-applicatie heb ik een doos ontworpen en om deze zo klein mogelijk te houden, heb ik de CR2-batterij extern aan de achterkant gemonteerd (met een batterijhouder op de doos zelf gelijmd).
Download het STL-bestand voor de behuizing via de volgende link.
Stap 8: Mogelijke toekomstige verbeteringen
- Gebruik een UV-spectrometer om de werkelijke real-time UV-Index-waarden onder verschillende omstandigheden te meten (UV-spectrometers zijn erg duur);
- Tegelijkertijd output van de ML8511 opnemen met de Arduino-microcontroller;
- Schrijf een algoritme om de uitvoer van de ML8511 te relateren aan de werkelijke UVI-waarde in realtime onder een breed scala aan atmosferische omstandigheden.
Stap 9: Afbeeldingengalerij
Stap 10: Tegoeden
- Carlos Orts:
- Arduino-forum:
- Elektronica starten:
- U8g2lib:
- Wereldgezondheidsorganisatie, UV-index:
Aanbevolen:
Een e-mailmelding ontvangen wanneer een kanaal op ThingSpeak een tijdje niet is bijgewerkt: 16 stappen
Ontvang een e-mailmelding als een kanaal op ThingSpeak een tijdje niet is bijgewerkt: Achtergrondverhaal Ik heb zes geautomatiseerde kassen verspreid over Dublin, Ierland. Door een op maat gemaakte app voor mobiele telefoons te gebruiken, kan ik op afstand de geautomatiseerde functies in elke kas volgen en ermee communiceren. Ik kan de win handmatig openen / sluiten
Bouw een draagbare bewegingstracker (BLE van Arduino naar een aangepaste Android Studio-app): 4 stappen
Bouw een draagbare bewegingstracker (BLE van Arduino tot een aangepaste Android Studio-app): Bluetooth Low Energy (BLE) is een vorm van Bluetooth-communicatie met laag vermogen. Draagbare apparaten, zoals de slimme kleding die ik help ontwerpen bij Predictive Wear, moeten het stroomverbruik waar mogelijk beperken om de levensduur van de batterij te verlengen, en regelmatig gebruik maken van BLE
Automatisch een programma starten bij het aansluiten van een laptop op een dockingstation: 5 stappen
Een programma automatisch starten wanneer u een laptop op een dockingstation aansluit: deze instructie gaat over het uitvoeren van een programma of een toepassing wanneer u uw laptop op een dockingstation aansluit. In dit voorbeeld gebruik ik Lenovo T480 Windows 10
Een condensator of een inductor meten met een mp3-speler: 9 stappen
Een condensator of een inductor meten met een mp3-speler: Hier is een eenvoudige techniek die kan worden gebruikt om de capaciteit en inductantie van een condensator en inductor nauwkeurig te meten zonder dure apparatuur. De meettechniek is gebaseerd op een gebalanceerde brug en kan eenvoudig worden geconstrueerd uit onde
Een lijn toevoegen aan een Boombox met een cassettespeler: 5 stappen
Een line-in toevoegen aan een boombox met een tapespeler: ** Zoals bij alle instructables, neem je je item / gezondheid / wat dan ook in eigen handen wanneer je het probeert! Houd rekening met hoge spanningen op het hoofdvoedingsbord, de hete soldeerbout, enz. Voorzichtig en geduldig zijn, zal u succes brengen. **NS