Bascom IR-Empfänger funktioniert nicht

merzi1993

Neues Mitglied
19. Mai 2012
16
0
0
Österreich
Sprachen
  1. BascomAVR
  2. ANSI C
Hallo allerseits :)

Ich bin gerade dabei meinen IR-Empfänger zu testen. Datenblatt gibts hier: http://www.vishay.com/docs/81732/tsop348.pdf

Versorgt habe ich ihn mit 5V. Beschaltet habe ich ihn wie im Datenblatt Seite 1, rechts unten. R1 = 470Ohm und C1 = 22µF

Zum Testen habe ich folgendes Programm geschrieben:
Code:
$regfile = "m8def.dat"
$crystal = 3600000
$baud = 4800

Echo On

Dim Geraet As Byte , Kommando As Byte

Config Pinb.0 = Input
Config Rc5 = Pinb.0
Enable Interrupts



Do

   Getrc5(geraet , Kommando)
      If Geraet < 255 Then
         Kommando.7 = 0
         Print Geraet
         Print Kommando
         Print "geht"
      End If

Loop
End

Ich habe jetzt schon mit 4 verschiedenen Fernbedienungen probiert. 2 Fernbedienungen vom Fernseher und 2 vom Sat. In der Konsole wird aber nichts ausgegeben.
Die Serielle Verbindung funktioniert zu 100%, es muss also an der Fernbedienung oder am Sensor liegen. Programm sollte soweit auch funktionieren. :confused:

Wäre sehr dankbar, wenn mir wer weiterhelfen könnte ;)

Gruß,
Mathias
 
Hallo Mathias,

zwei Fallstricke gibt es noch:

1) Muss die Fernbedienung auch tatsächlich RC5-Code senden, wenn Du in Bascom den Befehl Getrc5 verwendest.
Es gibt aber auch einige andere Protokolle, die von Bascom nicht direkt, per Hochsprachenbefehl, unterstützt werden, sondern selbst programmiert werden müssen.
Kann man aber auch irgendwo guttenbergen.
Lese mal hier:
http://www.mikrocontroller.com/de/IR-Protokolle.php

Der RC5-Code wird heutzutage nur noch selten eingesetzt.


2) Es gibt unterschiedliche Trägerfrequenzen.
Z.B. 36kHz, 38kHz, 40kHz.
Der Empfangsbaustein sollte die gleiche Trägerfrequenz haben, die auch die Fernbedienung verwendet.
Andernfalls leiden Zuverlässigkeit und Reichweite.

Welche Trägerfrequenz Deine Fernbedienung verwendet, kannst Du z.B. per Lichtempfänger und Oszi herausfinden.
Wenn Du die weißt, musst Du halt einen Empfänger verwenden, der die gleiche Frequenz verwendet. Darüber gibt das Datenblatt Auskunft.

- Viel Erfolg!
 
Hallo Merzi!

Generell sollte es mit deinem Programmcode funktionieren.

