Lichtsensor TAOS TSL250R an ATmega128 mit BASCOM-AVR

Markus

BASCOM-Experte
11. Jan. 2008
1.190
6
38
Lonsee
Sprachen
Hallo zusammen,

es gibt eine Vielzahl von Lichtsensoren die auf dem Markt erhältlich sind. Auf der Suche nach einer Möglichkeit die Helligkeit mit meinem ATmega128 zu erfassen bin ich dann aber bei dem Lichtsensor TSL250R-LF der Firma TAOS hängen geblieben.
Hinter TAOS verbirgt sicht die Firma Texas Advanced Optical Solutions Inc., ein Ableger der bekannten Texas Instruments Inc.

Der TSL250R besteht aus einer Fotodiode und einem integrierten Verstärker. Zum Anschluss an die Schaltung benötigt der TSL250R ausschließlich Versorgungsspannung (Pin 2) und Masse (Pin 1). An Pin 3 liefert der Sensor eine Ausgangsspannung welche proportional zum einfallenden Licht ist.
Die spektrale Empfindlichkeit reicht von Ultraviolett (links) bis Intrarot (rechts) und hat ihr Maximum im sichtbaren Bereich des Lichtspektrums.

Der TSL250R arbeitet mit Betriebspannungen zwischen 2,70 und 5,50 V und einem typischen Strom von 1,1 mA. Die Basisbeschaltung des TSL250R ist ebenfalls sehr simpel und im Anhang dargestellt.

Das Maximum der Ausgangsspannung (unter voller Bestrahlung) für diesen Sensor liegt unter 4V, wenn der Baustein mit 5V betrieben wird. Somit haben wir die Wahl, den Sensor direkt ohne zusätzliche Beschaltung mit einer Referenzspannung von 5V über einen ADC-Kanal an den Kontroller anzuschließen. Ohne zusätzliche Ver-stärkung verlieren wir aber über den möglichen Spannungsbereich hinweg 1V Auflösung.
Für einen 8-Bit-ADC bedeutet eine 4V Eingangsspannung einen Messwert von 0xCC. Der Messwertebereich geht damit von 0x00 bis 0xCC. Abhängig von der Applikation ist dies kein Problem. Wenn es aber darum geht präzisere Lichtmessungen durchzuführen sollte der gesamte verfügbare ADC-Bereich ausgenutzt werden.
Für diesen Zweck wurde im Projekt ein Operationsverstärker verwendet welcher das Sensor-Ausgangssignal mit einem Verstärkungsfaktor von 1,25 auf die vom ADV möglichen 5V Maximum verstärkt.

Ein guter geeigneter und allgemein eingesetzter Prazisions-OpAMP ist der AD623 von Analog Devices. Er hat eine rail-to-rail Funktion, kann mit einer einzigen Betriebsspannung betrieben werden, benötigt wenig Strom und ist sehr leicht verständlich. Außerdem benötigt der AD623 nur einen einzigen Widerstand zum Einstellen des Verstärkungsfaktors.

In Betrieb genommen habe ich das ganze mit einem STK500 + STK501 und einem ATmega128 mit 16 MHz extern.
Im Anhang findet Ihr ebenfalls den BASCOM-AVR-Code und ein Bild des Prototypen-Aufbaus.
Angeschlossen ist der Sensor an ADC0 und damit an PortF.0 des ATmega128.
Der Wandler wird im Single-Shot Betrieb gefahren.

Die im Code enthaltenen Testroutinen und LED-Ausgaben dienten mir zu Evaluierung der BASCOM Funktion. Ich wollte sicherstellen, das die Funktion welche nicht direkt auf einen PIN konfiguriert werden kann auch wirklich "die Finger von den anderen PIN's des ATmegas läßt".

Der Sensor funktioniert sehr gut. Ich habe nur den Eindruck das er weniger Licht für "Vollausschlag" benötigt als ich eingentlich gdeacht hatte.

Grüße,
Markus
 

Anhänge

  • Lichtsensor_TSL250R.zip
    2,1 KB · Aufrufe: 205
  • lichtsensor.gif
    lichtsensor.gif
    10,4 KB · Aufrufe: 256
  • prototyp_1.jpg
    prototyp_1.jpg
    11,7 KB · Aufrufe: 166
  • prototyp_2.jpg
    prototyp_2.jpg
    9,4 KB · Aufrufe: 134
hallo Markus,
ich habe deinen Artikel noch ein paar mal gelesen und glaube es Verstanden zu habe.
Also die Betriebspannung vom TSL250R ist bei mir 3,3V.Habe im Datenblatt nachgeschaut wie gross die entspreschende Ausgangsspannung ist und habe einen Wert von ungefähr 2,5V gelesen.

Ich brauche also dann eine Verstärkung von ungefähr 1.3 um auf die Eingangspannung von 3,3V des TSL250R zu kommen.

Habe ich das richtig Verstanden!
Danke im Voraus !
 
Hi Markus,
der OpAmp ist ja wirklich bemerkenswert einfach zu beschalten.
Danke für den Tip. Kann für mein nächstes Projekt schon mal hilfreich sein :)

Grüssle
Wolfgang

PS.: kennst Du zufällig auch ne SMD-Variante davon?
 
hallo Darkstar,
hast du meinen Beitrag schon gelesen, wenn ja, habe ich das richtig Verstanden?
Danke im Voraus !
 
Hallo stefan_123,

vorausgesetzt, der ATmega arbeitet auch mit 3,3V ist der Verstärkungsfaktor von 1,32 bei angenommenen 2,5V für 3,3V richtig. Wenn Du den Mega mit 5V betreibst dann benötigst Du den Faktor 2 für FullScaleRange.

Grüße,
Markus
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)