Licht/Frequenz-Wandler auslesen

#3716468
Lesenswert?

Ich möchte gerne eine Photodiode TSL235 
(http://www.ti.com/lit/ds/symlink/tsl235.pdf) auslesen.
Die Verschaltung gestaltet sich ja denkbar einfach: Pin1 GND, Pin2 5V 
(mit 100n Kerko) und Pin 3 zu GPIO meines Raspberry Pi. In meinem Fall 
ist das die GPIO 14, welche ich als Eingang geschaltet habe:
1
GPIO.setup(14, GPIO.IN)

Der Sensor liefert mir ja eine Frequenz (50% square wave) als Output in 
Abhängigkeit der Lichtintensität.
In Anlehnung an dieses Tutuorial 
(http://playground.arduino.cc/Main/TSL235R) habe ich das Auslesen via 
Python wie folgt versucht:
1
frequency = 0
2
begin = time.time()
3
end = begin
4
while (end-begin) < 1:
5
    end = time.time()
6
    GPIO.wait_for_edge(14, GPIO.FALLING)
7
    frequency += 1
8
print frequency

Es wird also jede fallende Flanke über einen Zeitraum von 1000ms bzw. 1 
sec gezählt.

Leider beginnen schon hier die Probleme: Die Messwerte sind instabil, 
d.h. sie schwanken teilweise erheblich. Zudem scheint mir der 
Wertebereich einfach nicht korrekt:
Unter einer 50W Leuchtstoffröhre (ca. 15cm Abstand) erhalte ich Werte im 
Bereich um 300. In dem Tutorail sind Werte um 100.000 und mehr 
beschrieben. Da stimmt doch schon grundsätzlich irgendetwas nicht.
Oder habe ich da einen grundsätzlichen Denkfehler? 300 würden ja 300 Hz 
entsprechen. Und das wäre ja ziemlich wenig, da ich ja bis 300kHz 
erwarte.
#3717148
Lesenswert?

Mike schrieb:
> Und du bist sicher, dass deine Programmschleife im 300kHz-Takt die
> Flanken zählen kann?

Sicher natürlich nicht. Aber soweit ich weiß sollten mit dem time module 
bis 1Mhz gehen. Und in dem beschriebenen Tutorial wurde das ja auch 
gemacht. Also dachte ich mir, dass es problemlos möglich wäre.

> Das würde man wohl eher einem Hardware-Timer überlassen, der das
> Sensorsignal als externen Takt bekommt.

Habe mich entsprechend noch nicht mit so etwas auseinandergesetzt. Wie 
sieht denn so etwas z.B. aus? Ist das ein IC-Baustein? Oder wie 
verarbeite ich die Information per Hardware?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren