Beim Software UART kann man doch den Ausgabepin selbst bestimmen, oder? Ich denke, dass es wohl noch an meiner Schaltung liegt. Hat jemand villeicht noch eine Idee, wie man einen IR Sender mit möglichst wenigen Bauteilen umsetzten könnte?
Druckbare Version
Beim Software UART kann man doch den Ausgabepin selbst bestimmen, oder? Ich denke, dass es wohl noch an meiner Schaltung liegt. Hat jemand villeicht noch eine Idee, wie man einen IR Sender mit möglichst wenigen Bauteilen umsetzten könnte?
Ja, kann man selbst bestimmen. Ist mir eben aufgefallen, weil im Schaltplan war noch TXD eingezeichnet.
Läuft der Mega8 wirklich mit 8MHz?
Garantiert - ich benutze einen 8Mhz Quarz und habe die Fuses auf External Crystal/Resonator High Frequency eingestellt. Aber ich vermute wirklich, dass es an der Schaltung liegt. Leider ist Fennias Schaltung gleich wieder so kompliziert, dass ich als Elektronikanfänger sie nicht verstehe. Gibt es denn keine Möglichkeit eine Schaltung mit möglichst wenig "Hühnerfutter" zu realisieren?
p.s.: der TSOP funktioniert reibungslos - hab ihn grad mit ner Universalfernbedienung getestet.
Wie oben schon beschrieben würde ich die LED erstmal direkt, mit Vorwiderstand natürlich, zwischen zwei Pins anschliessen. Anode an TXD, Kathode an OC1A. Zum Testen ist das einfach und falls die Sendeleistung dann nicht ausreichen sollte, kann man immer noch was dazubasteln.
ES FUNKTIONIERT !!!
Ich verstehe nur nicht, wie ein Signal von TXD zu OC1A geschickt werden kann, denn sie liegen doch beide auf +5V, oder? Ich dachte, dass der Strom irgendwie von +5V zu GND gelangen muss. Kannst du das mal erläutern? Wie kommt hier die Modulation zustande?
Nicht mehr nötig, ich habs verstanden ^^ Ist einfacher als ich dachte. Allerdings beträgt die maximale funktionierende Sendeentfernung nur an die 15cm :( Liegt das am Vorwiederstand ? 330Ohm zu groß?
Bei den tiny13 haben wir 47Ohm verwendet. Mit 100Ohm sind's auch schon einige Meter. Das hängt natürlich auch von der verwendeten IR-LED ab. Ich hatte schon mit einer "normalen" roten 3mm-LED über einen Meter Reichweite.
Nur 15cm könnten auch bedeuten, dass mit der Trägerfrequenz etwas nicht stimmt.
Nur 47Ohm? Wieviel mA machen denn IR LEDs mit?
Mir ist grad aufgefallen, dass die 330Ohm die ich verwendet habe ja zu einem Strom von 150mA (5V/330Ohm=0,015A) führen, die der Wiederstand aus dem COntroller zieht. Hab ich da nicht ziemlich Glück gehabt, dass der Controller nicht draufgegangen ist?
Hallo
Die LED kann sicher mehr als 100mA aushalten, zumal wir sie ja nur pulsen, 0.015A sind 15mA, den Strom berechnet man aber (5V-Vled)/R, Vled ist der Spannungsabfall an der LED von ca. 2,2V, Widerstand schreib man ohne ie.
Gruß
mic
Aja . 0,015A = 150 mA - > Peinlich ^^ Kann ja mal passieren. Und wenn man mehr als 40mA aus dem Controller zieht geht der Port kaputt?
(Das was man auf die Dauer im Roboternetz lernt vermittelt einem der Physikunterricht in der Schule ja garnicht ^^ )
Kurzzeitig können die Ports einiges mehr ab. Wenn man nur einen Ausgang oder 2 Ausgänge weiter auseinander belastet, sollte das auch noch keine lokale zu starke Erwärmung geben. Das kann dann also auch ein paar Stunden oder gar Monate gut gehen, denn das Hauptproblem dürfte dann die Elektromigration sein und das ist eher eher ein Langzeitproblem.
Viel mehr als etwa 60 mA werden die Ports auch im Kurzschlußfall nicht unbedingt liefern.
Vermutlich kann ein Port noch mehr als 40mA, aber Atmel garantiert eben nur 40 pro Pin (Summenströme beachten).
Ich habe mir mal das Datenblatt einer LD 271 angeschaut, das ist die IR-LED in meinem RP6.
Stoßstrom für 10us: 3,5A!
Durchlassstrom: 130mA
Allerdings beträgt die Durchlassspannung nur ca. 1,3V, man kann aber noch die leichten Pegelunterschiede der Pins mitrechnen weil 0V<low<high<5V setze ich hierfür mal 0,7V an:
(5V-1,3V-0,7V)/47=64mA
Ein 82Ohmer wäre sicherer *grins* Aber durch das 1:1-Pulsen ist der effektive Strom natürlich kleiner... Wie geschrieben sende ich mit 100Ohm (allerdings Pin gegen GND) mehrere Meter weit. Das Sicherste wäre es den Strom mal zu messen.
Gruß
mic
So - ich denke, damit sind meine Fragen fürs erste beantwortet. Ich hab mir vorhin noch 'nen TSOP 1556 geholt und werde mir jetzt zwei Tranceivermodule basteln. Eine Signalverstärkung müsste sich eigentlich mit einem npn und einem pnp mit relativ geringem Aufwand realisieren lassen:
Basis des NPNs an TXD, +5V an Kollektor des npns, IRLED an Emitter des NPNs, IRLED (anderer Pol) an Emitter des PNPs, OC1 an Basis des PNPs , GND an Kollektor des pnps. Auf diese Weise müsste es glaube ich gehen, habs aber nicht ausprobiert (eine weitere Idee vom Elektronik-Noob ^^)
So, der Transceiver ist fertig. Leider habe ich das Problem, dass die Transceiver auch ihr eigenes Signal empfangen, obwohl sie auf unterschiedlichen Frequenzen Senden/Empfangen. (zb Sendediode 36khz mit tsop1556 in einem Modul - im zweiten Modul andersrum) Die TSOPS empfangen zwar nur wirres Zeug von sich selbst, aber das stört auch schon.
Ich kriege meine Tiny13 einfach nicht dazu genau genug zu modulieren. Mit nem mega8 und Quarz funktionierts wunderbar, aber meine tiny13 senden nichts verständliches, bzw. richtiges und da kann man doch keinen Quarz anschliessen, oder? Oder liegts villeicht am Programm:
Code:$regfile = "attiny13.dat"
$crystal = 9600000
Config Portb.1 = Output
Config Portb.0 = Output
Config Timer0 = Timer , Compare A = Toggle , Prescale = 1 , Clear Timer = 1
Open "comb.1:2400,8,n,2, INVERTED" For Output As #1
Ocr0a = 86
Do
Print #1 , "hallo"
Wait 1
Loop
Ocr0a = 133 für 36kHz
Ich benutze aber einen 56khz Empfänger :(
(srry, hätt ich erwähnen sollen)
Hallo
Den tiny13 kann man auch extern betakten, je nach Typ bis 20MHz.
Ist die LED richtig gepolt? Beim Mega8 war der Soft-UART auf PortB.0 und die Trägerfrequenz auf PortB.1
Gruß
mic
Die LED war richtig gepolt, allerdings war in den Fuses komishcerweise ein Voteiler von 8 für den Timer aktiviert ^^ Wie kann das sein?
Auslieferzustand der tiny13 ist 1,2MHz. Ich habe mich nicht getraut danach zu fragen *lol*
mic
Auf 9,6Mhz hatte ich ihn ja umgestell. Da gibt es aber noch ein weiteres bit, dass ich nicht kannte, dass nur einen Vortieler für den Timer einstellt ^^ In Zukunft kannst du bei mir gern fragen ... ->Anfänger