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

Reaktives Licht mit Attiny13V in C

OP
T

thomas_st

Geowizard
waste1 schrieb:
thomas_st schrieb:
Relativ unbeeinflusst zeigt sich der Nachtmodus - wunder über wunder - während der Tagmodus deutlich beeinflusst wird. Mit Abschaltung der Versorgung des LDRs ist der Stromverbrauch deutlich bis gravierend geringer.
Das ist kein Wunder, weil nachts der LDR hochohmig ist und deswegen kein Querstrom fließt.
Hätte ich ein Ironietag setzen sollen? Das war mir schon klar, dass der Nachtmodus unbeeinflusst davon ist ;) (die Abschaltung der Versorgung des LDRs ist auch nur im Tagmodus aktiv).

waste1 schrieb:
Ein Schwellwert von 1 ist viel zu unsicher. Da gibt es prinzipbedingt schon Fehlauslösungen, weil der ADC immer um 1 schwanken kann.
Nicht nur schwanken - wenn es Tag wird, wird sich der Wert auch mit mindestens 1 Schritten nach oben bewegen und dann blinkt das ganze halt lustig bis zu 530 Mal.

waste1 schrieb:
Waren die Reichenweitenversuche jetzt mit 220kOhm oder mit höherem Widerstand?
Die ersten Tests (Montag) wurden mit dem 220kOhm Widerstand durchgeführt, die vom Samstag mit dem 2,2MOhm.

Viele Grüße,
Thomas(_st)
 

waste1

Geocacher
thomas_st schrieb:
waste1 schrieb:
Ein Schwellwert von 1 ist viel zu unsicher. Da gibt es prinzipbedingt schon Fehlauslösungen, weil der ADC immer um 1 schwanken kann.
Nicht nur schwanken - wenn es Tag wird, wird sich der Wert auch mit mindestens 1 Schritten nach oben bewegen und dann blinkt das ganze halt lustig bis zu 530 Mal.
Ja und jeder vorbeiziehende Wolkenschatten oder Halbschatten von sich im Wind bewegender Zweige oder Blätter würden das Reaktivlicht bereits auslösen. Da ist schon ein größerer Abstand sicherer, sonst ist die Batterie - oh Wunder - schon nach ein paar Monaten leer.

Irgendwo sind in der Reichweite natürlich Grenzen gesetzt. Es soll ja auch in einer Vollmondnacht im Winter funktionieren, wenn der Schnee das Mondlicht so schön reflektiert. Die Lampe aber das Mondlicht nicht mehr überstrahlen kann. Da nützt dann das empfindlichste Reaktivlicht nichts mehr. Da hilft dann nur noch eine stärkere Lampe.

Waste1
 

NC666

Geocacher
thomas_st schrieb:
Code:
WORD readADC(void)
{
...
	// ADC einschalten,				// 1xxxxxxx
	// ADC starten					// x1xxxxxx
	// kein AUTO Trigger			// xx0xxxxx
	// ADC Interrupt aktivieren		// xxxx1xxx
	// Teiler des ADC-Taktes (1:2)	// xxxxx000
	
	ADCSRA = 0xd8;					// 11011000
...
}

Hallo Thomas,

ich habe mich gestern mal in Deinen Code vertieft und im Einzelschrittmodus durch den Debugger gejagt. Dabei ist mir aufgefallen, dass pro readADC()-Aufruf zwei SIG_ADC ausgelöst werden. Anscheinend wird mit ADCSRA=0xd8 der ADC nicht richtig initialisiert.

Mit folgender Änderung klappt es dann wie gewünscht mit dem Noise Canceller im Sleep Mode:

Code:
   ADCSRA = 0b10001000

Die einzigen Bits, die gesetzt werden müssen sind ADEN und ADIE.

Ursprünglich waren noch ADIF (das ist aber unnütz, da damit der ADC die Fertigstellung einer Messung meldet) und ADSC gesetzt. Durch das ADSC wurde der ADC sofort gestartet und lief dann im Free Running Mode. Wenn ADSC nicht gesetzt wird, startet der ADC automatisch, sobald der µC den Ruhezustand erreicht hat.

Gruß,
Chris
 
