Forum: Mikrocontroller und Digitale Elektronik RC5 an Terminal ausgeben


von Michael DB9XQ (Gast)


Angehängte Dateien:

Lesenswert?

Ich versuche mit einem ATmega8 und einem TSOP36 in BASCOM das Command
und den Gerätecode in einem Terminal abzubilden. Leider ohne Erfolg.
Der TSOP gibt das Singanl korrekt aus, kann ich am Oszi sehen.
Es sind meine ersten Schritte, bitte um Nachsicht.

Grüsse aus Hamburg de Michael.

von formtapez (Gast)


Lesenswert?

Versuch mal das TSOP-Signal zu invertieren.

MfG
formtapez

von Michael DB9XQ (Gast)


Lesenswert?

Kannst Du mir sagen wie ich das geht?

von Dieter Brüggemann (Gast)


Lesenswert?

Hallo

Invertieren brauchst du da nichts, das macht BASCOM schon.

Was geht den überhaupt nicht? Kommt denn dein

Print "Warte auf Signal..." im Terminal an, oder nicht.

Läuft der Mega 8 den auch wirklich auf deiner Taktfrequenz, oder noch
auf dem internen Takt von 1 MHZ.

MFG
Dieter

von Michael DB9XQ (Gast)


Lesenswert?

Die Verbindung zum Terminal ist da. Ich bekomme folgendes ausgegeben.

Geraeteadresse: 255  Geraetekommando: 255 -

Nur verändert sich der Wert nicht wenn ich eine Taste drücke.
Obwohl ich im Oszi sehe, dass der TSOP das Signal ausgibt.
Ich habe den DATA-Pin des TSOP an Pin 28 des ATmega8.

von anfänger (Gast)


Lesenswert?

tu mal den pullup ausschalten?!?

von Michael DB9XQ (Gast)


Lesenswert?

Reagiert überhaupt nicht

von Michael DB9XQ (Gast)


Lesenswert?

Was mir aufgefallen ist, das am DATA-Pin des TSOP im Ruhestand 5Volt
anliegen. Drücke ich die Fernbed. gehen die Impulse nach 0Volt.
Meinte @formtapez das mit invertieren?

von formtapez (Gast)


Lesenswert?

Ja, genau.
Invertiere das Signal.

Also mit einem 74xx Gatter oder Transistorschaltung oder irgendwie
anders halt.
Ich hatte exakt das selbe Problem mit Geräteaddresse:255 usw.


MfG
formtapez

von anfänger (Gast)


Lesenswert?

das signal darf NICHT invertiert werden! schliess den tsop einfach
genauso wie an, wie es in der bascom-hilfe beschrieben ist. evt. hast
du nicht die richtige fernbedienung. ich musste 5 (!) verschiedene
fernbedienungen ausprobieren, bis ich eine hatte die funktioniert hat.
ich hatte sogar eine von phillips dabei und mit der hats auch nicht
funktioniert. und ich dachte eigentlich, das grade phillips das rc5
nutzen würde!?

von Benedikt (Gast)


Lesenswert?

Ich habe mir ein RC5 Program in Assembler geschrieben (für 8051). Das
ganze in Assembler. Ist relativ einfach, funktioniert nur über
Warteschleifen: Startbit abwarten, 444us warten, und dann 889us warten.
Das Bit lesen, 889us*2 warten, nächstes Bit lesen usw.
Beim ersten Versuch hatte ich daselbe Problem.
Mittlerweile geht jede Fernbedienung. Auch nicht RC5 Fernbedienungen
funktionieren (auch wenn man keine sinnvolle Geräteadesse und
Befehlscode erhält), aber ein Wert von 255 kommt nie vor...

von Michael DB9XQ (Gast)


Lesenswert?

Danke an alle für die Hilfe. Dei 255 werdenausgegeben wenn kein Signal
auf den TSOP trifft. Ich habe jetzt alle Fernbedienungen durch die ich
finden konnte aber keine funktioniert.

von anfänger (Gast)


Lesenswert?

kannst dir ja auch einen rc5-sender bauen. ist mit bascom ja auch
ziemlich einfach. dann hast du wenigstens die gewissheit, dass du ne
"fernbedienung" mit rc5 hast!

von Axel Rühl (Gast)


Lesenswert?

Im gepostetn Code steht doch:
<Zitat>
      If Adress < 255 Then
         Print "Geraeteadresse: " ; Adress ...
</Zitat>
wie kann er dann ausgeben:
<Zitat>
Geraeteadresse: 255  Geraetekommando: 255 -
</Zitat>

Soll doch heißen, nur wenn die Geräteadresse kleiner 255, dann print.
vielleicht stimmt da was ganz anderes nicht...

Von diesem (für mich) logischem Problem mal abgesehen, sollten die 8Mhz
intern schon genau sein, oder? hast du 5Volt oder 3,3 Volt?
Bei 3,3V sind's KEINE 8Mhz mehr, vielleicht wirklich nur ein
Timing-Problem..
Gruß
Axel

von Benedikt (Gast)


Lesenswert?

Die Abweichung ist ähnlich wie bei RS232: Max +/-2%, sonst werden die
letzten bits nicht mehr richtig erkannt (es sei denn, die Software
synchronisiert auf jedes Bit...

von Michael DB9XQ (Gast)


Lesenswert?

Soory, ich hatte dann natürlich das
<code>
       If Adress < 255 Then
</code>
dafür auskommentiert weil ich sonst nichts sehe.

Die Spannung ist 5V über einen 78L05, die Oszillatorfrqu. ist
3,686400MHz. Wie kommst Du auf 8MHz?

@anfänger
Einen Sender selber bauen..gibts da nen Beispiel?

von Michael DB9XQ (Gast)


Lesenswert?

@anfänger
habe es gefunden

RC5SEND

von Axel Rühl (Gast)


Lesenswert?

Hi,
Michael
ja, stimmt, ich war schon wieder in Gedanken woanners...
Die Quartzfrquenz scheint ja mit dem Metastatement

$crystal = 3686400

übereinzustimmen, sonst würde die UART auch nur Müll senden.
probier doch mal
$crystal = 3690000

Gruß
Axel
Potsdam

von Michael DB9XQ (Gast)


Lesenswert?

Danke an alle, Problem gefunden.
Es ist in der Tat so, dass alle meine Fernbedienungen kein RC5
sprechen.
Mit einer universal Fernbedienung habe ich alle 8 Möglichkeiren für
Phillipsgeräte getestet, und eine davon war RC5 nun gehts.

von anfänger (Gast)


Lesenswert?

hab ich doch gesagt =)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.