PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED in 12m Entfernung erkennen



xaverlg
23.10.2007, 09:38
Mein Ziel ist es eine Makierng mit grünen LEDs in 12Metern Entfernung zu erkennen. Die LED blinkt zudem mit 2,5Khz.

Dazu bin ich gerade dabei eine Fotodiode an meinen µC anzuschliessen. Dazu habe ich an einen Tranzimpedanzwandler (Strom -> Spannung) wie bei wikipedia angeschlossen. (s. BIld). Ich möchte jetzt aber die Empfindlichkeit in einem bestimmten Bereich, zwischen 10µA und 15µA verstärken, um später das normale Umgebungslicht herausfiltern zu können. Ich könnte mir vorstellen das dies mit einem Suptrahierer möglich ist der immer 10µA(später zweite Fododiode) abzieht und anschließend erst verstärkt. Aber wie baue ich so etwas auf?

Gruß Olaf

shaun
23.10.2007, 15:12
Umständlich und Fehleranfällig. Richtiger wäre, hinter dem TIA kapazitiv auszukoppeln und dort erstmal die 2,5kHz herausfiltern, dann kannst Du in Ruhe auswerten.

xaverlg
23.10.2007, 16:13
hm ich verstehe nicht ganz was du mit kapazitiv auskoppeln meinst? Eine Kapazität in reihe und dann erst an den ADC. Ich wollte eigentlich die 2,5kHz nutzten um die Makierung von anderen sochen zu unterscheiden.

shaun
23.10.2007, 18:12
Natürlich willst Du das. Aber Dein 2,5kHz-Nutzsignal wird auf größeren Störsignalen "reiten", und die willst Du nicht mit digitalisieren. Daher hinter dem TIA erstmal die Gleichspannung "wegwerfen" - spart Dir die 2. Fotodiode fürs Umgebungslicht und die damit einhergehende Ungenauigkeit - sprich einen Kondensator in Reihe schalten und dann filterst Du noch das Geflacker von Leuchtstofflampen usw weg - daher ein Bandpass für 2,5kHz. Und was da raus kommt kannst Du dann mit dem ADC umsetzen

xaverlg
24.10.2007, 18:12
Hi

vielen dank erstmanl für den guten Tipp mit der Kapazität.
Ich habe nochmal die schaltung aufgezeichnet.

Der verstärker hat einen Fator von 10 und der Bandpass (2kHz - 3 kHz) mit einem 2 Stufigen Buterworth.
Was ich nicht weiß ist wie groß die Kapazität zum auskopplung der Gleichspannung sein muss und ob es sinn macht nach dem Bandpass noch einmal zu verstärken.

Eine weitere frage ist, wie mann mit dem ADC die 2,5kHz detektieren kann, softwärteechnisch?

Viele Grüße Olaf

T.J.
24.10.2007, 21:56
Um die Kapazität zu bestimmen musst du dir zunächst überlegen wie groß der Blindwiderstand sein soll. Dann gilt die allg. Formel:

Xc = 1/( 2* Pi * f * C )

=> C = 1/( 2* Pi * f * Xc )

bei Gleichspannung ist die Frequenz natürlich 0, d.h. die Gleichung wäre nicht gültig. Dann ist der Widerstand unendlich groß und die Kapazität nicht beeinflussend. Aber wenn du auch kleine Frequenzen wegfiltern willst, kannst du mit der Formel rechnen.

Thoralf
25.10.2007, 06:50
3 Dinge mußt du unbedingt beachten:

- der Kondensator gehört VOR den Operationsverstärker. Sonst wird zuallererst der Gleichspannungsanteil, der vom Umgebungslicht abhängig ist, verstärkt. Der würde den Verstärker schon bis zur Aussteuerungsgrenze treiben.

- Bau den Verstärker als AKTIVES Filter (googeln) auf. Damit wird dann aus allen Wechselspannungen nur noch deine Nutzfrequenz weiter verstärkt.