OP
T

thomas_st

Geowizard
NC666 schrieb:
thomas_st schrieb:
Code:
WORD readADC(void)
{
...
	// ADC einschalten,				// 1xxxxxxx
	// ADC starten					// x1xxxxxx
	// kein AUTO Trigger			// xx0xxxxx
	// ADC Interrupt aktivieren		// xxxx1xxx
	// Teiler des ADC-Taktes (1:2)	// xxxxx000
	
	ADCSRA = 0xd8;					// 11011000
...
}

ich habe mich gestern mal in Deinen Code vertieft und im Einzelschrittmodus durch den Debugger gejagt.
Und ich begann schon zu denken, dass er fehlerfrei wäre - was ich nicht glauben kann ;)

NC666 schrieb:
Dabei ist mir aufgefallen, dass pro readADC()-Aufruf zwei SIG_ADC ausgelöst werden. Anscheinend wird mit ADCSRA=0xd8 der ADC nicht richtig initialisiert.
Mit welchem Debugger hast Du es denn untersucht - ich habe es mit dem von Atmel stammenden AVR-Studio versucht. Mit dem habe ich aber Probleme ISR zu debuggen - und die Abfrage des ADCs steht ja selbst in einer ISR (die vom Watchdogtimer).

NC666 schrieb:
Mit folgender Änderung klappt es dann wie gewünscht mit dem Noise Canceller im Sleep Mode:

Code:
   ADCSRA = 0b10001000

Die einzigen Bits, die gesetzt werden müssen sind ADEN und ADIE.

Ursprünglich waren noch ADIF (das ist aber unnütz, da damit der ADC die Fertigstellung einer Messung meldet) [...]
Jep. Das ist ein Bug - dieses Bit wollte ich gar nicht setzten :shock: (siehe auch die drüber stehenden Zeilen).

NC666 schrieb:
[...] und ADSC gesetzt. Durch das ADSC wurde der ADC sofort gestartet und lief dann im Free Running Mode. Wenn ADSC nicht gesetzt wird, startet der ADC automatisch, sobald der µC den Ruhezustand erreicht hat.
Danke, das wusste ich nicht und habe es wohl auch im Datenblatt überlesen. Werde ich dann mal ausprobieren (wird aber frühestens morgen Abend). Was ich damit sagen will: ich war der Meinung, dieses Bit müsste ich setzen, um die AD-Wandlung in Gang zu setzen.

Viele Grüße und vielen Dank,
Thomas(_st) - werde den Code gleich mal ändern
 

NC666

Geocacher
thomas_st schrieb:
NC666 schrieb:
thomas_st schrieb:
Code:
WORD readADC(void)
{
...
	// ADC einschalten,				// 1xxxxxxx
	// ADC starten					// x1xxxxxx
	// kein AUTO Trigger			// xx0xxxxx
	// ADC Interrupt aktivieren		// xxxx1xxx
	// Teiler des ADC-Taktes (1:2)	// xxxxx000
	
	ADCSRA = 0xd8;					// 11011000
...
}

ich habe mich gestern mal in Deinen Code vertieft und im Einzelschrittmodus durch den Debugger gejagt.
Und ich begann schon zu denken, dass er fehlerfrei wäre - was ich nicht glauben kann ;)

8)

thomas_st schrieb:
NC666 schrieb:
Dabei ist mir aufgefallen, dass pro readADC()-Aufruf zwei SIG_ADC ausgelöst werden. Anscheinend wird mit ADCSRA=0xd8 der ADC nicht richtig initialisiert.
Mit welchem Debugger hast Du es denn untersucht - ich habe es mit dem von Atmel stammenden AVR-Studio versucht. Mit dem habe ich aber Probleme ISR zu debuggen - und die Abfrage des ADCs steht ja selbst in einer ISR (die vom Watchdogtimer).

Ich arbeite mit der aktuellsten Version des AVR Studio und dem Dragon. Das geht einwandfrei.

thomas_st schrieb:
NC666 schrieb:
Mit folgender Änderung klappt es dann wie gewünscht mit dem Noise Canceller im Sleep Mode:

Code:
   ADCSRA = 0b10001000

