Zeitmessung auf Loopingbahn

Hallo,

ich habe einen Arduino UNO und möchte die Geschwindigkeit auf einem Looping messen. Dazu sollen 2 Infrarot Leds mit 38kHz angesteuert werden. 2 Empfänger dedektieren das Signal der LED. Bei Unterbrechung der ersten Lichtschranke soll ein Timer gestartet werden. Wir die zweite Lichtschranke durchfahren soll die Zeit gestoppt werde. Die Zeit soll auf einer 4x7Segmentanzeige
( Whadda WPI425 Display-Modul) angezeigt werden. Die ersten zwei Stellen sollen Sekunden anzeigen. Die letzten beiden hundertstell und zehntel Sekunden. Ein Taster soll die Anzeige wieder auf Null setzen können.

Ist das mit dem UNO machbar?

Gruß Peer

Ja.

1 Like

Ja.

1 Like

Ja.

Langsam wird das langweilig.

Hallo Peer, wo siehst Du noch Probleme?

Ja.
Und weil ich grundsätzlich nicht langweilig bin:
Was sind das für Empfänger?
Davon hängt ab, wie die Behandlung der Signale erfolgt.
Wenn Du digitale Empfänger hast, könnte die Auswertung auch invertiert notwendig sein.
Bei einem analogen Pegel muss ein Grenzwert vorgegeben sein, auf dem reagiert werden muss...

Die Auswertung selbst ist nicht weiter schlimm.
Eine Schrittkette mit folgenden Steps:
Erste Durchlaufzeit merken.
Zweite Durchlaufzeit merken.
Erste Zeit von zweiter Zeit abziehen -> Ergebnis
Es empfiehlt sich ein Timeout nach dem ersten Step auszuwerten, damit eine rausgefallene Kugel zwischen den beiden Sensoren nicht das System durcheinander bringt...

Dann empfehle ich das in mehreren Schritten zu bauen:
A) Die Sensoren und Berechnung mit dem Seriellen Monitor
Wenn das funktioniert
B) Den Display danach erst einfach beschreiben
und in Folge
C) Die Ausgabe integrieren

Sollte er wohl haben, passend zu den 38 kHz,

Musste noch Schuhe putzen und Bett reparieren. :wink:

Ihr merkt ja dass ich Anfänger bin. Hab nur etwas mit dem Board gespielt. Also bitte Geduld haben.

Die Empfänger geben ein digitales Signal zurück.

Wir müssen erstmal leicht einsteigen.

Wie mache ich die PWM?

Mit analogwrite() kann ich ja nur des Tastverhältnis ändern. die Frequenz ist fest bei ca. 490 Hz. Mit tone() kann ich 38kHz einstellen. Nur werden dann die 38kHz immer ausgegeben, egal was in der Main() passiert?

Peer

Z.B. mit der TimerOne Bibliothek.

Nicht main() sondern loop()
Aber was ist das Problem daß die LED dauernd das signal sendet?
Grüße Uwe

entweder : Lichtschranken die XXXte - #5 by 6v6gt
oder
How to create a 38 Khz pulse with arduino using timer or PWM? Post 24
Grüße Uwe

Ich halte es für wenig sinnvoll, einen Arduino zu verwenden, um ein 38 kHz Signal für eine Lichtschranke zu erzeugen.

Die LED der von mir verwendeten vor Fremdlicht geschützten Reflexkoppler schließe ich einfach über einen Vorwiderstand an Spannung an und werte den Kopplertransistor über einen Arduino-Eingang aus. Dann sich der Arduino um sinnvolle Dinge wie Tastenauswertung und Anzeigen kümmern.

Wenn man ein gepulste LED unn einen IR Empfänger nimmt, hat man eine sehr gute Immunität gegenüber Umgebungslicht.

Ich habe diese Mini-Lasermodule verwendet, den Fototransi in ein Röhrchen verfrachtet und das Thema war erledigt. Ausrichtung war bissel frickelig, habe dazu um den Empfänger eine weiße Pappscheibe geklebt, dann sieht man prima wo der Laser hinleuchtet.
Abszand 2 Meter war kein Problem, Sonne war auch wurscht.

Es wäre interessant zu erfahren, was für Empfänger verwendet werden. Wenn es Empfänger für Infrarot Fernbedienungen sind, kann es mit einem dauerhaft gepulsten Signal Probleme geben, weil diese Empfänger auf ein doppelt moduliertes Signal ausgelegt sind. Es sind Pausen zwischen 38kHz „Modulationspaketen“ notwendig.

Es sollte dann schon ein Empfänger in der Art sein: https://www.vishay.com/docs/82458/tssp40.pdf
Also Empfänger ohne AGC Einheit. https://www.vishay.com/docs/49009/pl0438-infrared_sensors.pdf

Keines. Ich hatte nur einen Denkfehler. Ich werde die 38kHz einfach mit Tone() erzeugen.

Kennst Du ein Datenblatt?

Ich verstehe die Frage nicht ganz, ich habe doch eins verlinkt, oder meinst Du einen IR Fernbedienungsreceiver?

Seite 6

Ich habe 2 Arten von Empfänger: TSOP31233 und diesen noName von Conrad: 1567234 - NA

Wozu Pausen?

Habe es gerade mal aufgebaut. Es gibt immer eine fallende Flanke, wenn der Empfänger wieder ein Signal empfängt. D.h. Empfänger sieht die 38kHz. Dann Unterbrechung des "Strahles" und beim wiederauftreffen des Strahles gibt es eine fallende Flanke. Die will ich auswerten.

Ich kann da nur etwas über eine minimale Pulsbreite entnehmen, nach oben offen.