PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Komparator, High <-> Low Differenz von nur 0,8V.



Ausbilder 'Durchdrücker'
22.06.2007, 22:49
Diesmal geht es um einen Komparator, dessen Ausgangsspannung leider nicht von (0 - 0,8 V) auf (4,9 - 5,04 V) wechselt, sondern von 2,1(low) auf 2,9V(high). Woran kann das liegen ?

shaun
22.06.2007, 23:10
Wie sieht Dein Messaufbau genau aus? Aus der gezeigten Schaltung ist eigentlich nur eines möglich: Du bestrahlst den TSOP mit einem geeignet modulierten IR-Signal und misst dann am Ausgang vom OPV. Womit misst Du da? Oder sind die Messungen erfolgt, indem Du den nichtinvertierenden Eingang direkt nach Masse gebrückt hast?

So oder so ist der 3140 denkbar ungeeignet, da sein Eingangs-CMR nur bis 2,6V reicht, was er darüber tut, steht ihm frei. Auch kann der Ausgang bei 5V Betriebsspannung nur bis 3V liefern, insofern lassen sich die 2,9V, die Du gemessen hast, leicht erklären.

Hubert.G
23.06.2007, 10:05
Was mich noch viel mehr interessieren würde ist, warum brauchst du den OP eigentlich, wenn der Ausgang ohnehin auf einen Kontroller geht.

Hubert

Ausbilder 'Durchdrücker'
23.06.2007, 11:06
PIC bedeutet: Zum PIC gehend, zu RA5(Low = 0 bis 1,008V, High = 4,032
V bis U_Versorgung) eines 16f628a. Dem Datenblatt nach ist die
Verbindung Out - Masse = C - E eines Transistors im TSOP1740.

Welcher OPV ist für den angegebenen Zweck geeignet ?

@Hubert: Ich messe die Zahl der Signale pro Zeiteinheit mit einem
PICBASIC-Befehl. Zeige ich den Ausgang gegen Masse auf einem
Oszilloskop an, sehe ich eindeutige Sendemuster. Lasse ich dagegen
zählen, wie oft + wie lange High & Low ist(durch den Microcontroller),
gibt er über die gesamte Dauer der Sendung einmal eins und einmal Null
aus. Er erkennt die feinen "Riffelungen" nicht. Ich dachte, es liegt
an der Verschiebung des Mittelpunktes von High und Low, die auf dem
Osz. erkennbar ist. Also habe ich einen Komparator eingebaut, der auf
Null und Umax ziehen soll - bzw. auf U < 1,008 V und U > 4,032 V.

Das Oszilloskop ist die Soundkarte des PCs und hat daher keine
Amplitude direkt angegeben.

Hubert.G
23.06.2007, 13:07
Das verstehe ich nicht ganz was du da meinst. Ich habe schon Dekoder für RC5 und NEC-Code gemacht und keine Zwischenstufe zum µC gebraucht. Der Kontroller ist sicher schnell genug um jeden Übergang zu erkennen.

Hubert

Ausbilder 'Durchdrücker'
23.06.2007, 18:22
Hubert, wenn du deine Routine in Picbasic oder assembler geschrieben hast, kopiere sie bitte hier rein.

shaun
23.06.2007, 18:30
Den Komparator brauchst Du nicht, der Ausgang ist ein Open Collector mit einem 80k-Pullup, hat noch jedem Controller gereicht. Da Du uns nach wie vor im Unklaren über die Herkunft Deines Testsignals lässt, kann ich nur spekulieren, dass die Routinen, mit denen Du die verschiedenen Ergebnisse haben, mal schnell genug sind, die Datenbits im IR-Befehl zu erkennen, mal langsam genug, um einen ganzen Burst als Signal zu werten.

Hubert.G
23.06.2007, 20:51
Meine Routine ist in C für einen ATMega8 geschrieben.

Hubert

Ausbilder 'Durchdrücker'
23.06.2007, 23:13
kann ich nur spekulieren, dass die Routinen, mit denen Du die verschiedenen Ergebnisse haben, mal schnell genug sind, die Datenbits im IR-Befehl zu erkennen, mal langsam genug, um einen ganzen Burst als Signal zu werten.
Was meinst du damit ?



Meine Routine ist in C für einen ATMega8 geschrieben.
Hast du ein Flußdiagramm ?

Hubert.G
24.06.2007, 11:08
Ich hänge dir die gesamte Seite an. Das Konzept ist von Peter Dannegger, meine Anwendungen sind darauf aufgebaut.

Hubert

shaun
24.06.2007, 12:50
Ich meine damit, was ich geschrieben habe, nämlich dass ich -erneut spekulierend aus Mangel an wichtigen Informationen- davon ausgehe, dass Dein Programm zu langsam ist, um die Impulse innerhalb eines Datenpaketes auseinanderzuhalten. Mehr gibt Deine bisherige Beschreibung einfach nicht her.

Ausbilder 'Durchdrücker'
24.06.2007, 13:32
So scheint es. Allerdings ist der PIC mit 8Mhz getaktet, also ist ein Zyklus 0,5 µs. Das ist 1100 mal schneller als nötig.

Ach ja, die Sendequelle ist eine RM-889 von Sony, eine Fernsehbedienung.

shaun
24.06.2007, 14:59
1100 mal sind dann 0,55ms, wo kommt diese Zahl nun her, ist das die Dauer eines IR-Bursts, also die Bitzeit? Je nachdem, wie Dein Programm gestrickt ist, ist es vielleicht doch nicht schnell genug. Basic ist nicht unbedingt die Sprache der Wahl für zeitkritische Anwendungen.
Eventuell bekommst Du noch zusätzliche Probleme, wenn das Sony-Protokoll nicht zu den Anforderungen des TSOP passt, der verlangt nach bestimmten Burstlängen, Pulspausen usw.

Hubert.G
24.06.2007, 20:55
Wenn das der SONY-SIRC-Code ist dann ist der kürzeste Burst 600µsec. Der TSOP hat damit sicher keine Schwierigkeiten.

Hubert