Forum: Mikrocontroller und Digitale Elektronik LED Touchpanel mit AVR???


von Ludwig W. (lordludwig)


Lesenswert?

Hallo,

ich will mit einem AVR den Strom einer LED messen der anliegt wenn
diese beleuchtet wird. Da daraus wie im Video unten ein touchfeld
werden soll, wird das SEHR geringer strom sein.

Ich bekomme bei meinem Multimeter folgende werte:

LED grün, 4mA Low Current, 2,0V: ca. 1000mV, 1µA
LED grün, 20mA, 2,5V: ca. 1500mV, 3µA

gemessen direkt unter einer Glühbirne mit ?? Watt (zu heiß zum
rausschrauben)

wird da noch mehr als ein 1/0 messbar sein (so 10 abstufungen oder so)

oder is der eingang eines AVR zu niederohmig???
wie kann ich sowas sonst realisieren???

video(12MB): http://mrl.nyu.edu/%7Ejhan/ledtouch/ledtouch.mpg

von Ludwig W. (lordludwig)


Lesenswert?

nachträglich abo

von Εrnst B. (ernst)


Lesenswert?

Einfach mal ausprobieren, ob der AVR-AD Eingang dafür reicht?
Wenn nicht, nen guten (Rauscharmen+Hochohmigen) OpAmp davor.

/Ernst

von Tekkan (Gast)


Lesenswert?

Ich denke, da wird nicht der Strom durch die LEDs gemessen sondern da
werden noch einige Fototransitoren im Spiel sein.
LED-Fototransitor-LED-Fototransitor-LED-Fototransitor-LED-Fototransitor- 
...
Mit dem Fototransistor wird dann einfach das von den Fingern
reflektierte Licht gemessen.

von Benedikt (Gast)


Lesenswert?

Also theoretisch geht das. Ich habe auch schon versucht das
nachzubauen:
Eine 8x5 LED Matrix an einem mega8535. Ich konnte immerhin eine Zeile
(8 LEDs) einlesen. Wenn ich gemultiplexed habe, dann haben die die 5
Spalten gemischt. Und das lustigste: Es ging am besten, wenn ich die
Kathoden der LEDs mit nichts verbunden habe !

Ich messe nicht den Strom, sondern verwende eine Trick:
An jedem ADC Pin hängen 100nF. Diese werden entladen (Port auf Low,
Ausgang), dann wieder auf Eingang und einige 100us warten. Durch den
LED Strom werden die Kondensatoren geladen. Die Spannung ist dann
direkt proportional dem Strom. Genauso machen es ja auch CCD Sensoren.

von Ludwig W. (lordludwig)


Lesenswert?

ich denke 100n sind sogar etwas viel. ich werde mal einige werte
bestellen und dann takte zählen. ich werde so dimensionieren das alles
in eine 8 bit zahl passt.

ich würde das ganze so machen(8x8 matrix):

1. reihe an, andere 7 reihen messen
2. reihe an, andere 7 reihen messen
3. reihe an, andere 7 reihen messen
...
die 7 gemessenen werte jeder reihe zusammenzählen und speichern

1. spalte an , andere 7 spalten messen
2. spalte an , andere 7 spalten messen
3. spalte an , andere 7 spalten messen
...
die 7 gemessenen werte jeder spalte zusammenzählen und speichern

