PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit RC5 Sender in Bascom



D35troy3r
17.06.2012, 13:16
Hallo,

ich bin gerade dabei einen IR-Sender auf Rc5-Basis zu programmieren.
Senden funktioniert einwandfrei, lediglich das abschalten der IR-Diode findet nicht statt.
Die Bits werden bei Knopfdruck zwar gesendet, doch danach bleibt die IR-Led einfach an (mit Handykamera nachgeschaut).
Die Powerdownfunktion scheint ebenfalls zu funktionieren da sich die rote Status Led abschaltet.
Doch warum bleibt die IR-Led an?!

$regfile = "m88def.dat"
$crystal = 1000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40

Enable Int0
Config Int0 = Low Level
Enable Interrupts

Config Pind.2 = Input 'Drehimpulsgeber Taster
Portd.2 = 1
Config Pind.3 = Input 'Drehimpulsgeber A
Portd.3 = 1
Config Pind.4 = Input 'Drehimpulsgeber B
Portd.4 = 1
Config Portb.6 = Output 'Rote Led

Dim Togbit As Byte , Command As Byte , Address As Byte

Command = 0
Togbit = 0
Address = 9

Do
If Pind.2 = 0 Then
Portb.6 = 1
Rc5send Togbit , Address , Command
Waitms 500
Portb.6 = 0

Powerdown
End If
Loop
End

Thomas E.
17.06.2012, 15:35
Wie hast du die IR-Diode verschalten? Laut Bascom-Hilfe muss sie so verschaltet werden:


+5V <---[A Led K]---[220 Ohm]---> PortPin

Wenn du die Anode statt an +5V gegen GND verschaltet hast, wird alles verkehrt herum gesendet und die Led bleibt im Ruhezustand auch eingeschalten.

Das ist aber nur eine Vermutung von mir. Hilfreich wäre es, wenn du einen Schaltplan posten würdest. :)

D35troy3r
17.06.2012, 18:01
Die IR-Led wird über einen Transistor angesteuert, Basis befindet sich also am OC1A. Der Emitter ist an Masse und am Kollektor die Led+Rv gegen Vcc.
Hätte diese Verschaltung eine invertierende Wirkung? :(
Wenn ja, müsste doch das Rc5 Protokoll welches empfangen wird nicht akzeptiert bzw falsch verstanden werden oder?
Meine zweite Platine mit dem Empfänger reagiert einwandfrei auf die gesendeten Signale.

Etwas umlöten wäre nichtmehr möglich da die Platine selbst geätzt ist.

Thomas E.
17.06.2012, 18:21
Die IR-Led wird über einen Transistor angesteuert, Basis befindet sich also am OC1A. Der Emitter ist an Masse und am Kollektor die Led+Rv gegen Vcc.
Hätte diese Verschaltung eine invertierende Wirkung? :(
Untersuchen wir es gemeinsam:
22604
Fall 1:
µC-Pin = 0 | IR-Led = 1
µC-Pin = 1 | IR-Led = 1
Fall 2:
µC-Pin = 0 | IR-Led = 0
µC-Pin = 1 | IR-Led = 1

Was sagt uns das?

(ich weiß, ich nerve, aber heute bin ich voll und ganz in "Erklär-Stimmung" und ich habe mir extra die Mühe gemacht, ein Bildchen zu malen) ;)

D35troy3r
17.06.2012, 18:29
So ein Mist, jetzt seh ichs auch xD.

Hättest du da eventuell eine Softwarelösung?

Hardwaremäßig würde es nicht einfach funktionieren den derzeitigen Transistor gegen einen PNP zu tauschen? Denn der Kollektor muss sich doch direkt an Vcc befinden?

Thomas E.
17.06.2012, 19:26
Hättest du da eventuell eine Softwarelösung?
Nein, leider nicht. Ich hatte mit RC5 bisher noch kaum Kontakt. Aber vielleicht kennt sich ein anderer User damit aus?


Hardwaremäßig würde es nicht einfach funktionieren den derzeitigen Transistor gegen einen PNP zu tauschen? Denn der Kollektor muss sich doch direkt an Vcc befinden?
Naja, dann würde der Basisstrom aber über die Last fließen. Das sollte nicht so gut sein, könnte aber funktionieren.

Dirk
17.06.2012, 20:02
@D35troy3r,

Ja, mit einem PNP gehts. Eine Schaltung mit dem BC516 steht in der Bascom-Hilfe unter RC5SEND.