• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Wie hell ist denn jetzt meine Nacht

stonewood

Geowizard
Ralf schrieb:
Dinge, die die Welt nicht braucht oder Wie hell ist denn jetzt meine Nacht?

Wer sich immer schon über den Flaschenhals der Microcontroller geärgert hat, hier eine einfache Möglichkeit, Daten auszugeben.
eb.jpg

Mittels eines Schieberegisters (IC Mitte) kann man eine 8-Bit-Variable bitcodiert (gelbe LED rechts) oder als Hex-Zahl (unten) anzeigen lassen. Außerden werden durch die weißen LEDs oben die Pegel der Ausgänge angezeigt (um genaue Spannungsteiler zu realisieren, dann man bei einem Pin diese Anzeige abschalten).
Auf der Steckplatine wird nur noch die externe Beschaltung realisiert, was das ganze wesentlich übersichtlicher macht.
Außerdem ist im Bereich des grünen Ovals links eine Funktion eingebaut, dass ein ausgeschalteter Rechner den Rest-Pin des Tiny nicht mehr auf low zieht.

Ralf

Da mich das auch mal interessierte aber das eigentlich wenig mit dem Reaktivlicht zu tun hat hab ich den Beitrag von Ralf einfach mal in einen neuen Thread kopiert.

Ich hab das mit einem AtMega32 und einem LCD-Display nachgemessen. Der AtMega hat auch einen AREF-Pin, da kann man direkt die Referenzspannung anlegen (also die 3V-Batterie). Das LCD ist ein 20x4-Display, hat also genug Platz um neben dem gemessenen Wert minimum, maximum und die Differenz anzuzeigen. Da ich LDR und Fototransistor vergleichen wollte hab ich die gleichzeitig gemessen und ausgegeben.

Code:
$regfile = "m32def.DAT"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.3 , Rs = Portc.2
Config Lcd = 20 * 4
Cls

Config Adc = Single , Prescaler = Auto , Reference = Off    'AVCC, INTERNAL, off (AREF)
Start Adc

Dim Ldr As Integer
Dim Ldrmax As Integer
Dim Ldrmin As Integer
Dim Ldrdiff As Integer
Dim Ldrold As Integer
Dim Ftt As Integer
Dim Fttmax As Integer
Dim Fttmin As Integer
Dim Fttdiff As Integer
Dim Fttold As Integer
Ldrmax = 0
Ldrmin = 1023
Fttmax = 0
Fttmin = 1023

Dim A As Byte
Config Portd = Output
Portd.6 = 1
Wait 1
Portd.6 = 0

Ldr = Getadc(6)
Ftt = Getadc(7)
Wait 1
For A = 1 To 100
Ldrold = Ldr
Ldr = Getadc(6)
Ldrdiff = Ldr - Ldrold
If Ldr > Ldrmax Then Ldrmax = Ldr
If Ldr < Ldrmin Then Ldrmin = Ldr
Fttold = Ftt
Ftt = Getadc(7)
Fttdiff = Ftt - Fttold
If Ftt > Fttmax Then Fttmax = Ftt
If Ftt < Fttmin Then Fttmin = Ftt
Cls
Lcd "A: " ; A ; "Max   Min  Diff"
Lowerline
Lcd "l " ; Ldr ; " " ; Ldrmax ; " " ; Ldrmin ; " " ; Ldrdiff
Thirdline
Lcd "f " ; Ftt ; " " ; Fttmax ; " " ; Fttmin ; " " ; Fttdiff
Wait 1
Next A

Wait 10

Die Beschaltung des LCD (14 Pin+15/16 mit Backlight) ist eigentlich standard:
- Pin 1: GND
- Pin 2: +5V
- Pin 3: Kontrast: Über einen 5K-Poti zwischen GND und 5V
- Pin 4: RS. PortC.2
- Pin 5: RW kommt an GND
- Pin 6: E, PortC.3
- Pin 7-10: (DB0-3): frei
- Pin 11-14: (DB4-7): PortC.4-7

