Ich baue gerade einen Helligkeitssensor mit uC, für draußen. Die Optik habe ich grad fertig, ein diffuser (Halb)Ellipsiod vor dem LDR sammelt von vorn wie von der Seite etwa gleich viel Licht ein, bin recht zufrieden damit. Nun geht es an die Analogtechnik vor dem ADC. Ich will möglichst den ganzen Dynamikbereich erfassen können, von pralle Sonne bis Mondlicht. Der LDR ändert seinen Widerstand enorm, 300 Ohm bis Megaohm, gibt es eine passende Schaltung um das zu logarithmieren oder so? Soll im hochohmigen Fall auch nicht störanfällig sein. Mit Bereichsumschaltung möchte ich ungern arbeiten. So furchtbar genau brauche ich es auch nicht, sondern halt nur die gesamte Skala. Ich möchte allerdings schon zwischen praller Sonne und leicht bewölkt unterscheiden können. Ich habe eine Schaltung mit Transistor in OP-Rückkopplung gesehen(http://www.elexs.de/messen6.html), weiß aber nicht wie praxistauglich sie ist. Vielleicht geht's auch irgendwie primitiv ohne OP? Ferner mache ich mir Gedanken, ob eine Temperaturkompensation nötig ist und wie ich sie ausführe. Ginge auch in Software, aber vielleicht fällt das in einer trickreichen Schaltung ja bereits ab. Danke für Tipps!
Die logarithmische Lichtskala ist was fuer Wissenschaftler. Fuer pragmatische Energietechniker ist weniger als 20% eher uninteressant, daher ist die lineare Skala vorzuziehen.
Was sehr viel einfacher funktioniert als solche Spannungsmessung oder Logarithmierung: Den LDR als frequenzbestimmendes Bauteil an einem NE555 Oszillator (besser:TLC555) verwenden und mit dem Controller diese Frequenz messen (z.B. per Timer Capture). Das funktioniert in sehr weitem Bereich, auch wenn man bei 16bit Timer u.U. dynamisch den Prescaler umschalten muss (ein 32bit Timer ist hier im Vorteil).
Ja, eine Zeitmessung erscheint vielversprechend, weitere Recherche gestern brachte mich auch in die Richtung. Einen externen Oszillator brauche ich wohl nicht: Mein uC (Atmel Mega8) hat einen Komparatoreingang, der auch einen Timer Capture und Interrupt auslösen kann. Damit sollte man es recht genau "fangen" können. Bei großen Zeiten läuft mir der Timer über, da muß ich extern zählen. Also den Kondensator zwischen Masse und Komparatoreingang (den kann ich auch als Ausgang betreiben und den Kondensator so gezielt aufladen oder entladen), den LDR von dort an einen weiteren Ausgang, den ich zur Messung auf High oder Low setze. Im Moment denke ich gerade darüber nach, ob ich eine Art "dual Slope" machen könnte, um die Toleranz des Kondensators und der Betriebsspannung rauszukürzen. Das Thema Temperaturkompensation des LDR ist noch offen.
Nachtrag: "dual Slope" ist ja ganz einfach, ich hatte grad ein Brett vor dem Kopf: Ich kann ja in einem zweiten Durchgang alternativ zum LDR den Kondensator über einen bekannten Widerstand laden und wiederum die Zeit messen. Dann brauche ich nur damit normieren, Größe des Kondensators und Betriebsspannung fallen raus. Die einzige Fehlerquelle bleibt jeweils der Innenwiderstand des Ausgangstreiber, der addiert sich zum LDR oder Kalibrierwiderstand. Und ich hoffe, die Ausgänge sind im tri-state hochohmig genug. Aber schon ganz nett, was mit mit Software und nur 2 externen Bauteilen (hoffentlich) an Genauigkeit hinkriegen kann. Sollte für die Anwendung dicke ausreichen.
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.