Die einzigen Bits, die gesetzt werden müssen sind ADEN und ADIE.

Ursprünglich waren noch ADIF (das ist aber unnütz, da damit der ADC die Fertigstellung einer Messung meldet) [...]
Jep. Das ist ein Bug - dieses Bit wollte ich gar nicht setzten :shock: (siehe auch die drüber stehenden Zeilen).

Deshalb benutze ich gerne die 0b.... statt der 0x... Schreibweise. Man kann zwar problemlos Bitwerte in Hexdezimalzahlen im Kopf umwandeln, aber genauso schnell passiert ein Flüchtigkeitsfehler.


thomas_st schrieb:
NC666 schrieb:
[...] und ADSC gesetzt. Durch das ADSC wurde der ADC sofort gestartet und lief dann im Free Running Mode. Wenn ADSC nicht gesetzt wird, startet der ADC automatisch, sobald der µC den Ruhezustand erreicht hat.
Danke, das wusste ich nicht und habe es wohl auch im Datenblatt überlesen. Werde ich dann mal ausprobieren (wird aber frühestens morgen Abend). Was ich damit sagen will: ich war der Meinung, dieses Bit müsste ich setzen, um die AD-Wandlung in Gang zu setzen.

Ich bin mir nicht sicher, ob Du es überlesen hast. Ich denke eher, man muss zwischen den Zeilen raten um dahinter zu kommen. Mich hat erst der Debugger auf die richtige Fährte gelockt. :eek:

thomas_st schrieb:
Viele Grüße und vielen Dank,
Thomas(_st) - werde den Code gleich mal ändern

Nichts zu danken, schließlich bin ich ja froh, zu dem Projekt etwas beisteuern zu können.

Warum wartest Du eigentlich nach dem Einschalten der LDR Versorgung erst mal 125 ms bevor Du den ADC abfragst. Ich konnte keine nennenswerte Verschlechterung der ADC-Genauigkeit feststellen, wenn ich den LDR erst unmittelbar vor der Messung einschalte. Bei mir sieht das so aus:

Code:
void read_adc (void)
{
                                        // MESSUNG VORBEREITEN
    last_darkness = darkness;           // alten Wert für darkness merken
    set_sleep_mode(SLEEP_MODE_ADC);     // Noise Reduction Mode
    sleep_enable();                     // Genehmigung zum Schlafen
    sei();                              // Interrupts an
    DO_LDRON;                           // LDR einschalten
    DO_ADCON;                           // ADC einschalten
    sleep_cpu();                        // schlafen gehen: startet Messung
                                        // CPU SCHLÄFT //
    sleep_disable();                    // nicht mehr schlafen
    cli();                              // keine Interrupts mehr zulassen
    DO_ADCOFF;                          // ADC ausschalten
    DO_LDROFF;                          // LDR ausschalten
}

ISR(SIG_ADC)
{
}

Das LDR-typische Grundrauschen wird dadurch nicht schlimmer.

Gruß,
Chris
 
OP
T

thomas_st

Geowizard
NC666 schrieb:
Deshalb benutze ich gerne die 0b.... statt der 0x... Schreibweise. Man kann zwar problemlos Bitwerte in Hexdezimalzahlen im Kopf umwandeln, aber genauso schnell passiert ein Flüchtigkeitsfehler.
Das war mir auch neu - wie ich inzwischen festgestellt habe, ist die 0b-Schreibweise eine Erweiterung des GCC-AVR. So ganz portabel ist das dann allerdings nicht mehr.

NC666 schrieb:
thomas_st schrieb:
[...] (wird aber frühestens morgen Abend).
Das habe ich noch nicht vergessen, wollte aber erstmal meinen Zähler vor Weihnachten fertig bekommen.

NC666 schrieb:
Warum wartest Du eigentlich nach dem Einschalten der LDR Versorgung erst mal 125 ms bevor Du den ADC abfragst.
War eine etwas konservative Programmierung. Ich wollte dem Ganzen ausreichend Zeit geben, einen stabilen Zustand einzunehmen. Ich bin mir nicht sicher, inwiefern das optische Zeitverhalten der LDRs auch ein elektrisches Gegenstück hat - will heißen, ändert sich eventuell der Widerstandswert nach einschalten der Spannung noch etwas. Diese Zeit wollte ich überbrücken. Die 125ms ergeben sich einfach aus dem Nachtwert, den ich auch an dieser Stelle der Einfachheit halber für den WDT genutzt habe.