... und als nächstes sollte ich den AtMega dann mal per SPI mit dem Tiny reden lassen, oder das ganze auf einen Tiny24 portieren ...
 

thomas_st

Geowizard
stonewood schrieb:
Ich hab das mit einem AtMega32 und einem LCD-Display nachgemessen.
Klasse, da hatten zwei den selben Gedanken. Ich habe gerade so etwas ähnliches mit einem ATTINY 2313 und 7-Segmentanzeigen erstellt (die Schalter ermöglichen eine Umschaltung zwischen aktuellem Wert sowie Min-/Max-Anzeige, Dunkeltastung des Displays sowie einem Reset).


Das Ganze soll aber nicht nur den ADC Wert auslesen können (läuft bei mir über zwei normale digitale Ausgänge, sondern auch einen Blinkzähler ermöglichen. Als Blinkzähler kommt das Ganze vermutlich am Freitag zusammen mit einem Reaktivlicht in den Wald, wo es über Weihnachten die Fehlauslösungen zählen kann.

Wenn ich diese Tage etwas Zeit finde, kann ich hier gerne die Schaltung und das Programm reinstellen.

Viele Grüße,
Thomas(_st)
 
OP
S

stonewood

Geowizard
Hmm? 2313? Der hat doch gar keinen ADC, sondern nur einen Analog Comparator? Oder hast Du den an einen Tiny13 verdrahtet?
 

thomas_st

Geowizard
stonewood schrieb:
Hmm? 2313? Der hat doch gar keinen ADC, sondern nur einen Analog Comparator? Oder hast Du den an einen Tiny13 verdrahtet?
Stimmt, die Schaltung ist ja nur zum Auslesen da - sie zeigt den Wert an, denn der ATTINY 13 misst. Die Kommunikation läuft über zwei digitale Ports. Das Ganze ist eigentlich "nur" ein intelligenter Ersatz für eine Schieberegister / 7-Segmentdecoder-Kombination. Allerdings ermöglicht die Verwendung des Atmels Zusatzfunktionen, wie Min/Max-Anzeige, Dunkeltastung, Ausgabe des ADC-Wertes als Dezimalzahlen, Verwendung als Zähler, u.s.w.

Auf die Idee bin ich gekommen, als beim großen C kein Schieberegister zu bekommen war und dieses erst noch hätte bestellt werden müssen: dann doch lieber gleich eine universellere Lösung bestellen und bauen.

Viele Grüße,
Thomas(_st)
 

Kappler

Geowizard
Wenn es nur darum, geht, einen Zahlenwert aus dem Tiny zu "veröffentlichen", habe ich eine einfachere Variante verwendet:

Ich lasse mir die Zahlen "zublinken": 5 Sekunden Pause, dann x Blitze für die Erste Ziffer, 1 Sekunde Pause, y Blitze für die Zweite Ziffer und so weiter... Bis zu den 5 Sekunden Pause für den nächsten Durchlauf.

Immer einen Blitz mehr als die Ziffer, damit auch eine null übertragen werden kann... also von 1 bis 11 Blitzen für die Ziffern.

Funktioniert absolut zuverlässig und ist wohl die einfachste Methode zum Testen...
 

dune68

Geocacher
Moin,

mit der Idee könnte der Erbauer sich richtig viele Freunde machen: Hobbyastronomen!

Es gibt etwas ähnliches zu kaufen: http://www.astroshop.de/teleskope/zubehoer/justier-zubehoer/sky-quality-meter

Wie alles im Astronomiebereich hat auch dieser Artikel einen wahrhaft astronomischen Preis.

Eine Nachbauanleitung verbunden mit einem Spendenaufruf dürfte die Urlaubskasse aufbessern und vielen ein ansonsten unerschwingliches Zubehörteil zugänglich machen. Erfahrungsgemäß sind die Amateurastronomen dankbare und fleißige Selbstfrickler, da wird auch vor komplexen Schrittmotor-Steuerungen oder kompletten Montierungen nicht halt gemacht um den Abzockern ein Schnippchen zu schlagen ;)