Wenn dein Schaltungsaufbau richtig ist (Vcc und GND nicht vertauscht) und Eine deiner vier FB`s auch den RC5-Code sendet, sollte es eigentlich keine Probleme geben.

Du hast nicht zufällig ein kleines Scope zur Hand, um das Ausgangssignal am IR-Empfänger ohne den AVR mal zu überprüfen?


Grüße,
Cassio
 
Hallo,

Oszi habe ich leider keines. Aber der Empfänger ist sicher richtig angeschlossen. Nur wärs halt interessant zu wissen, was er ausgibt :confused:

Ich glaube eher, dass es am RC5-Code scheitert. Meine Fernbedienungen senden wahrscheinlich auf einer anderen Frequenz oder mit einem anderen Protokoll. Vielleicht lässt sich ja ein Datenblatt zu einer Fernbedienung auftreiben. :)

Gruß,
Mathias
 
Ich habe jetzt mal eine uralte FB von Philips ausgegraben und im Link von Irrlicht wurde folgendes beschrieben:
RC5-Code
Ein recht weit verbreitetes Protokoll ist der von der Firma Philips entwickelte RC5-Code. Dieses wird u.a. von den Firmen Loewe, Grundig, Philips und Marantz benutzt. Das Protokoll ermöglicht das Adressieren von 32 Geräte mit je 64 Befehlen. So kann man problemlos den Fernseher einschalten, ohne dass gleichzeitig alle anderen RC5-Geräte mit eingeschaltet werden.

Jedoch funktioniert es mit dieser Fernbedienung noch immer nicht. :confused:
Das Leben wär ja um so vieles einfacher mit Oszi :eek:

Gruß
 
Hi Matthias,

Vielleicht lässt sich ja ein Datenblatt zu einer Fernbedienung auftreiben. :)
wovon träumst du nachts ? :p
Wenn du eine kaufst und es steht dabei das die RC5 sendet dann weißt du es.
Wenn du ein Gerät mit Fernbedienung kaufst dann paßt die Fernbedienung zum Gerät aber nicht zwangsläufig zu irgendeinem bestimmten Protokoll. Und du wirst schon garnicht ein Datenblatt dafür bekommen.
Wenn du die Fernbedienung zerlegst und es ist ein "echtes" IC drin so richtig mit Typenstempel und Gehäuse (also nix auf die Platine gebondetes) dann könntes du für dieses IC ein Datenblatt bekommen. Das ist aber auch alles was es an Infos gibt.

Gruß
Dino
 
Hi Dino,

da muss ich dir vollkommen recht geben :)
Keine Ahnung was mich dazu veranlasst hat, dies zu behaupten ;)

Aber wie siehts mit dem Thema Universalfernbedienung aus. Könnte ich es mit so einer hinbekommen?

Gruß
Mathias
 
So jetzt funktioniert es auf einmal. Keine Ahnung warum und ich will es auch nicht wissen warum ;)
Genau dadurch würdest du aber was lernen.
Das unterscheidet zB die Servicetechniker die gezielt einen Fehler suchen von denen die nur wild in der Gegend rumstochern :p :rolleyes:

Gruß
Dino
 
So jetzt funktioniert es auf einmal. Keine Ahnung warum und ich will es auch nicht wissen warum ;)

Hallo!

Wäre für uns und alle Anderen aber mal ganz interessant gewesen! :wink:

Nun ja, wenn sich der Fehler aber nicht mehr reproduzieren lässt, dann muss man da auch nicht mehr drüber nachdenken. :cool:
Dann gehen wir also einfach mal von einem Hardwarefehler aus, wie z.B. ein schlechter Kontakt. :wink:

Grüße,
Cassio
 
Erstmal herzlich Glühstrumpf zum Erfolg, Merzi!

Aber mir fällt gerade auf, dass Du eine unnötige Fehlerquelle im Programm hattest.
Und zwar gibst Du die Meldung zum Schluss seriell aus.
Meine Güte: Die serielle Schnittstelle ist ein Dauerproblem, das schon Heerscharen von Elektronikern an den Rand des Nervenzusammenbruchs gebracht hat! Viele bestimmt auch über diesen Rand, vermute ich ganz stark!

Für einen ultimativen Ersttest, ob der Empfänger überhaupt was raus gibt, das am AVR ankommt, würde ich erstmal 'nen Pin toggeln.
Das kann man messtechnisch feststellen, oder 'ne LED anschließen.
Wenn das klappt, könnte man mit dem AVR die eintrudelnden Pulse zählen. Die dann meinetwegen seriell raus.

Aber: Wenn man irgendwas Empfangenes seriell ausgibt, dann sollte man auch im totalen Misserfolg irgendwas per Print raushauen. Oder wenigstens beim Einschalten, vor der Programmloop. Einfach um zu sehen, dass die serielle Verbindung überhaupt hinhaut.
Dass sie gesten funzte, heißt noch lange nicht, dass sie es auch heute tut. Also: Beim Einschalten immer erstmal 'nen String ausgeben, noch vor der Loop!

Und zum Thema "kein Oszi":
Du hast 'nen AVR!
Damit kannst Du Pulse zählen, die Zeiten zwischen den Pulsen messen, die Pulsbreiten messen ...
Und zwar Puls für Puls einzeln, denn keiner sagt, dass die immer einheitlich breit sind.
Alles was vom Pegel her geeignet ist und niederfrequent genug, um vom AVR erfasst zu werden, kannst Du mit dem Ding auswerten und perfekt aufbereitet z.B. seriell ausgeben.
Das ersetzt in verblüffend vielen Fällen ein Oszi.

Ich habe hier ein altes Hameg-Oszi ohne Speicher. Das ist ganz nett für 'nen Ersttest, aber den Speicher vermisse ich sehr.
Früher habe ich mir da mit 'nem AVR beholfen.
Inzwischen habe ich 'nen Logic-Analyzer. Der ist für die ganz harten Fälle da. Aber irgendwie ist der doch umständlich. Muss ja irgendwie kontaktiert werden, was bei SMD mitunter richtig schwierig ist.
Da ist ein kleines Testprogramm im AVR oft die einfachere Lösung.

Wenn Du doch mal Kohle über hast und Dich eventuell für 'nen Logic-Analyzer entscheidest: Den hier kann ich wärmstens empfehlen:
http://www.shop.display3000.com/wer...-logicanalyzer-34-kanaele-500-mhz-mit-20.html

Damit habe ich mal ruckzuck den Code einer unbekannten Fernbedienung ermittelt. Der eignet sich aber auch für wesentlich anspruchsvollere Sachen (was man von so einem Ding ja auch erwartet).
 
Hallo!

Die Idee von Irrlicht mit dem Logikanalysator ist natürlich gar nicht schlecht.
OK, es ersetzt kein Scope, weil der LA keine Spannung misst, dafür kann er aber diverse Protokolle gleich analysieren.

Schau doch mal hier in Shop, da gibt es z.B. den 8-Kanal LA
für einen sehr angenehmen Preis. :wink:

Es gibt zwar auch die 16-Kanal-Variante, aber der kleine 8-Kanal kann dir schon eine Menge Kopfzerbrechen ersparen. :D

Info`s und Beispielbilder dazu sind hier im Forum auch genug vorhanden. :wink:


Grüße,
Cassio
 
Hallo!

Für alle, die das Problem interessiert. :p
Ich habe danach nochmal die Schaltung ordentlich überprüft und habe dann gemerkt, dass ich einen Wackelkontakt in der Schaltung hatte :)

Gruß,
Mathias
 
Hallo!

Zum Thema LA und Oszi. Ich meine, dass es für meine Verhältnisse auch ein AVR reicht, der die Pulse zählt. :)
Das ganze würde mir zwar sehr viel Kopfzerbrechen sparen, aber bevor ich unmengen an Geld, welches ich nicht zur Verfüung habe, ausgebe, lass ich doch lieber meinen Kopf das ein oder andere mal rauchen ;)

Gruß,
Merzi
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)