Forum: Mikrocontroller und Digitale Elektronik rc5 Fernbedieung mit Attiny2313 C Code Problem!


von Peter Z. (Gast)


Lesenswert?

Hallo an Alle

Ich habe folgende Seite gefunden auf der eine Anleitung zum Bau einer 
rc5 Fernbedienung gegeben wird:
http://www.a-netz.de/remote-control.de.php

Der Aufbau ist mir soweit gelungen, habe den Prototyp auf der Seite 
nachgebaut.
Nun wollte ich den Attiny2313 mit dem C-Code im Anhang bespielen.
Ich verwende dazu Avr STudio.
Allerdings erhalte ich folgende Fehlermeldung:

(...)
test.o:(.data+0xf): multiple definition of `rc5data'
rc.o:H:\uC\rc5sender\default/../rc.c:42: first defined here
test.o: In function `timer':
H:\uC\rc5sender\default/../test.c:38: multiple definition of 
`bitcounter'
rc.o:(.data+0x0): first defined here
test.o: In function `main':
H:\uC\rc5sender\default/../test.c:62: multiple definition of `main'
rc.o:H:\uC\rc5sender\default/../rc.c:109: first defined here
make: *** [ATTINY2313_IR_SENDER.elf] Error 1


Jemand ne Idee woran das liegen kann??
Den Code findet ihr über den Link oben oder direkt hier:
http://www.a-netz.de/download.php?file=downloads/remote-control-20061019.tar.gz

Habe die Dateien rc.c , test.c sowie rc5coded.h in Avr STudio geöffnet 
und als Source bzw. Header files des Projektes eingetragen und sonst 
nichts weiter am Code verändert.
Den Fehler konnte ich nach langem Probieren auch noch nicht beseitigen.

Ich hoffe auf eure Hilfe

Danke
mfg Peter

von hp-freund (Gast)


Lesenswert?

Versuchs mal einzeln:
rc.c oder test.c

von Peter Z. (Gast)


Lesenswert?

hp-freund schrieb:
> Versuchs mal einzeln:
> rc.c oder test.c


habe ich auch schon probiert.
Verwende ich nur test.c tut sich garnichts an der Infrarot-LED.

Dagegebn wenn ich nur rc.c (sowie rc5codes.h) verwende, blinkt die 
IR-LED immerhin. Allerdings im Vergleich zu richtigen Fernbedienungen 
meiner Meinung recht langam.
[Ich beobachte das Blinken der infrarot LED durch eine Kammera ;-) ]

Ich denke schon, dass hier beide Programmteile rc.c und test.c 
zusammenspielen oder?
Sonst wären sie auch sicherlich nicht beide im Download enthalten 
gewesen nehm ich an ;)

Jemand noch ne Idee? Ich kriegs nicht zum laufen :-(

danke

von hp-freund (Gast)


Lesenswert?

Hast Du auch die Fuse-Bits richtig gesetzt?
Mit welcher Frequenz soll der Controller laufen?

von spess53 (Gast)


Lesenswert?

Hi

>Dagegebn wenn ich nur rc.c (sowie rc5codes.h) verwende, blinkt die
>IR-LED immerhin. Allerdings im Vergleich zu richtigen Fernbedienungen
>meiner Meinung recht langam.

Und läuft dein ATTiny auch mit 8MHz?

MfG Spess

von Peter Z. (Gast)


Lesenswert?

hp-freund schrieb:
> Hast Du auch die Fuse-Bits richtig gesetzt?
> Mit welcher Frequenz soll der Controller laufen?

Hey, der Attiny läuft mit internen 8Mhz, war so scheinbar der 
Auslieferungszustand, habe ich bereits gecheckt.
In dem obigen Link / Anleitung läuft der Tiny auch mit 8Mhz intern.

Ich weiß echt nicht wo der Fehler sein kann, müsste eig. schon am Code 
liegen...

von spess53 (Gast)


Lesenswert?

Hi

>Hey, der Attiny läuft mit internen 8Mhz, war so scheinbar der
>Auslieferungszustand, habe ich bereits gecheckt.

Und die CKDIV8-Fuse?

MfG Spess

von Peter Z. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Spess,
das könnte villeicht der Fehler sein!
die CKDIV8-Fuse ist "gesetzt" soweit ich weiß (vgl. Häkchen Anhang).
Richtig? (Sorry ich bin noch relativ Anfänger)
Wenn ja sollte ich den Haken wegmachen...

Die Datei test.c trägt eurer Meinung nichts zum rc5 senden dazu?

Danke für eure Hilfe!
mfg

von hp-freund (Gast)


Lesenswert?

Der Haken muß raus.
Die test.c ist wirklich nur ein Test. Schau mal rein :)

von Peter Z. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
danke erstmal für die Hilfe!! rc5 Senden klappt jetzt tatsächlich mit 
der Fernbedienung.

Ein kleines Problem bleibt aber.
Ich habe einen rc5 Empfänger (ATMega8 @8Mhz) nach Peter Dannegger's Code 
aus der Codesammlung aufgebaut. Funktion wurde durch die gebaute rc5 
Fernbedieung (ATTiny2313 @8Mhz) geprüft.

Allerdings ist die maximale Übertragungsstrecke ca 5-10cm.
(siehe Bild im Anhang, das ist die maximale Strecke)

Die IR-LED der Fernbedienung wird über einen 9V-Block (durch 7805 auf 
+5V heruntergeregelt) versorgt.

Der Vorwiderstand beträgt geräde einmal 6,2 Ohm. Wodurch die Led ja mit 
ziemlich "viel" Strom betrieben wird.

Was kann der Grund für die kurze Distanz sein??

Danke für eure Tipps schonmal

Gruß

von Sven K. (svenk)


Lesenswert?

Ja natürlich soll die Diode mit einem hohen Stromimpuls beaufschlagt
werden, damit auch die Reichweite hoch ist....

Schalte die Infrarot Diode mal über 3 Widerstände in Reihe direkt an die
9V. (3x ~6,2 Ohm ergibt also so min. 18 Ohm)

Gruß Sven

Nachtrag:

Welchen Empfänger setzt Du ein ? Ist der auch für eine Trägerfrequenz 
von 36khz ?

Sonst hat das auch Auswirkungen auf die Reichweite....

von Peter Z. (Gast)


Lesenswert?

Hallo Sven, danke für deine Antwort

Sven K. schrieb:
> Welchen Empfänger setzt Du ein ? Ist der auch für eine Trägerfrequenz
> von 36khz ?


Ich verwende den SFH 5110-36, dieser ist auch für 36khz geeignet ;-)

Sven K. schrieb:
> Schalte die Infrarot Diode mal über 3 Widerstände in Reihe direkt an die
> 9V. (3x ~6,2 Ohm ergibt also so min. 18 Ohm)

Aber dann ist der Stromfluss doch noch geringer??
Also Spannungsregler wurde der normale 7805 verwendet, hier stand 
kurzzeitig etwas von einem 78L05. Das neben der IR-LED ist der 
Transistor BC 337 über den das ganze läuft ;-)
Ein neuer 9V Block brachte auch keine Abhilfe...
Kann es sein, dass ein 9V Block einfach zu wenig Strom liefern kann??
Der 7805 ist ja bis 1A geeignet.

Jemand ne Idee??

Danke

von Hannes L. (hannes)


Lesenswert?

Hat Deine LED die richtige "Lichtfarbe" (Wellenlänge)?

...

von spess53 (Gast)


Lesenswert?

Hi

Hast du auch den Elko der Originalschaltung eingebaut? Möglichst nah an 
der LED.

MfG Spess

von Sven K. (svenk)


Lesenswert?

Ja, ich hatte erst bei dem Transistor an den Spannungsregler gedacht....
Habe ich dann noch gelöscht.....

Mit dem direkten Anschluss an 9V wollte ich sicherstellen das
der 7805 oder bzw. der Aufbau nicht das Problem darstellt.

Wenn sich noch keine Besserung einstellt kannst Du immer noch
einen Widerstand entfernen.

Ein Kondensator 100µF oder mehr zwischen +VCC und GND in direkter
Nähe der Kombi IR-Diode und Transistor kann nicht schaden.
(bzw. kann ich nicht im Bild sehen...)

Wenn das nicht hilft habe ich auch keine Ahnung mehr.

von Peter Z. (Gast)


Lesenswert?

Hannes Lux schrieb:
> Hat Deine LED die richtige "Lichtfarbe" (Wellenlänge)?
>
> ...

ja LED hat ihren "Peak" bei 950nm.
Der Empfänger SFH 5110-36 bei 940nm, ist aber bei 950nm auch noch sehr 
empfindlich.

spess53 schrieb:
> Hast du auch den Elko der Originalschaltung eingebaut? Möglichst nah an
> der LED.

Ich habe lediglich einen 10 MikroFarad Elko an dem 7805 wie in der 
Abbildung hier:
http://www.mikrocontroller.net/wikifiles/c/c5/V_Regler.gif
genügt das nicht?

Wenn ja würde ein weiterer 10 MikroFarad Elko an besagter Stelle taugen, 
oder ist das zu wenig? 220 MikroFarad habe ich leider nicht da.

Danke für die Hilfe
Tolles Forum!

Gruß

von spess53 (Gast)


Lesenswert?

Hi

>Wenn ja würde ein weiterer 10 MikroFarad Elko an besagter Stelle taugen,

Besser als gar nichts.

MfG Spess

von Peter Z. (Gast)


Lesenswert?

spess53 schrieb:
>>Wenn ja würde ein weiterer 10 MikroFarad Elko an besagter Stelle taugen,
>
> Besser als gar nichts.

ok werds morgen mal probieren, danke für den Hinweis!!

Schönen Abend noch

von Peter Z. (Gast)


Lesenswert?

Hallo,
habe heute den besagten 10uF Elko und einen 100N Kondensator nahe bei 
der IR-LED meiner Fernbedienung zwischen Vcc und GND geschalten. Eine 
deutliche Verbesserung in der Sendereichweite ist dadurch leider nicht 
eingetreten.

Ich habe nun durch weitere Tests beobachtet:
1) Mit einer professionellen rc5- Fernbedienung von Grundig ist auch von 
größerer Distanz ein Emfang feststellbar => Empfänger funktioniert 
bestens.

2) Bei etwa 3m konnte mit der selbst gebauten rc5 Fernbedienung 
(teilweise) noch ein Empfang festgestellt werden, wenn die Sende-LED 
exakt auf den Empfänger ausgerichtet ist.
Macht hier evtl. der geringe Öffnungswinkel der LED Probleme??
Dieser beträgt +-10°. ??

3) Durch einen alten "Xtreme Power" 9V Akku von Panasonic konnte auch 
bei nicht so optimaler Ausrichtung und Abstand von 3m, spürbar öfter ein 
Empfang festgestellt werden, obwohl dieser Akku schon recht alt war und 
nur noch 7,1V liefert.
=> Liegt es vll. doch an den 9V Akkus? Das ein Aldi Akku einfach nicht 
die Stromstärke liefern kann die benötigt wird für große Reichweiten???

danke für mögliche Tipps/ Antworten

mfg

von holger (Gast)


Lesenswert?

>=> Liegt es vll. doch an den 9V Akkus? Das ein Aldi Akku einfach nicht
>die Stromstärke liefern kann die benötigt wird für große Reichweiten???

9V Akkus sind für große Ströme nicht ausgelegt.

>habe heute den besagten 10uF Elko und einen 100N Kondensator nahe bei

Dann mach mal einen 470uF da rein.

von Peter Z. (Gast)


Lesenswert?

holger schrieb:
> Dann mach mal einen 470uF da rein.

Hey Holger, danke für dein Tipp, werd ich bei Gelegenheit mal machen. 
Hab z.Z. keinen zuhause liegen.
Könntest du mir erklären, welchen Zweck der Elko an dieser Stelle 
erfüllt??
Mit diesen Bauteilen kenne ich mich nicht so tiefgreifend aus.
Wäre nett, danke

Gruß

von Peter Z. (Gast)


Lesenswert?

Würden vllt. mehrere AA-Batterien in Reihe geschalten mehr Strom liefern 
können als der 9V Akku??

mfg

von Michael_ (Gast)


Lesenswert?

Nein, mehr können die auch nicht. Schau dir doch mal einige FB von innen 
an. Sie haben 2-3 AA (od.AAA) Zellen, einen Treibertransistor und einen 
Vorwiderstand < 5 Ohm. Aus dem Gedächtnis heraus 1,8 Ohm.
Bei 9V wird die überschüssige Spannung an dem größeren Vorwiderstand 
(od. 7805) sinnlos verbraten. Rechne es durch, so das 200 mA durch die 
Diode gehen. Die Dioden sind im Impulsbetrieb dafür gebaut.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.