• 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 Atmel AVR

OP
S

Sir Vivor

Geocacher
Welche Art der Programmierung? Bezüglich des Blinksignals?

P.S.: Die Reichelt-Lieferung ist eben gekommen...! ;-)
 
OP
S

Sir Vivor

Geocacher
Und ich wunderte mich schon über die Schwierigkeiten beim Ausrichten der LED bzw. des Steckbrettes auf längere Distanzen beim ersten Outdoor-Test...!

Wie ich jetzt anhand der mit Bleistift klein auf die Papiertüte gekrickelten Bestellnummer rausgefunden habe, hat die von mir verwendete LED einen Öffnungswinkel von nur !!! Conrad führt diese LED (Artikel-Nr.: 186597-62) nämlich heute noch.

Die neue LED für weitere Tests und den Endausbau gibt es übrigens bei Reichelt.

So, gleich wird der erste neue Tiny13 programmiert und getestet...

Es grüßt...

...Sir Vivor
 

jensor

Geonewbie
Sir Vivor schrieb:
Welche Art der Programmierung? Bezüglich des Blinksignals?

Vielleicht einfach über drei Werte.

LED_on
LED_off
LED_repeat

Und wenn du magst, dann könntest du noch einen Übergabewert für eine Einschaltverzögerung implementieren.

Viele Grüße
Jens
 
OP
S

Sir Vivor

Geocacher
Also, der Tiny13 ist nun erfolgreich programmiert worden; hier jetzt die ersten Meßwerte:

Die gesammte Schaltung zieht bei 3,3 V so ziemlich genau 120 µA. Dies entspricht bei zwei durchschnittlichen Monozellen (10.000 mAh) einer theoretischen Betriebsdauer von ungefähr 9,5 Jahren. Wie immer steckt das 'LED-Blinken' nicht mit in dieser Rechnung...

Die aus dem Diagramm abgelesenen 50 µA habe ich bisher leider noch nicht erreichen können. Der Strom bleibt sogar gleich, wenn ich die LED entferne oder die internen Pullup's deaktiviere. Ich nehme an, daß einige der etlichen internen Komponenten (A/D-Wandler, Analog-Komparator usw.) noch unnötigerweise Strom ziehen. Die BOD ('Reset bei Unterspannung') ließe sich z.B. noch deaktivieren (ca. 25 µA), wovon ich aber aus Sicherheitsgründen absehe. Der µC könnte sonst bei fast entleerten Zellen totalen Blödsinn fabrizieren... Ein wenig Einsparungspotential steckt also noch drin, aber nicht mehr allzu viel.

Jetzt folgt als nächstes noch ein weiterer Outdoor-Test.

@jensor:
Ich habe mir als besonderes 'Schmankerl' einen Teach-In-Mode überlegt: Nach Drücken eines Tasters gibt man den Blinkcode per Taschenlampe ein. Dieser wird dann entweder im EEPROM gespeichert oder nach Abschalten der Betriebsspannung einfach wieder vergessen. Als gesamte Blinkdauer schweben mir 10 s bei einem Abtastintervall von 0,1 s vor. Mal schauen...

Wieviele mAh hat eigentlich eine durchschnittliche Mignonzelle?

Es grüßt...

...Sir Vivor
 

Windi

Geoguru
Sir Vivor schrieb:
Die aus dem Diagramm abgelesenen 50 µA habe ich bisher leider noch nicht erreichen können. Der Strom bleibt sogar gleich, wenn ich die LED entferne oder die internen Pullup's deaktiviere. Ich nehme an, daß einige der etlichen internen Komponenten (A/D-Wandler, Analog-Komparator usw.) noch unnötigerweise Strom ziehen.
Hast Du Dir schon mal die Seite 29 des Datenblattes angesehen (Minimizing Power Consumption)?
 
OP
S

Sir Vivor

Geocacher
Windi schrieb:
Laut ct-Batterietest kann man ca. 2.000 mAh herausholen.
Vielen Dank! ;-)

Windi schrieb:
Hast Du Dir schon mal die Seite 29 des Datenblattes angesehen (Minimizing Power Consumption)?
Jupp, habe ich. Es gibt demzufolge noch sieben interne Komponenten, die ich abschalten könnte, weil ich sie für das Programm nicht brauche:

- A/D-Wandler
- Analog-Komparator
- Brown-Out-Detection
- Interne Spannungsreferenz
- Watchdog Timer
- Digit. Port-Pin-Treiber

Problem ist nur, daß sich z.B. die interne Spannungsreferenz automatisch selbst abschaltet, wenn A/D-Wandler, Analog-Komparator und BOD abgeschaltet sind. Ich möchte die BOD jedoch sehr ungern deaktivieren, da sonst das µC-Verhalten bei Unterspannung nicht mehr definierbar bzw. kontrollierbar ist. Einen Versuch ist es wohl aber dennoch mal wert, gemäß dem altbekannten Motto "Versuch macht kluch!".

