PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ansteuerung Attiny 2313



cbr600
19.10.2007, 11:30
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

Dirk
19.10.2007, 13:51
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

cbr600
19.10.2007, 14:07
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, 17: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

cbr600
19.10.2007, 17:27
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, 17: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?

cbr600
19.10.2007, 18:29
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, 19: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?

cbr600
19.10.2007, 20:22
Ich habe eine Plan für Sender
Das ganze soll ein Projekt werden
Bitte um Info

Danke

Sauerbruch
19.10.2007, 20:52
Kannst Du denn von dem Sender ein paar Details reinstellen? Schaltplan z.B.?

cbr600
19.10.2007, 21:07
Der Plan ist dei Steuerung mit Ne555 und die Ir-Led ist ein Stiftleiste wo das Led angesteckt wird.
Danke

cbr600
20.10.2007, 09:30
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, 10: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.)

Dirk
20.10.2007, 13:53
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, 14: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

cbr600
20.10.2007, 17:58
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

Hanni
20.10.2007, 18:19
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!

cbr600
21.10.2007, 11:36
Warum habe ich immer einen Fehler drauf.

Danke

Dirk
21.10.2007, 13:27
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

cbr600
21.10.2007, 15:05
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