NC666 schrieb:
Ich konnte keine nennenswerte Verschlechterung der ADC-Genauigkeit feststellen, wenn ich den LDR erst unmittelbar vor der Messung einschalte.
Werde ich dann wohl auch nutzen - es vereinfacht die Programmierung etwas und spart damit kostbaren Programmspeicherplatz.

Viele Grüße,
Thomas(_st)
 

waste1

Geocacher
Na ja, ganz würde ich die Wartezeit nicht wegnehmen. Bei einigen Megaohms und ein paar pF ergibt sich eine Zeitkonstante, die sich schon bemerkbar machen kann. Ich würde mindestens 100µs vorsehen, um sicher zu gehen. Bei einem Takt von 16kHz ist das kein Problem, denn die 100µs sind schon mit 1-2 Zyklen erreicht. Aber bei 128kHz und mehr sollte man schon nachrechnen, ob die Wartezeit erreicht wird.

Beim Schreiben dieses Beitrags ist mir jetzt noch etwas aufgefallen und da hier scheinbar einige den Messwert ausgeben können, will ich mal gleich die Gelegenheit nutzen und meine Frage loswerden. Habt ihr schon mal überprüft, wie sich der hohe Quellwiderstand auf die ADC-Messung auswirkt? Denn laut Datenblatt sollte der Quellwiderstand nicht größer als 10kOhm sein. In der Anwendung ist er aber bis zu einigen Megaohm.

Viele Grüße
Waste1
 
OP
T

thomas_st

Geowizard
waste1 schrieb:
Na ja, ganz würde ich die Wartezeit nicht wegnehmen. Bei einigen Megaohms und ein paar pF ergibt sich eine Zeitkonstante, die sich schon bemerkbar machen kann. Ich würde mindestens 100µs vorsehen, um sicher zu gehen. Bei einem Takt von 16kHz ist das kein Problem, denn die 100µs sind schon mit 1-2 Zyklen erreicht. Aber bei 128kHz und mehr sollte man schon nachrechnen, ob die Wartezeit erreicht wird.
Interessanter Gedanke, wie groß der Einfluss ist, muss ich bei Gelegenheit mal durchrechnen. Übrigens läuft bei mir der Atmel mit 128kHz (bei 16kHz kann ich ihn nicht mehr programmieren).

waste1 schrieb:
Beim Schreiben dieses Beitrags ist mir jetzt noch etwas aufgefallen und da hier scheinbar einige den Messwert ausgeben können, will ich mal gleich die Gelegenheit nutzen und meine Frage loswerden. Habt ihr schon mal überprüft, wie sich der hohe Quellwiderstand auf die ADC-Messung auswirkt? Denn laut Datenblatt sollte der Quellwiderstand nicht größer als 10kOhm sein. In der Anwendung ist er aber bis zu einigen Megaohm.
Bisher habe ich drüber noch nicht nachgedacht und habe mich daher gleich mal an die Messung gemacht. Ich war doch etwas überrascht, dass das Ganze messbar ist.
Zum theoretischen Hintergrund: der ADC des Atmel beinhaltet einen Kondensator, der während der AD-Wandlung den Analogwert "speichert". Das geht aber auch anders herum: bevor die Messung starten kann, muss der Kondensator entsprechend aufgeladen werden, und das dauert umso länger, umso größer die speisenden Widerstände sind. Wenn die Widerstände (wie bei uns) zu groß sind, ist der Kondensator bei Spannungen > Vcc/2 noch nicht richtig aufgeladen und der Messwert ist zu niedrig und bei Spannungen < Vcc/2 noch nicht richtig entladen und die Messwerte sind zu groß.

