Forum: Analoge Elektronik und Schaltungstechnik Led pulse auserten mit arduino


von Heinz (Gast)


Lesenswert?

Hi

Ich möchte meinen Stromzähler mit dem Arduino auslesen.
Der Stromzähler bietet zwei LEDs, eine grüne und eine IR, welche jeweils 
pro Wh einmal aufblinken.

Wie ich mit dem Arduino Interrupts auf steigende Flanken triggern kann, 
habe ich schon mal rausgekriegt, nun zur Sache mit dem Auslesen:

Ich habe eine Photodiode vor die LEDs gehalten und die Spannungen 
gemessen; die Photodiode scheint für die IR-LED empfindlicher zu sein.
Bei Umgebungslicht messe ich ca. 75mV, während dem Puls sind es rund 
300mV.

Kann ich nun einen beliebigen OpAmp kaufen (z.B. LM358 gäbe es günstig) 
und die Spannungen so verstärken dass der Puls auf logischem high und 
das Umgebungslicht auf logischem low zu liegen kommt?
Den Übergang von low auf high habe ich bei 1.90V gemessen.(1)
Da das Umgebungslicht schwankt und die LED aber konstant leuchtet, würde 
ich die Verstärkung für den Puls so einstellen dass er auf rund 2.1V zu 
liegen kommt, um etwas Reserve beim Umgebungslicht zu haben. Passt das?

Oder geht man da anders heran?

Danke und gute Nacht


(1) Im Datenblatt vom 32u4 steht (Vcc=5V):
Input Low: Min -0.5V, max. 0.2Vcc-0.1V (also 0.9V)
Input High: Min 0.2Vcc+0.9V (also 1.9V), max Vcc+0.5V

von F. F. (foldi)


Lesenswert?

Klar kannst ein LM 358 nehmen und wenn du ne Tülle um die Fotodiode 
machst, sie direkt mit schwarzem Heißkleber vor die Led klebst, 
interessiert das Tageslicht auch nicht mehr.
Es gibt ja auch diese Led Gehäuse. Die kannst du für die Fotodiode 
nehmen, dann fällt das Kleben leichter.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Du kannst auch den analog-Komparator des Mikrocontrollers verwenden, 
oder ganz banal den Analog-Digital Wandler.

von Heinz (Gast)


Angehängte Dateien:

Lesenswert?

Also es funktioniert zwar, aber nicht wirklich befriedigend: wenn sich 
die Photodiode etwas verschiebt ist es vorbei mit der Freude.

Durch die Schutzabdeckung ist die Photodiode relativ weit von der LED 
entfernt und da kann viel Streulicht dazwischen, ob ich nun eine 
schwarze Tülle drum mache oder nicht.

Noch eine Frage:
http://www.electronics-tutorials.ws/opamp/opamp60.gif

Rf muss bei mir ca. 2MOhm sein, scheint mir etwas viel. Habe ich was 
falsch gemacht?

von Wolfgang (Gast)


Lesenswert?

Heinz schrieb:
> Kann ich nun einen beliebigen OpAmp kaufen (z.B. LM358 gäbe es günstig)
> und die Spannungen so verstärken dass der Puls auf logischem high und
> das Umgebungslicht auf logischem low zu liegen kommt?

Warum willst du dir über den Gleichspannungspegel Gedanken machen?
Nimm doch einen Komparator, bei dem du die Schaltschwelle ausreichend 
hoch über den Mittelwert deines Photodiodensignals legst - Stichwort: 
Tiefpass.

von Stefan F. (Gast)


Lesenswert?

Du musst den Aufbau schon Fremdlicht schützen. Außerdem könnte es 
hilfreich sein, einen Fototransistor zu verwenden und nur den AC-Anteil 
des Signals auszukoppeln:
1
    +5V             +5V
2
     o               o
3
     |               |
4
    |~|             |~|
5
    | | 1k          | | 1M
6
    |_|             |_|
7
     |               |
8
    |~| 100k         |
9
    | |<---+         |
10
    |_|    |         |
