ich habe bestimmt eine für diesen Bereich leicht zu beantwortende Frage, bei der mir selbst leider die Erfahrung/Ausbildung fehlt :)
Ich habe ein IR Signal. Die Frequenz ist die Information, die ich mit einem STM32 verarbeiten möchte. Jetzt habe ich einen NPN Phototransistor und einen PullUp 10k verwendet. Immer wenn das Signal kommt, sollte es Low sein. Leider dauert es zu lange, bis das Signal wieder High ist, um sinnvolle Resultate zu erhalten. Es handelt sich um ein Signal mit ca. 20kHz.
Jetzt habe ich etwas gegooglet und habe 2 Lösungen gefunden, bei denen ich aber nicht weiß, ob sie funktionieren. Zum einen mit einem LM393 Komperator, bei dem ich einige Widerstände benötige und dann auch noch keine genaue Berechnung gefunden habe, wie ich diese auslege. Also Spannungsteiler ist easy aber der Pullup am Ausgang oder die Rückführung. Zum Anderen soll es auch mit einem 74HC14 Schmitt Trigger gehen. Hier bin ich mir aber unsicher wie der Pullup ausgelegt werden soll, damit das Signal vernünftig High oder Low ist.
Könnt ihr mir hier direkt sagen, welche Methode vielversprechender ist oder habt ihr noch weitere gute Ideen, die mir hier weiterhelfen.
Ja, 20kHz schafft man mit Ach und Krach per Phototransistor, zumindest wenn man an den Basisanschluss kommt und viel Licht hat, aber warum soll man sich das antun.
Hast du vielleicht ein Problem mit Fremdlicht?
Dann brauchst du eine Schaltung die den Arbeitspunkt
reguliert. Kann man mit einen Transistor machen. Der
wird dann statt dem Pullupwiderstand eingesetzt.
Hi Michael, danke für die Antwort. Das werde ich prüfen. Wie ich das auf den ersten Blick verstehe, soll der Strom durch den Lichteinfall mit dem Transimpedanz verstärker gemessen werden, anstelle das Öffnen und Schließen auf verschiedene Spannungsniveaus?
Ja, 20kHz schafft man mit Ach und Krach per Phototransistor, zumindest
wenn man an den Basisanschluss kommt und viel Licht hat, aber warum soll
man sich das antun.
Sehe ich nicht so. Mit 7us rise / fall time ist der schnell genug. Unzählige fernbedienbare Multimediageräte beweisen, dass es geht.
Viel besser sind an der Stelle aber fertige IR Receiver die auch eine AGC haben. Hat der Transistor nicht. Ist deswegen doof bei Fremdlicht und sich verändernden Signalpegeln.
Ich habe leider sehr engen Raum bei der Diode. Nur ein paar Millimeter dahinter. Rechts und links höchstens micrometer. Ein fertiges Modul müsste ich auseinander basteln.
an Günter, den Kondensator benötige ich, damit der Transistor noch schaltet, obwohl die Diode schon kein Signal mehr erhält?
an Christoph, das Signal ist ein ca 30 bis 32 Microsekunden langer Impuls des Emitters. Die Zeiten zwischen den Impulsen (in meinem Fall die fallenden Flanken) signalisieren Werte. Also wenn die Flanken mit 60 Mikrosekunden Abstand kommen, dann bedeutet das zum Beispiel 'Fehler', wenn sie mit 80 Mikrosekunden Abstand kommen, dann bedeutet es 'Reset' usw. Das zieht sich bis zu ca. 1ms langer Flankenabstand. Mit meiner gezeigten Schaltung bekomme ich jedoch leider erst bei ca. 250ms langen Flankenabständen ein verarbeitbare Signal. Davor ist die Zeitkonstante, bis das Signal wieder auf High ist, zu kurz, um es auswerten zu können. Ich bin dann erst wieder bei 50% obwohl der nächste Impuls kommt und das Signal wieder auf LOW zieht.
oder habt ihr noch weitere gute Ideen, die mir hier weiterhelfen.
Dein Problem ist der Miller-Effekt am Phototransistor, also der große Spannungshub. Man könnte die Schaltung um einen Transistor erweitern, um den Spannungshub am Phototransistor auf Ube~0,7V zu begrenzen. Damit wird die Schaltung um den Faktor ~10 schneller und das Signal invertiert. Siehe Anhang, rote Kurve = obere Schaltung, grüne Kurve = untere Schaltung, blau = Signalquelle.
Scheibe um Scheibe wird angedeutet, sodaß es die ganze Wurst wohl erst am Freitag gibt.
SFH309 scheint wohl festzustehen. Irgendwo tauchte auch STM32 auf.
Dein Problem ist der Miller-Effekt am Phototransistor, also der große
Spannungshub.
Auch die rote Kurve sollte kein Problem sein.
STM32-Controller haben eingangsseitig Schmitttrigger, sodaß bei einer Versorgungsspannung von typ. 3,3 V die Schaltschwellen bei ca. 1,5 V liegen. Es ist somit kein großer Spannungshub notwendig, sondern vielmehr, den Transistor in den richtigen Arbeitspunkt zu bringen. Einfach nur 10 kOhm zu probieren und dann gleich um Hilfe zu rufen, weil es nicht passt, ist schon recht wenig Eigenleistung.
wird die Schaltung um den Faktor ~10 schneller und das Signal
invertiert
Falls das Signal nicht invertiert werden soll, nimmt man einen PNP-Transistor. Die Schaltung hat sonst die gleichen Eigenschaften wie oben, auch die Farben.
Mit meiner
gezeigten Schaltung bekomme ich jedoch leider erst bei ca. 250ms langen
Flankenabständen ein verarbeitbare Signal. Davor ist die Zeitkonstante,
bis das Signal wieder auf High ist, zu kurz, um es auswerten zu können.
Der Phototransistor wird durch den Spannungshub zu langsam:
Mit Deiner roten Kurve zeigst Du doch, daß die Geschwindigkeit kein Problem ist. Es soll die Frequenz und nicht die Pulsweite ausgewertet werden. Das von Dir gezeigte Signal kann man direkt auf einen STM32-Eingang geben.
Aber keine Ahnung, was der TO so zusammengeschraubt hat und welche Nebenbedingungen herrschen. Da können die Leute mit ihren Retro-Glaskugeln mehr zu sagen/labern.
oder habt ihr noch weitere gute Ideen, die mir hier weiterhelfen.
Dein Problem ist der Miller-Effekt am Phototransistor, also der große
Spannungshub. Man könnte die Schaltung um einen Transistor erweitern, um
den Spannungshub am Phototransistor auf Ube~0,7V zu begrenzen. Damit
wird die Schaltung um den Faktor ~10 schneller und das Signal
invertiert. Siehe Anhang, rote Kurve = obere Schaltung, grüne Kurve =
untere Schaltung, blau = Signalquelle.
Das sieht vielversprechend aus. Danke. Das sind schon einige gute Tipps. Ob es invertiert oder nicht, ist nicht relevant. Kannst du mir sagen, wo ich die Formeln finde zur Berechnung der Ströme und Spannungen mit den Transistoren?
Auch in einer idealen Welt sollten analoge Signale sauber sein. Noch ein wenig Rauschen am Receiver und der STM32 liest das Morsealphabet. Deswegen geht es ja gerade nicht gut. Vor allem die Unterscheidung zwischen 50 Microsekunden und 70 Microsekunden ist dann ein Ratespiel. Wofür gibt es denn die Analogtechnik
wo
ich die Formeln finde zur Berechnung der Ströme und Spannungen mit den
Transistoren?
Die Versorgungsspannung gibst du vor. Den 10k-Widerstand musst du dann ausprobieren, weil sein Wert von den Eigenschaften der IR-Strecke und den beteiligten Bauteilen abhängt, rechnen kannst du da vergessen, zu viele Unbekannte.
an Christoph, das Signal ist ein ca 30 bis 32 Microsekunden langer
Impuls des Emitters. Die Zeiten zwischen den Impulsen (in meinem Fall
die fallenden Flanken) signalisieren Werte. Also wenn die Flanken mit 60
Mikrosekunden Abstand kommen, dann bedeutet das zum Beispiel 'Fehler',
wenn sie mit 80 Mikrosekunden Abstand kommen, dann bedeutet es 'Reset'
usw. Das zieht sich bis zu ca. 1ms langer Flankenabstand. Mit meiner
gezeigten Schaltung bekomme ich jedoch leider erst bei ca. 250ms langen
Flankenabständen ein verarbeitbare Signal. Davor ist die Zeitkonstante,
bis das Signal wieder auf High ist, zu kurz, um es auswerten zu können.
Ich bin dann erst wieder bei 50% obwohl der nächste Impuls kommt und das
Signal wieder auf LOW zieht.
Das Konzept ist grundsätzlich super ungünstig. Wenn du Senderseitig irgendwas noch tun kannst - tu es!
Probleme sind konkret: Wenn du keine halbwegs feste Trägerfrequenz hast und dein "Duty Cycle" über Größenordnungen variieren kann, ist das Thema AGC quasi unmöglich.
In der Folge heißt das, du musst mit stark variierenden Eingangspegeln leben zum einen vom Signal selbst übers das Abstandsquadratgesetz zum anderen die Umgebungslichtpegel. da sind beides schnell auch mehrere Größenordnungen. Wie willst du denn da sinvolle Triggerschwellen setzen. Du kannst einen TIA nehmen mit DC servo (integrator, fg 1-10Hz) wenn das 1Khz tatäschlich deine maximale Periodendauer ist. Dann bleibt aber immernoch der große dynamische Bereich im digitalen. Da AGC nicht geht müsstest du so hoch verstärkern, dass es für große Lichtpegel deutlich übersteurt was auf Kosten der Geschwindigkeit geht
Du siehst also, das Konzept ist so wie es ist Grütze. Nicht ohne Grund macht man sowas normal mit Trägerfrequenz.