Folgende Messungen habe ich durchgeführt: ich habe verschiedene Spannungsteiler im Bereich 5MOhm (unser Wert) und im Bereich 10kOhm (im Datenblatt empfohlener Widerstandswert) aufgebaut. Die Widerstände vorher mit dem Multimeter vermessen und die theoretischen Spannungen am Eingang berechnet incl. dem sich dabei ergebenden ADC-Wert. Den real gemessenen ADC-Wert habe ich dann mit der im Nachbarthread vorgestellten Schaltung ausgelesen. Folgendes habe ich dabei raus bekommen:
Code:
R1 = 4,68 M
R2 = 4,76 M
R3 = 0,993 M

Messung 1: R1 gegen Masse
           R2 gegen Vcc
           ==> U = 0,496*Vcc (508) Anzeige: 502    => -6
           
Messung 2: R1 gegen Masse
           R3 gegen Vcc
           ==> U = 0,825*Vcc (845) Anzeige: 842    => -3

Messung 3: R3 gegen Masse
           R1 gegen Vcc
           ==> U = 0,175*Vcc (179) Anzeige: 186    => +7

R4 = 9,83 k
R5 = 9,80 k
R6 = 0,9894 k

Messung 4: R4 gegen Masse
           R5 gegen Vcc
           ==> U = 0,501*Vcc (513) Anzeige: 513    => +/-0
           
Messung 5: R4 gegen Masse
           R6 gegen Vcc
           ==> U = 0,909*Vcc (930) Anzeige: 931    => +1

Messung 6: R6 gegen Masse
           R4 gegen Vcc
           ==> U = 0,091*Vcc ( 94) Anzeige:  93    => -1

(in Klammern stehen die zu erwartenden ADC-Werte (1024*U/Vcc)
Man kann deutlich erkennen, wie bei höheren Widerständen am Eingang, der Messwert stärker verfälscht wird.

ABER: das interessiert uns ja gar nicht. Wir wollen ja nur die relative Änderung des Messwertes haben und die erhalten wir auch so.

Viele Grüße,
Thomas(_st)
 

waste1

Geocacher
Danke für die Messung, das ging ja schnell.
Man sieht zwar einen deutlichen Fehler bei der hochohmigen Quelle, aber den kann man bei unserer Anwendung vernachlässigen.

thomas_st schrieb:
ABER: das interessiert uns ja gar nicht. Wir wollen ja nur die relative Änderung des Messwertes haben und die erhalten wir auch so.
Jetzt nach der Erkenntnis, dass es nicht so schlimm ist, wohl ja. Aber es hätte auch schlimmer sein können und den Vorteil der hochohmigen Widerstände ganz zunichte machen können. Ich möchte schon immer gerne wissen was passiert, wenn man ein Bauteil außerhalb seiner Spezifikation betreibt.

Viele Grüße
Waste1
 

Swunn

Geocacher
Dabei wäre zu berücksichtigen, dass der interne C eine Typenstreuung und eine Temperaturabhängigkeit hat, was sich doch negativ auf die Reproduzierbarkeit auswirkt.

Atmel gibt auch irgendwo eine ganz einfache Lösung dafür an: Ein Kondensator von einigen 100 pF an den Eingang. Aus dem wird beim Samplen die Ladung übernommen und die Spannung über dem hochohmigen Spannungsteiler bricht nicht ein.

Swunn
 
OP
T

thomas_st

Geowizard
waste1 schrieb:
Jetzt nach der Erkenntnis, dass es nicht so schlimm ist, wohl ja. Aber es hätte auch schlimmer sein können und den Vorteil der hochohmigen Widerstände ganz zunichte machen können. Ich möchte schon immer gerne wissen was passiert, wenn man ein Bauteil außerhalb seiner Spezifikation betreibt.
Außerhalb der Spezifikation würde ich jetzt nicht sagen: das Datenblatt spricht davon, dass der ADC für 10kOhm Widerstände optimiert ist. Andererseits, sind 5MOhm schon arg weit davon weg.


Swunn schrieb:
Atmel gibt auch irgendwo eine ganz einfache Lösung dafür an: Ein Kondensator von einigen 100 pF an den Eingang. Aus dem wird beim Samplen die Ladung übernommen und die Spannung über dem hochohmigen Spannungsteiler bricht nicht ein.
Mit 100pF und 5MOhm hat man eine Zeitkonstante von 0,5ms, also ausreichend klein, selbst für Helligkeitsmessungen alle 50ms.

So gesehen sind die Kapazitäten, die die ganze Schaltung aufweist wohl eher kein Problem - siehe Diskussion zum früheren Einschalten der Versorgung des LDR.

Viele Grüße,
Thomas(_st)
 

movie_fan

Geoguru
so...
ich hab mir heute mal ein reaktivlichtlein zum testen von thomas_st ausgeliehen...

ging um reichweite..

das dingens müsste ab einem unterschied von 5 anspringen...

ich war echt erstaunt!!!

angetriggert habe ich es mit
Code:
entfernung[m]    fenixl2dq5   Penny Stirnlampe[high]  Mag3dLED[fokussiert]
    50                      low                   jab                             jab
    75                      low                   jab                             jab
   100                     low                   leider nichtmehr          jab
   125                     low                   -----                           jab
   150                     low                   ----                            jab
   175                    medium              -----                          jab
   200                    medium                                              jab
   250                    medium                                              jab
   300                    medium                                              jab
ab jetzt wurde es mit der blauen led schwer.. die war dunkler als die rote, und ich habe sie nurnoch ganz schwach erkannt, wenn sie einzelnt geleuchtet hat... 
   350                     medium                                              jab
   400                     high                                                    jab
ab jetzt hab ich das licht garnicht mehr gesehen... aber ich hab nen freund mit pmr bei 300 meter eh stehen lassen *gg* er meldete mir munter das es erfolgreich angetriggert wurde... 
   450                     high                                                    jab
   500                     high                                                    jab
   550                     turbo                                                   jab
   600                     turbo                                                   jab
   650                     turbo                                                   jab
   700                     -------                                                  jab
   750                     -------                                                  jab
so und jetzt war die freie schneise zuende, so dass ich nicht noch weiter zurück konnte...

man müsste also noch die spannung auf den leds erhöhen und dann sieht man es auch in der entfernung wo man es antriggern kann *gg*

ich konnte es selber kaum glauben, aber da geht so einiges! :)
genauere technische details muss euch thomas verraten... dat wusste ich nämlich nicht...

