mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TSOP1138 IR-Receiver-Signal "kippt um" an STM32


Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem, bei dem mir langsam die Lösungsideen ausgehen.
Ein TSOP1138 IR-Receiver (http://www.vishay.com/docs/82006/tsop11xx.pdf) 
ist an einen digitalen Eingang meines STM32 angeschlossen.

Wenn die IR-Signalquelle an den Sensor angenähert wird, sinkt das 
Tastverhältnis des Ausgangssignal immer weiter.
Ist die Quelle nur noch 5cm vom Receiver entfernt springt das 
Tastverhältnis auf einmal von 20% auf 80%, was eigentlich einer Distanz 
von zwei Metern entspricht.

Dieses Verhalten zeigt der Sensor diskret aufgebaut am Oszi nicht, nur 
wenn er am STM32 angeschlossen ist.
Ich habe schon die unterschiedlichen Eingangskonfigurationen floating, 
pulled-down und -up erfolglos getestet.

Habt ihr eine Idee, warum solch ein Fehler auftreten könnte?

Besten Dank!

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum ist das Tastverhältnis wichtig ?

Ohne jetzt ins Datenblatt geschaut zu haben:
Du betrachtest beim Auswerten normalerweise doch nur Zeit zwischen zwei 
GLEICHEN Flanken.

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nop schrieb:
> Und warum ist das Tastverhältnis wichtig ?
>
> Ohne jetzt ins Datenblatt geschaut zu haben:
> Du betrachtest beim Auswerten normalerweise doch nur Zeit zwischen zwei
> GLEICHEN Flanken.

?!? Wenn sich das Tastverhaeltnis aendert, aendert sich doch automatisch 
auch die Zeit zwischen den Flanken... Oder sehe ich da was falsch? 
Abgesehen davon haengt es natuerlich vom Protokoll ab, was man 
betrachten muss.

Um Missverstaendnissen vorzubeugen: Du hattest am Oszi den selben Aufbau 
wie am Controller (also selbe Spannungsversorgung und externe 
Beschaltung)? Externe Beschaltung wie im Datenblatt vorgeschlagen mit R 
und C?

Volker

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder gib uns doch mal moeglichst viele Infos auf einmal, damit wir Dir 
schneller helfen koennen... ;)

- Aufbau der Schaltung?
- Beschreibung der Signalquelle?
- Protokoll?
- Allgemeines Ziel?
- Umgebung?

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

erst einmal vielen Dank für die Rückmeldung!

Der Sensor soll kein Datenprotokoll auswerten, sondern den Abstand bzw. 
Winkel zu einer IR-Quelle ermitteln: 
http://image.rakuten.co.jp/edenki/cabinet/hobby-r/... (Modus 
A)

Der TSOP arbeitet mit 5V, der STM allerdings mit 3,3V, besitzt aber 
5V-kompatible Eingänge.

Mit 3,7V Versorgungsspannung funktioniert der TSOP gerade noch. 
Allerdings zeigt sich bei dieser Spannung das gleiche Problem.

Es scheint, dass die Spannungsdifferenz eher unwahrscheinlich das 
Problem ist.

Die im Datenblatt (optional) empfohlen Widerstände und Kondensatoren 
ändern ebenfalls nichts.

Sowohl am Oszi als auch auf meiner Platine wird der TSOP mit 5V 
versorgt, ohne zusätzliche Bauteile (Widerstände/Kondensatoren). Nur der 
Signalausgang ist einmal am Oszi und einmal am STM angeschlossen.
Getestet wurde auf dem Schreibtisch ohne direktes Sonnenlicht unter 
gleichen Bedingungen. Beim Annähern des Balls sinkt der Mittelwert auf 
bis zu 1,7V und springt dann auf 3,5V.

Das Ziel ist, den Abstand zur IR-Quelle (auch unter 5cm) zu bestimmen.

