Forum: Mikrocontroller und Digitale Elektronik Zustands-Problem bei LED Lichtsensormessung


von Tim R. (herrvorragend)


Lesenswert?

Hallo,

ich habe eine Regelung, wobei ein Sensor die Helligkeit einer LED misst. 
Nun möchte ich die LED togglen lassen und am besten die Frequenz dazu im 
Programm dynamisch gestalten können.
Mein Problem ist jetzt, wenn ich der LED sage AN und dann die Messung 
laufen lasse und dann LED sage AUS ... dann habe ich immer den LED AN 
zustand gemessen. Wenn ich sage AN und dann AUS und anschließend messe 
habe ich immer den LED AUS wert gemessen. Wie mach ich es, dass die 
Messung unabhängig von der LED läuft ?
Beim PC würde ich für die PWM der LED einen thread benutzen damit dieser 
unabhängig läuft. jedoch ist das beim uC nicht möglich oder ? wie kann 
ich das togglen richtig initialisieren? ich hoffe mein problem habe ich 
nun recht genau beschrieben

danke im voraus

liebe grüße

edit: als einzige lösung fällt mir eine externe quelle für die LED ein 
jedoch möchte ich dies eigentlich vermeiden

von MaWin (Gast)


Lesenswert?

> ich hoffe mein problem habe ich nun recht genau beschrieben

Irgendwie nicht.


Du machst PWM und möchtest die mittlere Helligkeit ?
Wie wäre es, den Helligkeitssonsor so langsam zu machen, daß er schon 
die mittlere Helligkeit erfasst, z.B. mit einem KOndenstaor ?


Du möchtest die Helligjkeit der eingeschalteten LED und die Helligkeit 
der ausgeschalteten LED ? Warum nicht 2 mal messen, jeweils nach dem 
Umschalten ?


Irgendwie verstehe ich das Problem wohl nicht, Herr, wo Ragen sie denn 
Vor ?

von Tim R. (herrvorragend)


Lesenswert?

Ich möchte eine LED togglen lassen. z.b. alle 2 sekunden AN und AUS. AN, 
2 sekunden warten, AUS, 2 sekunden warten und so weiter

dies soll am besten unabhängig laufen.
parallel möchte ich den zustand der LED mit hilfe eines sensors messen.
Wenn ich im programm jedoch schreibe, LED AN und dann messe, weiss ich 
ja den zustand schon im voraus :-) also wie kann ich den zustand messen 
ohne es zu wissen, denn die frequenz der led und der sensormessung 
sollen unterschiedlich sein

mir kam jetzt die idee, dass ich meine messung zeitgesteuert mache. dazu 
einen timer initialisieren und immer bei interrupt 
auslösung(beispielsweise 100ms) kann gemessen werden. die led soll 
trotzdem nur alle 2sekunden togglen

ich hoffe nun wurde ich verstanden

von micha (Gast)


Lesenswert?

Du möchtest also eine Kontrolle, ob die LED funktioniert 
(Status-Rückmeldung)? Warum optisch? Mess doch den LED-Strom, sollte 
einfacher gehen und dann macht es nur Sinn, in der "ON"-Periode zu 
messen :-)

Oder willst Du, quasi als Belechtungsmesser, wissen wie viel Licht in 
einer bestimmten Zeit abgestrahlt wurde? Dann solltest Du (entweder mit 
einem separaten ATINY etc. oder dem vorhanden Chip) die Strahlung in 
bekannten Zeitfenstern (Timer) messen und aufaddieren (=integrieren).

von micha (Gast)


Lesenswert?

Andere Möglichkeit: google mal nach "missing puls detector" oder "mising 
impuls detector"

von Tim R. (herrvorragend)


Lesenswert?

auf das leuchten der led folgt eine regelung. je nach dem wie schnell 
diese blinkt soll der regelkreis reagieren. das soll optisch per 
lichtsensor festgestellt werden. also keine strommessung
nun muss das blinken jedoch varieren können. mal langsam mal schnell.
deshalb hatte ich mir nun überlegt über den timer0 meines at90can128 
einen sekunden oder millisekundentakt zu erzeugen um die leds per ISR zu 
steuern damit diese unabhängig von der messung sind. denn die messung 
läuft dauerhaft in der main routine
nun bin ich etwas mit dem timer verzweifelt hehe

ich hoffe das hat das problem nun erklärt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.