achso... ich hatte noch so nen 20*5 cm weißer reflektorfolie an meinem lenker festegmacht (reaktivlicht war auf dem gepäckträger, so dass die sich net "sehen" die folie hab ich ab 650m nicht mehr erkennen können, und ab 550 auch nurnoch weil ich wusste, das da was ist...
 
OP
T

thomas_st

Geowizard
Hallo zusammen,

beim vorgestellten Reaktivlicht, war mir bisher noch unklar, welchen Wert ich denn für die Ansprechschwelle "SCHWELLE_BLINKMODE" verwenden sollte. Windi hat in seinem Programm 50 verwendet, da er ab 30 Fehlauslösungen hatte, die ich bei meinem RL aber nicht beobachtet habe. Ich habe daher ein Reaktivlicht mit dem Schwellwert 5 für einige Tage (21. Dez. bis 2. Jan.) im Wald ausgesetzt und über einen Zähler die Auslösungen gezählt. Das Ganze sah folgendermaßen aus:

bzw. "getarnt" (bitte keine Diskussionen über die auffällige Tarnung, sie sollte nur Muggel vor einem Zufallsfund "bewaren", keine Cacher):

Innerhalb der 12 Nächte hatte ich eine Fehlauslösung:

Ob das jetzt viel oder wenig ist, bin ich noch am Grübeln - aber ich denke, mit einer Fehlauslösung in 12 Nächten kann man leben.
Das Blickfeld des RL war in einen relativ hellen Mischwald gerichtet, sollte also den Verhältnissen eines realen Einsatz gut entsprechen:


Den Grund für das unterschiedliche Verhalten kann ich nur in der Trägheit des LDRs und eines unterschiedlichen Abfrageintervalls bei windi und bei mir erkennen (hat ja waste1 im Nachbarthread schön demonstriert). Vielleicht fällt jemand aber noch ein anderer Grund auf - Hardwaremäßig sind beide Schaltungen identisch, bis auf die Abschaltung der Versorgungsspannung des LDRs im Tagmodus des RL bei mir) bleibt eigentlich nur ein Grund in der Software.

