Infrarot LCD

Als Verbesserung der ersten LCD Ansteuerung sollte das LCD drahtlos mittels Infrarot mit Daten versorgt werden. Das vorherige LC-Display passte schlecht auf einen Roboter und die Programmierung war recht umständlich. Auch besaß der jetzt verwendete Controller noch ein paar weitere freie Ports und war recht günstig, so dass hieraus ein Kästchen mit integrierter Stromversorgung, einem LC-Display und 4 Tasten zum Senden von Befehlen werden sollte. Das LC-Display aus der ersten Ansteuerung wurde recycelt.

Verwendet wird

  • 16x2 Zeichen LC-Display
  • 4 Mignon NIMH Micro Akkus für die Stromversorgung, in der Schaltung aufladbar
  • 4 IR Sende Dioden
  • 2 IR Empfänger
  • ATMEL 90S2313 Mikrocontroller mit 2MHz
  • Aluminium Gehäuse, oben und vorne Acrylglas
  • 4 Taster zum Senden von Befehlen

Bilder

Downloads

Mit der Version 1.0x des Schaltplans funktionieren die ersten drei Programmierbeispiele, mit der Version 1.1x müssten alle Programmierbeispiele funktionieren, es wurde jedoch nur iros_v06.c und iros_v07.c getestet.
Wie immer, Verwendung auf eigenes Risiko und ohne Gewähr.
lcd2-schaltplan1-0.png Schaltplan Version 1.0x
lcd2-schaltplan1-1.png Schaltplan Version 1.1x
Recive_byte-03.bas Einfache Basic Programmierung (veraltet) , kann Zeichen empfangen. Das Programm ist für die Verwendung eines 4 MHZ Quarzes geschrieben.
iros_v04.c C Programm, sendet, und zeigt empfangene Werte als Nullen und Einsen an, gut zur Fehlersuche, für 2 MHZ Quarz
iros_v05.c C Programm, kann senden und empfangen, für 2 MHZ Quarz
iros_v06.c C Programm, wie iros_v05.c, es wird jedoch der Power down Modus anstelle des Idle Modus verwendet. Damit der Controller aus diesem wieder aufwacht, wird die Schaltung nach Schaltplan Version 1.1x benötigt.
iros_v07.c C Programm (aktuell). Die obige Version optimiert + Störsignale verhindern jetzt nicht mehr ein Ausschalten + das Anzeigen der empfangenen Werte als Nullen und Einsen wie in Version 04 ist auch möglich (Auswahl der Zusatz Funktion: beim Start zusätzlich Taster 1 gedrückt halten), benötigt eine Schaltung nach Schaltplan Version 1.1x.
Zum Senden der Buchstaben gibt es ein Programmierbeispiel für die Universalbox1
Hinweise zu den Schaltplänen
grün gezeichnet: IR Sendemöglichkeit
braun: 4 Taster zur Eingabe von Befehlen
hellblau: IR Empfangsmöglichkeit
schwarz, rot: LCD Verbindungen und Stromversorgung
Ursprünglich wurde die Schaltung für ein Display mit Hintergrundbeleuchtung entworfen. Da das verwendete Display jedoch keine hat, wurde an dem Port eine grüne LED angeschlossen und diesen Port zusätzlich zum Senden von IR Signalen benutzt.

Strom sparen

Da die Schaltung durchgängig laufen soll, wurde versucht, so viel Strom wie möglich zu sparen. Daher kann der Controller sowohl das Display, wie auch die IR Empfänger einzeln ein und ausschalten. Die IR Sendeschaltung verbraucht nur Strom, wenn sie wirklich sendet. Um den Stromverbrauch des Mikrocontrollers selbst zu senken, wurden in dessen Stromversorgung ein 1KOhm Poti und eine LED gepackt. Weitere Einsparungen wurden durch den Austausch des 4MHz Quarzes durch einen 2MHz Quarz erreicht. Über das Poti lässt sich die Spannung (je geringer die Betriebsspannung desto geringer auch der Strom) für den Controller auf einen Wert anpassen, bei dem er gerade noch so eben fehlerfrei arbeitet. Die LED reduziert die Spannung um einen konstanten Wert (je nach verwendeter LED). Durch die Reihenschaltung erhöht sich der Stromverbrauch nicht und die LED kann als schwache Beleuchtung für die Tasten eingesetzt werden. Besonders helle LEDs leuchten auch schon bei geringer Stromstärke recht kräftig und eignen sich daher besonders gut. Zusätzlich schaltet sich der Controller nach mehreren Minuten Inaktivität (weder Tastendruck noch IR Empfang) automatisch in den idle Modus. Somit lassen sich folgende Verbrauchswerte erreichen:
Idle Mode (LCD und IR Empfänger aus): 0,51 mA
Normal Mode: 4,8 mA
IR Senden: 40 mA
Da jedoch die 0,5mA im idle Modus immer noch zu viel waren, wurde stattdessen der Power Down Modus verwendet. Das Problem war, dass im Power Down Modus der MCU nur durch wenige Ereignisse aufgeweckt werden kann. Dies erforderte eine Schaltungsänderung. In dieser führt Taster 4 einen Controller Reset aus, wenn das LCD Display nicht an ist. Ist das LCD an (bekommt Strom), führt der Taster 4 kein Reset aus. Im Power Down Modus verbraucht die Schaltung weniger als 0,001mA. Mit 500mAh Akkus würde die Schaltung somit mehrere Jahre im Power Down Modus auskommen. Da die Selbstentladung der Akkus jedoch höher ist, werden mehrere Jahre in der Praxis wohl nicht erreicht werden. Die Schaltung läuft jetzt bei gelegentlicher Benutzung seit über einem halben Jahr, ohne dass die Akkus neu geladen wurden.

Verbesserungen

  • Einen Mikrocontroller mit 4 oder 8KB Flash und mehr I/O Pins nehmen
  • Die Kontrastspannung vom Controller regeln lassen
  • Ein Grafikdisplay verwenden
  • Das Acrylglas mit mehr Sorgfalt bearbeiten
  • Ein RFM12 Modul statt Infrarot verwenden