Përmbajtje:

Kalibrimi i shkëlqimit LED: 5 hapa
Kalibrimi i shkëlqimit LED: 5 hapa

Video: Kalibrimi i shkëlqimit LED: 5 hapa

Video: Kalibrimi i shkëlqimit LED: 5 hapa
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, Nëntor
Anonim
Kalibrimi i shkëlqimit LED
Kalibrimi i shkëlqimit LED

Ndërsa po bëja një dritë zanash, kuptova që vlera PWM është jo-lineare proporcionale me shkëlqimin e LED. Thënë thjesht, nëse vlera PWM është e dyfishtë, shkëlqimi nuk është i dyfishtë; veçanërisht kur PWM është afër maksimumit, çdo ndryshim nuk njihet nga sytë e mi. Mendova se duhet të jetë një çështje e thjeshtë kalibrimi! dhe ishte se si e bëra këtë projekt! Ideja është që të matni shkëlqimin e një LED me një pajisje (sensor ndriçimi ose rezistencë fotografie) dhe të gjeni një lidhje midis vlerës së PWM dhe shkëlqimit. Pastaj më vonë Nëse e vendos shkëlqimin në 50%, Arduino do të llogarisë PWM përkatëse dhe do ta zbehë LED -in në përputhje me rrethanat.

Prandaj, më duhet një sensor ndriçimi dhe një LED për të matur shkëlqimin. Duke përdorur një kartë SD, unë do t'i ruaj të dhënat për procedurën e mëvonshme të montimit. Përshtatja do të bëhet në Excel (ose ndonjë program tjetër). Out out do të përdoret në kodin Arduino, dhe kjo është ajo! Duhet të bëhet një herë. Atëherë mund të përdorni përgjithmonë parametrin e kalibrimit!

Hapi 1: Pjesët

1- WEMOS mini D1: Aliexpress 3 €

2- TSL 2561 (Sensori i shkëlqimit): Aliexpress 3 €

3- Moduli i kartës SD: Aliexpress 1 €

4- LED

5- Rezistenca 220 ohm

6- tela

kosto totale: 8 -10 €

Hapi 2: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Moduli i kartës SD dhe telat e sensorit të shkëlqimit nuk duhet të ndryshohen (shumica e tyre). Led duhet të lidhet me një kunj PWM.

Hapi 3: Kodi

Kodi
Kodi

Kam kombinuar tre pjesë të kodeve:

Kartë SD: përdoret shembulli> SD> ReadWrite në Arduino IDE

TSL 2561: përdoret shembulli i bibliotekës Adafruit TSL2561 (sensorapi); do ta gjeni në shembuj, nëse instaloni bibliotekën (supozoj se e dini se si ta instaloni një bibliotekë në Arduino IDE).

Zbehja e LED: shembujt e përdorur> Analog> venitje

Kodi, pas fillimit të moduleve, do të zbehë led -in dhe do të lexojë shkëlqimin dhe do ta ruajë atë në kartën SD. në këtë mënyrë do të mbledh disa të dhëna për kalibrim.

Kam ndryshuar secilin nga kodet sipas nevojave të mia. kodi përfundimtar i bashkangjitur.

Sinjali duhet të duket si fotografia e bashkangjitur. Fatkeqësisht kam harruar të bëj një fotografi, kështu që e rishkruaj në Excel për t'ju treguar se si duhet të jetë.

SH NOTNIM: Unë jam duke përdorur wemo mini D1 në vend të Arduino. për disa arsye që nuk e di, PWM është midis 0 dhe 1023. Në Arduino duhet të jetë midis 0-255. Nëse dëshironi të përdorni kodin për arduino, duhet të kujdeseni për të (rreshti 90).

Hapi 4: Përshtatja dhe përdorimi

Përshtatja dhe përdorimi
Përshtatja dhe përdorimi
Përshtatja dhe përdorimi
Përshtatja dhe përdorimi

