LDR Dynamik

Alles zum Thema Sensoren

Moderator: Moderatoren Team

Antworten
DoKu
Friends of Marvin
Friends of Marvin
Beiträge: 18
Registriert: 21 Mär 2006, 21:41

LDR Dynamik

Beitrag von DoKu » 24 Mär 2006, 14:08

Hallo zusammen,

Bei mir liefern die A/D Werte für die beiden LDRs nur Werte
zwischen 0x000 (Taschenlampe) und 0x1a0 (abgedeckt).
Ich habe mal so einen Widerstand nackt vermessen und er hat zwischen
200Ohm (Taschenlampe) und >200kOhm (dunkel). Demnach sind die
Vorwiderstände R21 und R22 zu groß dimensioniert.
Ich habe mal 39kOhm parallel geschaltet und erreiche damit
A/D Werte zwischen <0x010 (hell) und 0x360 (dunkel).
Je nach Umgebungshelligkeit wäre hier vielleicht eine Jumper-bare
Lösung geschickt.

Gibt es hierzu schon Ideen?

Grüße,
Dominik

marvin
Wiki Master
Wiki Master
Beiträge: 440
Registriert: 18 Jan 2006, 16:21
Wohnort: Berlin
Kontaktdaten:

Beitrag von marvin » 25 Mär 2006, 13:42

Hi Dominik,

Derzeit werden die A/D Wandler mit einer internen Referenzspannung von 5V betrieben. D.h die Eingangspegel an den A/D Pins können ebenfalls im Bereich 0..5V schwanken, was dem Wertebereich 0..1023 entspricht.

Die Funktion adc_read sieht derzeit so aus:

[syntax="c"]int adc_read(uint8 channel){
int result = 0x00;

// interne Refernzspannung AVCC, rechts Ausrichtung
ADMUX= _BV(REFS0) ;//| _BV(REFS1); //|(0<<ADLAR);
[/syntax]
Man kann die interen Referenzspannung auch auf 2,56V schalten.
Damit erhöht sich die Auflösung der A/D Wandler, da jetzt der Wertebereich von 0..1023 einer Eingansspannung von 0..2,56V entspricht.

Die Funktion adc_read entsprechend geändert:

[syntax="c"]int adc_read(uint8 channel){
int result = 0x00;

// interne Refernzspannung AVCC/2, rechts Ausrichtung
ADMUX= _BV(REFS0) | _BV(REFS1); //|(0<<ADLAR);
[/syntax]

Die Änderung der Widerstandswerte ist dann hinfällig.
Allerdings gilt diese Änderung für alle A/D Wandler. Dementsprechend müssen alle Sensor Grenzwerte entsprechend angepaßt werden.
Liegt die Eingangsspannung an einem A/D Port über 2,56V, wird der Wert geklippt.

Gruß marvin

DoKu
Friends of Marvin
Friends of Marvin
Beiträge: 18
Registriert: 21 Mär 2006, 21:41

Beitrag von DoKu » 25 Mär 2006, 23:32

Danke Marvin für die Hinweise auf die Einstellbare Ref-Spannung.

Ich habe trotzdem meine Widerstände R21 und R22 durch 39k ausgetauscht.
Jetzt habe ich bei dunklem Zimmer (nur TFTs leuchten) A/D-Werte von 0x3d_.
Ich nehme an, dass der Bot in dunkleren Gegenden nicht betrieben wird.
BZW dass er den unterschied zwischen "Dunkel" und "Mensch sieht nichts mehr" nicht
erkennen können muss :)
Demnach habe ich jetzt 10Bit Auflösung für die häufigsten Helligkeiten.
("TFT-Beleuchtung" bis "direkte Taschenlampe").

Grüße,
Dominik

Antworten