Wie Reflexlichtschranke modulieren, und auswerten.

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Wie Reflexlichtschranke modulieren, und auswerten.

      Hallo Gemeinde,
      Ich möchte eine Reflexlichtschranke Moduliren um Störungen durch Umgebungslicht zu vermeiden, dabei möchte ich auch
      auswerten wenn die Lichtschranke durch Reflexion in diesem Fall wenn ein Zug darüber fährt siehe Bild.

      Eigentlich ist es nicht schwer da man die Reflexlichtschrankewie wie ein Optokoppler als Schalter sehen kann das Problem liegt
      wie Modulire ich das um Störungen zu vermeiden.

      224-2.gif.png

      gleis.JPG

      The post was edited 1 time, last by Memory ().

    • Ich hab' das schon mal probehalber gemacht, aber ohne Modulation.
      youtube.com/watch?v=gzPIJ_ddt-I

      BASCOM Source Code

      1. $regfile = "attiny2313.dat"
      2. $crystal = 8000000
      3. $hwstack = 64
      4. $swstack = 32
      5. $framesize = 30
      6. Const Timer0reload = 156
      7. Config Timer0 = Timer , Prescale = 256
      8. Load Timer0 , Timer0reload
      9. On Ovf0 Timer0_isr
      10. Enable Ovf0
      11. Start Timer0
      12. Enable Interrupts
      13. Config Portd.6 = Output
      14. Config Portd.5 = Output
      15. Config Portd.4 = Output
      16. Reflex Alias Portd.5 'Ausgangssignal
      17. Led2 Alias Portd.6 'Kontrollled
      18. Sender Alias Portd.4 'Spannungsversorgung für Kopplerled
      19. Config Portb.0 = Input
      20. Set Portb.0
      21. Kontakt Alias Pinb.0 'Kollektor vom Kopplertransistor
      22. Sender = 1
      23. Reflex = 1
      24. Wait 1
      25. Reflex = 0
      26. Do
      27. Sender = 1 'Senderled ein
      28. Waitus 500 'bisschen Zeit geben
      29. If Kontakt = 0 Then 'Signal am Empfänger, von Störlicht oder Sender?
      30. Sender = 0 'Mal den Sender ausschalten
      31. Waitus 500 'bisschen Zeit geben
      32. If Kontakt = 1 Then 'Jetzt kein Signal mehr am Empfänger > kein Störlicht oder just gerade aus gegangen
      33. Sender = 1 'Senderled ein
      34. Waitus 500 'bisschen Zeit geben
      35. If Kontakt = 0 Then 'wenn jetzt Signal am Empfänger
      36. Reflex = 1 'dann vom Sender
      37. End If 'Reflexion signalisieren
      38. Else
      39. Reflex = 0 'war wohl doch Störlicht
      40. End If
      41. Else
      42. Reflex = 0
      43. End If
      44. Loop
      45. End
      46. Timer0_isr:
      47. Load Timer0 , Timer0reload
      48. Led2 = Not Kontakt 'Zeige den Status des Empfängers
      49. Return
      Display All
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Das Umgebungslicht löst den Empfänger aus, aber nur, wenn kein Zug über der Lichtschranke steht. Das ist eigentlich der Trick. Insofern ist es eine einfache Modulation, der Sender blitzt vor sich hin, kommt ein Signal vom Empfänger synchron mit dem Blitz, steht ein Zug drüber und schattet eventuelles Störlicht ab. Ist ständig ein Signal da, dann kann das nur Störlicht sein. Kommt kein Signal, geht der Blitz ins Leere.

      Das Gedöns mit dem timer dient nur dazu, das Störlicht mit Led2 zu zeigen. Das ist für die Funktion nicht notwendig.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      The post was edited 1 time, last by tschoeatsch ().