Luxmeter
von DonElko
Die
Beleuchtungsstärke in Lux kann man mit einer BPW21 messen. Diese
Fotodiode hat schon ein Farbfilter, das die spektrale Empfindlichkeit
des Auges nachahmt. Beleuchtungsstärke und Fotostrom sind streng
linear. Bei 100 lx fließt ein Fotostrom von 10 µA. Darauf
kann man sich ohne spezielle Kalibrierung verlassen. Fehlt nur noch ein
Messwiderstand von 100 kOhm, um aus 1000 Lux genau 1000 mV zu machen.
Das ganze dann messen, umrechnen und seriell senden, das ist für
den Tiny13 eine der leichtesten Übungen. Das Ergebnis sieht man im
Terminal. Die höchste messbare Helligkeit liegt übrigens bei 5000 lx.
Download: LuxBPW21.zip
'Tiny13 Luxmeter mit BPW21
'Kathode an 5V, Anode an B3 mit 100 k und 100 n gegen GND
'10 µA * 100k = 1 V bei 1000 lx
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Dim L As Word
Config Adc = Single , Prescaler = Auto
Start Adc
Open "comb.1:9600,8,n,1,INVERTED" For Output As #1
Do
L = Getadc(3)
L = L * 5
Print #1 , L
Waitms 500
Loop
End
LDR-Version

Mit einem LDR wird es preiswerter, wenn auch weniger genau. Der LDR bildet hier einen Spannungsteiler mit einem
Festwiderstand, dessen genauer Wert zugleich die Kalibrierung darstellt. Hier
wurden 27 kOhm gegen Masse verwendet. Damit ergab sich der gleiche Messwert wie
mit der BPW21. Auch die spektrale Empfindlichkeit ist ähnlich. Einen Vorteil
hat diese Variante: Der Messbereich ist prinzipiell nicht nach oben begrenzt,
wenn die Messungen auch oberhalb 10 000 lx recht grob werden.
Die Berechnung geht nun etwas anders. Aus der gemessenen Spannung im
Spannungsteiler
wird der aktuelle Widerstand des LDR bestimmt. Und dessen Kehrwert ist
in
erster Näherung umgekehrt proportional zur
Beleuchtungsstärke. Damit alles in
den Controller passt wurde nur mit Word-Variablen gerechnet.
Genaue Vergleiche mit der Fotodiode haben ergeben, dass die Messung im
mittleren Bereich um 300 lx gut stimmt, aber bei sehr kleinen
Beleuchtungsstärken zu viel und bei sehr großen zu wenig
anzeigt. Da gibt es noch viel zu verbessern, was allerdings mehr
Rechenleistung erfordert.
Download: LuxLDR.zip
'Tiny13 Luxmeter mit LDR
'LDR an 5V, mit 27 k und 100 µF gegen GND
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 4
$framesize = 4
Dim L As Word
Dim U As Word
Config Adc = Single , Prescaler = Auto
Start Adc
Open "comb.1:9600,8,n,1,INVERTED" For Output As #1
Do
U = Getadc(3)
L = 1023 - U
U = U * 60
L = U / L
Print #1 , L
Waitms 500
Loop
End