Autor: nop (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der TSOP ist einfach das falsche Bauteil für diesen Zweck... der ist auf 
Datenübertragung optimiert. Und wie gesagt, dort ist das Tastverhältnis 
uninteressant.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur ein Teil der Pins ist 5V-kompatibel.

Miss mal den Strom auf der Signalleitung. Mir ist das beim STM32 zwar 
nicht begegnet, aber beispielsweise bei einigen LM3 fliesst trotz 
5V-kompatiblen Eingang deutlich Strom.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das Ziel ist, den Abstand zur IR-Quelle (auch unter 5cm) zu bestimmen.

Der kann überhaupt keine Entfernungen bestimmen. Das ist ein 
Fernbedienungsempfänger der mit 38kHz modulierte Signale wieder 
demoduliert. Eine Entfernungsabhängigkeit wäre dabei absolut 
kontraproduktiv.

Aber lass mich trotzdem mal raten: Dein Sender strahlt ein 
kontinuierliches 38kHz-Signal ab.

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>Das Ziel ist, den Abstand zur IR-Quelle (auch unter 5cm) zu bestimmen.
>
> Der kann überhaupt keine Entfernungen bestimmen. Das ist ein
> Fernbedienungsempfänger der mit 38kHz modulierte Signale wieder
> demoduliert. Eine Entfernungsabhängigkeit wäre dabei absolut
> kontraproduktiv.
>
> Aber lass mich trotzdem mal raten: Dein Sender strahlt ein
> kontinuierliches 38kHz-Signal ab.
>
> MfG Spess

Das hatte ich jetzt auch zuerst gedacht. Ich glaube aber dass er quasi 
eine PWM auf das 38KHz-Signal moduliert um die Entfernung zu 
uebertragen, nicht um sie festzustellen... Oder?

Volker

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das hatte ich jetzt auch zuerst gedacht. Ich glaube aber dass er quasi
>eine PWM auf das 38KHz-Signal moduliert um die Entfernung zu
>uebertragen, nicht um sie festzustellen... Oder?

Dem würde dieser Satz widersprechen.

>Beim Annähern des Balls sinkt der Mittelwert auf
>bis zu 1,7V und springt dann auf 3,5V.

Aber ich habe da schon eine Vermutung.

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>>Das hatte ich jetzt auch zuerst gedacht. Ich glaube aber dass er quasi
>>eine PWM auf das 38KHz-Signal moduliert um die Entfernung zu
>>uebertragen, nicht um sie festzustellen... Oder?
>
> Dem würde dieser Satz widersprechen.
>
>>Beim Annähern des Balls sinkt der Mittelwert auf
>>bis zu 1,7V und springt dann auf 3,5V.
>
> Aber ich habe da schon eine Vermutung.
>
> MfG Spess

Das Widerspricht nicht, das waere dann der Mittelwert der aufmodulierten 
PWM. Ginge doch theoretisch... Und irgendwann wird das aufmodulierte 
Tastverhaeltnis zu klein fuer den TSOP und es wird Mist ausgegeben... 
Die Frage ist natuerlich, warum es am Oszi funktioniert... ;)

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Einsatzzweck ist ein mobiler Roboter, der einem mit IR-Dioden 
bestücktem Ball folgen soll 
(http://www.robokit.co.il/images/RCJ-05SPIC.jpg). Neben der groben 
Distanz zum Ball ist auch der Winkel interessant. Rings um den Roboter 
sind die TSOPs verteilt, die in ihrem Blickfeld durch kleine Gehäuse 
stark eingeschränkt werden.

Auf der 40kHz Trägerfrequenz findet eine Amplitudenmodulation statt, die 
eine grobe Entfernungsmessung zulässt.

Das nur zum besseren Verständnis, das eigentlich Problem liegt ja 
zwischen Sensor und STM32 und nicht zwischen Sender und Sensor.

Die Spannung des Signals habe ich schon auf 3,7V abgesenkt bekommen, 
damit sollte ja auch ein 3,3V-Eingang zurecht kommen. Ich werde den 
Strom aber noch messen.

Viel Spaß beim Rätselraten! ;-)

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Elektronische Komponenten machen ja die merkwuerdigsten Dinge, wenn sie 
ausserhalb ihrer Spezifikation bzw. ihres Verwendungszwecks betrieben 
werden. Und spaetestens jetzt klingt es so, als waere das der Fall.

