Also ich habe den Ausgang (4,02V bzw. 0V) eines OPV mit dem INT0 Eingang meines ATmega8 verbunden, um mit diesem Signal ein Interrupt auszulösen. Mit einem Voltmeter messe ich auch richtiges Verhalten, also der Pegel am OPV geht von 4,02V kurzzeitig auf 0V und dann wieder auf 4,02V hoch. In BAscom habe ich int0 so konfiguriert, um auf eine fallende Flanke zu reagieren. Auch habe ich den internen Pullup von Pind.2 aktiviert und zusätzlich einen Pullup vom Ausgang des OPV nach +5V gezogen. (10kOhm) Trotzdem wird der Interrupt zwar ausgelöst, aber dies viel zu oft. Eigentlich sollte er ja nur einmal kommen, doch anscheiend kommt er so oft, wie das SIgnal unter ca. 2V ansteht, was totaler mist ist. Muss noch irgendwo in meine Schaltung ein Kondensator rein, oder was? Ich weiß ja auch nicht direkt, wie das Signal am Ausgang des OPVs aussieht. Vielleicht ist es ein wenig verschlissen oder zappelt etwas herum. Also, was könnte ich da machen? DANKE euch.
also, wenn dein eingangspegel unter 2V sinkt kann es schon sein das ein interrupt ausgelöst wird. die frage ist eher was ist das für ein signal und was willt du mit machen?
wird wohl an deiner OP-Schaltung liegen. Je nach Kombination Typ und Schaltung und Hysterese(?) kommt es zum Schwingen am OP-Ausgang, sieht man mit dem Scope deutlich. Erste Lösung sollte natürlich sein, dieses in Ordnung zu bringen. Gibt aber auch die Möglichkeit, den Int nach Auftreten für eine gewisse Zeit zu sperren (1ms z.B.). Also Int tritt auf, normale Int-Bearbeitung und sperrt sich selbst (GIMSK.INT0=0), reti. Eine Timer-ISR prüft den Zustand des INT0-Flags, wenn == 0, beim nächsten Mal wieder frei geben, dabei auch das INTF0 löschen. Aber wie gesagt, besser wärs, das Eingangssignal in Ordnung zu bringen.
Oder hast du etwa den INT0 auf Lowpegel eingestellt? Mach' einen 100 Ohm-Widerstand zwischen OP-Ausgang und µC-Eingang (verhindert Schwingen), die Pullups kannst du dir sparen, da der OP-Ausgang einen niedrigen Ausgangswiderstand hat.
Also eigentlich sperrt sich meine Int0_ISR unter bascom schon selbst. Das habe ich schon softwaremäßig entprellt mit einem Flag, dass dort gesetzt und von dem Timer1 nach etwa 250ms wieder zurückgesetzt wird. Solange macht die ISR ja kaum etwas. Da ich kein Oszilloskop zur verfügung habe, kann ich mir leider mein signal nicht vernünftig anschauen und ein voltmeter ist ja ziemlich träge. Also ich löte mal einen Längswiderstand vom Ausgang zum eingang, mal schauen was passiert... Und ein paralleler Kondensator vom OPV-Ausgang nach gnd oder +5V hätte keinen verbesserungseffekt? Mein OPV ist übrigens ein TLC271! Ach ja, da fällt mir, dass ich noch nen fetten Kondensator (1uF) zwischen gnd und +5V in der Schaltung des OPVs habe. Kann dadurch irgendwie ein Schwingen entstehen? danke
Also meine Schaltung habe ich nach folgendem Link zusammengebaut: http://www.robotmaker.de/linie.html Dabei ist mir nicht klar, warum der Kondensator mit 1uF so groß ausfällt und ob ich den PullDown am Ausgang wirklich benötige? Sonst verwendet man doch immer einen Wert von 100nF.
Der TLC271 soll wohl als Komparator (nicht als Verstärker) betrieben werden. (Nein, er wird als Komparator betrieben!) Allerdings sollte man ihm noch einen Gegenkopplungswiderstand (1MOhm) spendieren, damit das Ding nicht bei "grau" wie wild zappelt. Eigentlich sollte man die CNY70 auch direkt am Controller betreiben können...(notfalls den ADC benutzen). Modulation der LED würde auch vor Fremdlicht schützen. Das von Ralf beschriebene mehrfache Auslösen ist auf die fehlende Hysterese zurückzuführen. (Dem Text nach, waren da wieder "Experten" unterwegs; wer benutzt sonst einen LM741 an 5V?) >Dabei ist mir nicht klar, warum der Kondensator mit 1uF so groß ausfällt >und ob ich den PullDown am Ausgang wirklich benötige? Sonst verwendet >man doch immer einen Wert von 100nF. Solange es kein Elko, sondern ein Kerko, Folienkondensator oder ähnliches ist, ist die Kapazität relativ egal. Beim Verwendungszweck geht es ja um die "Bunker-Wirkung", also die Möglichkeit, kurzfristig Strom zur Verfügung zu stellen, der aufgrund des Tiefpass-Verhaltens der Stromleitungen nicht zur Verfügung steht.
Du meinst also, ich solle noch einen 1MOhm vom Ausgang zum neg. Eingang des OPV schalten, um das Ganze gegenzukoppeln?
In diesem Fall (laut Bezeichnung auf dem Bild): 1MOhm (kann auch etwas kleiner sein) zwischen Pin 6 und Pin 3. Und diesen "komischen" pull-down-Widerstand solltest du dir sparen können. Und ich bin immer noch der Meinung, dass man sich das Tamtam mit dem OP sparen kann. (Eine Theorie meinerseits...)
ne, sollst nicht gegenkoppeln, sondern mitkoppeln. Und das heisst, vom Ausgang einen Widerstand zum +Eingang. Das ergibt dann eine Hysterese, deren Betrag vom Widerstandswert abhängt. Kann man berechnen, aber mit 1M liegst du erstmal ganz gut. Zu kleiner Wert: Schaltung funktioniert nicht mehr (Eingangsänderung reicht nicht aus, die Hysterese zu überwinden), zu grosser Wert Wirkung zu gering.
Einige Beiträge vorher habe ich aber etwas von Gegenkopplungswiderstand gelesen... Naja! Die Werte schwanken im folgenden Bereich: silber: 95ß - 970mV rot: 1050 - 1200mV Der "Störabstand" sollte demnach eigentlich ausreichen... (ca. 100mV) Ich stell das Poti auf 1V ein und löte jetzt erstmal einen 100 Ohm Längswiderstand vom Ausgang auf den Eingang des uC und zusätzlich einen 1MOhm Widerstand von Pin 6 auf Pin 3. Alle PullUps und Downs fliegen raus... Gucken was passiert...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.