Cuprins:

UltraV: un contor portabil cu indice UV: 10 pași (cu imagini)
UltraV: un contor portabil cu indice UV: 10 pași (cu imagini)

Video: UltraV: un contor portabil cu indice UV: 10 pași (cu imagini)

Video: UltraV: un contor portabil cu indice UV: 10 pași (cu imagini)
Video: Bec economic de tip CCFL - Pentru incepatori 2024, Iulie
Anonim
UltraV: un contor portabil cu indice UV
UltraV: un contor portabil cu indice UV

Fiind incapabil să mă expun la soare din cauza unei probleme dermatologice, am folosit timpul pe care l-aș fi petrecut pe plajă pentru a construi un contor de raze ultraviolete. UltraV.

Este construit pe un Arduino Nano rev3, cu un senzor UV, un convertor DC / DC pentru creșterea tensiunii bateriei de 3v și un mic ecran OLED. Ținta mea principală a fost să-l mențin portabil, astfel încât să pot cunoaște cu ușurință indicele UV în orice moment și în orice loc.

Pasul 1: Piese și componente

  • Microcontroler Arduino Nano rev.3
  • Senzor UV ML8511
  • Afișaj OLED 128 × 64 (SSD1306)
  • MT3608 DC-DC step-up
  • Baterie CR2
  • Suport baterie CR2
  • intrerupator
  • caz de incintă

Pasul 2: senzorul

Senzorul
Senzorul
Senzorul
Senzorul

ML8511 (Lapis Semiconductors) este un senzor UV, care este potrivit pentru dobândirea intensității UV în interior sau exterior. ML8511 este echipat cu un amplificator intern, care convertește foto-curentul în tensiune în funcție de intensitatea UV. Această caracteristică unică oferă o interfață ușoară la circuite externe precum ADC. În modul de oprire, curentul de așteptare tipic este de 0,1µA, permițând astfel o durată mai mare de viață a bateriei.

Caracteristici:

  • Fotodiodă sensibilă la UV-A și UV-B
  • Amplificator operațional încorporat
  • Ieșire analogică de tensiune
  • Curent redus de alimentare (300µA tip.) Și curent redus de așteptare (0,1µA tip.)
  • Pachet de montare pe suprafață mic și subțire (4,0 mm x 3,7 mm x 0,73 mm, ceramică QFN cu 12 pini)

Din păcate, nu am avut șansa să găsesc niciun material transparent UV pentru a proteja senzorul. Orice fel de capac transparent pe care l-am testat (plastic, sticlă etc.) atenuează măsurarea UV. Alegerea mai bună pare a fi sticla de siliciu topită cu cuarț, dar nu am găsit la un preț rezonabil, așa că am decis să las senzorul în afara cutiei, în aer liber.

Pasul 3: Operațiuni

Operațiuni
Operațiuni

Pentru a lua o măsură, pur și simplu porniți dispozitivul și îndreptați-l spre soare timp de câteva secunde, menținându-l aliniat cu direcția razelor solare. Apoi urmăriți pe afișaj: indexul din stânga arată întotdeauna măsurarea instantanee (una la fiecare 200 ms), în timp ce citirea din dreapta este citirea maximă efectuată în timpul acestei sesiuni: aceasta este cea de care aveți nevoie.

În partea din stânga jos a ecranului este raportată și nomenclatura echivalentă a OMS (LOW, MODERATE, HIGH, FOARTE HIGH, EXTREME) pentru indicele UV măsurat.

Pasul 4: Tensiunea și citirea bateriei

Aleg o baterie CR2, pentru dimensiunea și capacitatea sa (800 mAh). Am folosit UltraV pe tot parcursul verii și bateria încă citește 2,8 v, așa că sunt destul de mulțumit de alegere. Când funcționează, circuitul se scurge aproximativ 100 mA, dar măsurarea citirii nu durează mai mult de câteva secunde. Deoarece tensiunea nominală a bateriei este de 3v, am adăugat un convertor DC-DC step up pentru a aduce tensiunea până la 9 volți și l-am conectat la pinul Vin.

Pentru a avea indicația de tensiune a bateriei pe afișaj, am folosit o intrare analogică (A2). Intrările analogice Arduino pot fi utilizate pentru a măsura tensiunea DC între 0 și 5V, dar această tehnică necesită o calibrare. Pentru a efectua calibrarea, veți avea nevoie de un multimetru. Mai întâi alimentați circuitul cu bateria finală (CR2) și nu utilizați alimentarea USB de la computer; măsurați 5V pe Arduino de la regulator (găsit pe pinul Arduino 5V): această tensiune este utilizată în mod implicit pentru tensiunea de referință Arduino ADC. Acum puneți valoarea măsurată în schiță după cum urmează (să presupunem că am citit 5.023):

tensiune = ((lung) sum / (lung) NUM_SAMPLES * 5023) / 1024.0;

În schiță, iau măsurarea tensiunii ca medie peste 10 eșantioane.

Pasul 5: Schemă și conexiuni

Schemă și conexiuni
Schemă și conexiuni

Pasul 6: Software

Pentru afișaj, am folosit U8g2lib, care este foarte flexibil și puternic pentru acest tip de afișaje OLED, permițând o gamă largă de fonturi și funcții de poziționare bune.

În ceea ce privește citirea tensiunii de la ML8511, am folosit pinul de referință Arduino de 3,3 v (precis în 1%) ca bază pentru convertorul ADC. Deci, făcând o conversie analogică la digitală pe pinul de 3,3V (conectându-l la A1) și apoi comparând această citire cu citirea de la senzor, putem extrapola o citire reală, indiferent de VIN (atâta timp cât este peste 3.4V).

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

Descărcați codul complet de la următorul link.

Pasul 7: Cazul carcasei

Caz de incintă
Caz de incintă

După mai multe teste (proaste) de tăiere manuală a ferestrei dreptunghiulare a afișajului pe o cutie comercială de plastic, am decis să-mi proiectez propriile pentru aceasta. Deci, cu o aplicație CAD am proiectat o cutie și pentru a o menține cât mai mică posibil, am montat bateria CR2 extern pe partea din spate (cu un suport pentru baterie lipit pe cutie).

Descărcați fișierul STL pentru carcasa carcasei, de pe următorul link.

Pasul 8: Posibile îmbunătățiri viitoare

  • Utilizați un spectrometru UV pentru a măsura valorile reale ale indicelui UV în timp real în diferite condiții (spectrometrele UV sunt foarte scumpe);
  • Înregistrați simultan ieșirea de la ML8511 cu microcontrolerul Arduino;
  • Scrieți algoritmul pentru a raporta ieșirea ML8511 la valoarea UVI reală în timp real într-o gamă largă de condiții atmosferice.

Pasul 9: Galerie de imagini

Galerie de imagini
Galerie de imagini
Galerie de imagini
Galerie de imagini
Galerie de imagini
Galerie de imagini

Pasul 10: Credite

  • Carlos Orts:
  • Forum Arduino:
  • Electronică de pornire:
  • U8g2lib:
  • Organizația Mondială a Sănătății, Index UV:

Recomandat: