mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Led pulse auserten mit arduino


Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: F. Fo (foldi)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Stefanus F. (stefanus)
Datum:

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

Autor: Heinz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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:

    +5V             +5V
     o               o
     |               |
    |~|             |~|
    | | 1k          | | 1M
    |_|             |_|
     |               |
    |~| 100k         |
    | |<---+         |
    |_|    |         |
     |     |         |
     +-----+----||---+----o Arduino Eingang
     |        100nF  
>  |/                
>  |   
>  |\>
     |
     |
    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.

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre bestimmt sauberer.
Habe da was gefunden:
https://www.elektronik-kompendium.de/forum/forum_e...
Wenn ich nur verstünde was das tut.

Autor: Heinz (Gast)
Datum:

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

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: F. Fo (foldi)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.