Für die nächsten Outdoor-Tests werde ich die Schaltung auch mal probeweise in ein Gehäuse setzen, da mir das Steckbrett draußen einfach zu unhandlich ist. Mit dem im Verhältnis doch recht schweren Reflektor wackelt die LED nämlich dauernd hin und her.

Viele Grüße,

Sir Vivor
 

Windi

Geoguru
Ich habe im Datenblatt auch irgendwo gelesen dass die Umschaltvorgänge an den Ports zu einer erhöhten Stromaufnahme führen.
 
OP
S

Sir Vivor

Geocacher
Das ist richtig. CMOS-Stufen (-Ausgänge als Sink oder Source mal ausgenommen) ziehen immer den höchsten Strom beim (Um-)Schalten.

Ich werde mit Hilfe von Zeitschleifen mal testen, wie groß dieser Einfluß in Bezug auf die Gesamtstromaufnahme ist.

Eventuell könnte man diesen Strom dann mit einem höheren LED-Abfrageintervall noch etwas verringern.
 
OP
S

Sir Vivor

Geocacher
Moin,

nach abschließender Optimierung kann ich nun mit folgenden Daten aufwarten: Die Schaltung zieht bei einer Betriebsspannung von 3,43 V einen Strom von nun nur noch 58 µA.

Ich habe alles abgeschaltet, was nicht gebraucht wird und sich überhaupt noch abschalten ließ... ;-)

Ohne 'LED-Blinken' kommt man nun auf folgende theoretische Betriebszeiten:

- Monozelle (10.000 mAh) -> 7184 Tage oder 19,7 Jahre
- Mignonzelle (2.000 mAh) -> 1437 Tage oder 3,9 Jahre

Um es noch mal zu erwähnen: Der µC läuft dabei die ganze Zeit! Das bedeutet, daß man nun per Software alle möglichen 'Spielereien' einbauen kann.

Viele Grüße,

Sir Vivor
 

de_Bade

Geowizard
ich versteh nicht warum ihr bei dem stromverbrauch euch noch so viele gedanken darum macht? ob das ding nur 1 jahr oder 4 jahre hält ist doch egal. dann wird halt alle jahr die batterie gewechset. schadet doch nicht, oder?
 

Starglider

Geoguru
de_Bade schrieb:
ich versteh nicht warum ihr bei dem stromverbrauch euch noch so viele gedanken darum macht? ob das ding nur 1 jahr oder 4 jahre hält ist doch egal. dann wird halt alle jahr die batterie gewechset. schadet doch nicht, oder?
Mit einem Batteriwechsel pro Jahr würde ich auch rechnen, schon weil die Dinger ja auch auslaufen könnten.
Aber je weniger Grundverbrauch die Schaltung hat umso mehr bleibt für den "Nutzbetrieb" übrig (mehr Licht, Geräusche erzeugen, Funksignale senden...) und das ist schon gut.
 

orotl

Geocacher
Kaum schaut man mal ein paar Tage nicht herein gibts auch schon eine fertige Atmel-Loesung ... kompliment, echt eine geniale Lösung!

Ich hab die Schaltung gleich mal meinem Elektroniker gezeigt, mit folgendem Ergebnis:
* Er empfiehlt unbedingt einen 100nf Kondensator in der Stromversorgung.
* Vom 'wegoptimieren' des Widerstandes würde er abraten: durch das Pulsen verstirbt die LED zwar nicht mehr am Hitzetot, dafür können sich aber auf Dauer die Bondierungen (Cpu und/oder LED) in Luft auflösen.

Achja, und dann ist ihm noch was eingefallen: er hat mal eine CPU gesehen ... lange her .... blätter ... such ... MSP430xxx von TI
Das Ding hat einen Betriebsmodus bei dem der Stromverbrauch nur mehr bei etwa 2uA (bei 3V) liegt. Also nochmal ein Faktor 10 längere Batterielaufzeit ;-)

orotl
 
Das Ding gefällt mir - wird es in absehbarer Zeit dann auch noch eine "fertige" Software zu dem Teilchen geben?

Mir kam dann noch die Idee das man Takte zählen könnte und so Die LED-Messungen über den Tag abgeschaltet werden könnten, ist ja eh nicht viel anders als eine Quarzuhr... .

In welcher Sprache programmierst du den AVR gerade?
chm
 
OP
S

Sir Vivor

Geocacher
orotl schrieb:
... kompliment, echt eine geniale Lösung!
muellercrtp schrieb:
Das Ding gefällt mir
Das freut mich! Dann habe ich mein Ziel nicht verfehlt.

