-         
+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Signalumwandlung beim Senden per Infrarot

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674

    Signalumwandlung beim Senden per Infrarot

    Hallo Gemeinde, ich habe wieder eine Frage:
    Ich ahbe vor eine infrarotübertragung zu bauen, die bytes senden kann, als Bsp. 10011001.
    Ich habe mir nun Gedanken darüber gemcht, wie ich das Byte übertragen könnte. Meine Erste Idee ist folgende:
    Eine 1 wird duch kurzes einschalten des Senders, eine 0 duch längeres Einschalten des Senders definiert, zwischen den zahlen befindet sich eine kurze Pause, um die CPU die länge des Signals zu errechnen und abzuspeichern, und um dien Länge überhaupt zu definieren.

    Siehe dazu BILD 2!! (nicht 1)

    Meine Zweite Idee ist folgende, um die Zeitliche länge des Signals zu verkürzen, lasse ich die Pausen zwischen den Zahlen weg.

    Eine 1 ist ein langes, eine 0 ein kurzes Signal. Eine 1 kann sowohl durch langes einschalten, als auch langes ausschalten des Signals definiert werden.

    Siehe dazu BILD 1!!

    Natürlich habe ich auch einfach daran gedacht, das Byte einfach so zu übnertragen, also 1 = Siganl ein; 0 = Signal aus, aber was wäre z.B.: wenn ich ein Byte 00010000 habe, die CPU wüsste nciht, wo das Signal beginnt, bzw. wo es endet.
    Mit einer Initialisierung z.B. 101 am Anfang un Ende zusätzlich, wäre dieses Problem gelöst, allerdings müsste ich sicherstellen, das die CPu den Eingang immer genau dann abfragt, wenn gerade gewechselt wurd, und da ich das nicht sicherstellen kann, gefällt mir die Idee nicht.

    Wie geht es denn nun "normalerweise"?

    Sorry, dass mein Titel vielleicht nicht so passend gewählt ist.

    Danke für alle Antworten

    RCO
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 1_125.jpg   2_901.jpg  

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.01.2004
    Alter
    32
    Beiträge
    255
    Hallo!

    Schau dir mal das Protokoll RC5 (Infrarotfernbedienungen von Philipps) an. Da findest du bestimmt ein paar interessate Ideen, wie du dein Protokoll gestalten / verbessern kannst.

    Wichtig wäre, dass du die LED nicht dauernd anlässt, sondern sie z.B. mit 36kHz modulierst (also immer an und ausschaltest). Dann kannst du als Empfänger den TSOP1736 nehmen, der dir das Signal decodiert und schöne TTL Pegel liefert (du sparst dir also die ganze analoge Elektroknik um das Signal zu verstärken und hast gleich dazu noch die unempfinglichkeit gegenüber Tageslicht) ...

    Viele Grüße
    Flite

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    28
    Beiträge
    557
    Du könntest auch das RC5-Protokoll missbrauchen. Ein bestimmtes Signal steht dann halt für eine 1, und ein anderes für eine 0. Schaltungen dafür findest du hier überall. Der Nachteil wäre dann halt die Geschwindkeit, aber ich weiß nicht genau, wie schnell das abläuft.

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.01.2004
    Alter
    32
    Beiträge
    255
    Wenn es natürlich um Geschwindigkeit geht, dann kannst du auch mal das IRDA Protokoll durchschauen.

    Das ist nichts anderes als ein UART (was ja fast jeder uC eingebaut hat) und ein externer Modulator (im einfachsten Fall ein NE555 mit Peripherie), der das Signal moduliert ...

    Das ist dann von der Geschwindigkeit heua auch um einiges besser. Außerdem lässt sich die Fehlererkennung des UART auch gleich mit ausnutzen ...

    Grüße
    Flite

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.06.2004
    Ort
    Rhein-Neckar-Raum
    Beiträge
    504
    Eine ganz andere Möglichkeit wäre es, einen Modemchip für niedrige Baudrate (1200) zu nehmen. Dort sind Oszillatoren und Filter bereits drin, die das serielle Signal in Tonfrequenzen umsetzen und die Tonfrequenzen wieder in Logikpegel. Diese Tronfrequenzen müssten sich nicht nur mit dem Telefon sonderen auch mit Infrarot gut übertragen lassen. Vorteil: Wenn du einen Controller mit serieller Schnittstelle hast, kannst du den Modemchip einfach dort anschließen. Da die Übertragung im Sprachband stattfindet, kannst du sie sogar mit dem PC-Lautsprecher hörbar machen. Außerdem hast du stets eine Kontrolle ob die Verbindung zum Sender noch da ist, weil der Modemchip unterschiedliche Frequenzen für 0 und 1 verwendet. Du hast also auch in den Übertragungspausen stets ein Carrier-Signal (DCD) vom Modemchip. Der TSOP arbeitet dagegen nur mit einer Frequenz. Der Carrier selbst wird einfach ein- und ausgeschaltet.

    Datenblätter von Modem-IC's http://www.cmlmicro.com
    1200er Modem-ICs findest du in alten ausgedienten 1200-er Modem, Akustikkoppler , Faxgeräte, BTX-Geräte etc..

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    @ Flite:

    Ja das mit dem Modulieren ist klar, ich hab einen empfänger, weis nicht genau welchen, aber hab einfach ein bisschen rumprobiert, bis ich ne passende Frequenz für den Sender hatte. Wenn die Diode sendet, gibt der Empfänger halt auch die ganze Zeit ne 1 aus.
    Den TSOP wollte ich auch mal ausprobiern, aber versuch es erstmal mit meinem, der schafft problemlos nen par Meter.

    Wieviel Strom sollte der Sender ungefähr ziehen? Meiner zeiht bei 5V ungefähr 50mA.

    @ Trabukh:

    Wo finde ich den diese Protokoll, und wie sieht es aus?

    @ Flite: Was ist UART? den NE555 verwende ich zur zeit, und kann mit Hilfe eines Transistors, der Am Ausgang des MCs liegt den Sender ein/ausschalten.

    @ Avatar:

    Das ist mir gelube ich ein Wenig zu aufwendig, wollte das ganze möglichst vielfach und einfach bauen.

    @ All:

    Probleme habe ich immer noch mit dem Empfangprotokoll, wie sollte so ein progemm z.B. in Basic aussehen?

    Danke für die Antworten.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.01.2004
    Alter
    32
    Beiträge
    255
    Hallo RCO,

    das UART ist die serielle Schnittstelle (wie RS232 - nur mit TTL Pegeln). Damit kannst du dann eine serielle Verbindung per Infrarot aufbauen, wenn du das Signal modulierst. Ist recht einfach und zudem noch kompatibel zu allen anderne IRDA Geräten. Google mal nach IRDA ...

    Grüße
    Flite

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Danke, kannst du mir noch die 2 Fragen beantworten?

    1. Wieviel Strom sollte der Sender ungefähr ziehen? Meiner zeiht bei 5V ungefähr 50mA.

    2. Wo finde ich den diese Protokoll (RC5), und wie sieht es aus? Oder Informationen zu RC5?

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    28
    Beiträge
    557
    RC5:
    Der Empfänger könnte so gehen: http://www.roboternetz.de/phpBB2/viewtopic.php?t=812
    Der Sender ist noch einfacher: Nimm ne IR-LED (z.B. LD274), häng nen Vorwiderstand dran und schließ das an einen Port an. Die nötige Frequenz wird in Bascom softwareseitig erzeugt, in dem du den Befehl RC5SEND benutzt. Wenn du den Artikel vom Empfänger durchgelesen hat, wirst du schon wissen, wie ich das mit der 1 und der 0 meinte.

    Gruß, Trabukh
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Danke, das bringt mich weiter, aber wie sieht das Signal des Senders aus? (ähnlich wie mine oben?)

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •