Archiv verlassen und diese Seite im Standarddesign anzeigen : Komparator, High <-> Low Differenz von nur 0,8V.
Ausbilder 'Durchdrücker'
22.06.2007, 23: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 ?
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, 11: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, 12: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, 14: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, 19:22
Hubert, wenn du deine Routine in Picbasic oder assembler geschrieben hast, kopiere sie bitte hier rein.
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, 21:51
Meine Routine ist in C für einen ATMega8 geschrieben.
Hubert
Ausbilder 'Durchdrücker'
24.06.2007, 00: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, 12:08
Ich hänge dir die gesamte Seite an. Das Konzept ist von Peter Dannegger, meine Anwendungen sind darauf aufgebaut.
Hubert
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, 14: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.
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, 21:55
Wenn das der SONY-SIRC-Code ist dann ist der kürzeste Burst 600µsec. Der TSOP hat damit sicher keine Schwierigkeiten.
Hubert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.