Nur so zur Info...

Gruß,

Jörg
 

Swunn

Geocacher
dune68 schrieb:
Wie alles im Astronomiebereich hat auch dieser Artikel einen wahrhaft astronomischen Preis.
Du hältst 149 EUR für das Gerät für astronomisch? Da sind 24 EUR Merkelsteuer drin, bleiben netto 125 EUR. Materialkosten vielleicht 10 EUR, Platine nochmal 5 EUR, wenn es eine Kleinserie ist. Gehäuse etwa 5 EUR, sieht büschen billig aus.

Da verdient der Abzocker 105 EUR bei 20 EUR Materialeinsatz. Schweinerei, das!

Achnee, da waren ja noch EAR-Anmeldung und Jahresgebühren, EMV-Prüfung, wenn er sicher gehen will. Ist er in D tätig, werden ca. 20% RV und 14% KK auf den Gewinn fällig. Da er nicht allzuviele Geräte verkaufen wird wegen eines kleinen Marktes, muss er auch seine Entwicklungskosten auf diese wenigen Geräte umschlagen. Ach ja, und zusammenlöten muss er es auch noch, aber das dürfte sogar der kleinste Teil sein.

Sorry, ich bin in einem ähnlichen Bereich als Freiberufler tätig. Wenn ich meine Arbeitsstunden real rechne, bekommt das Wort "Mindestlohndebatte" eine völlig neue Bedeutung. ;-)

Fakt ist, dass ich mir ein solches Gerät zu diesem Preis nicht selbst kaufen würde, wenn ich es selbst zusammenbauen kann. Fakt ist aber auch, dass ich derartige Geräte in Kleinserien, bei denen ich die Produktion nicht nach China auslagern kann, bei denen ich die Initial- und Fixkosten (Leiterplatten-Fertigung, Entwicklungskosten, EAR, EMV) auf einige dutzend oder 100 Geräte umschlagen muss, nicht mit den Preisen für China-Massenware-Billigfertigung vergleichen kann.

Nur so zur Info...

Swunn
 

movie_fan

Geoguru
Kappler schrieb:
Immer einen Blitz mehr als die Ziffer, damit auch eine null übertragen werden kann... also von 1 bis 11 Blitzen für die Ziffern.

du meinst doch hoffentlich von 1 blitz bis 10 blitze...
ne 10 bekommste ja durch
2 blitze in der zehner stelle und 1 blitz in der einer stelle..

aber stimmt schon... wenn man alles richtig macht, kommen da ziemlich große mengen an abgabe an den staat/prüfungsstellen... da is leider nimmer viel mit geldverdienen..
 

thomas_st