orotl schrieb:
Ich hab die Schaltung gleich mal meinem Elektroniker gezeigt, mit folgendem Ergebnis:
* Er empfiehlt unbedingt einen 100nf Kondensator in der Stromversorgung.
* Vom 'wegoptimieren' des Widerstandes würde er abraten: durch das Pulsen verstirbt die LED zwar nicht mehr am Hitzetot, dafür können sich aber auf Dauer die Bondierungen (Cpu und/oder LED) in Luft auflösen.
Ja, der berühmte 100 nF-Kondensator... So haben wir es vor Jahrzehnten auch noch gelernt. Wer mag, kann den ja mit einbauen; ich werde ihn auf jeden Fall beim Erstellen des aktuellen bzw. fertigen Schaltplanes mit berücksichtigen. Und zum Thema PWM: Ich werde den Vorwiderstand nun auf jeden Fall in der Schaltung lassen, da die BOD nicht aktiv ist. Sollte der µC bei Unterspannung nämlich Mist bauen, könnte das ohne Rv evtl. den Tod der LED zur Folge haben.

orotl schrieb:
Achja, und dann ist ihm noch was eingefallen: er hat mal eine CPU gesehen ... lange her .... blätter ... such ... MSP430xxx von TI
Das Ding hat einen Betriebsmodus bei dem der Stromverbrauch nur mehr bei etwa 2uA (bei 3V) liegt. Also nochmal ein Faktor 10 längere Batterielaufzeit ;-)
Nicht uninteressant! ;-) Aber einen Systemwechsel und/oder weitere strombezogene Optimierungen habe ich nun nicht mehr vor.

muellercrtp schrieb:
wird es in absehbarer Zeit dann auch noch eine "fertige" Software zu dem Teilchen geben?
Jein. Da mit Sicherheit jeder Nachtcache-Verstecker mit seinen Ideen andere Anforderungen an eine Software stellen wird/würde, wird es so etwas wie "fertige" Software wohl nie geben! ;-) Mein Ziel ist eine Art gemeinsam entwickeltes Baukasten-System, an dem dann jeder nach eigenen Vorstellungen und Wünschen weiter 'herumschrauben' könnte: Ich z.B. liefere die LED-Abfrage und einen Teach-In-Modus, ein anderer eine Zeitsteuerung und einen Hell-Dunkel-Filter und noch ein anderer evtl. eine PWM für eine Laserdiode. Die unterschiedlichen und fertigen Programme sowie die Schaltungen könnte man dann hier jeweils zum Nachbau veröffentlichen. Mein reaktive Licht soll z.B. Reaktiv-Tiny heißen.

muellercrtp schrieb:
Mir kam dann noch die Idee das man Takte zählen könnte und so Die LED-Messungen über den Tag abgeschaltet werden könnten, ist ja eh nicht viel anders als eine Quarzuhr... .
Das dürfte schwierig werden ohne Quarz (z.B. 32768 kHz), da der interne RC-Oszillator doch recht stark von der Betriebsspannung abhängig ist. Die quarzlose Version könnte aber z.B. die Umgebungshelligkeit über einen gewissen Zeitraum 'messen', um dann erst nach längerer Dunkelheit aktiv zu werden. Ein Quarzversion zwecks Zeitsteuerung wäre natürlich auch toll, Stichwort 'mitternächtliches Geblinke' und/oder '- Gepiepe'. Wer's dann ganz luxuriös haben möchte, bastelt noch eine kleine Hardware-RTC (z.B. DS1337) mit zwei Alarmen dazu... ;-)

muellercrtp schrieb:
In welcher Sprache programmierst du den AVR gerade?
Da Programmieren im allgemeinen nicht gerade eine meiner Stärken bzw. Vorlieben ist, programmiere ich die AVR's in BASIC (Bascom-AVR). Damit läßt sich schon eine enorme Menge an Leistung aus den kleinen Käfern herausholen. Assembler, C++ oder Pascal gehen natürlich auch und in einigen Fällen wohl sogar besser. Im Fall der Fälle ggf. ein bißchen Code zu portieren, sollte aber auch nicht unbedingt das Ding sein... Mein Programm besteht bisher übrigens nur aus der stromreduzierenden Initialisierung des µC, der LED-Abfrage und einer einfachen Blinkausgabe. Wenn Interesse besteht, dann veröffentliche ich gerne schon mal den bisherigen Code.

Aber sage mal: Wo sind eigentlich die ganzen anderen 'Tiny-Konstrukteure' hier, die auch mal ähnliche Schaltungen angekündigt, aber nie fertig- bzw. hier eingestellt haben? :roll: :wink:

Es grüßt ein weiter so vor sich hin bastelnder...

...Sir Vivor
 

Windi

Geoguru
Ich warte schon sehnsüchtig auf die Lieferung meines AVR-Entwicklungsboards und meiner bestellten Prozessoren damit ich auch fleissig mit- und weiterentwicklen kann.
Ideen habe ich zur Genüge. Vermutlich wird es in weiten Teilen Deutschlands bald eine Schwemme an Tiny-Reaktivlichtern geben.
 
Oben