Forum: Mikrocontroller und Digitale Elektronik SMT160-30 mit Schmitt-Trigger


von Alexander S. (knut740)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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.

von Alexander S. (knut740)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von Alexander S. (knut740)


Lesenswert?

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

von Gerd E. (robberknight)


Lesenswert?

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?

von Alexander S. (knut740)


Lesenswert?

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

von Peter D. (peda)


Lesenswert?

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.

von Alexander S. (knut740)


Lesenswert?

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
Noch kein Account? Hier anmelden.