Geowizard
Um mal wieder vom Preisthema wegzukommen, stelle ich mal meine Variante hier rein - natürlich wieder in C. Das Ganze ist, wie schon geschrieben ein Ersatz für eine Schieberegister/7-Segmentdecoder-Kombination und dient nur dazu, Informationen aus dem Attiny 13 des Reaktivlichtes auszulesen. Die Möglichkeit mit dem Informationen "blitzen" kam mir auch, habe ich aber als zu aufwendig verworfen - ich habe jetzt nicht so eine große Lust bis zu 31 Blitze zu zählen.
Durch die Verwendung des µC ist es natürlich möglich, beinah beliebig viele Anwendungsfälle zu realisieren. Ich habe für mich einen Zähler (jedes Blinken der LED zählt 1 hoch sowie eine Anzeige für den aktuellen ADC-Wertes realisiert. Letzteres nutzt dafür zwei digitale Ports des Attiny 13 - einen an dem der ADC Wert Bit für Bit angelegt wird und einen, der durch eine Pegeländerung die Gültigkeit der Daten am anderen Port anzeigt.
Die Daten werden dann vom Programm des µC interpretiert und auf eine gemultiplexte 7-Segmentanzeige ausgegeben. Die Schaltung entspricht im Großen und Ganzen der auf www.mikrocontroller.net/ gezeigten gemultiplexten 7-Segmentanzeige.

(warum ist denn jetzt die Voransicht invertiert :roll:)

Das Programm zur Anzeige des ADC-Wertes ist folgendes:
Code:
/*
 * ----------------------------------------------------------------------------
 * Ansteuerung für 7-Segementanzeigen mit dem ATTINY 2313
 *
 * Ausgabe des übergebenen Wertes
 * ------------------------------
 *    Datenübertragung: PORTB4 und PORTB5
 *    Steuerung: PORTA0 = 0 - aktueller Wert wird angezeigt
 *                      = 1 - Min- / Max-Wert wird angezeigt
 *               PORTA1 = 0 - Min-Wert wird angezeigt (PORTA0 = 1)
 *                      = 1 - Max-Wert wird angezeigt (PORTA0 = 1)
 *               PORTB7 = 1 - Anzeige wird dunkel getastet
 *
 * Thomas Stief <[email protected]>
 *
 * ----------------------------------------------------------------------------
 
   Version 1.0 - Übernahme von Version 0.1
			   - Implementierung Maximum&Minimum Anzeige
			   - Anzeige auf Dezimalzahlen umgestellt
			   - Anzeige führender Nullen unterdrückt
			   - Integration der Dunkeltastung
			   - Geisterbilder unterdrückt (bevor PORTD geschrieben wird, wird PORTB0:4 gelöscht
 */

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <avr/wdt.h>
#include <stdint.h>
#include <avr/pgmspace.h>

/* =================================================================
   Deklarationen
   ================================================================= */

typedef uint8_t BYTE;
typedef int8_t SBYTE;
typedef uint16_t WORD;
typedef int16_t SWORD;

typedef int8_t BOOL;

#define TRUE (0==0)
#define FALSE (0!=0)

/* =================================================================
   Globale Variable zum speichern des Zustands
   ================================================================= */
WORD wValue = 0x0000;
WORD wValueMax = 0x0000;
WORD wValueMin = 0xffff;

/* =================================================================
   Initialisierung des Chips
   
   In: nix
   Out: nix
   ================================================================= */
void initChip(void)
{
 	// Digital IO
	// ------------------------------------------------------
	// Ausgänge für die Ansteuerung der 7-Segmentanzeigen
	
	// PORTD 0:6 auf Ausgang: Anodenansteuerung der 7-Segmentanzeigen
	DDRD  = 0x7F;  // 0111 1111
	PORTD = 0x00;  // 0000 0000
	// PORTB 0:3 auf Ausgang: Kathodensteuerung der 7-Segementanzeige
	DDRB  = 0x0f;  // 0000 1111
	PORTB = 0x00;  // 0000 0000
    
	// PORTB 4:7 Eingänge für die Datenerfassung und Steuerung
	PORTB = 0xF0;  // 1111 0000    für die Eingänge die Pull-Up-Widerstände aktivieren
	// PORTA 0:1 Eingänge für Steuerung
	DDRA  = 0x00;  // 0000 0000
	PORTA = 0x07;  // 0000 0111    für die Eingänge die Pull-Up-Widerstände aktivieren
	MCUCR &= ~PUD; //              global: Pull-Up-R aktiv

    // Timer 0 - Steuerung des Ausgabe-IRQs für die Anzeige
	// ------------------------------------------------------
    // OC0A - Normaler Betrieb als IO-Port  00xx xxxx
    // OC0B - Normaler Betrieb als IO-Port  xx00 xxxx
    // Betrieb des Counters im CTC-Mode     xxxx xx10
    TCCR0A = 0x02;                      //  0000 0010
    // No Force Output Compare A            0xxx xxxx
    // No Force Output Compare B            x0xx xxxx
    // Betrieb des Counters im CTC-Mode     xxxx 0xxx
    // Clock: Intern / 8                    xxxx x010
    TCCR0B = 0x02;                      //  0000 0010
    // Maximalwert Counter: 255             1111 1111
    OCR0A  = 0xff;                      //  1111 1111
	
    // Timer 1 - Timer - stoppt die Zeit die zwischen PC-IRQs
	//           vergeht: Codierung für 1 und 0
	// ------------------------------------------------------
    // OC0A - Normaler Betrieb als IO-Port  00xx xxxx
    // OC0B - Normaler Betrieb als IO-Port  xx00 xxxx
    // Betrieb des Counters normal mode     xxxx xx00
    TCCR1A = 0x00;                      //  0000 0000
	// No Input Capture Noise Canceler		0xxx xxxx
	// No Input Capture - Bit uninterssant	x0xx xxxx
    // Betrieb des Counters normal mode     xxx0 0xxx
    // Clock: Intern / 8                    xxxx x010
    TCCR1B = 0x02;                      //  0000 0010
    // No Force Output Compare A            0xxx xxxx
    // No Force Output Compare B            x0xx xxxx
    TCCR1C = 0x00;                      //  0000 0000
    // Maximalwert Counter: 255             1111 1111
    OCR0A  = 0xff;                      //  1111 1111
    
    // Interruptsteuerung für Timer 0 & 1 
	// ------------------------------------------------------
    // Timer 1: Overflow-IRQ enable                  1xxx xxxx
    // Timer 1: Output Compare A Match-IRQ disable   x0xx xxxx
    // Timer 1: Output Compare B Match-IRQ disable   xx0x xxxx
    // Timer 1: Input Capture IRQ disable            xxxx 0xxx
    // Timer 0: Output Compare B Match-IRQ disable   xxxx x0xx
    // Timer 0: Overflow-IRQ disable                 xxxx xx0x
    // Timer 0: Output Compare A Match-IRQ enable    xxxx xxx1
    TIMSK  = 0x81;                              //   1000 0001
    
	// Externer Interrupt - Pin change IRQ an Bit 4...6 von PORT B
	// ------------------------------------------------------
	// Extern IRQ 1 disable 				0xxx xxxx
	// Extern IRQ 0 disable 				x0xx xxxx
	// PC IRQ enable		 				xx1x xxxx
	GIMSK  = 0x20;						//  0010 0000
	// PC-IRQ für PORTB 4:6 aktivieren		0111 0000
	PCMSK  = 0x70;						//  0111 0000
}

/* =================================================================
   Interrupt service routine - Timer 0 Output Compare Match A
    --> Ausgabe der Zahlen auf der 7-Segementanzeige
   ================================================================= */
/*  LED     .gfe dcba
    Bit     7654 3210

    0       0011 1111   0x3f
    1       0000 0110   0x06
    2       0101 1011   0x5b
    3       0100 1111   0x4f
    4       0110 0110   0x66
    5       0110 1101   0x6d
    6       0111 1101   0x7d
    7       0010 0111   0x27
    8       0111 1111   0x7f
    9       0110 1111   0x6f
    A       0111 0111   0x77
    b       0111 1100   0x7c
    C       0011 1001   0x39
    d       0101 1110   0x5e
    E       0111 1001   0x79
    F       0111 0001   0x71
*/

const BYTE b7SegCode[16] PROGMEM = {    0x3f, 0x06, 0x5b, 0x4f, 
                                        0x66, 0x6d, 0x7d, 0x27, 
                                        0x7f, 0x6f, 0x77, 0x7c, 
                                        0x39, 0x5e, 0x79, 0x71 };

BYTE bDigit = 0x03;
BYTE fFlagDunkeltastung = 1;
ISR(SIG_TIMER0_COMPA)
{
	BYTE bDigitValue;
	WORD wAnzValue;
	
	if(PINA&_BV(PORTA0))			// Welcher Wert ist den auszugeben
		if(PINA&_BV(PORTA1))
			wAnzValue = wValueMax;
		else
			wAnzValue = wValueMin;
	else
		wAnzValue = wValue;
		
	bDigitValue = (wAnzValue>>(4*bDigit))&0x0f;
	
	PORTB &= 0xF0; // Geisterbilder unterdrücken

	if(bDigitValue == 0)
	{
		if(fFlagDunkeltastung == 0)
			PORTD = pgm_read_byte(&b7SegCode[bDigitValue]);
		else
			PORTD = 0;
		if(bDigit == 0)
			PORTD = pgm_read_byte(&b7SegCode[bDigitValue]);
	}
	else
	{
		fFlagDunkeltastung = 0;
		PORTD = pgm_read_byte(&b7SegCode[bDigitValue]);
	}
    //PORTD = pgm_read_byte(&b7SegCode[bDigitValue]);
	
	if(!(PINB&_BV(PORTB7))) // Dunkeltastung der gesamten Anzeige, wenn PORTB7 == 1
		PORTB |= (1<<bDigit)&0x0F;
	if(bDigit > 0)
		bDigit--;
	else
	{
		bDigit = 0x03;
		fFlagDunkeltastung = 1;
	}
}

/* =================================================================
   Interrupt service routine - Pin change IRQ
    --> wird für die Datenübergabe genutzt
   ================================================================= */
BYTE bPinState = 0;  // Aktueller Status des Eingangspins

BYTE bCountTransmission = 0;    // Zähler Datenübertragung
WORD wTempValue = 0;			// Temporärer Speicher für den übermittelten Wert
								// --> wird am Ende in wValue kopiert
ISR(SIG_PIN_CHANGE)
{
	BYTE bPCBit = (PINB&0x70)^bPinState;
	bPinState = PINB&0x70;
	
	if(bPCBit&0x10)	// PORTB4 - Taktsignal: bei jeder Änderung liegt das nächtse Bit an PORTB5 an
	{
		TCNT1 = 50000;
		wTempValue <<= 1;
		wTempValue  |= ((bPinState&0x20)>>5)&0x01;	// PORTB5 abfragen
		bCountTransmission++;
		if(bCountTransmission>15)
		{
			wValue = wTempValue%10;				// BCD Umrechnung
			wTempValue/=10;
			wValue+= (wTempValue%10)*16;
			wTempValue/=10;
			wValue+= (wTempValue%10)*256;
			wTempValue/=10;
			wValue+= (wTempValue%10)*4096;
			
			if(wValue > wValueMax)
				wValueMax = wValue;
			if(wValue < wValueMin)
				wValueMin = wValue;
			wTempValue = 0;
			bCountTransmission = 0;
		}
	}
}

/* =================================================================
   Interrupt service routine - Timer1 overflow
    --> wenn Timer1 überläuft, hat es zu lange gedauert
        => Initialisieren der Datenübertagung
   ================================================================= */
ISR(SIG_TIMER1_OVF)
{
    bCountTransmission = 0;
    wTempValue = 0;
	TCNT1 = 50000;
}

/* =================================================================
   Hauptprogramm
   ================================================================= */
int main (void)
{
	initChip();
	sei();
    while(1)
	{
		set_sleep_mode(SLEEP_MODE_IDLE);
		sleep_enable();
		sleep_cpu();
	}
        
    return (0);
}
Es ist jetzt nicht so ausführlich kommentiert, daher: wenn es Fragen gibt: bitte stellen.

Genutzt wird das Ganze über Weihnachten, um die Fehlauslösungen des Reaktivlichtes zu zählen. Das Ganze könnte dann so aussehen:

Ich hoffe, dass das Ganze hinreichend wasserdicht ist, und werde dann die Ergebnisse hier natürlich posten.

Ach so: falls das Ganze jemand nachbauen will, habe ich natürlich nichts dagegen. Auch stelle ich es jedem frei, diese Gerät auf Selbstkostenbasis anderen zur Verfügung zu stellen (Materialpreis liegt irgendwo zwischen 5 und 10€) und werde das auch selbst so handhaben.

Viele Grüße,
Thomas(_st)

Edit:Typos
 

dune68

Geocacher
stonewood schrieb:
? Das macht _was_? ...

Misst die Helligkeit auf der Fläche von einer Bogensekunde im Quadrat und gibt dir sog. Grenzgröße in Magnituden an.

Wer's braucht... ;)

Genauere Info zum Gerät:
http://www.unihedron.com/projects/darksky/

Genauere Info zur Grenzgröße/Magnitudenskala: http://de.wikipedia.org/wiki/Scheinbare_Helligkeit


@Swunn: Hab gerade keinen Bock auf 'ne Preisdiskussion, erst Recht nicht in diesem Thread. Wenn es dennoch sein muß, lade mich doch ins Cafe zur Wiese ein, ich bringe auch Popcorn mit ;)


Frohes Fest Euch allen,

Jörg
 

movie_fan

Geoguru
also am interessantesten fänd ich echt ne sternenklar, schneebedeckte vollmond langschaft... das ist nämlich erstaunlich hell... hoffe sowas kommt wärend dem test auch mal vor, wäre ja doof, wenn dat lichtchen da meint es seit tag *gg*
 

thomas_st

Geowizard
waste1 schrieb:
Gibt es schon Messwerte, wie hell eine Nacht ist?
Ich habe zumindest keine direkten Werte des ADCs - und werde die in diesem Jahr auch nicht mehr bestimmen (die Schaltung habe ich jetzt fest für die Zählung der Fehlauslösungen verplant und will da auch nichts mehr ändern). Was ich aber anbieten kann, sind die mit einem Multimeter gemessenen Widerstände des LDRs (bei Conrad als A9060 gekauft, ist aber relativ sicher ein A906014):
Code:
Widerstandswerte
----------------

Messung 4.12.07 18:30 Uhr bis 19:30 Uhr
Geschlossene Wolkendecke, leichter Regen

Messung 1: Messposition N50°06.155' E008°43.995' in Richtung Westen
(in einiger Entfernung ist die erleuchtete Frankfurter Skyline zu sehen /
 die Wolken leuchten relativ stark in der Dunkelheit)
 
Experiment 1A:
(Maximaler und Minimaler Widerstandswert in einer Periode
 von ca. 10s)

               Messung I   Messung II
max:           2,317MOhm   2,238MOhm
min:           2,152MOhm   2,064MOhm
Durchschnitte: 2,234MOhm   2,151MOhm
DELTA:         0,165MOhm   0,174MOhm

Experiment 1B:
(Aus einer Entfernung von ca. 140m den Sensor mit einer
 Fenix L2D unterste Stufe (45Lumen) angeleuchtet)

               Messung I   Messung II
max:           2,442MOhm   2,273MOhm
min:           1,839MOhm   1,773MOhm
DELTA:         0,603MOhm   0,500MOhm

Experiment 1C:
(Maximaler und Minimaler Widerstandswert analog Experiment 1B,
 aber nicht mit der Lampe geleuchte)

               Messung I   Messung II
max:           2,095MOhm   2,058MOhm
min:           1,867MOhm   1,817MOhm
Durchschnitte: 1,981MOhm   1,938MOhm
DELTA:         0,228MOhm   0,241MOhm

Messung 2: Messposition N50°06.168' E008°43.881' in Richtung Osten
(in dieser Richtung liegt Offenbach - keine Skyline aber einige
 Straßenlampen der A661 / im Großen und Ganzen deutlich dunkler)
 
Experiment 2A:
(Maximaler und Minimaler Widerstandswert in einer Periode
 von ca. 10s)

               Messung I   Messung II
max:            5,53MOhm    5,47MOhm
min:            5,25MOhm    5,24MOhm
Durchschnitte:  5,39MOhm    5,36MOhm
DELTA:          0,28MOhm    0,23MOhm

Experiment 2B:
(Aus einer Entfernung von ca. 140m den Sensor mit einer
 Fenix L2D unterste Stufe (45Lumen) angeleuchtet)

               Messung I   Messung II
max:            5,55MOhm    5,61MOhm
min:            3,90MOhm    3,92MOhm
DELTA:          1,65MOhm    1,69MOhm

Experiment 2C:
(Maximaler und Minimaler Widerstandswert analog Messung 2B,
 aber nicht mit der Lampe geleuchte)

               Messung I   Messung II
max:            5,75MOhm    5,58MOhm
min:            5,43MOhm    5,23MOhm
Durchschnitte:  5,59MOhm    5,26MOhm
DELTA:          0,32MOhm    0,35MOhm

Bezüglich Messungen bei Schnee - ich wohne in Frankfurt, hier schneit es nicht ;)

