PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Modulation / Demudaltion...



Manu_91
14.12.2008, 12:53
Einen schönen Sonntag euch allen da draußen :)

Ich hab mich in der letzten Zeit ein wenig mit IR beschäftigt.
Ich möchte einen Sensor bauen, der entsprechend der Intensität des Strahls eine Spannung ausgibt, die ich am AD-Port meines Atmega32 auswerten kann.

Um den Fremdlichteinfluss zu minimieren wollte ich das Signal modulieren und beim Empfänger dann wieder demodulieren.

Bisher sieht das ganze so aus:
Ich habe einen astabilen Multivibrator mit IR-Led und nem NE555 gebaut.
"blinkt" auch schön... (--> http://www.ferromel.de/tronic_14.htm ähnlich Bild 2)
Auf der Seite steht auch die Formel, mit der sich die Frequenz berechnen lässt.
Als Empfänger dient mir momentan eine IR-Fotodiode mit OpAmp.
Funktioniert ganz gut, hat bloß noch keine Filterung...

Jetzt tun sich mir einige Fragen auf:
1) Wenn ich die LED nun in einer bestimmten Frequenz(z.B. 30kHz) blinken lasse, lässt sich das Empfängersignal dann mit RC-Gliedern, deren Werte ich passend zu o.g. Frequenz berechnet habe herausfiltern?

2) Welche Frequenz wäre optimal?
In Fernbedienungen wird ja meistens ca. 38kHz verwendet.
Haben normale Lampen oder das Tageslicht eine bestimmte Frequenz?

danke schonmal für euere Antworten ;)

Fisch0r
14.12.2008, 13:36
Welche Art der Modulation möchtest du denn benutzen? Frequenzmodulation oder Amplitudenmodulation oder ... ?

Besserwessi
14.12.2008, 14:28
Das tageslicht ist ziehlich konstant von der 24 Studen Periode mal abgesehen, das gibt daher wenig Probleme. Glühlampen haben eine Anteil bei 100 Hz, sonst relativ wenig Modulation. Leuchtstöffröhren geben auch kein gleichmäßiges Licht ab. Da sollteman 50 Hz,100 Hz,150 Hz ... finden wenn die mit einer klassischen Drossel arbeiten. Bei Lampen it HF Schaltung (viele Energiesparlampen) sind die Frequenzen höher, aber die Modulation eher nicht so stark. Insgesamt sollten Energiesparlampen auch eher wenig IR Licht abgeben.

Die Frequnez zur Modulation sollte man nicht zu hoch wählen, das macht die OP Schaltung schwieriger. Ich würde ruhig bei etwa 500Hz-5 kHz bleiben. Die Frequenz würde ich wenn möglich vom gleichen Controller erzeugen, der das Signal dann auch empfangen soll. Dann kann man nämlich die AD Wandlung mit dem IR Signal Syncron haben und kann so sehr gut zwischen dem eignen IR Signal und anderen Störungen unterscheiden. Im einfachsten Fall wird der AD wandler mit der doppelten Frequenz des IR Signals abgefragt. Die Werte des AD Wadlers werden dann abwechslend addiert bzw. subtrahiert um die Amplitude zu messen.

Als Filterung sollten RC Glieder (z.B. Bandpass 2ter Ordnung, ggf. 1 Hochpass dazu) ausreichen. Der analoge Filter muß ja nur die Störungen grob soweit unterdrücken das der AD wandler nicht an die Grenzen kommt. Das feine kann der µC besser digital.

Manu_91
14.12.2008, 16:36
Vielen dank für die Umfangreiche Hilfe ;)

Die Art der Modulation spielt bei mir keine wirkliche Rolle, weil schließlich keine Daten übertragen werden sollen, sondern ein konstantes Signal.
Also ändert sich beim Sender weder die Amplitude noch die Frequenz.

Ich werde dann heute mal die Schaltung für die analoge Filterung + Verstärkung entwerfen.

Das Signal wird normalerweise nicht von dem selben Microcontroller erzeugt + ausgewertet.

Ich habe mir jedoch einmal folgendes überlegt:

Der Roboter(eig. Empfänger) sendet ein Signal, welches dann von der Station, die er orten soll empfangen, grob analog auf eine bestimmte Frequenz gefiltert und anschließend verstärkt und zurückgesendet wird.
Was haltet ihr davon?

Ansonsten wäre es auch möglich mehrere Messungen zu machen und dann die Werte nehmen, die maximal sind und wiederkehren. Das wäre zwar ein wenig mehr Programmieraufwand - davor schrecke ich jedoch nicht zurück.

Naja vielen Dank schonmal soweit...

Ich werde euch dann bald ein wenig Rückmeldung geben :)

Besserwessi
14.12.2008, 17:18
Wenn man die Frequenz des gesendeten Signals gut kennt, geht das auch noch ganz gut mit einem unabhängigen Sender. Ein Quarz auf beiden seiten sollte ja nicht das Problem sein. Das Programm wird etwas aufwendiger (etwa doppelt so lang) und man kriegt etwas (2 mal, bei der einfachen Lösung) mehr Störungen. Das ist aber nicht das Problem. Die Empfängerseite muß dann eine Art Tondekoder betreiben. Hatte Gestern eine ähnliche Frage, kann den Task nicht finden.

edit: doch gefunden:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=44797&highlight=