Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung Attiny 2313
Hallo ich habe eine Frage bezüglich Mikrocontroller Attiny 2313.
Ich möchte 2313 mit Ir_Empfänger (TSOP1840) beschalten, aber es Funktioniert nicht so wo ich mir das Dachte.
Programmierung mit Getrc5 geht es nicht wenn ja wie.
Bitte um Programmbeispiel.
Danke
Hallo cbr600,
in der Bascom-Hilfe ist unter Getrc5 ein Beispiel exakt für den 2313 mit Schaltplan für das Anschließen des TSOP (sollte ein 1836 sein!).
Besser geht's nicht!
Gruß Dirk
Dirk ich habe das Versucht aber ich mache etwas beim Programmieren falsch.
Ich kann keinen 1836 gebrauchen ich brauche 40KHZ(1840).
Bitte um Lösungen
Danke
Sauerbruch
19.10.2007, 18:14
Zur Trägerfrequenz: Ob Du ´nen 1838 oder 1840 anschließt, ist für das Programm erstmal egal - die muss nur mit der Fernbedienung übereinstimmen, die Du verwendest. Die Ausgangssignale sind bei allen Empfängern gleich.
Bei meinen eigenen (letztlich erfolgreichen) Projekten mit IR-Fernbedienungen musste ich feststellen, dass absolut nicht alle Fernbedienungen RC5-Code senden - noch nicht mal alle von Sony (obwohl Sony diesen Code ja entwickelt hat).
Zur Fehlersuche hätte ich folgende Vorschläge:
1. Teste doch mal, ob Dein IR-Empfänger überhaupt Signale abgibt.
Schließ den Empfänger an PortX.1 an, eine LED an PortX.2.
Config PortX.1 = Input
Config PortX.2 = Output
PortX.1 = 1
Do
PortX.2 = PinX.1
Loop
Damit müsste die LED in dem Takt flackern, in dem der IR-Empfänger Impulse abgibt. Bleibt die LED aus wenn Du mit ´ner Fernbedienung etwas aussendest, hast Du ein Hardware-Problem.
2. Wenn die LED flackert, poste doch mal Deinen Code - wenn ein Fehler drin ist, wird ihn bestimt jemand entdecken!
Gruß,
Daniel
Ich habe eine Tsop hat ja VC, GND.Out. Das ist nicht für eine Fernbedienung gedacht sondern für das stehen beleib eines Modelauto zuständig.
Bitte um schnelle Info
Danke
Sauerbruch
19.10.2007, 18:42
Klar - der Pin "out" liefert ein High-Signal, wenn Infrarot-Licht mit einer bestimmten Frequenz (beim TSOP1840: 40 kHz) drauffällt.
Das ist nicht für eine Fernbedienung gedacht sondern für das stehen beleib eines Modelauto zuständig.
Wenn nicht mit einer IR-Fernbedienung - mit was möchtest Du das Modellauto denn dann anhalten?
Pin liefert High-Signal aber das ist einmal 5V und bei bestimmter Frequenz ist es 3V
Wie muss ich das Programmieren.
Ich habe den Plan für Sender und Steuerung mit geschickt.
Danke
Sauerbruch
19.10.2007, 20:06
O.k.- schon etwas klarer.
So wie der Schaltplan des Empfängers aussieht, macht die Elektronik nichts anderes als eine LED im Takt der empfangenen Impulse flackern zu lassen, sozusagen als Empfangskontrolle.
Um zu sagen, wie Du den empfängerseitigen Mikrocontroller programmieren musst, müsste man wissen, was Du denn senderseitig überträgst. Den Sender musst Du ja auch an einen Controller anschließen, deshalb die 3 Anschlüsse: +, - und OCR1A.
Hast Du diese "Hardware" denn schon zusammengelötet? Es geht nämlich auch ohne so viel Bauteile, einfach nur mit ´nem TSOP-Empfänger und einer normalen Fernbedienung als Sender. Damit kannst Du eine Unmenge an Befehlen übertragen, viel mehr als nur Start und Stop...
Also - was geht denn senderseitig raus?
Ich habe eine Plan für Sender
Das ganze soll ein Projekt werden
Bitte um Info
Danke
Sauerbruch
19.10.2007, 21:52
Kannst Du denn von dem Sender ein paar Details reinstellen? Schaltplan z.B.?
Der Plan ist dei Steuerung mit Ne555 und die Ir-Led ist ein Stiftleiste wo das Led angesteckt wird.
Danke
Der Plan ist dei Steuerung mit Ne555 (Sender) und die Ir-Led ist ein Stiftleiste wo das Led angesteckt wird.
Danke
Sauerbruch
20.10.2007, 11:01
So - jetzt bin ich wieder online - den ganzen Tag lang!
Der Sender scheint aus 2 Teilen zu bestehen: Der NE555 generiert das 40kHz-Signal, das an die LED geht. (Falls die LED direkt angeschlossen werden soll, muss R6 aber unbedingt kleibner als 15kOhm gewählt werden, eher so bei 200 Ohm. Das aber nur am Rande...). Angesteuert wird der NE555 von PortA.3 des Controllers (AT90S85).
Der RC5-Code überträgt 14 Bits: 2 Startbits, ein Toggle-Bit, 5 Adress-Bits und 6 Kommando-Bits. Der senderseitige Code könnte so aussehen:
Dim Togglebit as byte
Dim Address as byte
Dim Command as byte
Togglebit = 32
Address = 5 (z.B.)
Command = 10 (z.B.)
Rc5send Togglebit, Address, command
Dann wird über die LED der RC5-Code mit genau diesen Werten ausgesendet.
Der Empfänger-Code müsste etwa so aussehen:
Dim Address as byte
Dim Command as byte
GetRC5(address, command)
Wenn dieser Befehl ausgeführt wird, während der Sender sendet, haben im Empfänger-Controller die Variablen Address und Command die Werte, die vom Sender ausgesendet wurden.
Wie Du damit dann weiterverfährst (d.h. was bei welchem Wert geschehen soll), kannst Du frei gestalten (z.B. bei command=1 anhalten, bei command=2 weiterfahren, bei command=3 sonstwas etc., etc.)
Hallo cbr600, hallo Leute,
ein paar Sachen zur Klärung (bitte widersprechen, wenn's nicht stimmt):
1. Es ist immer ein Problem, ein Hardware-Projekt rein theoretisch komplett bis hin zum fertigen Schaltplan durchzuplanen, indem man dafür bei relativ geringer Eigenerfahrung Forums-Rückmeldungen nutzt. Ich empfehle einen Probeaufbau auf einem Steckbrett, der grundsätzlich erstmal klärt, ob alles klappt (einschl. Software!).
2. Empfänger: Mit 40kHz Modulation und Bascom's Getrc5 wird das nicht klappen. Das hatte ich dir aber schon weiter oben geschrieben. Wenn du die Bascom-Befehle nutzen willst, geht das nur mit regulärem 36kHz-IR-RC5-Code. Du kannst natürlich eine eigene Empfangsroutine schreiben, dann kann es auch mit 40kHz gehen.
3. Sender: Die Modulation mit 40kHz kann auch der Prozessor leisten. Da braucht's keinen NE555. Auch hier gilt: Die Bascom-IR-Sendebefehle sind so nicht verwendbar. Du kannst aber natürlich eigene Senderoutinen schreiben.
Gruß Dirk
Sauerbruch
20.10.2007, 15:08
@Dirk:
Dass die Modulationsfrequenz tatsächlich direkt die Bit-Länge beeinflusst, war mir bisher so gar nicht klar... hab´ aber gerade etwas gegoogelt - und wieder was gelernt! Klar, dass es dann nur bei 36 kHz funktionieren kann...
Danke & schönes WE,
Daniel
Hallo Dirk u. Sauerbruch ich habe im Buch von Claus Kühner Bascom-AVR gelesen das man mit Spannung auch Programmieren kann.
OC1A = 0 - 4,88 V Word 0-1008
OC1B = 4,88 - 0 V Word 1008 - 0
Wie kann ich das in Programm schreiben.
Danke
OC1B = 4,88 - 0 V Word 1008 - 0
Wie kann ich das in Programm schreiben.
1. Datenblatt vom Mikrocontroller besorgen (www.atmel.com)
2. Dort sehr intensiv den Teil mit den Timern lesen!
3. In der Bascom Hilfe nachschauen.
4. Anfangen zu schreiben.
Bei Detailfragen wird dir sicher jemand weiterhelfen ... aber nicht bei ner derartigen Frage.
Grüße,
Hanni
PS: Die Suchfunktion oder das Wiki geben auch ne Menge her!
Warum habe ich immer einen Fehler drauf.
Danke
Hallo cbr600,
du must dich komplett mit den Grundlagen von Bascom (und auch mit Hardware-Grundlagen) beschäftigen!
Was soll denn "32" sein? Wie sieht ein zulässiger Variablenname in Bascom aus? Sieh dir die Bascom-Hilfe an!
Gruß Dirk
Dirk ich habe mich mit Grundlagen schon beschäftigt aber ich bin leider ihn Englisch nicht sehr gut.
Ich hab es mal mit diesem Plan probiert aber ich weis nicht wie ich einen Ausgang dazu Steuern kann.(Motor)
Danke
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.