Kann man sich auf die Werte verlassen die Winlirc ausspuckt?
Also RC5 scheint es nicht zu sein, welche fernbedienung möchtest Du denn nachbauen?
Hallo
also ich versuche derzeit eine Fernbedienung zu baun
Ich verwende dafür nen PIC18LF2685, nen 20 Mhz Quarz und ne Infrarot LED
Für die Tasten hab ich gemäß der Anleitung auf Sprut.de ne 2x6 Tasten Matrix gebastelt (oder 6x2, je nachdem)
Das funktioniert soweit gut, die Tasten kann ich auslesen, die LED zum leuchten bringen (habs mit der Handykamera gecheckt)
So, jetzt mein Problem:
Ich hab von der Fernbedienung die Timings mit WinLIRC ausgelesen und dementsprechend mein Programm geschrieben, mit Verzögerungsroutine etc.
Wenn ich das Programm im Simulator debugge, dann sind die Verzögerungen auch genau richtig von der Länge her, wenn ich das Programm dann aufm Chip teste, sind die Timings auf einmal viel kürzer.
Beim Debuggen komm ich z. B. auf 600 µs, der Chip macht daraus scheinbar 200 µs oder so(Ich lasse mir die Ausgabe per WinLIRC RawCodes anzeigen)
Abgesehn davon variieren die Timings auch ständig, obwohl sie weitgehend gleich sein müßten.
Der Quarz hat zwar womögliche ne gewisse Ungenauigkeit, aber die sollte nicht so stark sein.
Ich hänge den Sourcecode mal an, vielleicht kann mir ja wer sagen, was ich falsch gemacht hab?
Vielleicht hab ich auch die Werte in dem WinLIRC config file falsch interpretiert, aber die sollten eigentlich alle in µs angegeben sein
Also ich hab mal ne Schleife für ne 1 sekündige Verzogerung eingebaut, die hat ziemlich gut funktioniert.
Gut, lief zwar etwas zu schnell, aber hm, das war erst nach 5 Minuten oder so wirklich wahrnehmbar (ok, das is vermutlich relativ viel auf den µs-Bereich übertragen, oder?)
Hm, wie krieg ich denn den Quarz genauer?
Hilfe... Ich weiß nicht mehr weiter
Aber danke schonmal, für eure Hilfe
Achja, hier mal der Output von WinLIRC wenn ich ne Taste drücke:
Code:pulse 183 space 428 pulse 152 space 1732 pulse 186 space 424 pulse 154 space 2325 pulse 151 space 4261 pulse 209 space 398 pulse 107 space 4279 pulse 106 space 504 pulse 158 space 1734 pulse 289 space 318 pulse 110 space 1779 pulse 155 space 456 pulse 154 space 1735 pulse 346 space 266 pulse 108 space 1780 pulse 158 space 403 pulse 179 space 1761 pulse 214 space 2286 pulse 105 space 504 pulse 108 space 1780 pulse 106 space 3009 pulse 103
Kann man sich auf die Werte verlassen die Winlirc ausspuckt?
Also RC5 scheint es nicht zu sein, welche fernbedienung möchtest Du denn nachbauen?
Is die Fernbedienung von meinem Thomson Fernseher, es steht mb100 drauf
Aber hab ka was das fürn Fernseher genau is. Hab keine Typenbezeichnung gefunden, die steht wohl hinten, aber da komm ich schlecht ran, der is schwer und steht in nem Fernsehschrank![]()
Hm, also es scheint so zu sein, daß der PIC irgendwie nicht richtig in der Lage is dem Infrarot LED sauber Strom zu geben
Also ich hab n Testprogramm geschrieben, mit ca. halbe sekunde an und dreiviertel sekunde aus.
Die Aus-Zeit wird eingehalten, aber die An-Zeit nicht wirklich. Es scheint fast so als würde die LED flackern, WinLIRC gibt mir nämlich in der halben Sekunde ca. 10 An-/Aus-Änderungen, die dann insgesamt in etwa ne halbe Sekunde dauern.
Jemand ne Idee, woran das liegt?
Ich schreib auf LatA, das is schon richtig, oder? PortA scheint ja nur zum einlesen zu sein...
Kann es sein, daß die Schaltung nicht genug Saft hat und deswegen Spannungsschwankungen?
Ich betreib das wahlweise mit 2x1,5V Batterien oder direkt über den Brenner8 per ICSP
Wieviel Strom zieht denn deine IRLED?
Du kannst maximal 20-25mA an einem PortPin ziehen. Vielleicht ist dein RV falsch bemessen und deshalb flackert die IRLED, da die Spannung zusammenbricht.
Gruß RobberS
PS: Vielleicht noch den BOR überprüfen, da du mit 3V arbeitest!
BOR is auf 2,2V
und naja, das Programm wird ja weiter ausgeführt, der PIC startet ja nicht von vorne...
Ich werd mal testen, was passiert, wenn ich das ganze mit nem Transistor schalte![]()
Hab mal im Netz geschaut.Zitat von Maxigraf
Also viele IRLED Typen ziehen sich zwischen 100mA und 150mA rein.
Denke mal dass daher der Fehler kommt.
hm, ja, laut datenblatt zieht das ding etwa 150mA
ok, gut, das seh ich ein, das kann nich gut gehn![]()
Und an deiner Stelle würde ich allen Göttern, die du kennst meinen Dank aussprechen, dass die IO-Pins des PICs (oder noch besser, der PIC selber) noch lebt und sein Dienst unter deinen herrschenden Bits erfüllt.ok, gut, das seh ich ein, das kann nich gut gehn
Aja, IMMER voher schauen, wie viel Saft ein Bauteil ziehen wierd und wie viel Saft der andere zur Verfügung stellen kann. Das spart nerven (bei der Fehlersuche) und Geld (beim neukauf von Bauteilen).
lg
Mobius
ok, aber nichtsdestotrotz bleibt das problem, daß die led kein sauberes signal liefert oder so...
also selbst wenn ich sie direkt an die stromquelle anschließe (mit geeignetem vorwiderstand natürlich) "flackert" die led (gut, is nich sichtbar, also 1. wegen infrarot und 2. weil das in nem recht hohen frequenzbereich is)
aber naja, winlirc bzw. der com-port-ir-receiver sieht sowas
jetz hab ich mir grad die fb anleitung auf sprut.de angeschaut
und der hat nen 100µf elko in seine schaltung eingebaut, vermutlich um gerade sowas zu verhindern, oder?
ich hatte aber nur 2x47µf elkos da, wenn ich die parallel schalt sollt ich doch so um die 94µf haben, oder?
jedenfalls hat das das problem leider auch ned gelöst...
woran könnts denn noch liegen?
Lesezeichen