Lichtschranke mit IR Sendediode + Fotodiode

Dieses Thema im Forum "Schaltungen und Layout" wurde erstellt von Dirk, 24. Dezember 2017.

  1. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.172
    Zustimmungen:
    117
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Hallo zussammen!

    Für eine Carrerabahn (Serie Evolution) möchte ich einen Rundenzähler bauen.

    Ich habe mir gedacht, ich modifiziere mir eine Gerade und baue im Bereich der Slots jeweils eine Lichtschranke auf.

    IR Sendediode und Fotodiode von Everlight habe ich da. Bei der Fotodiode müsste ich den Fotostrom detektieren. Da beide Dioden recht gängig sind, gibt es im Internet bestimmt irgendwelche Lösungen, ich frage aber mal im Forum.
    Hat sowas schon mal jemand gemacht oder Ideen dazu?

    IR Sendediode Everlight IR204-A
    IR Fotodiode Everlight PD204-6B

    Die Datenblätter habe ich angehängt.

    Noch ein schönes Weihnachtsfest.

    Dirk :ciao:
     

    Anhänge:

  2. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Hi,

    ich hätte vielleicht einen TSOPxxxx als Empfänger eingesetzt, und auf die Sendediode den entsprechenden Carrier gelegt. Wegen eventuellen Störeinflüssen. Bei meinen damaligen Experimenten mit dem UART schien es allerdings sowas wie 'ne maximale "On-Zeit" (über irgendeine Zeit gemittelt) zu geben - wenn man zu lange "draufleuchtet", schaltet der TSOP nicht mehr, als wenn er "nachladen" muß...

    Deine Photodioden sollten doch quasi lichtempfindliche Widerstände sein - wenn Du die also in Serie mit einem geeigneten festen Widerstand (oder ggf zwischen zwei Festwiderstände) schaltest, sollte sich bei Abschattung mMn ein Pegelwechsel erkennen lassen.

    Aus "geeigneten" konkrete Zahlenwerte zu machen ist ja hier eigentlich @dino03 's Spezialität...

    [brüll]AAALAAABEEEEEEEEEEEELLLLLLLLL...[/brüll]

    P.S.: möglicherweise kommt man schon mit den internen Pullups weiter?
     
  3. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.172
    Zustimmungen:
    117
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Lichtempfindliche Dioden ;)

    Der Photostrom ändert sich, das muss ich detektieren. Beim Komparator habe ich einen festen Offset, das ist nicht so gut, eventuell könnte ich auch einen ADC verwenden. Am liebsten wäre mir aber irgendwas mit Operationsverstärker, so dass ich für den Mikrocontroller direkt einen Logikpegel erhalte.

    Im Moment habe ich die Lichtschranken unter einer Geraden im Bereich der Slots. Der Abstand zwischen Sender und Empfänger ungefähr 8mm.

    An TSOP hatte ich auch gedacht, habe ich aber auch nicht da.

    Danke für die Tipps. Ich werde mal experimentieren, vielleicht ist eine Photostrom-Änderung so groß, dass ich mit einfacher Messung mit Komparator hinkomme ... oder sogar direkt mit Input Pin.

    Dirk :ciao:
     
  4. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Eben, und wenn ich sie nun mit einem Festwiderstand in Reihe an eine Spannungsquelle anschließe, variiert die an ihr (oder am Widerstand) abfallende Spannung... oder etwa nicht?
    Um das auf AVR-taugliche Pegel zu bekommen, würde ich aus dem Bauch heraus bei 5V auf 1MOhm tippen - da kommt dann sicher die Impedanz des Pins zum tragen...
    Beim Komperator mußt Du doch auch nur die Schwellenspannung auf den anderen Eingang legen, und bekommst dann am Ausgang passende Logikpegel. Sollte auch mit dem internen AC so machen lassen. Du wirst Dich sicher auf, bei Dir vorhandene Bauteile beschränken wollen - es gäbe auch (Tiny-)Controller mit mehreren AC. Der Tiny441/841 hätte zB zwei, jeweils mit einstellbarer Hysterese, und außerdem SPI oder UART als Kommunikationsschnittstelle. Beide Eingänge des AC1 liegen auf beiden Alternativen des SCK (vom SPI) - aber da könnte man den negativen Eingang über den ADC-Mux laufen lassen...

    Ok, Du wirst wohl mehr Megas rumliegen haben - da kenn ich mich nicht so aus. Zuviele Krabbelbeine...

    Edit: Der Tiny441/841 kann auch Slave(!)-TWI - SCL liegt da auch auf AC1-In-, wie auch beim SPI
     
  5. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.172
    Zustimmungen:
    117
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Ich probiere mal, ob es über einen einfachen Spannungsteiler (R+D) am Komparator ausreichend sicher funktioniert.
    Das wäre natürlich ideal, da es die Schaltung vereinfacht.

    Dirk :ciao:
     
  6. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.208
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Könntest du nicht auch mit einem Ultraschall Sensor arbeiten? Das ist deutlich einfacher zu realisieren.
     
  7. addi

    addi Mitglied

    Registriert seit:
    2. September 2013
    Beiträge:
    90
    Zustimmungen:
    3
    Punkte für Erfolge:
    8
    Sprachen:
    BascomAVR, C, Assembler
    Hmmm....man sollte auf keinen fall einen hallsensor in kombination mit einem magneten benutzen.
    Hat aehnlichkeit mit der gesprochenen bedienungsanleitung aus dem film 1941 wo bitte geht's nach hollywood.
    Addi
     
  8. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.208
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Man könnte aber auch einen Induktiven Näherungssensor nehmen. Verbraucht wahrscheinlich nicht ganz so viel Energie wie die IR Schaltung?!
     
  9. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.172
    Zustimmungen:
    117
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Das wird wahrscheinlich recht teuer. Die Lösung mit Ultraschallsensor finde ich recht aufwendig, bzw. wüsste im Moment auch nicht, wie ich das sicher machen sollte.

    Ich habe gesehen, unsere Autos haben recht große Magneten damit die Bodenhafung größer ist, aber das haben ja nicht unbedingt alle Autos. Es wäre aber auch eine Möglichkeit das auszunutzen.

    Die Lösung mit TSOPnnn von LotadaC ist auch interessant, da müsste ich aber auch wieder schauen, ob es da was zu beachten gibt, bezüglich Timing und ggf. Protokoll. Bei grob 2m/s auf einer Geraden und 2cm Führung die den Lichtweg unterbricht, sind es 10ms Unterbrechungszeit. Das sollte funktionieren, aber TSOP reagiert dann vielleicht wieder auf eine IR Fernbedinung.

    Wenn ich die Empfangsdiode ordentlich übersteuere, kann ich alles unempfindlicher machen, dann stört mich vielleicht eine FB oder Fremdlicht auch weniger.
     
  10. Mikro23

    Mikro23 Mitglied

    Registriert seit:
    2. Januar 2017
    Beiträge:
    228
    Zustimmungen:
    18
    Punkte für Erfolge:
    18
    Sprachen:
    C, Assembler
    Habe mal einen Pulssensor gebaut. IR-LED, IR-Transistor und ein vierfach-OP als Verstärker, Tiefpaß vierter Ordnung und Komparator.

    Für Deine Anwendung würde ein zweifach-OP reichen, einen OP als Verstärker und den Zweiten als Komparator beschaltet.
     
  11. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Du hattest ja ursprünglich geschrieben, daß Du mit den vorhandenen Bauteilen - insbesondere den Dioden - auskommen wolltest.
    Interaktionen mit anderen IR-Quellen und Empfängern würde ich optisch minimieren - also den Strahlengang unter der Schiene mit Röhren (Fokus) begrenzen.
    Zu R-D-Spannungsteiler: der zu erkennende Strom ist recht gering, für AVR-taugliche Logikpegel bräuchtest Du einen recht großen R (1MOhm, denk ich). Dieser bildet mit der Pin-Kapazität einen Tiefpaß, was die Reaktionszeit des Pins verschlechtert.
    Mit einem kleineren R verringerst Du aber die am R abfallende Spannung.
    das ließe sich mit einem Komperator erfassen - einige AVR besitzen zwei Stück davon. Ich weiß jetzt nicht, welche Controller Du ins Auge gefaßt hast, möglicherweise kann man den R an eine interne Referenz anpassen. Meist eine interne Bandgap mit 1V1, da müßte der R etwa bei 370KOhm liegen...

    Was hat Du bisher probiert?
     
  12. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.208
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Schau mal hier, gibt es auch schon als fertige "Module". Diese lassen sich doch bestimmt besser verbauen und sehen schicker aus?
    Einen PullUp Widerstand an VCC klemmen und schon solltest du ein digitales Signal bekommen was du ohne Zweifel auswerten kannst.
    Evtl. kann man noch vor den Sensorbausteinen eine kleine "Röhre" kleben, damit der IR Strahl wirklich fokusiert ist und nicht so sehr streut.

    https://physicalcomputing.at/A-10728
     
    #12 Janiiix3, 28. Dezember 2017
    Zuletzt bearbeitet: 28. Dezember 2017
  13. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Die 2ms waren nur als willkührlicher Test gewählt, wären dann 500Baud gewesen. Die Reaktionszeit des TSOP betrug etwa 100-200ns. Allerdings konnten die von mir getesteten TSOPs kein dauerhaftes On (Carrier) erfassen - bei den 2ms-2ms-Perioden war nach etwa 6..14s Schluß (der TSOP mußte sich erholen), bei permanentem Carrier wirds sicher schneller sein. Aber Dich interessieren ja keine Bits. Du könntest also einen kürzeren Burst als 2ms senden, falls der TSOP das sicher erkennt.

    Aber wie gesagt: Als erstes würde ich versuchen, mit 5V-D-R-Gnd einen, vom internen AC erkennbaren Spannungsabfall am R einzustellen. Wenn die interne Referenz nicht paßt, müßte die Referenz extern auf den AC gelegt werden (mehr Aufwand, und ggf störanfälliger)
     
  14. Dirk

    Dirk Administrator
    Mitarbeiter

    Registriert seit:
    28. Januar 2007
    Beiträge:
    4.172
    Zustimmungen:
    117
    Punkte für Erfolge:
    63
    Sprachen:
    C, Assembler, Pascal, C++, PHP, Java
    Ja, so würde ich es auch machen. Einen als Verstärker, einen noch ggf. als Impedanzwandler und das Signal dann an den Komparator im Mikrocontroller der mir dann als Interruptquelle dient. Hysterese sollte ich da noch verwenden.

    Vielleicht gehts aber auch ohne Operationsverstärker, da muss ich noch mal testen.

    Ja, wenn möglich.

    Verwenden werde ich wahrscheinlich SAMD21 Mikrocontroller.

    Nicht viel. Weihnachtsfeiertage bin ich gar nicht dazu gekommen. Ich schau mir die Signale mal mit dem Oszilloskop an, morgen wahrscheinlich. Dann sehe ich, ob ich vorher verstärken sollte oder muss.

    Das meinte ich mit "Timing/Protokoll". Im Datenblatt vom TSOP48.. gibts da einiges, auf das ich achten müsste (zB. Maximum number of continuous short bursts/second = 800).
    Dein link fehlt. Aber ich möchte ungerne "ferige Module" einsetzen ... ist also nicht tragisch :)

    Ich probiere erst mal mit der IR Sende-LED und der IR Foto-Diode. Interessant sind aber auf jedenfall eure Ideen zu dem Thema!
     
  15. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.208
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Wurde oben korrigiert.. Schau es dir einfach mal an.
     
  16. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Wenn ich das richtig sehe, besitzt der zwei Analogkomperatoren, je ein Eingang kann auf die interne 1V1-Bandgap gekoppelt werden.
    Hab's mangels Deiner Dioden einfach mal mit zwei stinknormalen weißen LEDs getestet. 5V-LED-440kOhm-Gnd. Im "Dunkeln" messe ich am R 0..0,1mV, leuchtet die andere weiße LED drauf, messe ich 50..100mV.
    Ich habe keine Daten zum Sperrstrom der getesteten LEDs, erst recht nicht mit Bezug aufs Licht.
    Bei Deinen IR-Sende/Empfangs-LEDs würde ich mehr erwarten...
    Wenn Du mehr als 1V1 bekommst, sollte sich ein interner AC pro Schiene verwenden lassen.
     
  17. dino03

    dino03 Moderator

    Registriert seit:
    27. Oktober 2008
    Beiträge:
    6.674
    Zustimmungen:
    12
    Punkte für Erfolge:
    38
    Sprachen:
    BascomAVR, Assembler
    Hi,

    das mit dem Komparator finde ich eigentlich garnicht so schlecht. Hab da folgende Lösung im Kopf ...

    Normale Lichtschranke ohne Trägerfrequenz. Die Reaktionszeit mit RC-Glied (Tiefpaß) etwas herabsetzen so das es schnell genug für die Autos reagiert (5-10ms) aber Störfrequenzen ignoriert.
    Dieses Signal auf _beide_ Eingänge des Komparators. Wobei vir einem der Eingänge ein Integrator kommt. Der erzeugt dann einen Referenzpegel. Wenn nun ein Auto die Lichtschranke unterbricht, dann bleibt der Referenzpegel relativ identisch. Der Pegel am zweiten Eingang wechselt aber kurz und damit schaltet der Komparator am Ausgang.

    Diese Lösung finde ich im Moment besser als bei einem TSOP, da der ja erst einmal auf die Frequenz locken muß. Ich fürchte so aus dem Gefühl heraus, das er damit zu langsam für eine Lichtschranke zur Geschwindigkeitsmessung wird. Für normale Lichtschranke wird es reichen, aber für schnelle Messungen fürchte ich, reicht es wohl nicht. Wäre aber auch nen Versuch wert.

    Gruß
    Dino
     
    Janiiix3 gefällt das.
  18. Grandpa

    Grandpa Aktives Mitglied

    Registriert seit:
    24. Juli 2008
    Beiträge:
    1.038
    Zustimmungen:
    1
    Punkte für Erfolge:
    38
    Sprachen:
    BascomAVR
    Hi Dirk,

    einfach einen Reed- Kontakt direkt unter den Stromleiter einsetzen/kleben und 5V draufgeben. Hab ich bei meiner EVO schon mal erfolgreich getestet. 2 Reed und ein Meßgerät von der Arbeit = Mustang mit 7.2m/sek; Meßstrecke 1m. Einen möglichen Doppelimpuls (Motor - Heckmagnet) wie auch das Prellen kannst Du ja bfangen.
    Bei der Modellbahn funktioniert das auch jahrelang sicher (ohne Doppelimpuls/ Prellen). Die sind empfindlich genug und kosten nur ca. 30-40 Cent plus einen optionalen (Schutz-)Widerstand zwischen Reed und AVR- Pin.

    Wünsch Euch alles Gute für 2018.


    Gruß,
    Michael
     
  19. LotadaC

    LotadaC Sehr aktives Mitglied

    Registriert seit:
    22. Januar 2009
    Beiträge:
    2.913
    Zustimmungen:
    43
    Punkte für Erfolge:
    48
    Sprachen:
    BascomAVR, Assembler
    Ich hab jetzt mal die IR-LEDs rausgesucht, die @riesen mir damals geschickt hatte: SFH485 (880nm).
    Eine davon mit 'nem 150R als Vorwiderstand an 3V3 ergibt gemessene 14mA Sendestrom.
    Die andere in Sperrichtung mit 220kOhm.
    Distanz zwischen den LEDs ca 5mm.
    Bei Unterbrechung messe ich am 220K quasi 0 mV.
    Bei freier Sicht ca 1,3V.
    Muß ich jetzt erst noch einen Tiny841 rauskramen, und irgendwelche LEDs an die beiden ACO hängen?
    (Bei 1,3V <--->0V an den negativen Eingängen sollten die beiden ACs Triggern (je nach Konfiguration bei steigender/fallender/jeder Flanke), wenn die interne 1V1-Bandgap (intern) auf die positiven Eingänge geschaltet wird.)
    Vom Schaltungsaufwand her minimal. Sendediode mit Widerstand, Empfangsdiode mit Widerstand, Controller. Fertig.

    @dino03 : Was spricht dagegen? Der SAM sollte über zwei interne ACs verfügen...
     
  20. Janiiix3

    Janiiix3 Aktives Mitglied

    Registriert seit:
    28. September 2013
    Beiträge:
    1.208
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Sprachen:
    C
    Ich muss sagen, diese Lösung hört sich auch recht Praktikabel an. Der Tiefpassfilter sollte aber nicht zu langsam dimiensioniert werden. Was gibt es denn großartig für Störungen in diesem Wellenbereich?
    @Dirk wird doch wohl nicht in einem Keller mit Leuchtstoff übersehten Raum arbeiten? Und Fernbedienung, dafür müsste die Taste schon lange gedrückt bleiben..

    Aber aufjedenfall einen Tiefpassfilter..
     
  • Über uns

    Unsere immer weiter wachsende Community beschäftigt sich mit Themenbereichen rund um Mikrocontroller- und Kleinstrechnersysteme. Neben den Themen Design von Schaltungen, Layout und Software, beschäftigen wir uns auch mit der herkömmlichen Elektrotechnik.

    Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  • Coffee Time

    Unser makerconnect-Team arbeitet hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und unser eigener makerconnekt-Server regelmäßig gewartet wird. Wir nehmen das Thema Datensicherung und Datenschutz sehr ernst und sind hier sehr aktiv, auch sorgen wir uns darum, dass alles Drumherum stimmt!

    Dir gefällt das Forum und die Arbeit unseres Teams und du möchtest es unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft, unser Team freut sich auch über eine Spende für die Kaffeekasse :-)
    Vielen Dank!
    Dein makerconnect-Team

    Spende uns! (Paypal)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren und die Seite optimal für dich anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden