Sisällysluettelo:
Video: LED -kirkkauden kalibrointi: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Kun tein keiju valoa, tajusin, että PWM-arvo on epälineaarisesti verrannollinen LEDin kirkkauteen. Yksinkertaisesti sanottuna, jos PWM -arvo on kaksinkertainen, kirkkaus ei ole kaksinkertainen; erityisesti kun PWM on lähellä maksimia, silmäni eivät tunnista mitään muutosta. Ajattelin, että sen pitäisi olla yksinkertainen kalibrointikysymys! ja näin tein tämän projektin! Ajatuksena on mitata LEDin kirkkaus jollakin laitteella (kirkkausanturi tai valoresistori) ja löytää korrelaatio PWM -arvon ja kirkkauden välillä. Sitten myöhemmin Jos asetan kirkkaudeksi 50%, Arduino laskee vastaavan PWM -arvon ja himmentää LEDin vastaavasti.
Siksi tarvitsen kirkkausanturin ja LEDin kirkkauden mittaamiseksi. Tallenna tiedot myöhempää asennusta varten SD -kortin avulla. Asennus suoritetaan Excelissä (tai muussa ohjelmassa). Out outia käytetään Arduino -koodissa, ja siinä se! Se on tehtävä kerran. Sitten voit käyttää kalibrointiparametria ikuisesti!
Vaihe 1: Osat
1- WEMOS mini D1: Aliexpress 3 €
2- TSL 2561 (kirkkausanturi): Aliexpress 3 €
3- SD-korttimoduuli: Aliexpress 1 €
4- LED
5- Vastus 220 ohmia
6- johdot
kokonaishinta: 8-10 €
Vaihe 2: Johdotus
SD -korttimoduulia ja kirkkausanturin johtoja ei saa vaihtaa (useimpia). Led on kytkettävä PWM -nastaan.
Vaihe 3: Koodi
Yhdistin kolme koodia:
SD -kortti: käytetty esimerkki> SD> ReadWrite Arduino IDE: ssä
TSL 2561: käytetty Adafruit TSL2561 -kirjaston esimerkki (sensorapi); löydät sen esimerkeistä, jos asennat kirjaston (oletan, että tiedät kuinka asentaa kirjasto Arduino IDE: hen).
LED -häipyminen: käytetyt esimerkit> Analoginen> häipyminen
Moduulien alustamisen jälkeen koodi himmentää ledin ja lukee kirkkauden ja tallentaa sen SD -kortille. tällä tavalla kerään tietoja kalibrointia varten.
Vaihdoin jokaisen koodin tarpeideni mukaan. lopullinen koodi liitteenä.
Signaalin pitäisi näyttää oheiselta kuvalta. Valitettavasti unohdin ottaa valokuvan, joten laitan sen uudelleen Exceliin näyttääkseni, kuinka sen pitäisi olla.
HUOMAUTUS: Käytän wemo mini D1: tä Arduinon sijasta. jostain syystä en tiedä, PWM on välillä 0 ja 1023. Arduinossa sen pitäisi olla välillä 0-255. Jos haluat käyttää arduino -koodia, sinun on huolehdittava siitä (rivi 90).
Vaihe 4: Asennus ja käyttö
Tietojen keräämisen jälkeen avasin tiedoston Excelissä ja piirtelin tiedot (katso kuvaa). ensimmäinen sarake on PWM -arvo ja toinen lux (anturin lukema, yksiköllä ei ole paljon väliä). Siksi piirrä lux (y-akseli) vs. PWM (x-akseli). Kuten näette, kirkkaus on lineaarisesti verrannollinen PWM -arvoon. Laitoin siihen linjan.
Sovita rivi seuraavasti:
1- piirtää tiedot (lisää> hajontakaavio), oletan, että tiedät miten.
2- Napsauta piirrettyjä tietoja hiiren kakkospainikkeella
3- Napsauta trendiviivaa.
4- (Excel 2013: ssa) oikealla puolella paneeli avautuu. Valitse lineaarinen. Valitse alareunasta "Näytä yhtälö kaaviossa".
Lineaarinen suhde eroaa käsityksestäni. Siksi mielestäni havaintoni ja kirkkauden välillä pitäisi olla logaritminen suhde (tämä on yksinkertaisin tapa, joka tuli mieleeni!). Joten otin sovituksen kaltevuuden. Sieppaus ei ole tärkeä, koska se riippuu ympäröivästä valosaasteesta! sen sijaan lisäsin 1. Koska Log10 (0) on ääretön. Tarvitsen siis sieppauksen ongelman ratkaisemiseksi. Minun tapauksessani yhtälö näyttää tältä:
y = Log10 (0,08 x +1), y on kirkkaus ja x on PWM-arvo (0-1023)
Normalisoin yhtälön maksimiarvoon. sitten lähtöäänet ovat aina välillä 0-100. tällä tavalla voin pyytää arduinolta tiettyä suhteellista kirkkautta ilman, että kyse on suurimmasta absoluuttisesta kirkkaudesta.
y = Log10 (0,08 x +1)*100/1,914
Koska arduinossa syöttöni on suhteellinen kirkkaus, minun on järjestettävä yhtälö x: lle (PWM) uudelleen:
x = (10^(y*1,914 / 100) - 1) / 0,08
käyttämällä tätä yhtälöä koodissa voimme saada lineaarisen kirkkauden muutoksen. Joten pyydät arduinolta kirkkautta (y) välillä 0-100 ja arduino laskee vastaavan PWM-arvon. tällä tavalla, jos kirkkaus kaksinkertaistuu, myös havaintosi on sama.
jos haluat käyttää sitä koodissasi, lisää nämä rivit:
kirkkaus = 50; // prosentteina
PWM = pow (10, kirkkaus*1,914/100) -1) /0,0793;
analogWrite (ledpin, PWM);
HUOMAUTUS: normalisointi suoritetaan enintään 1023 PWM: lle (Wemos mini D1). Arduinolle PWM on välillä 0-255. sinun on laskettava se sen mukaisesti.
HUOMAUTUS 2: Lisäsin log-lineaarisen kuvaajan osoittamaan, miten havaintomme ja PWM-arvo liittyvät toisiinsa. älä käytä sitä asennukseen!
Vaihe 5: Johtopäätös
kalibrointi toimii minulle hyvin. Kun PWM -arvot ovat suuret, näen eron. Ennen kuin suuret arvot, en voinut nähdä himmennyksen vaikutusta. Periaatteessa suurin osa muutoksista tehtiin pienellä PWM -alueella. nyt se on kalibroitu!
Jokaisella LEDillä, erityisesti eri väreillä, on oltava omat kalibrointiparametrit. Kalibroin kuitenkin sinisen LED -valon ja käytin parametria valkoiseen LED -valoon, ja tulos oli hyväksyttävä. joten ehkä voit käyttää kalibrointiparametriasi vaivaamatta itseäsi !!
Suositeltava:
ARDUINO PH -ANTURIN KALIBROINTI: 7 vaihetta
ARDUINO PH -ANTURIN KALIBROINTI: Tässä opetusohjelmassa kalibroimme Atlas Scientificin EZO -pH -anturin Arduino Uno -laitteella. Laite on helpoin kalibroida
Maaperän kosteusanturin kalibrointi: 5 vaihetta
Maaperän kosteusanturin kalibrointi: Markkinoilla on monia maaperän kosteusmittareita, jotka auttavat puutarhuria päättämään, milloin kastaa kasveja. Valitettavasti kourallisen maaperän tarttuminen ja värin ja tekstuurin tarkastaminen on yhtä luotettavaa kuin monet näistä gadgeteista! Jotkut anturit jopa rekisteröivät
ARDUINO ORP ANTURI KALIBROINTI: 3 vaihetta
ARDUINO ORP SENSOR CALIBRATION: Tässä opetusohjelmassa kalibroimme Atlas Scientificin EZO ORP (hapetus-pelkistyspotentiaali) -anturin Arduino Unon avulla. KALIBROINTITEORIA Tärkein osa kalibroinnista on lukemien tarkkailu kalibrointiprosessin aikana. Se on helppoa
ARDUINON LIIKETTU HAPPI -ANTURIN KALIBROINTI: 4 vaihetta
ARDUINO DISSOLVED OXYGEN SENSOR CALIBRATION: Tässä opetusohjelmassa kalibroimme Atlas Scientificin EZO -liuenneen hapen (D.O) anturin Arduino Uno: n avulla. Helpoin on kalibroida
ARDUINO SALINITY ANTURIN KALIBROINTI: 9 vaihetta
ARDUINO SALINITY SENSOR CALIBRATION: Tässä opetusohjelmassa kalibroimme Atlas Scientificin EZO -suolapitoisuuden/johtavuuden K1.0 -anturin Arduino Uno -laitteella. Helpointa on