Soweit die Ergebnisse dieses Test.
Viele Grüße,
Thomas(_st)
 
OP
T

thomas_st

Geowizard
movie_fan schrieb:
ging um reichweite..
Kleine Ergänzung: das RL war in einem Petling eingebaut mit dem "Sichtfenster" durch den Boden - also so, wie ich es auf den Bildern dargestellt hatte. Das RL war damit durch die leichte Tönung des Petlings und möglichen Lichtbrechungen "behindert".
movie_fan schrieb:
Code:
entfernung[m]    fenixl2dq5   Penny Stirnlampe[high]  Mag3dLED[fokussiert]
[...]
ab jetzt wurde es mit der blauen led schwer.. die war dunkler als die rote, und ich habe sie nurnoch ganz schwach erkannt, wenn sie einzelnt geleuchtet hat...
Eigentlich ist die Betriebsspannung von 3V für die blaue LED zu niedrig, so dass man diese eigentlich gar nicht ausreizen kann - eventuell sollte man noch eine weitere AAAA-Zelle integrieren und Vcc auf 4,5V anheben; Platz wäre jedenfalls noch vorhanden.
movie_fan schrieb:
Code:
[...]
   750                     -------                                                  jab
so und jetzt war die freie schneise zuende, so dass ich nicht noch weiter zurück konnte...
Klasse, das eröffnet ja Möglichkeiten :twisted:

movie_fan schrieb:
man müsste also noch die spannung auf den leds erhöhen und dann sieht man es auch in der entfernung wo man es antriggern kann *gg*
Dann aber auch gleich der ganzen Schaltung, da die Durchlasspannung der blauen LEDs im Bereich von 3V liegt.

