Sommario:

UltraV: un misuratore di indice UV portatile: 10 passaggi (con immagini)
UltraV: un misuratore di indice UV portatile: 10 passaggi (con immagini)

Video: UltraV: un misuratore di indice UV portatile: 10 passaggi (con immagini)

Video: UltraV: un misuratore di indice UV portatile: 10 passaggi (con immagini)
Video: 【一口氣看完】奇幻劇《驚奇的傳聞》少年變身惡靈捕猎者,拯救世界! 2024, Luglio
Anonim
UltraV: un misuratore di indice UV portatile
UltraV: un misuratore di indice UV portatile

Non potendo espormi al sole a causa di un problema dermatologico, ho sfruttato il tempo che avrei passato in spiaggia per costruire un misuratore di raggi ultravioletti. UltraV.

È costruito su un Arduino Nano rev3, con un sensore UV, un convertitore DC/DC per aumentare la tensione della batteria a 3v e un piccolo display OLED. Il mio obiettivo principale era mantenerlo portatile, in modo da poter conoscere facilmente l'indice UV in qualsiasi momento e in qualsiasi luogo.

Passaggio 1: parti e componenti

  • Microcontrollore Arduino Nano rev.3
  • Sensore UV ML8511
  • Schermo OLED 128×64 (SSD1306)
  • MT3608 DC-DC step-up
  • Batteria CR2
  • Portabatterie CR2
  • interruttore
  • custodia

Passaggio 2: il sensore

Il sensore
Il sensore
Il sensore
Il sensore

L'ML8511 (Lapis Semiconductors) è un sensore UV, adatto per acquisire l'intensità UV all'interno o all'esterno. L'ML8511 è dotato di un amplificatore interno, che converte la fotocorrente in tensione a seconda dell'intensità UV. Questa caratteristica unica offre un'interfaccia semplice ai circuiti esterni come l'ADC. In modalità di spegnimento, la corrente di standby tipica è 0,1 µA, consentendo così una maggiore durata della batteria.

Caratteristiche:

  • Fotodiodo sensibile a UV-A e UV-B
  • Amplificatore operazionale integrato
  • Uscita analogica in tensione
  • Bassa corrente di alimentazione (300µA tipica) e bassa corrente di standby (0,1µA tipica)
  • Pacchetto di montaggio superficiale piccolo e sottile (4,0 mm x 3,7 mm x 0,73 mm, QFN in ceramica a 12 pin)

Sfortunatamente, non ho avuto la possibilità di trovare alcun materiale trasparente ai raggi UV per proteggere il sensore. Qualsiasi tipo di copertura trasparente che ho testato (plastica, vetro, ecc.) stava attenuando la misurazione dei raggi UV. La scelta migliore sembra essere il vetro di silice fuso al quarzo, ma non ne ho trovato a un prezzo ragionevole, quindi ho deciso di lasciare il sensore fuori dagli schemi, all'aria aperta.

Passaggio 3: operazioni

operazioni
operazioni

Per prendere una misura è sufficiente accendere il dispositivo e puntarlo verso il sole per alcuni secondi, mantenendolo allineato con la direzione dei raggi solari. Poi guarda il display: l'indice a sinistra mostra sempre la misura istantanea (una ogni 200 ms), mentre la lettura a destra è la lettura massima presa durante questa sessione: è quella che ti serve.

Nella parte inferiore sinistra del display è riportata anche la nomenclatura WHO equivalente (LOW, MODERATE, HIGH, VERY HIGH, EXTREME) per l'indice UV misurato.

Passaggio 4: tensione e lettura della batteria

Scelgo una batteria CR2, per le sue dimensioni e capacità (800 mAh). Ho usato UltraV per tutta l'estate e la batteria legge ancora 2,8 v, quindi sono abbastanza soddisfatto della scelta. Quando funziona, il circuito scarica circa 100 mA, ma una misurazione di lettura non richiede più di pochi secondi. Poiché la tensione nominale della batteria è 3v, ho aggiunto un convertitore step-up DC-DC per portare la tensione fino a 9 volt e l'ho collegato al pin Vin.

Per avere l'indicazione della tensione della batteria sul display ho utilizzato un ingresso analogico (A2). Gli ingressi analogici Arduino possono essere utilizzati per misurare la tensione CC tra 0 e 5V, ma questa tecnica richiede una calibrazione. Per eseguire la calibrazione, avrai bisogno di un multimetro. Prima alimenta il circuito con la tua batteria finale (il CR2) e non utilizzare l'alimentazione USB dal computer; misurare i 5V su Arduino dal regolatore (che si trova sul pin Arduino 5V): questa tensione viene utilizzata di default per la tensione di riferimento ADC Arduino. Ora inserisci il valore misurato nello schizzo come segue (supponiamo che io legga 5.023):

tensione = ((long)sum / (long)NUM_SAMPLES * 5023) / 1024.0;

Nello schizzo, sto prendendo la misurazione della tensione come media su 10 campioni.

Passaggio 5: schema e collegamenti

Schema e collegamenti
Schema e collegamenti

Passaggio 6: software

Per il display ho utilizzato l'U8g2lib che è molto flessibile e potente per questo tipo di display OLED, permettendo un'ampia scelta di font e buone funzioni di posizionamento.

Per quanto riguarda la lettura della tensione dall'ML8511, ho usato il pin di riferimento Arduino 3.3v (preciso entro l'1%) come base per il convertitore ADC. Quindi, eseguendo una conversione da analogico a digitale sul pin 3.3V (collegandolo ad A1) e quindi confrontando questa lettura con la lettura del sensore, possiamo estrapolare una lettura realistica, indipendentemente dal VIN (purché sia superiore a 3,4 V).

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

Scarica il codice completo dal seguente link.

Passaggio 7: custodia

Custodia per custodia
Custodia per custodia

Dopo diversi (brutti) test sul taglio manuale della finestra di visualizzazione rettangolare su una scatola di plastica commerciale, ho deciso di progettarne una mia. Quindi, con un'applicazione CAD ho disegnato una scatola e per mantenerla il più piccola possibile, ho montato la batteria CR2 esternamente sul lato posteriore (con un portabatteria incollato sulla scatola stessa).

Scarica il file STL per la custodia del contenitore, dal seguente link.

Passaggio 8: possibili miglioramenti futuri

  • Utilizzare uno spettrometro UV per misurare i valori effettivi dell'indice UV in tempo reale in varie condizioni (gli spettrometri UV sono molto costosi);
  • Registra simultaneamente l'output dall'ML8511 con il microcontrollore Arduino;
  • Scrivere un algoritmo per mettere in relazione l'output ML8511 con il valore UVI effettivo in tempo reale in un'ampia gamma di condizioni atmosferiche.

Passaggio 9: Galleria di immagini

galleria di immagini
galleria di immagini
galleria di immagini
galleria di immagini
galleria di immagini
galleria di immagini

Passaggio 10: crediti

  • Carlos Orts:
  • Forum Arduino:
  • Elettronica di avviamento:
  • U8g2lib:
  • Organizzazione Mondiale della Sanità, Indice UV:

Consigliato: