-         

Ergebnis 1 bis 10 von 10

Thema: Mega8 schnell genug für 38kHz IR-Signal?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.04.2008
    Ort
    Esslingen
    Alter
    29
    Beiträge
    235

    Mega8 schnell genug für 38kHz IR-Signal?

    Anzeige

    hi @ all
    folgende Frage:
    Ich hab nen Port meines Mega8 mit einem IR-Empfänger beschaltet. Pegel wechselt immer von High nach Low je nach Signal. Jetzt ist meine Frage ob der µC schnell genug wäre, ein IR-Signal aus einer TV-Fernbedienung aufzunehmen (38Khz), der µC selber ist mit 16Mhz beschaltet. Hab ein Programm geschrieben was dann mit einem Timer die Zeit zählt, wie lange der Pegel Low oder High ansteht. Dieser Wert wird dann gespeichert und soll später wieder ausgegeben werden. Wäre das prinzipiell möglich?

    Mfg

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Hallo

    Ich hab nen Port meines Mega8 mit einem IR-Empfänger beschaltet.
    Wenn du einen TOSP verwendest wird die Trägerfrequenz von diesem schon entfernt, am Ausgang kommen dann nur noch die Datenbits raus.

    Auch nur mit einem IR-Transistor bestückt ist dein 16MHz-Mega8 schnell genug die Daten selbst zu dekodieren wenn er nicht zuviele andere Aufgaben nebenher erledigen muss. Bei 16000000/38000 hast du über 400 Takte zeit den Pegelwechsel am Pin zu erkennen und auszuwerten.

    Ich kenne bisher nur den Aufbau von RC5-Signalen. Die werden meist mit 36kHz Trägerfrequenz gesendet (die Bitlänge ist aber variabel und als Bruchteil der Trägerfrequenz definiert = funzt auch mit 38kHz). Die Datenbits werden mit Manchestercodierung gesendet, dabei wird die Flanke ausgewertet, absteigend ist low, aufsteigend ein high.

    Ich hoffe, das bringt dich auf den Weg.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.04.2008
    Ort
    Esslingen
    Alter
    29
    Beiträge
    235
    ja super danke das reicht mir schon wollte nur wissen ob ich das Signal überhaupt aufgezeichnet bekomme. danke für die antwort

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.04.2008
    Ort
    Esslingen
    Alter
    29
    Beiträge
    235
    sooo hab es geschafft signale reinzubekommen wenn ich mit der fernbedienung signale sende. verwende einen TSOP-1738. den versorge ich mit 5V und der ausgangspin ist an einen INPUT meines µC geschaltet. nun hab ich zum vergleichen mal ein gesendetes signal mit nem oszilloskop aufgenommen. das problem ist dass sich die signale in den impulsdauern und auch in den nicht-impulsdauern total unterscheiden. nun stellt sich die frage ob ich den TSOP-1738 einfach an den µC schalten kann oder ob ich da noch was zwischenschalten muss. auch wenn das thema eher zu hardware gehört hoffe ich dass ihr mir helfen könnt.

    Mfg

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2007
    Ort
    München
    Alter
    54
    Beiträge
    198
    Man braucht keine Beschaltung zwischen IR-Empfänger und µC-Pin.

    Schön ist es, wenn man den Infrarot-Empfänger direkt an einen Pin mit externem Interupt anschließt, z.B. INT2.

    Dafür habe ich folgende schöne Interrupt Service Routinen für einen ATMEGA16 codiert, und zwar für RC5 Code und für REC80 Code.

    In dem header file humax.h stehen z.B. die Codes einer Humax Fernbedienung als defines drin.

    Gruß, uffi.
    Angehängte Dateien Angehängte Dateien

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.04.2008
    Ort
    Esslingen
    Alter
    29
    Beiträge
    235
    ja hab mich auch grad mal schlau gemacht und was über rc5-code gelesen. danke für die schnelle antwort werd ich mir zuhause mal anschauen=)

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Hi, MelMan,

    Zitat Zitat von MelMan
    ... problem .. signale in den impulsdauern und ... nicht-impulsdauern total unterscheiden ...
    Steht im Datenblatt. Guck mal so im Bereich Seite 3 ff: • Burst length should be 10 cycles/burst or longer. Das machen diese Fernsteuerungs-IR-Empfänger (viele).

    Klartext: wenn der TSOP so etwa 10 Pulse zu 38 kHz empfängt, dann rafft er es endlich, dass da ein Signal kommt und geht auf low. Das ist so gewollt, um Einflüsse von Tageslicht und/oder Fremdlicht auszuschalten. Dieses Signal kannst Du einfach an den µC geben - Du bekommst sozusagen in dieser 38kHz-Tonart die viel langsameren Byte-Bits der Fernsteuerung durch den TSOP gleich dekodiert angeliefert. Aber ich vermute, dass Du diese Signale einfach weitergeben willst, oder? So ne Art Relaisstation. Dann müsstest Du diese Signalen wieder auf eine 38kHz-Trägerfrequenz aufmodulieren.

    Zitat Zitat von MelMan
    ... den TSOP-1738 einfach an den µC schalten ... oder ... was zwischenschalten muss ...
    Das Signal vom TSOP ist doch TTL-Pegel. Also musst Du nichts dazwischenschalten. Du bekommst vom TSOP nur eben nicht das vollständige, modulierte 38kHz-Signal von der Sendediode.

    RTFM und viel Erfolg
    Ciao sagt der JoeamBerg

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.04.2008
    Ort
    Esslingen
    Alter
    29
    Beiträge
    235
    Ich möchte das Signal gerne speichern sodass ich es immer wieder weitergeben kann. Aber danke für den Tip mit dem modulierten Signal. Ich dachte ich kann einfach das, was ich empfange auch wieder auf einen OUTPUT-Pin geben und mit einer IR-Diode senden. Dann werd ich mich da noch mal schlau machen=) Thx

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551
    Hi MelMan,

    Zitat Zitat von MelMan
    ... Signal ... speichern ... immer wieder weitergeben ...
    Vielleicht nochn paar Tips:

    Du empfängst also vom Empfängerchip einen "01011010...." binären Code. Den möchstest Du ja weitergeben - also musst Du diese "0101...." Folge wieder in eine modulierte Folge auf dem 38kHz-Träger umwandeln.

    Zur Schaltung der "Sendediode" wenn Du die Daten senden willst: Hol Dir das Handbuch vom asuro und guck dort im Schaltplan (auf den hinteren Seiten) nach, wie die das machen. Zum Senden ist dort eine SFH415 als Sender und ein SFH5110 als Empfänger eingesetzt. Wenn Du HIlfe dazu brauchst, z.B. zu der Software, dann stöber mal im Forum nach der asurolib. Dort ist die Initialisierung der IR-LED enthalten (die läuft beim asuro aber mit 36 kHz) und auch die Schalterei der Ausgänge, damit die LED entsprechende Bursts mit den nötigen Pulsen macht. Du musst darauf achten, dass Du Bursts mit mindestens 10 oder etwas mehr Pulsen fährst - und dass Du beim Senden immer wieder Pausen machst mit der LED, schau in der Dokumentation vom TSOP nach. Der TSOP ist in dieser Hinsicht dämlich, der SFH5110 macht eigentlich dasselbe, nur braucht der keine Pausen.

    Zitat Zitat von MelMan
    ... dachte ich kann einfach das, was ich empfange auch wieder auf einen OUTPUT-Pin geben und mit einer IR-Diode senden ...
    Kannst Du ja
    Ciao sagt der JoeamBerg

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.05.2006
    Beiträge
    144
    hat irgendwer ein Bascom file für den REC80 Code?

    hab da eine fernbedienung die kann kein rc5 wär zumindest ein versuch wert.

    bzw
    wie kann ich heruasfinden welchen code eine fernbedienung sendet?

    mfg
    low
    meine aktuellen Projekte
    Sternenhimmel
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=31439
    BuBoter - Roboter mit Antikolision
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=31632

Berechtigungen

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