• home
  • about me
  • bears
  • contact
  • imprint
  • privacy notice
leider funktioniert die Tweet Anzeige nicht mehr seit einer doofen API Änderung :'(

OnlyMine

Kategorien

  • 3D Drucker (13)
  • Allgemein (37)
  • DIY (20)
  • Elektronik (64)
  • Hausbau (42)
  • Heizung (8)
  • Inspiration (17)
  • KNX (8)
  • Persönlich (14)
  • Schule (8)
  • SEO (1)
  • Sinnloses (30)
  • Studium (19)
  • Tutorials (10)

Archiv

  • Februar 2023
  • Oktober 2022
  • August 2022
  • Februar 2022
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020

Links

  • Niedermeier.me
  • SKK Gerolzhofen
  • Frisöre Habelsberger
  • Zorin Industries
  • Ort der Musik

TSOP36136 Lichtschranke (2)

13. Januar, 2014 in: Elektronik, Studium

Vor einiger Zeit schrieb ich über eine kostengünstige Selbstbaulichtschranke, mit der es möglich sei mehrere Meter problemlos zu überbrücken – theoretisch zumindest!

Als ich nun vor etwa 3 Wochen die Lichtschranke für einen Testversuch provisorisch auf der Kegelbahn installiert hatte, zeigte sich leider keine Funktion. Die zu überbrückende Strecke waren nur die Breite einer Standard Classic Kegelbahn von 1,70m und jedes 0815 Gerät im Haushalt lässt sich per Infrarot von einer größeren Distanz aus bedienen (noch dazu mit einem verglichen popeligem Pulsstrom, da Batteriebetrieben). Wo liegt der Fehler?

Zunächst verringerte ich den Abstand, da ich sonst keine Möglichkeiten vor Ort hatte. Ab etwa 30cm funktionierte die Lichtschranke wieder ordnungsgemäß. Für meinen Anwendungsfall, der eben genau in der Messung auf der Kegelbahn mit einer nötigen Messweite von 1,70m, natürlich etwas wenig. Später zu Hause baute ich die Schaltung auf dem Steckbrett nach und alles funktionierte. Mit der Fernbedienung meines TVs konnte ich aus >5m noch den Empfänger erreichen, also war der Sender das Problem.

Der Sender ist nur ein ATTiny45 der in der Main Routine ein 36kHz Signal erzeugt und dieses wiederrum mit etwas über 1kHz gepulst ausgibt. Theoretisch zumindest! Da ich mir zum Abschluss meines Studiums ein Oszilloskop geschenkt hatte, konnte ich nun das Ausgabe Signal überprüfen. Zu meinem Erstaunen musste ich feststellen, dass der Tiny nur ein Signal von mickrigen 28kHz am Ausgang lieferte. Ich überprüfte den Quellcode und musste feststellen, dass ich diesen mithilfe der Arduino IDE programmiert hatte.

Der Code besteht im Wesentlichen nur aus einer For-Schleife, mehreren Delays und der Funktion digitalWrite(), welche sich als äußerst langsam erwies. Ich ließ den Code wie er war und ersetzte die digitalWrite Funktionen durch direkte Manipulation des entsprechenden PORT Registers. Das Ausgangssignal erreichte mit diesen Änderungen sofort die gewünschte Form und die Lichtschranke funktionierte nun auch für größere Distanzen.

Infolge der Optimierung ist allerdings nun ein neues Problem aufgetreten: Die Lichtschranke funktioniert zu gut. Meine Sende IR-LED besitzt einen Abstrahlwinkel von 10° und die auftretenden Reflexionen die in diesem Bereich entstehen machen es kleinen Objekten unmöglich die Lichtschranke auszulösen, auch wenn sich der Empfänger im Schatten des Objekts befindet. Eine mechanische Anpassung des Senders bzw. und des Empfängers wird nun nötig um die korrekte Funktion sicherzustellen. Ein Röhrchen mit 5mm oder ein Schrumpfschlauch über die LED geschoben, sollten das Problem allerdings lösen 😉

Und das Fazit: Zeitkritische Signale niemals mit den Arduino Funktionen digitalRead und digitalWrite erzeugen.

← Vorheriger Beitrag Nächster Beitrag →

Schreibe einen Kommentar

Hier klicken, um die Antwort abzubrechen.

Felder die benötigt werden sind mit * markiert.
Nach oben!
5515
Impressum
Niedermeier.me
Ich bei Facebook
Diese Website verwendet Cookies. Indem Sie weiter auf dieser Website navigieren, ohne die Cookie-Einstellungen Ihres Internet Browsers zu ändern, stimmen Sie der Verwendung von Cookies zu. Akzeptieren Ablehnen
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SPEICHERN & AKZEPTIEREN