11
     |     |         |
12
     +-----+----||---+----o Arduino Eingang
13
     |        100nF  
14
>  |/                
15
>  |   
16
>  |\>
17
     |
18
     |
19
    GND

Mit dem Potentiometer kannst du den Arbeitspunkt einstellen. Probiere 
einfach aus, bei welcher Einstellung der Arduino die Impulse zuverlässig 
empfängt.

Der Kondensator filtert langsame Schwankungen der Umgebungshelligkeit 
heraus.

von Heinz (Gast)


Lesenswert?

Das wäre bestimmt sauberer.
Habe da was gefunden:
https://www.elektronik-kompendium.de/forum/forum_entry.php?id=141129&page=232&category=all&order=time
Wenn ich nur verstünde was das tut.

von Heinz (Gast)


Lesenswert?

Ok, Fototransistor für die nächste Bestellung ist notiert.
Kann sogar ich nachvollziehen.

von Stefan F. (Gast)


Lesenswert?

> Wenn ich nur verstünde was das tut.

Die Schaltung ist einfach ein Schmitt-Trigger mit kleiner Hysterese. 
Brauchst du bei AVR Mikrocontroller nicht.

Foto-Transistoren liefern ein viel stärkeres Signal (mehr Spannungshub) 
und kommen daher ohne Verstärkerschaltung aus.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan U. schrieb:
> und kommen daher ohne Verstärkerschaltung aus.

Und nimm doch bitte, wie schon oben angedeutet, den Analog Komparator 
des Arduino - liegt auf PD6 und PD7, wenn das ein Uno oder 2009er ist. 
An einen der Anschlüsse kommt die von Stefan beschriebene Schatung und 
an den anderen der Schleifer eines Potis, das zwischen den 5V und Masse 
angeschlossen ist. Mit diesem stellst du dann die Schwelle so ein, das 
der AC Interrupt sauber bei jedem Impuls zündet.
Da Stefans Schaltung einen negativen Impuls liefert, bist du am besten 
bedient, wenn auf AIN0 das Poti liegt und auf AIN1 der Ausgang der 
Schaltung. Cool wäre noch ein IR Filter aus einer alten Fernbedienung 
(oder -Empfänger), welches du vor den Phototransistor setzt, um 
Fremdlicht abzuschirmen.

von F. F. (foldi)


Lesenswert?

Heinz schrieb:
> Ok, Fototransistor für die nächste Bestellung ist notiert.
Dass das Streulicht blockiert werden sollte, davon ging ich aus und ich 
bin der Meinung eine Fotodiode schaltet schärfer.
Ich habe eine Schaltung mit einer BPW 34 für eine Grabkerze gebaut. Das 
funktioniert schon sehr gut und für weitere Schaltungen hatte ich nicht 
näher bezeichnete Fotodioden bei eBay bestellt (weil sie sehr günstig 
waren) und mit diesen Fotodioden schaltet der Fet nun so um, als wäre 
ein Komparator davor.
Vielleicht probierst du auch mal mit verschiedenen Fotodioden?
Aber das Streulicht würde ich schon abdecken.
Hätte den Vorteil, du hättest gleich einen passenden Halter für die 
Fotodiode und vielleicht sogar gleich den ganzen Träger, abnehmbar, für 
die ganze Schaltung.

von Heinz (Gast)


Lesenswert?

Ja, habe heute eine Kartonmaske um den Zähler gebaut, nun geht es auch 
ohne Komparator mit einem guten Signal/Rausch-Verhältnis.
Sogar ganz ohne Rückkopplungswiderstand würde es funktionieren.

Nur wenn GND beim Arduino-Netzteil nicht auf Erde kommt, dann gibt es 
irgendwo eine Rück- oder Einkopplung, habe noch nicht herausgefunden 
warum. Wenn ich das Oszi anschliesse ist es weg, allerdings ist bei 
diesem ja GND auch auf Erde.

Schaue mir mal an wie das mit dem Analog-Komparator beim Arduino 
funktioniert.
Danke für die Hinweise.

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.