movie_fan schrieb:
achso... ich hatte noch so nen 20*5 cm weißer reflektorfolie an meinem lenker festegmacht (reaktivlicht war auf dem gepäckträger, so dass die sich net "sehen" die folie hab ich ab 650m nicht mehr erkennen können, und ab 550 auch nurnoch weil ich wusste, das da was ist...
Das überrascht mich, die reflektierenden Teile der Lenkertasche, an die ich das RL gerne gelehnt habe, sah ich nämlich sehr gut; subjektiv besser als die LEDs.

Viele Grüße und vielen Dank für die Tests an Alex,
Thomas(_st)
 

stonewood

Geowizard
thomas_st schrieb:
Eigentlich ist die Betriebsspannung von 3V für die blaue LED zu niedrig, so dass man diese eigentlich gar nicht ausreizen kann - eventuell sollte man noch eine weitere AAAA-Zelle integrieren und Vcc auf 4,5V anheben; Platz wäre jedenfalls noch vorhanden.
Hmm, ich hab mit der blauen LED bei 3V keine Probleme. Welchen Vorwiderstand hast Du da dran? Immer noch die 220 Ohm, oder mittlerweile was um die 50 Ohm?
LED-Vorwiderstandsrechner sagt: 2,9V Spannungsabfall, bei 3V sind das dann 5 Ohm, bei 3,5V 30 Ohm.
 
OP
T

thomas_st

Geowizard
stonewood schrieb:
Hmm, ich hab mit der blauen LED bei 3V keine Probleme. Welchen Vorwiderstand hast Du da dran? Immer noch die 220 Ohm, oder mittlerweile was um die 50 Ohm?
IIRC 82Ohm - aber vermutlich nicht bei dem RL, welches ich movie_fan gegeben hatte (er hat meinen Prototypen)
stonewood schrieb:
LED-Vorwiderstandsrechner sagt: 2,9V Spannungsabfall, bei 3V sind das dann 5 Ohm, bei 3,5V 30 Ohm.
Wie kommst Du auf die 2,9V? [1] Ich habe mal für eine blaue Standard LED das Datenblatt bei Reichelt (Bst.kennung: LED 5MM ST BL) besorgt (meine LEDs habe ich überall zusammengekauft - da habe ich keine Datenblätter), da beginnt die Kennlinie bei 3V. Die 20mA werden erst bei 4V erreicht. Das entspricht meinen Beobachtungen: bei 3V könnte man theoretisch den Widerstand weglassen, dann fließen da immer noch keine 20mA, das habe ich mir aber nicht getraut und nun IIRC die 82Ohm drin (I irgendwo bei 5mA). Für blaue oder weiße (eventuell auch grüne) LEDs müsste man meiner Meinung nach in den Bereich mit Vcc = 4,5 V gehen.

Viele Grüße,
Thomas(_st)
_________________
Korrektur: [1]: gerade gesehen - der Wert ist ja dort angegeben. Ich halte ihn aber mit Bezug auf das Datenblatt für zu niedrig
 

stonewood

Geowizard
thomas_st schrieb:
Wie kommst Du auf die 2,9V? [1] Ich habe mal für eine blaue Standard LED das Datenblatt bei Reichelt (Bst.kennung: LED 5MM ST BL) besorgt (meine LEDs habe ich überall zusammengekauft - da habe ich keine Datenblätter), da beginnt die Kennlinie bei 3V.
Hmm. Meine LED 3-2000 BL (InGaN) sind für 2,9-3,6V spezifiziert. Die LED 5MM ST BL (GaN) macht 4-4,5V. Kommt wohl auf den Typ an, speziell eben das Diodenmaterial. Übrigens ist erstere mit 2000mcd angegeben, letztere mit 20-60 mcd - und dann auch noch teurer?!?

Übrigens sind die weißen LEDs IDR nichts anderes als spezielle blaue: Ein Fluoreszenzmittel konvertiert einen Teil des blauen Lichtes in wärmeres, damit ergibt sich dann das halbwegs weiße Licht. Also kein Wunder daß die LED 3-2000 WS aus InGaN auch 2,9-3,6V will.

infrarot=1.5V, rot=1.6V, grün=2.1V, gelb=2.2V, blau=2.9V, weiß=4.0V.
sagt zumindest der Widerstandsrechner, und das mit rot, gelb und grün kenne ich auch so. Die reichen also definitiv mit 2xAA. Bei den Weißen gibts eben solche und solche - insbesondere die Luxeon-Module wollen 4,x V haben. Aber da hat man ja eh ganz andere Probleme, auf daß einem die nicht ungekühlt aufbrennen.
 
OP
T

thomas_st

Geowizard
stonewood schrieb:
infrarot=1.5V, rot=1.6V, grün=2.1V, gelb=2.2V, blau=2.9V, weiß=4.0V.
sagt zumindest der Widerstandsrechner, und das mit rot, gelb und grün kenne ich auch so.
War mir nach dem Posting auch aufgefallen - daher ja auch die kleine Korrektur. Bisher bin ich auch von Durchlassspannungen im Bereich von 2V ausgegangen. Das die blauen (und weißen) hier deutlich mehr haben wollten, ist mir erst richtig bewusst geworden, als ich den Vorwiderstand "optimieren" wollte.

stonewood schrieb:
Die reichen also definitiv mit 2xAA.
Bei Rot, (grün) und gelb stimme ich mit Dir überein, bei blau bin ich vorsichtig - und auch für grün habe ich schon höhere Werte gesehen (wo?).

stonewood schrieb:
Bei den Weißen gibts eben solche und solche - insbesondere die Luxeon-Module wollen 4,x V haben. Aber da hat man ja eh ganz andere Probleme, auf daß einem die nicht ungekühlt aufbrennen.
Na ja, Luxeon würde ich jetzt in einem RL auch nicht einsetzen wollen - nicht wegen der Wärme, sondern eher wegen des Stromverbrauchs. [1]

Viele Grüße,
Thomas(_st)
______________
[1] alles ist relativ; es mag auch dafür Anwendungen geben (RL in 1km Entfernung z.B. :twisted: )
 

movie_fan

Geoguru
thomas_st schrieb:
[...]und auch für grün habe ich schon höhere Werte gesehen (wo?).
[...]

http://de.wikipedia.org/wiki/Leuchtdiode#Durchlassspannung

da zum beispiel :) kommthalt drauf an, aus welchem material die grüne aufgebaut ist, aber ich kenne die auch noch mit etwa 2,1 bis 2,2V
 
Oben