Hallo,
ich versuche mich gerade in die Materie IR-Empfänger und Sender rein zu
fuchsen.
Im Anhang findet Ihr meine Schaltung und ein Bild meines Problems.
Bevor ich jetzt gleich Schimpfe bekomme, die Symbole sind nicht korrekt
gezeichnet. Aber das wichtigste ist denk ich vorhanden.
Wenn ich den Pin des µC ablöte funktioniert der Empfänger ohne Probleme.
Mein Ziel ist erst mal bei Betätigung einer Fernbedienung eine LED
einzuschalten.
Hier den Code dazu:
1
/*
2
*
3
* Created: 16.04.2017 20:41:08
4
* Author : Jürgen
5
*/
6
7
#include<avr/io.h>
8
9
10
intmain(void)
11
{
12
/* Replace with your application code */
13
DDRB|=(1<<DDB0);//LED
14
DDRB&=~(1<<DDB2);//Empfänger
15
16
17
while(1)
18
{
19
if(!(PINB&(1<<PINB2)))//Pin auf 0 ?
20
{
21
PORTB&=~(1<<PB0);//an
22
}
23
}
24
}
Wenn ich richtig gelesen habe, brauch ich einen 4,7µF. Hab ich aber
leider nicht. was ich noch hier hätte ist ein 2,2µF.
Muss ich dann den R anpassen? Wie? Oder liegt es gar nicht am Tiefpass?
Danke für die Hilfe.
chuckwalla schrieb:> Im Anhang findet Ihr meine Schaltung und ein Bild meines Problems.
Wenn die Nummern im ATtiny24 die Pinnummern des Tiny darstellen sollen,
ist das Ding total verkorkst beschaltet. Pin 8 ist pa5 und nicht GND
usw.
chuckwalla schrieb:> Wenn ich den Pin des µC ablöte funktioniert der Empfänger ohne Probleme.
Bemühe dich genau zu bezeichnen welchen Pin du meinst. Man kann nur
vermuten, daß du PB2 meinst.
> Wenn ich richtig gelesen habe, brauch ich einen 4,7µF. Hab ich aber> leider nicht. was ich noch hier hätte ist ein 2,2µF.> Muss ich dann den R anpassen? Wie? Oder liegt es gar nicht am Tiefpass?
Die Werte sind unkritisch und sollen nur die Betriebsspannung des TSOP
glätten. Daran liegt es nicht.
Vielleicht hast du Anschlußpins vertauscht. Oder beim Löten irgendwo
einen Kurzschluß fabriziert. Vielleicht ist die USB Spannung nicht gut
oder liefert zu wenig Strom.
...
Zu Gunsten des TE nehme ich mal an, das er die Spannung vom 'USB' schon
gefiltert hat und auch die Abblockung des Tiny mit 100nF zwischen VCC
und GND nicht vergessen hat. Es lohnt sich evtl. noch, den Pullup am IR
Eingang zu aktivieren.
Und ja, es ist normal, das ein inaktiver IR Empfänger am Ausgang
Störungen produziert, da die interne AGC den Vorverstärker aufreisst.
Die Aufgabe, diese Störungen zu ignorieren und nur auf gültige Codes zu
reagieren, obliegt dem auswertenden Dekoder. Aber zum Glück gibts ja
IRMP :-)
https://www.mikrocontroller.net/articles/IRMP
Matthias S. schrieb:> 100nF zwischen VCC> und GND
Wurde natürlich eingelötet ;-)
Matthias S. schrieb:> Es lohnt sich evtl. noch, den Pullup am IR> Eingang zu aktivieren.
Ist mit folgender Zeile nachgeholt:
1
DDRB|=(1<<DDB0);//LED
2
DDRB&=~(1<<DDB2);//Empfänger
3
PORTB|=(1<<PB2);//Pull-Up
hirsch schrieb:> Bemühe dich genau zu bezeichnen welchen Pin du meinst. Man kann nur> vermuten, daß du PB2 meinst.
Ist soweit richtig. Der Ausgang des IR hängt am PB2.
hirsch schrieb:> Vielleicht ist die USB Spannung nicht gut> oder liefert zu wenig Strom.
Habs jetzt mit drei Spannungsquellen versucht. Eine davon war eine neue
4,5V Batterie.
Noch ne Idee?
chuckwalla schrieb:> Logisch, die Störung ist dadurch ja immer noch auf dem Eingang.
Was du als "Störung" bezeichnest, ist das Rauschen der Welt. Ohne ein
IR-Signal von der Fernbedienung, erscheint das prinzipbedingt am Ausgang
deines TSOP4838. Solange er nichts besseres (IR-Signal von der
Fernbedienung) findet, reißt der mit seiner AGC die Verstärkung auf, so
weit er kann.
Anders sähe das mit einem TSOP4038 aus, der keine AGC besitzt. Für eine
Fernbedienung will man die i.A. aber gerne haben, damit der Empfänger
gut mit unterschiedlich starken Signalen zurecht kommt.
Klaus R. schrieb:> Passiert denn was wenn du PB2 manuell auf low ziehst?
Die LED geht an.
Wolfgang schrieb:> Solange er nichts besseres (IR-Signal von der> Fernbedienung) findet, reißt der mit seiner AGC die Verstärkung auf, so> weit er kann.
Macht er das dann nur, wenn was am Ausgang hängt oder wieso sind die
"Störungen" weg wenn ich den Kontroller vom Ausgang des IR löse und mit
dem Osci direkt am Ausgang messe?
Klaus R. schrieb:> Weil der pullup fehlt?
Zumindest bei einem TSOP4838 von Vishay sollte das schwer fallen. Wenn
das Datenblatt recht hat, ist dort ein Pullup von 33kΩ fest eingebaut.
Hi,
hab etwas rumgespielt.
Der µC hat mich verarscht. Ich hab immer nur am Empfänger mit dem Osci
gemessen. Ausgang vom Empfänger am Controller angelötet -> Wildes Zeug
am Ausgang des Empfängers. Ausgang weg -> Störung weg am Ausgang des
Empfängers.
Jetzt hab ich am Ausgang des µC gemessen ohne das was angelötet ist,
siehe da, das wilde Zeug ist schon ohne was am Eingang zu messen.
wenn ich das folgende Programm laufen lass, blinkt die LED wenn ich Pin
PB2 auf GND lege. Die Störungen sind aber am PB0 zu messen.