das kann man dann an den PC senden der das ganze auswertet oder selber
im AVR auswerten und dann die Koordinaten an den PC oder irgendwas
damit steuern(scrollrad wie das von iPod mit LED's realisieren???)

von beta-frank (Gast)


Lesenswert?

abo

von Profi (Gast)


Lesenswert?

Nur zur allgemeinen Info: eine Led ist auch eine kleine Photozelle.
Threads zum Thema:
http://www.mikrocontroller.net/forum/read-1-323801.html
http://www.mikrocontroller.net/forum/read-1-305734.html

@Benedikt
>Es ging am besten, wenn ich die Kathoden der LEDs mit nichts
>verbunden habe !
Vielleicht misst Du auch die kapazitive Einstreuung durch Deinen
Finger.

von Barti (Gast)


Lesenswert?

Den Zusatzkondensator kann man sich sparen. Der Trick ist, die LED zu
pulsen und in Sperrichtung zu betreiben. D.h. man läßt sie leuchten,
indem man sie in Flussrichtung betreibt. Danach polt man sie um, lädt
die Kapazität der Sperrschicht, schaltet die beiden Portpins, die man
pro LED benötigt hochohmig und mißt die Entladungsdauer. Danach wird
sie zum leuchten wieder in Flussrichtung betrieben. Man benötigt mind.
2 LEDs für diese Funktionsweise, nämlich eine die leuchtet, wenn die
andere mißt. Und umgekehrt.
Das Video macht ganz schön die Runde...

von Benedikt (Gast)


Lesenswert?

@Barti
Entweder habe ich deine Erklärung nicht ganz verstanden, oder sie passt
nicht zu der Schaltung, denn wie polt man eine LED bei einem
gemultiplexten Display um ?

von Barti (Gast)


Lesenswert?

Ah sorry, du hast gemultiplext. Hab nicht richtig gelesen. Die
Funktionsweise meines Postings ist an die Veröffentlichung von Motorola
geknüpft.

von Ludwig W. (lordludwig)


Lesenswert?

@barti: dann brauch ich pro LED 2 Portpins??? das is heftig wenn ich 8x8
will dann brauch ich 128 pins!!!!

4x4 würde noch auf einen 40 Pinner passen, is aber nicht besonders
groß

soll ich das dann auf 4 AVR's verteilen oder was???

von Barti (Gast)


Lesenswert?

Ok ich hab die Publikation nochmal gefunden, war nicht von Motorola
sondern von Mitsubishi. Wenn Du jede LED einzel detektieren willst,
nach diesem System, brauchst du in der Tat eine Menge Pins.

http://www.merl.com/reports/docs/TR2003-35.pdf

von anonym (Gast)


Lesenswert?

das video erinnert mich irgendwie unangenehm an das von dem dicken
jungen, der irgendwelche jedi-tricks nachahmt, und dabei reichlich
bescheuert rüberkommt..

von Benedikt (Gast)


Lesenswert?

Ungemultiplexed geht es einfach:
LED ganz normal an einen uC Pin. Man kann diese ein und aus schalten.
Zum Messen des Lichtes schließt man die LED kurz, schaltet auf Eingang
und lässt die Kapazitäten von LED, Leitungen, Port usw. laden.
Anschließend misst man nach einigen us oder ms die Spannung.
Funktioniert wunderbar.
Genauer (linearer) geht es, wenn man die LED invers (also wie eine
Photodiode mit Bias Spannung) betreibt. Notwendig ist das aber nicht.

Gemultiplexed wird das ganze um einiges schwieriger:
Da durch die eingeschalteten LEDs ein Strom fließt, erzeugen die rund
40mA am Schalttransistor und an den Leitungswiderständen einen
Spannungsabfall, der meist größer ist als die von den LEDs erzeugte
Spannung.
Weiterhin hat so ein LED Matrix Modul unterschiedliche Kapazitäten bei
den LEDs.
Außerdem kommen noch Kriechströme und andere Sachen hinzu, die bei
einer einzelnen LED nicht so stark auftreten.

Auf dem Video erkennt man, dass es sich um ein LED Modul handelt.
Dieses wird 8+8 Pins haben (dass es 128 Pins hat, kann ich mir nicht
vorstellen, da es in einem Steckbrett steckt.)
Die durchlaufende Zeile zu Beginn des Videos wird eine Kalibrierung
sein.

von Flo K. (Gast)


Angehängte Dateien:

Lesenswert?

Auf dem Foto sieht es auch so aus als seien es Multicolor LED's. Da nur
Rot leuchtet ist der restliche Bestandteil der Led qasi eine Photodiode.

von Philipp (Gast)


Lesenswert?

auch abo

von Ludwig W. (lordludwig)


Lesenswert?

mit welcher farbe wird es wohl am besten gehen??? rot???

"Zum Messen des Lichtes schließt man die LED kurz"

meiner meinung nach lädt sich dann gar nichts oder???

von Benedikt (Gast)


Lesenswert?

>"Zum Messen des Lichtes schließt man die LED kurz"
>meiner meinung nach lädt sich dann gar nichts oder???

Erst Kurzschließen, dann Kurzschluss entfernen und messen.

von Ludwig W. (lordludwig)


Lesenswert?

achso^^

von Ludwig W. (lordludwig)


Lesenswert?

also brauch ich nur noch 64 pins, na toll^^

da reichen sogar 2 AVR's aber das währen ja 10€ nur für AVR's, ob
sich das dann noch lohnt??? naja ich werds erstmal ringförmig und
einreihig probieren, soll so werden wie das iPod rad blos wit LED's.
welche fabre is am besten wenn ichs auch mal draußen verwenden will???
vlt. IR LED's??? das kommt draußen kaum vor

von Ludwig W. (lordludwig)


Lesenswert?

und man sieht das leuchten nicht was aber ncht stören würde

von Johannes K (Gast)


Lesenswert?

Hallo Ludwig,
Ich wollte mich mal informieren ob aus deinem Projekt etwas geworden
ist. Ich habe das heute mit 4 LEDs aufgebaut und wollte die Helligkeit
über die Zeit messen wie es in der Publikation von Mitsubishi
beschrieben ist, und es funktioniert. Die Zeit ist umgekehrt
proportional der Helligkeit. Die Sache hat bis jetzt nur einen Haken.
Die Zeiten liegen im Sekundenbereich.
Hast du ähnliche Erfahrungen?

mfg. Johannes

von Johannes K (Gast)


Lesenswert?

Ich meine diese Publikation:
http://www.merl.com/reports/docs/TR2003-35.pdf

von Ludwig W. (lordludwig)


Lesenswert?

ich bin gerade dabei etwas zu entwickeln. im moment läuft das mit 6
LED's auf nem steckbrett ganz gut...

wie sieht es bei dir bei tageslicht aus also in der prallen sonne???

ich bekomme da keine ergebnisse mehr...

eigentlich wollte ich das so als ein art Ipod.rad aufbauen was auch
drinnen sicherlich funktionieren würde...

von Johannes K (Gast)


Lesenswert?

Hi,
bei tageslicht sind es so um die ~700ms. Das ist für ein iPodrad noch
viel zu lange. Ich werde es demnächst mit low current leds versuchen,
die haben eine geringere kapazität und wahrscheinlich auch kleinere
entladezeiten.

von Marco S. (masterof)


Lesenswert?

abo

von Ferdinand (Gast)


Lesenswert?

Ich hab mir die Sache mal angesehen und die Funktionsweise ist ganz
einfach: Die LED´s sitzen in einer winzigen Parabolfassung.Diese
Parabolfassung dient dazu, das Licht der LED zu fixieren.
Ist der Weg des Licht´s nicht blockiert, hat die LED eine ganz
normale Stromaufnahme. Legt man nun den Finger auf eine solche
LED, wird licht vom Finger zurück reflektiert und trifft auf die
LED. Dadurch entsteht ein Strom (Photoeffekt). Durch die zusätzlichen
Photoelektronen wird die Stromaufnahme der LED verringert bzw.
der Gesamtstrom erhöht. Diese Erhöhung kann man messen (sogar dynamisch
! ohne die LED an und wieder auszuschalten). Ich nutze
dasselbe Prinzip zur Messung von Laserimpulsen. Es sollten übrigens
rote LED´s sein. Die liefern das beste Ergebnis.

von Ludwig W. (lordludwig)


Lesenswert?

anscheinend gibt es einen MP3-Player der diese Technik nutzt...

Schau ich mir mal an...

von Johannes K (Gast)


Lesenswert?

Ich werd mal schaun ob ich die Änderung der Stromaufnahme messen kann
und werde mich dann wieder melden.

von Lokko (Gast)


Lesenswert?

abo

von Axel R. (Gast)


Lesenswert?

Sehr interessante Anwendung!

ich hatte mal eine IR Lichtschranke (ausversehen) mit zwei IR-SendeLEDs
aufgebaut und garnicht bemerkt, dass im Empfänger auch eine Sende LED
verwendet hatte :-))

auch abo

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.