Forum: Mikrocontroller und Digitale Elektronik LED Pulse/Blitze erkennen


von Pete K. (pete77)


Lesenswert?

Hallo,

ich möchte die Impulse einer Photodiode mit einem STM32 messen. Die 
Photodiode soll die "Blitze" erkennen, die ein EHZ Stromzähler aussendet 
(5000 Impulse pro kWh, Infrarot).

Ich benutze eine BPW82 mit 390R an einem BC547, der gegen Masse 
schaltet.
Im Kollektorzweig habe ich eine LED zu Testzwecken eingebaut.

Die Impulslänge soll 2,5ms sein.

Was ist hier besser, per Timer alle 2,5ms den Port abfragen, ob ein 
Signal anliegt, oder per Interrupt die Flankenwechsel zählen?

Falls Timer, sollte man die Periode 2,5ms wählen, oder eher kürzer?

von MaWin (Gast)


Lesenswert?

Wenn Interrupt, dann solltest du nach einem erkannten Impuls zumindest 
3msec lang gar nicht mehr auf den Interrupt hören.

Wenn per Polling, dann ist es kein Problem im Millisekundenabstand 
nachzugucken, obwohl letztlich 2.4msec auch reichen würden, aber wer ist 
schon so genau.

390 Ohm kommt mir recht wenig vor, aber letztlich musst du den 
Widersatnd an die Helligkeit (hell/dunkel, inmitten) anpassen.

von Falk B. (falk)


Lesenswert?

google volkszähler

von Pete K. (pete77)


Lesenswert?

MaWin schrieb:
> Wenn per Polling, dann ist es kein Problem im Millisekundenabstand
> nachzugucken, obwohl letztlich 2.4msec auch reichen würden, aber wer ist
> schon so genau.

Und dann nur zählen, wenn beim letzten Mal kein Impuls erkannt wurde, 
oder?

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Ich kann jetzt die Impulse über Timer3 des STM32F107RC erkennen.

Die Schaltung entspricht in etwa der des im Anhang beigefügten Bildes.

Leider bekomme ich die Schaltschwelle noch nicht so gut hin. Die LED 
glimmt so vor sich hin (Umgebungslicht) und liefert immer noch 1,5V, 
gemessen zwischen Widerstand und LED.

Wie kommt man hier etwas höher, z.B. >2,5V? Wenn die Photodiode ganz 
abgedunkelt ist, liegen auch die erwarteten 3V3 an.

VCC=3V3
R1=1K (getestet auch mit 390R)
R2=100R
D1=BPW82 (Open circiut voltage 350mV)
D2=gelbe LED 5mm
T1=BC547

Mir scheint so, dass T1 nicht wirklich schaltet.

Hat jemand eine Idee? Vielen Dank!

von Pete K. (pete77)


Lesenswert?

Ich schieb das noch einmal hoch. Vielleicht findet sich ja jemand, der 
mehr Ahnung von der Materie hat als ich :-)

von Falk B. (falk)


Lesenswert?

Mach es wie der Rest der Welt mit einem Phototransitor und passendem 
Arbeitswiderstand, siehe Lichtsensor / Helligkeitssensor.
Photodioden sind hier nicht die 1. Wahl, weil sie zu unempfindlich sind.
Einen Verstärker brauchst du nicht, dein uC Eingang ist hochohmig genug.

von Falk B. (falk)


Lesenswert?


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.