- vorm ADC mußt du unbedingt gleichrichten. Denn wozu soll er eine Wechselspannung von 2,5 kHz erfassen, die ja nur die Information "Da oder nicht da" trägt. Dazu würde zwischen Gleichrichter und µC ein einfacher Komparator reichen, den du am einfachsten mit nem stinknormalem digit. Port (sofern der nicht eh schon ein Komparatoreingang ist) erfaßt.

Allerdings ist die Messung einer gleichgerichteten Wechselspannung die zukunftsweisendere Lösung. Das läßt dir mehr Raum zum Auswerten, beispielsweise der Entfernung oder des Reflexionsgrades. Das kommt ja dann drauf an, was du speziell noch machen willst.

T.J.
25.10.2007, 14:32
aber wenn er gleichrichtet, erkennt er die LED doch auch wenn sie ne Frequenz von 0Hz hätte, oder? dann wäre das ganze ja sinnlos

Borki90
25.10.2007, 14:41
kann man nicht einfach den Negativen Anteil mit einer Diode eliminieren?

T.J.
25.10.2007, 15:22
was denn fürn negativen anteil?

Borki90
25.10.2007, 18:19
sry, ich habe nur die Letzten Post's gelesen, und da war von Wechselspannung und vom Gleichrichten die Rede. Und da muss ein negativer Anteil vorhanden sein, sonst gibt's ja nichts gleichzurichten..

Thoralf
26.10.2007, 07:13
da anscheinend durch das viele posten doch einige Unklarheiten entstanden sind, hier nochmal, welche Prämissen stehen und wie ich die Schaltung aufbauen würde:

- grüne LED blinkt mit 2,5 kHz
- Photodiode (oder whatever lichtempfindliches Element) "fängt" die LED ABER auch Tageslicht auf
- Tageslicht ist wesentlich energiereicher als die kleine LED

===> herausfiltern des Tageslichtanteils und hohe Verstärkung der Nutzfrequenz

===> folgende Schaltung

- Spannungsteiler aus Photodiode und Widerstand (der R dient zum einstellen des Arbeitspunktes

- Trennkondensator (trennt den vom Tageslicht verursachten konstanten Anteil im Signal ab. Dieser würde von sich aus bereits einen nachfolgenden Verstärker übersteuern oder das Nutzsignal ginge unter

- Verstärker als aktiven Bandpaß für die Nutzfrequenz von 2,5 kHz (um Lampenlicht auszufiltern

- Koppelkondensator um eventuelle Gleichspannungen abzuschneiden

- die nun vorliegende verstärkte Nutzfrequenz gleichrichten (nur deren Amplitude ist ja die zu erfassende Information). Dazu kann man eine einfache Diode nehmen. Aber dabei ist zu beachten, daß diese erst ab 0,7V leitet, also alles, was unterhalb ist, abschneidet.

- ein aktiver gleichrichtender Operationsverstärker wäre dann besser

- glätten der noch pulsierenden Gleichspannung mit einem Tiefpaß

- ADC des µC ---> Verarbeitung der Spannung (proportional der 2,5kHz-Signalamplitude)

Das sieht nach viel Aufwand aus, läßt sich aber mit Mehrfach-OV-ICs ziemlich unkompliziert realisieren. Will man die Schaltung einfacher gestalten, muß man mit erheblichen Genauigkeitseinbußen oder mit Reichweitenverlusten rechnen, bis hin, daß sie für den vorgesehenen Zweck kaum noch geht.

wischwasch
26.10.2007, 13:47
aber wenn er gleichrichtet, erkennt er die LED doch auch wenn sie ne Frequenz von 0Hz hätte, oder? dann wäre das ganze ja sinnlos

Alles Licht das eine Frequenz von 0Hz hat allso genaugenommen gar keine Frequenz hat sondern Gleichstrom ist O:) ), wird schon ganz am anfang durch den Kondensator abgeschnitten.
Dadurch ist die Spannung, welche du am Schluss hast nur von der LED abhängig (vileich noch andere Frequenzen im änlichen Frequenzbereich, je nach Filter).

xaverlg
26.10.2007, 17:57
Hi

Statt dem Gleichrichter würde ich lieber einen Integrator verwenden. Dabei wird dieser über eine Reset-Leitung auf Vcc gebracht. Wärend der Integration singt die Spannung kontinuierlich. Auf diese weise kann ich im µC die Integrationszeit einstellen. Ich muss einfach vom freigeben der Resetleitung bis zum AD-Wandeln eine bestimmte Zeitspanne verstreichen lassen. Ist der AD-Wert bei 0, war die Integrationszeit zu lang und ich kann die Messung noch einmal mit einer kleineren Zeit machen. Ich hoffe auf diese weise auch im Bereich von 1-12 metern die Led detektieren zu können.

In der angefügten Grafik habe ich die Schaltung noch einmal aufgezeichnet( ich mag Bilder:-) ). Die Schaltung für den Bandpass habe ich von Microchip FilterLab (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010007). Ich werde wohl mal austesten müssen, ob die Werte so etwa stimmen.

