Ich versuche gerade LEDs als Lichtsensoren einzusetzen. Hierbei kommt es mir nicht auf die absoluten Werte an, sondern nur um relative Veränderungen. Allerdings kriege ich sehr unterschiedliche Ergebnisse beim auslesen der LEDs. LEDs 1 und 3 liefern mir gut verwertbare Ergebnisse, LED 2 scheint sehr, sehr empfindlich zu sein und LED 0 liefert mir immer die volle Helligkeit zurück. Die LEDs funktionieren ansonsten alle ganz normal. Optisch kann ich keine Kurzschlüsse / Lötmittelreste auf der Platine erkennen, allerdings ist ein Großteil von einer Batteriehalterung verdeckt. Die LEDs stammen aus einer 20er Packung von Conrad. Liegen die starken Schwankungen einfach an den Abweichungen der LEDs, liegt's an meinem Code, an meinem Layout oder ist irgendwas anderes falsch? Zur Orientierung: Bei normaler Beleuchtung liefern die LEDs mit dem angehängten code etwa folgende Werte zurück: LED 0 = >1498 LED 1 = ~500 LED 2 = > 1485 LED 3 = ~500
Hallo, ich denke du stellst dir das Messen mit deiner Schaltung etwas zu leicht vor da die LEDs sehr hochohmig sind. Lies mal http://www.eeweb.com/blog/extreme_circuits/using-led-as-a-light-sensor das erklärt einiges!
Hab auch schon LED als Sensor eingesetzt. Funktioniert am besten mit gelb/grün/blau. Weiß ist schlecht, da der Phosphor viel schluckt. Und wasserklares Gehäuse machts auch viel besser.
Du hast versucht, die Methode aus http://reaktivlicht.de/kochbuch_V3.pdf nachzubauen ? Es wundert mich nicht wirklich, daß sie nicht zuverlässig funktioniert, schliesslich sind Temperatur, Eingangsstrom, Eingangskapazität des uC alles andere als immer gleich. Vor allem hat der A/D-Wandler des AVR das Problem, eine interne geledene Kapazität an den Eingang zu schalten, und wenn dort hochohmiger als 10k und mit weniger als 10nF eine Spannungsquelle angeschlossen wird, teilt sich deren Spannung erst mal mit dem internen Kondenstaor. Es kann also helfen, jedesmal zuvor einen an Masse liegenden Eingang per A/D-Wandler zu messen, und erst dann auf den zu messenden Eingang eine A/D-Wandlung loszulassen.
>Vor allem hat der A/D-Wandler des AVR das Problem...
Da bin ich auch ins Messer gelaufen. Er verwendet den Eingang als
digitalen Eingang, quasi als Komparator und nicht den ADC. Sagt
zumindest der Quellcode.
Das Led0 ein anderes Verhalten zeigt ist nicht verwunderlich wenn Ledc
bestückt ist. Da hier aber komplett über die parasitäten Eigenschaften
wie Eingangskapazität und Eingangswiderstände gearbeitet wird, würde es
mich nicht wundern wenn die deaktivierten Alternativmodule die Suppe
etwas versalzen.
Evtl. währe aber genau die Verwendung des ADC bei genügender Wartezeit
ein Lösung.
viel Erfolg
Hauspapa
Das Austauschen der LEDs hat zumindest teilweise was gebracht - hätte ich wirklich auch selbst drauf kommen können, Vielen Dank! LED 0 verhält sich jetzt recht normal, LED 2 macht allerdings noch Probleme. Ich geh allerdings davon aus, dass LED 2 dann auch ein Hardwarefehler ist. Die LED C ist nicht bestückt, und als Messmethode verwende ich dieses Prinzip: http://playground.arduino.cc/Learning/LEDSensor Angehängt mal ein paar Beispielgifs. Leider sind die durch das Rauschen etwas größer geworden.
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.