IR Reaktivlicht: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
Zeile 10: Zeile 10:
  
 
Konkret soll die Schaltung später mal mit wenigen Batterien arbeiten, als Low-Drop-Regler mit besonders geringem Ruhestrom ist vorgesehen: MCP 1702-3302
 
Konkret soll die Schaltung später mal mit wenigen Batterien arbeiten, als Low-Drop-Regler mit besonders geringem Ruhestrom ist vorgesehen: MCP 1702-3302
 +
 +
== Bootloader ==
 +
Der Bootloader klappt jetzt. Er basiert auf optiboot, benötigt aber einen 1K Bootblock statt 512 Byte. Der Bootloader kalibriert bei jedem Start den internen RC-Oszillator anhand des 32kHz Quarzes nach und startet dann den Bootloader und nach einem Timeout das eigentliche Program.
 +
 +
 +
Benutzung: Alles so entpacken, dass am Ende im Benutzer-Ordner für die Sketches folgende Struktur auftaucht: <br>
 +
<code>
 +
[Benutzersketchordner]/hardware/gcduino/...
 +
</code>
 +
 +
Anschliessend Arduino starten, unter den Boards steht jetzt auch die GCDuino-Plattformen bereit.
 +
 +
[[Datei:Hardware_gcduino01.zip]]
 +
 +
  
 
== Zu lösende Probleme ==
 
== Zu lösende Probleme ==
 
* Das Teil soll autark arbeiten, daher muss der Stromverbrauch möglichst optimiert werden
 
* Das Teil soll autark arbeiten, daher muss der Stromverbrauch möglichst optimiert werden
 
** ATmega328 mit internen 8 MHz RC-Osci aber zusätzlich 32 kHz Quarz für genaues Timing
 
** ATmega328 mit internen 8 MHz RC-Osci aber zusätzlich 32 kHz Quarz für genaues Timing
** Zu Lösen: Kalibration des RC-Oszis mit Hilfe vom 32 kHz Oszi an Timer2, muss im Bootloader gemacht werden!
+
** Done: Kalibration des RC-Oszis mit Hilfe vom 32 kHz Oszi an Timer2, muss im Bootloader gemacht werden!
 
** Zu Lösen: Batterie nachladen z.B. mit Solar. Dafür eine Schaltung bzw. ein IC finden
 
** Zu Lösen: Batterie nachladen z.B. mit Solar. Dafür eine Schaltung bzw. ein IC finden
 
* IR-Empfang soll auf Reichweite optimiert werden. SFH ist gut, bei nicht so rigider IR-Dekodierung kann Reichweite nahezu verdoppelt werden.
 
* IR-Empfang soll auf Reichweite optimiert werden. SFH ist gut, bei nicht so rigider IR-Dekodierung kann Reichweite nahezu verdoppelt werden.

Version vom 9. Oktober 2012, 18:03 Uhr

Idee

Für sogenannte Nacht-Caches, also Geocaches mit Stationen, die nur bei Nacht (bzw. Dunkelheit) sinnvoll gelöst werden können, werden gerne sog. Reaktivlichter verwendet, die zurück blinken, wenn sie aus einiger Entfernung angeleuchtet werden. Leider fallen derartige Stationen oft Muggeln oder Jägern zum Opfer, die ebenfalls nachts mit Taschenlampen unterwegs sind. Ebenso sind Geocacher, die Nachts mit ihren Taschenlampen den Wald absuchen, sehr auffällig, insbesondere da immer leistungsfähigere Lampen verwendet werden.

Um diesen Problemen entgegen zu wirken, bietet es sich an, die Stationen nicht bei normalen Licht zurückblinken zu lassen, sondern nur bei kodiertem Infrarotlicht. So können die Stationen nur noch mit unsichtbaren Licht ausgelöst werden und auch nur, wenn man den Code kennt. Zum Auslösen reicht eine normale Universalfernbedieunung, die entsprechend den Anweisungen in der Cachebeschreibung eingestellt wird. Die Station kann dann z.B. nur auf eine bestimmte Taste reagieren, ebenso kann die Fernbedienung auch als Eingabetastatur für intelligente Stationen benutzt werden. Erst wenn z.B. der richtige Code eingegeben wurde, zeigt die Station die nächsten Koordinaten an.

Technische Umsetzung

Lange Zeit brauchten typische integrierte Infrarot-Empfänger verhältnissmäßig viel Strom (~1mA), um Empfangsbereit zu sein. Dadurch konnte eine solche Station nur mit recht großen Batterien realisiert werden. Neuere Infrarot-Empfänger verfügen jetzt über die Möglichkeit, in einen sehr stromsparenden Modus versetzt zu werden. In diesem Modus kann der Empfänger zwar nicht empfangen, allerdings kann er sehr schnell wieder in die Lage gebracht werden, Infrarotimpulse zu empfangen. Früher brauchten die Empfangs-IC's nach Anlegen der Versorgungsspannung etliche Sekunden, um sich der Umgebungshelligkeit anzupassen und empfangsbereit zu werden. Bei der neueren Generation kann diese Zeit auf wenige Millisekunden verringert werden. Damit ist es möglich, den Empfänger z.B. nur noch sehr kurz alle paar Sekunden empfangsbereit zu schalten und dadurch den Stromverbrauch auf ein erträgliches Maß zu reduzieren. Von dieser Funktion soll das IR Reaktivlicht gebrauch machen.

Empfänger-IC's die diese Funktion unterstützen, sind z.B. die TSOP312xx, die auch bei Reichelt verfügbar sind. Informationen zum Power-Down Modus findet man bei Vishay: http://www.vishay.com/docs/80067/appoverv.pdf

Konkret soll die Schaltung später mal mit wenigen Batterien arbeiten, als Low-Drop-Regler mit besonders geringem Ruhestrom ist vorgesehen: MCP 1702-3302

Bootloader

Der Bootloader klappt jetzt. Er basiert auf optiboot, benötigt aber einen 1K Bootblock statt 512 Byte. Der Bootloader kalibriert bei jedem Start den internen RC-Oszillator anhand des 32kHz Quarzes nach und startet dann den Bootloader und nach einem Timeout das eigentliche Program.


Benutzung: Alles so entpacken, dass am Ende im Benutzer-Ordner für die Sketches folgende Struktur auftaucht:
[Benutzersketchordner]/hardware/gcduino/...

Anschliessend Arduino starten, unter den Boards steht jetzt auch die GCDuino-Plattformen bereit.

Datei:Hardware gcduino01.zip


Zu lösende Probleme

  • Das Teil soll autark arbeiten, daher muss der Stromverbrauch möglichst optimiert werden
    • ATmega328 mit internen 8 MHz RC-Osci aber zusätzlich 32 kHz Quarz für genaues Timing
    • Done: Kalibration des RC-Oszis mit Hilfe vom 32 kHz Oszi an Timer2, muss im Bootloader gemacht werden!
    • Zu Lösen: Batterie nachladen z.B. mit Solar. Dafür eine Schaltung bzw. ein IC finden
  • IR-Empfang soll auf Reichweite optimiert werden. SFH ist gut, bei nicht so rigider IR-Dekodierung kann Reichweite nahezu verdoppelt werden.
    • Zu Lösen: Fuzzy-IR-Empfang zum Auffinden der Stationen
  • Library für Arduino
    • Zu Lösen: IR-Empfang und Power-Down-Mimiken in Library unterbringen