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
> 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 ?
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
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).
Andere Möglichkeit: google mal nach "missing puls detector" oder "mising impuls detector"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.