Hallo ich würde gern an einen SMT160-30-Ausgang zwei Schmitt-Trigger anschließen, einen auf negative, den anderen auf positive Flanke programmieren und an zwei getrennte Ports anschließen. Meine Frage an die Elektronik-Spezialisten hier: geht so etwas? Hintergrund meiner Frage: Meine Temperaturmessung an einem Koi-Teich liefert seit einigen Tagen manchmal unplausible Werte. Ich vermute, die ziemlich lange Leitung, die an sich schon nicht günstig ist für saubere Flanken, hat wahrscheinlich einen Feuchtigkeitseinbruch bekommen, vielleicht knabbert ein Mäuschen? Die Leitung müßte überprüft werden, aber das würde ich nicht gern in dunklen und kalten Winternächten, sondern im warmen Frühling machen. Vielleicht kann ich mit den Schmitt-Triggern die Meßstelle noch über einige Wochen retten? VG Alexander
Der SMT160-30 hat einen Digitalausgang, ein Schmitt-Trigger ist daher nutzlos. Man muß über mehrere Perioden messen. Beim 8051 geht das sehr gut über den Gate-Mode, beim AVR über den Capture-Mode. Fehlmessungen deuten auf eine fehlerhafte Überlaufauswertung der 16Bit-Timer hin.
Du hast natürlich recht, das ist ein digitales Gerät, das ein Rechtecksignal ausgibt, aus dessen High- und Low-Anteilen man die Temperatur errechnet. Aber: um die Anteile von High und Low zu kennen, erfaßt man die steigenden und fallenden Flanken. In der Arduino-Sprache gibt es sogar eine Instruktion, die dafür bestens geeignet ist (pulseIn). Aber die Flanken sollte halbwegs als Flanken erkennbar sein, damit der Arduino etwas damit anfangen kann. Ich vermute, es kommt da irgendwelche verwaschene Spannungsänderung an, die von der nächsten "Flanke" abgelöst wird, bevor der Arduino etwas gemerkt hat. Meine Hoffnung war, daß mit einem Schmitt-Trigger, wenn er schnell genug ist, sich die Flanken etwas aufhübschen lassen.
Alexander S. schrieb: > In der Arduino-Sprache gibt es sogar > eine Instruktion, die dafür bestens geeignet ist (pulseIn). Nein. Du mußt den Capture-Mode des Timers nehmen. Da kannst Du auch den Schmitt-Trigger mit Noise-Canceler davor schalten. Im Datenblatt ist das alles schön ausführlich erklärt.
Hallo Peter, was ist am Peter D. schrieb: > Im Datenblatt ist das alles schön ausführlich erklärt Ob Du mir vielleicht einen Hinweis auf das Datenblatt geben könntest? Für Arduino habe ich hauptsächlich Problembeschreibungen in den Foren gefunden, so ein rechtes Datenblatt vom Arduino kenne ich nicht, nur Schaltpläne, Referenzen u.dgl.. Eigentlich müßte Input capture ja bei den AVR's stehen, also z.B. bei AVR328. Sollte ich dort suchen? Habe ich das richtig verstanden, daß ich dann für die Eingänge, an denen der langkabelige SMT160... hängt, Schmitt-Trigger vorsehen sollte? Was ist eigentlich am Capture Mode besser als bei PulseIN, das doch seine Sache auch ganz schön macht? VG Alexander
Hast Du ein Oszi oder kannst eines ausleihen? Wenn ja, dann häng das doch mal an die Leitung und schau mal wie das Signal aussieht. Dann kann man eher beurteilen ob ein Schmitt-Trigger da etwas helfen kann oder nicht. Was hast Du genau für Kabel verwendet und wie lang ist das in etwa?
Hallo, Oszi habe ich nicht. Das Kabel ist wahrscheinlich ein normales Indoor-Telefonkabel mit 4 Adern. Es ist nicht gerade günstig untergebracht: bis auf ein paar Meter im und am Haus liegt es am Rand einer feuchten Wiese und an einem Mauerfuß, der Witterung ausgesetzt. Lediglich die letzten Meter hat es einen Hüllschlauch aus Silikon und eine Edelstahlhülse für den Sensor, das ist da, wo es unter Wasser im Teich liegt. Die Länge des Kabels ist ca 40 m. Ich weiß, das hört sich nicht gut an, aber seit 15 Jahren funktionierte es ohne Auswechselung problemlos und lieferte kontolliert richtige Temparaturwerte. VG Alexander
Alexander S. schrieb: > Was ist eigentlich am Capture Mode besser als bei PulseIN, das doch > seine Sache auch ganz schön macht? Ich kenne die Arduino Libs nicht, ich benutze den Timer 1 direkt. Der Capture-Mode ist im Datenblatt des jeweiligen AVRs beschrieben. Der Capture-Mode hat den Vorteil, daß er unabhängig von anderen Tasks im Interrupt laufen kann. D.h. die Laufzeit des Main beeinflußt die Messung nicht. Kann sein, daß Dein Kabel einfach verrottet ist oder eine Klemme, Lötstelle, Stecker. Da hilft nur reparieren.
Peter D. schrieb: > Der Capture-Mode hat den Vorteil, daß er unabhängig von anderen Tasks im > Interrupt laufen kann. D.h. die Laufzeit des Main beeinflußt die Messung > nicht. Das hat mein Arduino nicht nötig, er lebt sozusagen in Luxus und Überfluß, da er nichts anderes zu tun hat, als aller 10 min zwei SMT's abzufragen und die Ergebnisse auf dem LCD darzustellen. VG
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.