PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IR-Bake IR-Fernbedienung



dehnelement
13.01.2012, 16:11
Hallo Leute,
habe gerade viel über Baken und Orientierung von Robotern gelesen.
Meine Idee, kann man nicht als Baken 2 oder 3 alte IR-Ferb. verwenden an dehnen man ew. ein paar IR-Dioden ( als Verstärkung) anbringt? Man könnte eine "Taste" als dauerdrückung zusammenlöten und somit verschieden Sendefrequenzen erzeugen.
Die Auswertung mit einem ATmega ist ja recht simpel. Wurde das schon gemacht?
Gruß Bastian

dussel07
13.01.2012, 18:58
Ich würde die IR-Dioden der Fernbedienungen nehmen und sie an einen Attiny löten!

oberallgeier
13.01.2012, 20:45
... die IR-Dioden ... an einen Attiny löten!Muss man diesen Vorschlag jetzt verstehen? Ich jedenfalls versteh das nicht.

dussel07
13.01.2012, 21:10
Ich meinte das wie folgt:
Fernbedinungen senden zyklisch in einem unbekanntem Format, das erst mal nicht so einfach zu entschlüsseln, und somit auch nicht ohne Probleme zuzuordnen ist.
Also nehm ich einen günstigen MC und lasse die Infrarot LED dauerhaft in einer bestimmten Frequenz pulsieren.
Somit sollte das emfangende Programm einfacher aufzubauen sein - denke ich zumindest??!

Torrentula
14.01.2012, 09:15
Man kann auch einfach eine 38kHz PWM erzeugen und per USART die Daten senden. Die Anode der IR-LED kommt über den Vorwiderstand an den PWM Ausgang und die Kathode an den TX-Pin des Senders.

Am RX-Pin des auswertenden µC hängt ein TSOP31238. Dieser ändert sein Signal von HIGH zu LOW nur, wenn IR mit 38kHz modulation auftrifft.

MfG

Torrentula

oberallgeier
14.01.2012, 10:23
Man kann auch einfach eine 38kHz PWM erzeugen ... ein TSOP31238 ...Einfach? Na ja. TSOP´s haben eine Passage im Datenblatt stehen, die offensichtlich von fast allen Ratschlägen/Empfehlungen zu TSOPs "vergessen" wird. Diese Vorschrift ist der Grund, warum ICH die TSOPs nicht verwende.


• After each burst which is between 10 cycles and 70 cycles a gap time of at least 14 cycles is necessary. ...

Bei Baken ist aber eben recht empfehlenswert, dass so ein Signal als "Strich" gesendet wird.

dehnelement
14.01.2012, 10:43
Hallo Leute,
eigentlich wollte ich die Sache durch die FB vereinfachen.
Die Auswertung sollte über einen Atmega 32 mittels der Bascomroutine Getrc5 erfolgen(also die Signalentschlüsselung).
FB's habe ich gerade für 1€ auf dem Flohmarkt gesehen.
Gruß Bastian

oberallgeier
14.01.2012, 11:20
Hi Bastian,
hast ja recht, so hatte ich das auch verstanden. ABER . . . Der Teufel steckt eben im Detail. Vielleicht fällt uns aber doch noch etwas dabei ein.
... eigentlich wollte ich die Sache ... vereinfachen ... FB's ... für 1€ auf dem Flohmarkt ...Ich habe meine Fernbedienung fürs Basteleck (siehe klick) (https://www.roboternetz.de/community/threads/36121-Autonom-in-kleinen-Dosen-R2_D03-Nachfolger-R3D01?p=495507&viewfull=1#post495507) aus dem eigenen Wohlstandsmüll. Hatte die mit dem RC-5_Code rausgesucht . . . . obwohl z.B. JVC viel einfacher zu lesen wäre . . . . RC-5 musste ich einfach mal decodiert haben *ggg*. Aber als Baken hatte ich die leider (noch) nicht benutzt.

dehnelement
14.01.2012, 15:26
Hallo Oberallgeier,
ich werde es mir noch mal überlegen ew. nehme ich doch eine Attiny oder NE555 . Übrigens ein Nettes Projekt deine Cola-Dose ( auf so etwas muß man erst mal kommen!).
Vielen Dank und Gruß an Alle
Bastian

oberallgeier
14.01.2012, 16:18
Hi Bastian.
... ew. nehme ich doch eine Attiny oder NE555 ...Danke für die Blumen. Ein Tiny13 bietet sich da an, mit dem bekommt man recht simpel fast 38 kHz - ich fahre meinen ML-L3-Clone (IR-Fernsteuerung für NIKON-DSLR) ohne Quarz. Der tiny13 kann nämlich ohne Quarz 9,6 kHz laufen. Das dürfte dann alles in allem billiger und einfacher sein als eine NE555-Lösung. Hier die/meine Timerinitialisierung für ca. 38 kHz:


// ================================================== ============================ =
// == Ansteuerung/Modulation einer IRLED, ca. 38 kHz f. NIKON-ML-L3-Clone
// Die LED wird moduliert durch PB0=OC0A
void TC0ML3_init(void) // Init Timer/Counter0 für 37,5 kHz-Modulation
{ //
TCCR0A |= (1<<COM0A1); // Clear/set OC0A on Compare Match, OC0A ist PB0
// normale PWM aktivieren (nicht invertiert)
// Bezug doc 2535J-AVR-08/10 doc S 63
TCCR0A |= (1<<WGM02)|(1<<WGM01)|(1<<WGM00);
// fast PWM, TOP=OCR0A doc S 72
// no Prescaler, clk =! 37,5 kHz doc S 65
TCCR0B |= (1<<CS00); // no Prescaler, clk => 9,6 MHz doc S 73
OCR0A = 64; // => Einschaltdauer ca. 25%
}
// ================================================== ============================ =

dehnelement
14.01.2012, 19:36
Hallo Oberallgeier,
so werde ich es machen, ich habe da ein CT Projekt in dieser Richtung gefunden.
Die Code ist ja nett, aber mein Programierhorizont endet leider bei BASCOM.( geht doch auch, oder?)
Vielen Dank
Bastian