pasi mblodha të dhëna, e hapa skedarin në excel dhe i paraqita të dhënat (shiko figurën). kolona e parë është vlera PWM dhe e dyta është lux (leximi i sensorit, njësia nuk ka shumë rëndësi). Prandaj, komplotoni lux (boshti y) kundrejt PWM (boshti x). Siç mund ta shihni, shkëlqimi është proporcional linear me vlerën PWM. I përshtata një linjë.

Për të përshtatur një rresht ndiqni si më poshtë:

1- vizatoni të dhënat (futni> komplotin e shpërndarjes) supozoj se e dini si.

2- klikoni me të djathtën mbi të dhënat e vizatuara

3- klikoni në trendline.

4- (në excel 2013) në anën e djathtë shfaqet një panel. Zgjidhni lineare. Në fund zgjidhni "shfaqni ekuacionin në tabelë".

Marrëdhënia lineare është e ndryshme nga perceptimi im. Prandaj unë mendoj se duhet të ketë një lidhje logaritmike midis perceptimit tim dhe shkëlqimit (kjo është mënyra më e thjeshtë që më erdhi në mendje!). Kështu që mora shpatin e përshtatjes. Përgjimi nuk është i rëndësishëm, sepse varet nga ndotja e dritës përreth! në vend të kësaj, shtova 1. Sepse Log10 (0) është i pafund. Kështu që kam nevojë për një përgjim për të zgjidhur problemin. Në rastin tim, ekuacioni duket kështu:

y = Log10 (0.08 x +1), y është shkëlqimi dhe x është vlera PWM (0-1023)

Unë e normalizova ekuacionin në vlerën maksimale. atëherë prodhimi rangohet gjithmonë midis 0-100. në këtë mënyrë unë mund të kërkoj nga arduino një ndriçim relativ të caktuar, pa pasur parasysh shkëlqimin maksimal absolut.

y = Log10 (0.08 x +1)*100/1.914

Për shkak se në arduino hyrja ime është shkëlqimi relativ, më duhet të riorganizoj ekuacionin për x (PWM):

x = (10^(y*1.914 / 100) - 1) / 0.08

duke përdorur këtë ekuacion në kod ne jemi në gjendje të marrim një ndryshim linear të shkëlqimit. Kështu që ju kërkoni arduino për një shkëlqim (y) midis 0-100, dhe arduino llogarit vlerën përkatëse PWM. në këtë mënyrë, nëse dyfishoni shkëlqimin, perceptimi juaj është gjithashtu i njëjtë.

nëse doni ta përdorni në kodin tuaj, më mirë shtoni këto rreshta:

shkëlqimi = 50; // në përqindje

PWM = fuqia (10, shkëlqimi*1.914/100) -1) /0.0793;

analogWrite (ledpin, PWM);

SHENIM: normalizimi bëhet për një PWM maksimale prej 1023 (për Wemos mini D1). Për Arduino PWM është midis 0-255. ju duhet ta llogaritni atë në përputhje me rrethanat.

SHENIM 2: Shtova një komplot log-linear për të treguar se si lidhen perceptimi ynë dhe vlera PWM. nuk duhet ta përdorni për montim!

Hapi 5: Përfundimi

kalibrimi funksionon mirë për mua. Kur vlerat PWM janë të mëdha, unë mund të shoh ndryshimin. Më parë si vlera të mëdha nuk mund ta shihja efektin e zbehjes. Në thelb shumica e ndryshimeve u bënë në një gamë të vogël të PWM. tani është kalibruar!

çdo LED, veçanërisht ngjyra të ndryshme, duhet të ketë parametrat e vet të kalibrimit. Megjithatë kam kalibruar një LED blu dhe kam përdorur parametrin për një LED të bardhë dhe rezultati ishte i pranueshëm. kështu që ndoshta ju mund të përdorni parametrin tim të kalibrimit pa e shqetësuar veten !!

Recommended: