Schwarzlicht LEDs auswerten (>10kHz)

Krumnix

Level-3
Beiträge
1.477
Reaktionspunkte
193
Hallo zusammen,

ich hab hier 10 Schwarzlicht LEDs und deren Empfänger und soll nun diese als Gitter definieren und auswerten.
Es soll bei einem Draht ein Unterbruch erkannt werden (kein Fehler) und die Maschine direkt gestoppt werden.
Da die Umgebung sehr störend ist, möchte der Kunde dies mal mit dem Schwarzlicht versuchen (!).
Die 10 LEDs sollen mit unterschiedlichen Frequenzen senden, so dass die Empfänger wissen, wer was gesendet hat.
Alle 500 Hz sieht recht stabil aus (keine Überscheidungen bei den Empfänger). Nun würde ich dies gerne auswerten.
Die erste LED startet bei 5000 Hz (um schnellstmöglich den Draht zu prüfen). Somit komm ich bei LED 10 auf 10kHz.
Als System wäre erstmal ein Arduino oder ein Raspberry geplant (es geht nur ums Forschen).
Wie würdet ihr die Empfänger und die LEDs auswerten/ansteuern?
Ein Nano pro LED/Empfänger ist kein Problem, aber ein Raspberry schon :)

Vielleicht hat jemand von euch noch ne Idee oder so?
Danke.
 
Kommt Zeit ... kommt ... immer noch nix?

Mit Schwarzlicht meinst vermutlich UV oder IR. Erzähl mal ein wenig über Deine[n] Empfänger. Was steckt dahinter und wie sieht die Schnittstelle zum Arduino bzw. RasPi aus?

Alle 500 Hz sieht recht stabil aus (keine Überscheidungen bei den Empfänger).
... bedeutet was? Hast Du's getestet? Funktioniert das nun für eine einzige der Lichtschranken gut oder für mehrere oder alle 10?
Wie stark sind die Einflüsse von benachbarten Lichtschranken? Der zu prüfende Draht reflektiert die Lichtstrahlen vermutlich so, dass alle möglichen Empfänger beeinflusst werden können?
Ohne die Umstände näher zu kennen, sehe ich da ziemlich (um auf die Farbe des Lichts zurückzukommen ;)) schwarz.
Wenn Du pro Lichtschranke nur ein digitales Signal auswerten kannst, frage ich mich, ob Du die Mischung aus gewolltem Signal und dazugemischten StörSignalen per Programm überhaupt auseinandergepfriemelt bekommst. In diesem Fall würde ich den Ansatz verfolgen, die LEDs nacheinander, also nicht gleichzeitig aufblitzen zu lassen. Vermutlich ist die Erkennung einer Unterbrechung des Drahtes dann aber nicht schnell genug?
Wie gross ist die Fläche, die Du mit dem Gitter überwachen willst und wie dick der Draht? Wieviele der Lichtschranken würden durch einen intakten Draht unterbrochen? Vermutlich schwingt der Draht innerhalb der zu überwachenden GitterFläche?
10 analoge Signale auszuwerten wäre wahrscheinlich erfolgversprechender, aber schon ein erheblich höherer Aufwand.
 
Damit die Auswertung der einzelnen Kanäle möglichst schmalbandig wird, könnte man pro Kanal einen digitalen Lock In Verstärker einsetzen.
Natürlich als Software, d. h. der uC steuert auch die LEDs.
Mit einem Raspi solltest Du da schon mehrere Känale, wenn nicht sogar alle zehn auswerten können. Brauchst aber 10 Analog-Eingänge.
Gruß
Erich
 
Im von Erich verlinkten WikiArtikel steht aber auch ...
Diese Formulierung gilt für ein sinusförmiges Referenzsignal. In der praktischen Anwendung (siehe optische Modulatoren) hat man es aber oft mit rechteckförmigen Referenzsignalen zu tun, wo das Ausgangssignal dann anders aussieht. Rechteckförmige Referenzsignale führen dazu, dass auch die ungeraden Oberwellen des Signales einen Beitrag zum Ausgangssignal erbringen, ebenso Störsignale in den entsprechenden Bändern.
RechteckSignale haben wir, unterstelle ich mal. Aber wie sieht es aus mit den "Störsignalen in entsprechenden Bändern"? Die Störsignale sind ebenfalls rechteckförmig und deren Frequenzen/Oberwellen sind "benachbart".
 
Im von Erich verlinkten WikiArtikel steht aber auch ...

RechteckSignale haben wir, unterstelle ich mal. Aber wie sieht es aus mit den "Störsignalen in entsprechenden Bändern"? Die Störsignale sind ebenfalls rechteckförmig und deren Frequenzen/Oberwellen sind "benachbart".
Stimmt, wir werden Rechtecksignale an den LEDs und am Antwortsignal haben, Wenn man den Lock In Verstärker aber mit einem zum Rechtecksignal synchronen Sinus betreibt, werden die Oberwellen (vom Signal und von den benachbarten Kanälen) unterdrückt.
Gruß
Erich
 
Ja, UV-LEDs. Diese tackte ich und empfange mit einem UV-Empfänger die Signale. Wenn ich die Taktung mit 500Hz Abstand mache, kann ich die Signale zuordnen, welcher Sensor was gesendet hat.
Damit sind Reflektionen und sonstige Abweichung erkennbar.
Die Tests haben mit 2 Sensoren und im kleinen Bereich soweit funktioniert. Mit einem konnte ich den Frequenzbereich, welche für die saubere Erkennen benötigt wird, herausfinden (5-10kHz).
Die 10 LEDs sind dann später so angeordnet, dass ich eine optimale Ausleuchtung der Messbereichs habe.
 
Ich frag mich, ob du anstelle der Frequenzen nicht mit Bitmustern arbeiten kannst.
Hmmm, willst Du die 10 analogen Eingänge durch 10 digitale ersetzen, Dieter?
Ich sehe eine Chance, dass ein Empfänger erkennen kann, von welchem Sender das Signal kommt, wenn nie mehr als ein Sender aktiv ist.
Aber dafür brauche ich nicht verschiedene Bitmuster, denn ich weiss dann sowieso, welcher Sender gerade sendet.
Wie willst Du das analoge Gemisch aus verschiedenen Bitmustern mit verschiedenen Amplituden so zu einem 1-Bit-Signal digitalisieren, dass man erkennen kann, ob gerade bestimmungsgemäss die "eigentliche" Information empfangen wird oder etwas, das sich durch die "analoge VerODERung" der (Stör-)Lichtstrahlen zufällig ergibt?

Durch die verschiedenen Bitmuster kriegst Du verschiedene FrequenzSpektren (statt verschiedener Frequenzen) oder sogar gleiche, wenn die Bitmuster nicht fein ausgeklügelt werden.
Das verkompliziert die Dekodierung, statt sie zu vereinfachen.
Das DrahtEnde soll möglichst unverzüglich und eindeutig erkannt werden, nicht erst nach langwierigen Berechnungen und/oder PlausibilitätsBetrachtungen.

Die nötige Integration am Ende der LockInMimik kostet schon Zeit, die möglicherweise von der Aufgabenstellung her gar nicht zur Verfügung steht. Weiss man's?

Gruss, Heinileini
 
@Heini
Die verschiedenen Frequenzen der Sender dienen wohl dazu die Strahlen zu trennen.
Dies kann ich auch - meiner Meinung - durch Anlegen entsprechender Bitmuster an den Sendern und Auswerten der zugehörigen Empfänger erreichen.
 
Hallo,

warum wertest du die Signale nicht nacheinander aus? Mit einer hohen Frequenz dürfte das sehr schnell gehen. Somit brauchen die Lichtsignale selbst nicht unterschieden werden. Zusätzlich könnte man noch lockin etc. nehmen wenn der keinen großen Einschwingzeiten hat.

Gruß
 
Der Draht fährt mit 30m/sec vorbei und durchläuft eine Flüssigkeit. Der Draht steht unter Strom (40A) und wenn dieser irgendwelche Abweichung hat oder reißt, muss sofort gestoppt werden.
Bis jetzt konnte kein System auf dem Markt dies erledigen, daher soll nun auf diese Anforderung genau eine Lösung her.
Im Grunde läuft meine Idee ganz gut, wenn ich pro LED+Empfänger einen Arduino einsetze. Dann ist aber die Synchronität der Daten kompliziert, was ich vermeiden will.
Je mehr Signale ein Arduino oder auch ein anderes System, auswerten kann, umso besser.
Und ich suche daher ein Arduino-Shield welches halt meine Vorgaben erfüllt :)
 
Im Grunde läuft meine Idee ganz gut, wenn ich pro LED+Empfänger einen Arduino einsetze. Dann ist aber die Synchronität der Daten kompliziert, was ich vermeiden will.
Was muss denn wozu synchron sein?
Müssen mehrere/alle Arduinos gleichzeitig die Unterbrechung erkennen?
Was genau tut so ein Arduino? Benötigt jeder Arduino die Impulse/Frequenzen aller neun anderen Arduinos? Dann kann ich mir vorstellen, dass Du evtl. Probleme mit mangelnder Synchronität bekommst.
Andererseits, das LockIn-Prinzip erfordert doch "nur", dass die "eigene" Frequenz um einen definierten Betrag phasenverschoben zur Verfügung steht. Die Signale der anderen Arduinos sind doch "StörSignale" beliebiger Frequenz und Phasenlage.

Irgendwie kann ich Dir weiterhin nicht so recht folgen, was genau schon "ganz gut" funktioniert und woran es dann dennoch scheitert.
Ich verstehe durchaus, dass Dein Problem nicht leicht zu knacken ist. Aber ich verstehe Dein Problem bzw. Deine MessAnordnung nicht so gut, dass ich eine Vorstellung davon hätte, wo man den Hebel ansetzen könnte ...

Hat das Übersprechen zwischen den 10 Lichtschranken damit zu tun, dass eine Flüssigkeit beteiligt ist und evtl. bei einer Unterbrechung des Drahtes Kavitation auftritt?
 
Hallo Krumnix,

mir fällt dazu Frequenz Spannungswandler ein. Die Eingangsfrequenz wird in eine analoge Ausgangsspannung bestimmter Größe gewandelt. Je kHz z.B. 1V. Da gibt es fertige Hutschienenmodule. Oder selber bauen mit LM2917.
Das Zweite wäre Tiefpass und Hochpass Filter. Die müssen so dimensioniert werden das sie nur die Frequenz der einen LED durchlassen. Mit einem nachgeschaltetem OP-Amp kann man dann einen High, Low Ausgang erzeugen.

Grüße Detlef
 
Zurück
Oben