Der TSOP soll auf ein XX KHz Rechtecksignal(!) aufmodulierte Daten 
demodulieren. Dabei benutzt er weiterhin eine AGC, die ein Schwanken des 
Scheitelwerts des Rechtecksignals verhindern soll... Keine Ahnung, wie 
Du damit eine Amplitudenmodulation auswerten willst.

Wenn das Ganze am Oszi aber tatsaechlich funktioniert (und auch am 
Controller in gewissen Bereichen), ist das Problem wohl wirklich 
zwischen Sensor und STM zu suchen.

Kann Dir leider an dieser Stelle auch nicht mehr weiterhelfen... Sorry!

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Volker,

die Amplitude direkt kann nicht gemessen werden. Wenn sich der Ball aber 
entfernt vom Sensor befindet, empfängt der TSOP die schwachen Impulse 
(teilweise) nicht mehr.

Das Problem scheint aber wirklich das Rechtecksignal am Eingang des STM 
zu sein.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das Problem scheint aber wirklich das Rechtecksignal am Eingang des STM
>zu sein.

Dann stellt sich natürlich die Frage, wie du das auswertest?

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
T13 schrieb:
> Hallo Volker,
>
> die Amplitude direkt kann nicht gemessen werden. Wenn sich der Ball aber
> entfernt vom Sensor befindet, empfängt der TSOP die schwachen Impulse
> (teilweise) nicht mehr.

Aber das ist doch dann durch die AGC alleine schon eher eine 
"Schaetz-Loesung", oder?

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Signal wird quasi integriert. Aber wenn ich mit dem Oszi das Signal 
auf dem Board messe, sehe ich den Fehler auch. Es sollte also nicht 
direkt an der Auswertung liegen.

Eine genau Entfernungsmessung ist dadurch nicht möglich, aber bis zu der 
problematischen Grenze verfolgt der Roboter den Ball recht ordentlich.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das Signal wird quasi integriert. Aber wenn ich mit dem Oszi das Signal
>auf dem Board messe, sehe ich den Fehler auch. Es sollte also nicht
>direkt an der Auswertung liegen.

Deine Quellenangaben belaufen sich auf ein paar lapidare Diagramme. Da 
das ganze offensichtlich nicht auf deinem Mist gewachsen ist, wären mal 
die Originalquellen interessant. Stimmt der Aufbau und Bestückung deines 
Balls mit dem Original überein?

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt weiss natuerlich auch keiner wie schnell die AGC ueberhaupt 
nachregelt... Automatiken sind halt immer tueckisch! ;)

Wenn es aber bis zur genannten Entfernung ausreichend gut funktioniert, 
koennte der Fehler auch darin liegen, dass der TSOP seine 
"Erholungsphase" nicht mehr bekommt, weil er fast alle Amplituden 
erkennt. Steht auch irgendwo im Datenblatt unter "Required gap time" 
oder so...

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich setze den originalen Ball ein und da der Sensor am Oszi 
funktioniert, schließe ich die Erkennung des IR-Signals als Fehler aus.

Selbst wenn der Sensor alle Impulse empfängt, bekommt er noch eine 346µs 
lange Pause.

Der STM muss den TSOP also irgendwie "stören", wodurch dieser Fehler 
auftritt.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Langsam wird es mir zu dumm, dir irgendwelche Würmer aus der Nase ziehen 
zu wollen. Also behalte sie drin.

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat so'n STM interne Pull-Ups? Sind die deaktiviert?

Volker

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

@Volker

Der TSOP hat schon einen drin

MfG Spess

Autor: Volker Schulz (volkerschulz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
> @Volker
>
> Der TSOP hat schon einen drin
>
> MfG Spess

Das weiss ich, deswegen DEaktiviert... Aber is ja schon spaet, bin auch 
kurz vor kopftot...

Volker

Autor: T13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht, von welchen Würmern du sprichst ...
Ein funktionierender Sensor wird am STM angeschlossen und funktioniert 
dann (in einem bestimmten Bereich) nicht mehr.

"Ich habe schon die unterschiedlichen Eingangskonfigurationen floating,
pulled-down und -up erfolglos getestet."

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Ich weiß nicht, von welchen Würmern du sprichst ...

Meine Frage von 22:26 gelesen?

MfG Spess

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.