-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: IR LED mit 38 khz pulsen

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344

    IR LED mit 38 khz pulsen

    Anzeige

    Hi,
    ich möchte IR LED wie beim asuro mit dem timer 2 pulsen.
    Also IR über widerstand zwischen OC2 und TXD angeschlossen.

    Timer initialiesierung wie bei ASURO:
    Code:
    void init_timer2 (void)
    {
    	cli();									// Interrupts sperren! 
    	TCCR2 = (1 << WGM20) | (1 << WGM21) | (1 << COM20) | (1 << COM21) | (1 << CS20);
     	OCR2  = 0x91; // duty cycle for 36kHz
      	TIMSK |= (1 << TOIE2);
    	sei();									// Interrrupts freigeben!
    }
    Und hier der interuppt.
    Code:
    SIGNAL (SIG_OVERFLOW2)
    {
      TCNT2 += 0x25;        //was bezweckt dieser befehl?
      count36kHz ++;
      if (!count36kHz) timebase ++;
    }
    nun möchte ich die IR LED mit 38 anstatt 36 khz pulsen wie mach ich das?

    MfG Martin

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    willst ne trägerfrequenz oder wie soll ich mir das vorstellen?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344
    ja genau das will ich ne tragerfrequnz

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    was willstn genau machen?

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344
    ich will daten von meinem Bot per IR zum PC senden da ich nur 38 khz dekoder zur verfügung habe brauche ich eine trägerfrequenz mit 38 khz anstat wie beim ASURO 36 khz jetzt will ich wissen wie ich das machen kann?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    Wenn Du mit "dekoder" den TSOP meinst, sollte er auch mit 36 kHz funktionieren, ist bei mir auch so, sonst änderst Du Zeile :
    Code:
    TCNT2 += 0x25;
    in
    Code:
    TCNT2 += 0x2E;
    um.

    Warum, darfst Du im Dattenblatt selber nachgucken...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    mir sagt leider ASURO nix

    mh, also wie du die trägerfrequenz raus kriegst hät ich dir sagen können, hab letztens von ner IR fernbedienung den träger mit nem C und 2 open-collector NPN rausgefiltert

    aber mit ganz schnell ON/OFF sollte es auch gehn :P

    wie sieht denn das signal aus bzw. soll es aussehn? steh da nämlich echt grad aufm schlauch.

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.11.2006
    Ort
    Geislingen a. d. Steige
    Alter
    26
    Beiträge
    344
    Ein ganz normales rechtecksingnal mit 38 khz

    kanst du mir das bitte erklären hab schon im datenblatt nachgeschaut und nachgerechnet!

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    blink, dir ist klar, dass der threadstarter etwas gefragt hat, und für eine antwort sicher dankbarer ist, als über 3 gegenfragen, oder? :P

    ohne garantie:
    wenn der timer überläuft, wird er auf 0x25 (37 dez) bzw 0x2E (46 dez) gesetzt. bei 8MHz quarz ergibt sich damit ohne prescaler 36kHz bzw. 38kHz. ich weiß aber gar nicht welchen quarztakt du verwendest.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    45
    Beiträge
    2.236
    was gibt es hier groß zu erklären ?
    Der M8 im Asuro läuft mit 8 Mhz....
    der Timer 2 läuft mit Systemtakt, ohne Prescaller, wenn man einen Overlow Interrupt bei 36 kHz haben möchte, muß der Timer mit 8MHz/36kHz -> 222 Takte laufen.
    Da der Überlauf bei 255 + 1 stattfindet muß der Timer halt mit 256 - 222 geladen werden.
    Das macht TCNT2 += 0x25;
    0x22 wäre da rechnerisch korekter gewesen

    Jetzt weißt Du hoffentlich, wie ich auf 0x2E gekommen bin, aber wie gesagt, versuch es zuerst mit ganz normall 36 kHz.

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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