HTH,
Thomas(_st)
 

waste1

Geocacher
Hallo Thomas,

sehr interessant die Messungen! Dachte nicht, dass die Nacht so hell ist und der LDR schon so weit ausgesteuert wird. Bei einem Vorwiderstand von 4.7MOhm kommt da die Spannung eigentlich nie wesentlich unter die halbe Versorgungsspannung. Das kann bei Schnee und Vollmond schon eng werden. Allerdings, wenn es bei Dir nicht schneit, können wir lange auf Messwerte warten.

In München und Umgebung liegt schon öfters Schnee. Vor knapp einem Monat war bei uns eine geschlossene Schneedecke und ich machte bei meinem Nachtcache eine Kontrolle. Ich kann mich aber nicht mehr daran erinnern, ob es ein klare Nacht war. Jedenfalls habe ich den Mond nicht bewusst wahrgenommen, obwohl es ein paar Tage nach Vollmond war. Aber es war so hell, dass ich ohne Probleme mit ausgeschalteter Stirnlampe auf den Waldwegen gehen konnte. Meine Reaktivlichter haben auch alle funktioniert. Allerdings sind meine mit Fototransistoren anstatt LDRs aufgebaut. Die Fototransistoren haben eine Richtcharakteristik und fangen nicht so viel Streulicht auf und vielleicht sind sie auch nicht so empfindlich. Ich muss mir mal einen LDR beschaffen und einen Vergleich anstellen.