Bei der Gleichspannungsauskopplung am Anfang weiß ich nicht woher ich den Wert für den Blindwiderstand nehmen soll. ??
Kann ich den Integrator wirklich auf diese weise Resetten?

Ich werde heute und morgen die Schaltung probeweise aufbauen und mal testen.

xaverlg
26.10.2007, 18:01
Ach, mir ist gerade aufgefallen dass die Resetleitung doch auch direkt an den + Eingang des Integrator angeschlossen werden kann. 1 -> +5V = reset und 0-> GND = Integrieren.

Thoralf
28.10.2007, 18:32
nach der angegebenen Schaltung integriert der Integrator über eine bestimmte Zeit die Wechselspannung am Ausgang des Bandpasses.
Das Integral über alle kompletten Perioden des Sinuses ergibt aber Null (bzw. den Gleichanteil am Bandpaßausgang). Nur in der "angeschnittenen" Periode liegt ein wenig Information (im günstigsten falle, im ungünstigen kommt Null raus)

===> ohne Gleichrichtung gehts also nicht

Am Bandpaß MUß kapazitiv ausgekoppelt werden, damit sein Offset (= Gleichspannung!) weggeschnitten wird. Danach MUß gleichgerichtet werden. Warum?:

Am Koppelkondensator ausgangsseitig leigt eine Wechselspannung, die integriert Null ergebe (= Mittelwert). Werden jedoch durch den Gleichrichter ALLE negativen Sinushalbwellen weggeschnitten, dann bleiben nur noch positive übrig. Damit heben sich die positiven und negativen Signalamplituden nicht mehr auf. Da nun übrig gebliebenen positven Halbwellen haben aber ein große Restwelligkeit. Diese stört bei der Analog-Digital-Wandlung. Deshalb schaltet man an den Gleichrichterausgang einen Tiefpaß, der die positiven Halbwellen zu einer Gleichspannung glättet. (natürlich geht auch ein Integrator. Der verkompliziert aber die Schaltung nur.

Das ganze läuft analog dem Rundfunkempfang ab. Dort wird auch eine Nutzfrequenz ausgefiltert und gleichgerichtet. Danach steht dann die Amplitude der Trägerfrequenz als Informationsträger zur Verfügung.

Besserwessi
30.10.2007, 13:39
Bei 2,5 kHz ist das Gleichrichten nicht unbedingt nötig. Man kann auch das Wechselspannungssignal mit dem AD Wandler messen (z.b. mit 10 kHz Abtastrate) und dann die Amplitude digital bestimmen (z.B. per FFT oder digitalem Filter). Das benötigt allerdings etwas Rechenzeit, gibt aber eine etwas einfachere Schaltung und die Möglichkeit die Bandbreite in Software einzustellen. Eine bessere Linearität und Empfindlichkeit bekommt man so auf alle Fälle. Der analogen Pandpass ist bei dem 10 Bit Wandler in Atmel sicher noch sinnvoll, aber der kann dann deutlich einfacher werden.