Trägerfrequenz für Tsop1736 mit Bascom und Avr erzeugen Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
Autor |
Trägerfrequenz für Tsop1736 mit Bascom und Avr erzeugen |
|
|
|
|
BID = 209865
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
|
ich hoffe das ist mehr oder weniger verständlich, habe etwas verwirrlich geschrieben...
also COM1A0 wirkt sozusagen als Gate für das mit 36 kHz modulierte Signal. In etwa so wie du es bisher extern per Transistor gebaut hast.
Ich habe gerade noch ein Bascom code gefunden der genau auf diese Art einen RC5 code versendet:
Link
[ Diese Nachricht wurde geändert von: photonic am 22 Jun 2005 10:57 ] |
|
BID = 210330
stevensen Neu hier
Beiträge: 24
|
|
Hallo photonic,
vielen Dank für die Tipps und den Link! Mit dem RC5 hat es nun geklappt, aber irgendwie komme ich mit dieser Technik noch nicht klar. Vielleicht kennst Du einen einfacheren Weg.
Ich hatte geschrieben, dass ich eine Übertragung von seriellen Daten machen will. Es sollen immer so um die 5 - 7 Bytes im Paket übertragen werden, und da mehrere Sensoren übertragen werden, gibt es einen continuierlichen Fluss. Das ganze soll stationär vom Garten durchs Fenster oder wenigstens bis zum Fenster (ca. 10m) passiern.
Gibt es noch andere Möglichkeiten, natürlich möglichst billig.
Ist das von Dir erwähnte TSOP4836 einfacher zu handhaben? Oder würde es eine Laserdiode mit Fotodiode tun? Ich hoffe ich nerve nicht zu sehr |
|
BID = 210346
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Mit dem TSOP4836 wird es nicht einfacher, es ist eigentlich genau dasselbe Bauteil wie de 1736, nur besser von der Empfindlichkeit und Störsicherheit. Sehr wichtig ist bei diesen IR Empfängern eine saubere Versorgungsspannung, oder die Empfindlichkeit geht sehr rapide in die Knie mehr als 20 mV peak to peak noise sollte da nicht drauf sein. Also unbedingt den RC Filter davorbauen, wie im Datenblatt beschrieben.
Eine einfachere Möglichkeit als diese Art von IR übertragung ist nur noch eine direkte Drahtleitung, aber ich denke das willst du nicht. Die Lösung mit dem Laser und einer Fotodiode ist auch machbar, allerdings musst du dann alles gut ausrichten und noch einen Verstärker bauen, etc... Dabei kannst du aber massiv höhere Datenraten erzielen als mit dem IR-Empfänger. Als Laser kannst du ein fertiges Modul kaufen das einen TTL Modulationseingang hat, darauf setzt du dann das Signal. Alles in allem aber einiges schwieriger und auch teurer als die IR-Bausteine.
Für die Übertragung würde ich ein einfaches Protokoll entwerfen, ein Packet bestehend aus einer Adresse die sagt von welchem Sensor das Signal stammt, dann die Datenbytes (jedesmal dieselbe Anzahl, evtl mit ein paar Nullen gepaddet) und zum Schluss noch ein CRC um die Übertragung sicherer zu machen. Wenn ein Fehler drin ist kannst du das Packet einfach verwerfen und auf das nächste warten...
Dieses Protokoll baust du auf dem RC5 Protokoll auf und baust einfach soviele bits da rein wie du brauchst anstelle der standardmässigen Anzahl. Wichtig ist dass du das erste Bit immer als eins setzt, es ist nicht auswertbar. Du brauchst davon aber die abfallende Flanke um die Erkennung zu synchronisieren. Der Empfänger braucht dieses auch um die Empfindlichkeit des Fotodiodenverstärkers automatisch einzustellen.
Nun kann deine Sendeeinheit ein Packet nach dem andern rausschicken, mit etwas Abstand dazwischen (Doppelte Bitzeit reicht). Von der Reichweite her sind 10 m gar kein Problem, nimm als Sender ein Bündel IR-Dioden mit anständig Strom und es funktioniert auch bei schönem sonnigem Wetter...
Falls die Übertragungsrate nicht hinhaut kannst du noch das Signaltiming etwas tunen gemäss Datenblatt, aber viel ist nicht mehr drin. Faktor 10 liegt aber noch drin wenn du mit der Modulationsfrequenz auf 455kHz hochgehst und das ganze Signaltiming entsprechend anpasst. Dafür brauchst du als Empfänger aber den TSOP7000.
Welche Anforderungen hast du denn an die Übertragungsstrecke? was muss da drüber?
|
BID = 210673
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Die fertige RC5- Funktion ist schon brauchbar, du kannst ja deine Daten aufsplitten und dann 1 byte auf einmal verschicken. Das 2. und 3. bit der RC5 Sequenz kannst du auch mit Daten beladen. Dann definierst du noch ein Start und Stoppacket das eine Datensequenz umrahmt (z.B mit einem anderen Devicecode als Identifier). Ich weiss nicht wie gut der Decodierungsalgorithmus in Bascom geschrieben ist, aber wenn die ganze sache Unzuverlässig funktioniert liegt es häufig an der schlechten Versorgungsspannung des IR Empfängers. Schreibe mal ein kleines Program das eine LED aufblitzen lässt, wann immer irgendetwas empfangen wird. Ohne IR-Signal darf nie irgendetwas aus dem Empfnger herauskomen. Hingegen solltest du mit einer 36KHz Fernbedienung nahezu irgendwohin im Raum zielen können und es muss ankommen.
Wie hast du die Versorgung des Empfängers gelöst? In meinem ersten Versuch hatte ich 250mV RMS ripple bei 20MHz vom Mikrocontroller auf dem Empfänger, wegen EMV ungünstigem Design. Der hat dann natürlich nur sehr schlecht funktioniert und der Empfang war total unzuverlässig.
Wieviel Strom schickst du durch die LED deines Senders? Die Dinger verkraften erstaunlich hohe Ströme...
Eine eigene Empfangsroutine lässt sich schon stricken, aber wenn schon RC5 Probleme macht wirst du mit längeren Packets keinen Erfolg haben. Für eine Wetterstation brauchst du allerdings nicht eine allzu grosse Datenrate, reicht ein Update alle paar Sekunden? So könntest du die Daten redundant übertragen, z.B immer 5 mal hintereinander dasselbe Packet senden, ein richtiges wird dann schon dabei sein.
Ich würde als ersten Schritt den Empfänger soweit optimieren dass er RC5 100% zuverlässig empfängt. wenn das dann klappt kannst du die Daten damit rüberschaufeln.
RF ist wahrscheinlich nicht einfacher, ich habe allerdings noch nichts damit gebaut. Wenn ich müsste würde ich die Nordic RF transceiver von Schuricht /Distrelec verwenden.
|
BID = 212078
stevensen Neu hier
Beiträge: 24
|
Meinen Tsop1736 bzw38 habe ich mal gecheckt, die funktionieren mir einer herkömmlichen Fernbedienung auch über 7m bestens, soweit ich die LED noch blinken gesehen habe. Meine Sendereinheit funktioniert auch, nur noch nicht so weit. Mit der Fernbedienung des Fernsehers brauchte ich nur etwa in die Richtung des Empfängers strahlen, mit meinem selbstgebauten muss ich schon zielen. Die Infrarot-LED betreibe ich mit über einen Transistor mit ein Vorwiderstand von 47 Ohm. Leider kenne ich die Daten der LED nicht, aber noch lebt sie. Was die Datenübertragung angeht, funktiert das eigentlich auch schon ansatzweise. Temperaturdaten meiner 2 ds1820 konnte ich schon über ca 5m im abgedunkelten Raum übertragen! Die Bascom RC5 routine liefert zwei Werte, eine 5 Bit Adresse und ein 6 Bit Kommando, daraus mache ich mir mein eigenes Daten-Format. mal gucken. Wenn jemand weiss wie ich die Reichweite der IrLED erweitern kann, dann bitte posten, ansonsten vielen Dank für die Hilfe!
|
BID = 212614
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Das tönt doch alles schon sehr vielversprechend! Jetzt fehlt nur noch mehr Power!
Um die Infrarotleistung zu erhöhen solltest du schon das Datenblatt der LED haben, oder hoffen dass sie überlebt was du ihr bald antun wirst... IR LEDs kosten ja kein Vermögen.
Du betreibst sie mit 47 Ohm an 5V? Das ergibt dann bei einer Flusspannung von 1.2V einen Strom von 80 mA, was für eine IR Sendediode nicht allzuviel ist. Ich würde ein ganzes Bündel von z.B 4 vier LEDs nehmen und dann mit je ca. 1A betreiben.
Du musst entweder das Datenblatt haben oder den Strom durch Messen ermitteln, da die Flusspannung der LED bei solchen Strömen ziemlich ansteigt, siehe Kennlinie. Bei den von mir letzthin verwendeten Vishay TSUS540 liegen bei 1.5A ca 2V an der Diode. Aber Achtung, ein cw-Betrieb bei solchen Leistungen endet ziemlich schnell in Rauchzeichen...
Dabei unbedingt einen schön grossen Keramikkondensator direkt über Transistor und Diode legen, um nicht unnötig einen Störsender zu bauen. Deine Stromversorgung muss natürlich auch in der Lage sein, den entsprechenden Strom zu liefern ohne in die Knie zu gehen, evtl. mit einem Elko nachhelfen die Spitzenströme zur Verfügung zu stellen.
edit:
*****
hab noch schnell nachgerechnet: eine IR Sendeled mit 80 mA strahlt mit ca. 10 mW/sr (mW/m^2 in 1 m Abstand). Bei 5 m Abstand hast du noch 0.4 mW/m^2, was gerade etwa der minimalen Empfindlichkeit des Detektors im Dunkeln entspricht. Das heisst dass dein Empfänger arbeitet elektrisch schonmal gut. Mit mehr Sendepower müsste es dann auch über 10m draussen klappen!
[ Diese Nachricht wurde geändert von: photonic am 28 Jun 2005 20:23 ]
|
BID = 214488
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Funktionert es schon besser?
|
BID = 214519
stevensen Neu hier
Beiträge: 24
|
Ich konnte es noch nicht wegen Zeitmangel ausprobieren. Ich habe mir aber schonmal ein Diodenfassung ,mit Refektor besorgt, damit soll sich die Reichweite auch schonmal erhöhen. Und sowie ich Zeit habe, probier ich ne neue Schaltung mit höherem Strom.
|
BID = 216377
stevensen Neu hier
Beiträge: 24
|
hi,
ein wenig habe ich mal weitergemacht. Ich hatte mal einen nochkleineren Widerstand für die IR LED benutzt. Tatsächlich konnte ich die resultierende Reichweite noch nicht checken. Aber durch den hohen Strom geht die Spannung am armseligen 9V Block sehr in die Kniee, ich hatte nämlich das ganze Gelöt mal in eine Wassedicht Abzweigdose vors Fenster gelegt. Die Daten übertragung ( momentan 30-40cm ) durch Fenster ging. Wie schaffen die Fernbedienungen, die grossen Reichweiten und das mit 3V? Ich schätze die Reichweite mal auf 5m, wie kann ich die erhöhen ohne Bleiakkus verwenden zu müssen?
|
BID = 216452
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
9V Blöcke haben eine recht hohen Innenwiderstand, da kommt nicht allzuviel Strom zusammen. Wenn du die Versorgungsspannung mit einem dicken Elko pufferst sollte es für einiges mehr reichen, du entnimmst den Strom ja Pulsweise. Dauersenden verbrät aber doch sehr viel Energie, so dass der arme kleine 9V Block nicht lange halten wird. Vielleicht kannst du die ganze Sache mit Solarenergie versorgen, je nachdem wie häufig Daten Übermittelt werden müsste das in Verbindung mit einem Akku gehen.
<overkill>
Wenn die Reichweite nicht ausreicht könntest du einen Laser anstelle der IR Diode nehmen und damit auf den TSOP zielen. Dann komst du wahrscheinlich Kilometerweit. Dafür bräuchtest du aber eine 980nm Laserdiode mit einem Kollimator und geeigneter Ansteuerung.
</overkill>
Poste doch mal die Daten der verwendeten Bauteile (IR Dioden, Vorwiderstand, Transistor) und die erreichte Reichweite bei Tageslicht. Wieviele IR Dioden hast du jetzt im Einsatz?
|
BID = 216718
stevensen Neu hier
Beiträge: 24
|
Den 9V-Block habe ich erstmal zum Testen benutzt, ich habe noch einen fetten 12V Bleigelakku, aber der ist vielleicht noch zu gross, der passt dann, wenn die Wetterstation (die ich bauen will) komplett ist. Oder Du weisst wo ich einen günstigen kleineren 6V Bleiakku herbekomme.
Aber erstmal soll die Datenübertragung funzen. Die Daten wollte ich 4-5 mal in der Minute senden, später kommen noch mehr Daten dazu wie .z.B. Windrichtung und -stärke dazu. Außerdem ist das Protokoll noch in der Mache. Das mit der Reichweite ist echt schwierig, ich schätze mal optimistisch 4-5 m. Gut wären 6-10 dann käme ich bis zur schräg gegenüberliegenden Garage. Wie funktioniert die Sache mit dem dicken Kondensator? Achja die Daten. Also von den IR-Led kenn ich die Daten nicht, ist halt eine mittelgrosse 5 mm Led. Momentan ist ein 180 Ohm Vorwiderstand drinn, der Transistor ist ein C546B.
|
BID = 216748
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Zitat :
|
Das mit der Reichweite ist echt schwierig, ich schätze mal optimistisch 4-5 m.
Momentan ist ein 180 Ohm Vorwiderstand drinn, der Transistor ist ein C546B.
|
Ich nehm mal an du hast nur eine Diode, dann gibt das einen Strom von gut 40 mA, das ist viel zu wenig wie ich dir schonmal vorgerechnet hab...
nimm mal ein 22 Ohm, dann gibt das ca. 400 mA (Gemittelt über ein ganzes Packet etwa 100 mA, was noch weit innerhalb der Toleranzen einer vernünftigen IR LED liegt) Zusätlich hilfreich wäre, z.B 4 Dioden in Reihe zu schalten. Kostet nicht mehr Energie, gibt aber die 4-fache Leistung. Dann natürlich den Vorwiderstand entspreched dimensionieren. Auf diese Art hättest du die erreichbare Distanz schon fast vervierzigfacht...
Reflektoren um die LEDS anordnen ist mehr oder weniger nutzlos. Die Dinger mit klarem Gehäuse strahlen nahezu nichts durch die Seite des Gehäuses.
Wenn du kein Datenblatt für die LEDs hast, kaufst du am besten eine mit bekanntem Typ. Dann könntest du auch den Abstrahlwinkel so klein wie möglich wählen. Da gibt es verschiedene im Angebot. Wenn deine Sende- und Empfangsstationen an definierten Orten stehen, bringt es nichts die wertvolle Leistung weit über dern Platz zu verteilen. Der Abstrahlwinkel der LED kann gut und gerne nochmal Faktor 2 an Reichweite ausmachen, ohne dass du mehr Energie verheizen musst.
Das mit dem Elko funktioniert so, dass du einen parallel zu deiner Batterie schaltest, der gibt dann Spitzenströme ab die die Batterie in die Knie zwingen würde. So 470 µF müssten nach meinem Gefühl ok sein...
edit:
Ein BC546B ist für diese Anwendung nicht geeignet. Er verkraftet max. 100 mA kontinuierlich und hat dann schon 1.4V Uce bei einem Ib von 20 mA. Nimm lieber einen kleinen logic-level MOSFET für diese Anwendung. Dann muss der MC auch nicht so hart für den Basisstrom arbeiten...
[ Diese Nachricht wurde geändert von: photonic am 8 Jul 2005 14:06 ]
|
BID = 217054
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Zitat :
|
Auf diese Art hättest du die erreichbare Distanz schon fast vervierzigfacht...
|
Das ist natürlich Blödsinn von mir...
Die nötige Leistung steigt nit dem Quadrat des Abstandes, so ergibt das nur Faktor 6, was jedoch reicht.
Um es kurz und schmerzlos zu machen, baue folgendes und es wird funktionieren:
Kaufe vier gute 950 nm IR Sendedioden, z.B Vishay TSUS5402, schalte diese in Serie und verabreiche ihnen 500 mA. Die Dioden montierst du so dass alle in die gleiche Richtung senden. Den Diodenstrom kannst du ohne Oszi nicht messen also hilft nur rechnen. Du benötigst die Flussspannung der LEDs bei 500 mA, die kannst du aus dem Diagramm im Datenblatt lesen. Mal 4 da Reihenschaltung. Dann noch die am Transistor abfallende Spannung (je nach Typ vernachlässigbar, sonst Datenblatt) Den Rest bis zur Betriebsspannung an einem Widerstand abheizen der bei 12V so über den Daumen geschätzt 10-20 Ohm haben wird.
So kommst du mit Sicherheit weit über die geforderte Distanz.
[ Diese Nachricht wurde geändert von: photonic am 9 Jul 2005 0:02 ]
|
BID = 220433
photonic Schreibmaschine
Beiträge: 1301 Wohnort: Zürich, Schweiz
|
Bist du wiedermal dazugekommen ein bisschen zu löten?
|
BID = 220767
stevensen Neu hier
Beiträge: 24
|
hi,
leider bin ich noch nicht dazu gekommen irgendwas zu löten. Außerdem müßte ich mir erst noch die LEDs bestellen. Ich werde es wahrscheinlich mal, wie Du schon vorgeschlagen hast, probieren Wobei ich immer noch nicht weiss warum Fernbedienungen mit 3V soweit kommen. Bei Reichelt habe ich den TFDS4500 (hattest Du schonmal erwähnt) gesehen, Wie funzt der? Ich lese immer was über den IRDA 1.2 Standard, aber konnte noch nichts darüber heraus finden. Bei dem Teil gibt es Rxd und Txd kann man da irgendwie seriell Daten übertragen?
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst © x sparkkelsputz Besucher : 182415868 Heute : 364 Gestern : 7490 Online : 170 28.11.2024 4:30 2 Besucher in den letzten 60 Sekunden alle 30.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0726449489594
|