Viele Grüße
Waste1
 

thomas_st

Geowizard
waste1 schrieb:
Dachte nicht, dass die Nacht so hell ist und der LDR schon so weit ausgesteuert wird.
Hier möchte ich noch einwenden, dass die Messposition vielleicht nicht die idealste war - in einiger Entfernung war bei Messung 1 die Frankfurter Skyline im Blickfeld des LDRs und die ist doch sehr hell - sieht man ja auch, wenn man es mit den Messungen gen Osten (Messung 2) vergleicht. Im Wald würde ich jetzt deutlich weniger Licht erwarten, aber da müsste ich noch ein Stück weiter fahren und dazu war ich zu faul ;)

waste1 schrieb:
Allerdings, wenn es bei Dir nicht schneit, können wir lange auf Messwerte warten.
Ist natürlich etwas übertrieben, aber Ffm liegt schneetechnisch sehr ungünstig: in den Ausläufern des Rheingrabens und vom Taunus gut gegen die bösen Schneewolken aus Nordwesten abgeschottet.

waste1 schrieb:
Aber es war so hell, dass ich ohne Probleme mit ausgeschalteter Stirnlampe auf den Waldwegen gehen konnte.
Die Werte habe ich auch ohne Lampe vom Multimeter abgelesen und aufgeschrieben - also stockdunkel war es halt nicht ;)

Viele Grüße,
Thomas(_st)
 

waste1

Geocacher
thomas_st schrieb:
waste1 schrieb:
Aber es war so hell, dass ich ohne Probleme mit ausgeschalteter Stirnlampe auf den Waldwegen gehen konnte.
Die Werte habe ich auch ohne Lampe vom Multimeter abgelesen und aufgeschrieben - also stockdunkel war es halt nicht ;)

Viele Grüße,
Thomas(_st)
Also wenn Du ein Multimeter ablesen konntest, dann kommt das einer Vollmondnacht sehr nahe.

Grüße
Waste1
 
Oben