Durchflusssensor

Gast #4641426
Lesenswert?

Hallo Leute. Ich hoffe jemand kann mir helfen.

Ich möchte das Signal eines Durchflussmessers über einen ext. Interrupt 
auswerten. Jedoch werden keine Interrupts ausgelöst wenn ich die 
Signalleitung des Sensors am INT2 meines Atmega32 anschließe. 
Softwaretechnisch funktioniert der INT2 mittlerweile. Mit Taster 
funktionierts und ich kann die Anzahl der Tastendrücke pro Sekunde auf 
einem LCD anzeigen lassen. Nur der Sensor liefert mir anscheinend kein 
vernünftiges high-low Signal. Kann das daran liegen dass ich die "Simple 
circuit"-Variante gewählt habe und nicht die TTL oder sollte es 
eigentlich auch so funktionieren?
Angehängte Dateien:
(Firma: matzetronics) #4641431
Lesenswert?

HansDampf schrieb:
> Kann das daran liegen dass ich die "Simple
> circuit"-Variante gewählt habe

Wenn du die benutzt, sollte der Sensor allerdings mit der gleichen Vcc 
versorgt werden wie der AVR.
Als Kontrolle könntest du den 4,7k Pullup durch eine rote LED in Reihe 
mit 1k ersetzen, um mal zu sehen, ob der Sensor überhaupt Pulse liefert.
Leider schreibst du ja nicht, welchen DIGMESA Sensor du benutzt, sonst 
könnte man mal im Datenblatt gucken.
http://www.digmesa.com/support/data-sheets/
(Firma: matzetronics) #4641472
Lesenswert?

Sebastian S. schrieb:
> Würde mich nicht wundern, wenn der Eingang schon im Nirwana weilt.

Würde mich wundern, wenn du den Thread gelesen hast, mit einem Taster 
gehts doch:
HansDampf schrieb:
> Mit Taster
> funktionierts und ich kann die Anzahl der Tastendrücke pro Sekunde auf
> einem LCD anzeigen lassen.

Ein 4k7 lässt auch bei 20V noch nicht so viel Strom in den AVR fliessen.

@TE: Schau doch nochmal, ob du nicht doch die Anschlüsse verwechselt 
hast. Hast du bestimmt schon zehn mal gemacht, aber guck trotzdem 
nochmal :-)
Gast #4641484
Lesenswert?

Matthias S. schrieb:
> @TE: Schau doch nochmal, ob du nicht doch die Anschlüsse verwechselt
> hast. Hast du bestimmt schon zehn mal gemacht, aber guck trotzdem
> nochmal :-)

Das habe ich wirklich schon mehrmals. Aber beim Durchmessen der 
Leitungen musste ich feststellen, dass die Signalleitung gar keinen 
Durchgang bis zum Controller hat --> Schneidklemme im Stecker 
nachgedrückt --> LED blinkt --> hurra :-)

Aber immer noch kein Interrupt: Wenn Pumpe läuft, habe ich ca. 2V, wenn 
Pumpe aus, dann mal 0V und mal 3,7V. Den Rest schluckt jetzt wohl die 
LED. Ich versuchs jetzt mal wieder ohne LED, dann müsste es ja 
hoffentlich laufen.
(Firma: matzetronics) #4641495
Lesenswert?

HansDampf schrieb:
> Wenn Pumpe läuft, habe ich ca. 2V, wenn
> Pumpe aus, dann mal 0V und mal 3,7V. Den Rest schluckt jetzt wohl die
> LED.

Bei den schnellen Pulsen vom Sensor wirst du mit dem Messgerät nur einen 
Durchschnittswert bekommen, daher die 2V. Die 0V oder 3,7V sind eben der 
Zufall, wo das Rädchen stehen bleibt. Du wirst deinen Interrupt also 
besser flankengetriggert auslösen als pegelgetriggert.

Jo, jetzt kannst du die LED auch wieder rausnehmen und damit stehen am 
AVR Eingang wieder die 5V statt 3,7V. Eigentlich sollten auch 3,7V als 
high erkannt werden, aber ohne LED ist schon besser - war ja nur zum 
Testen.
Gast #4641507
Lesenswert?

Matthias S. schrieb:
> Bei den schnellen Pulsen vom Sensor wirst du mit dem Messgerät nur einen
> Durchschnittswert bekommen, daher die 2V. Die 0V oder 3,7V sind eben der
> Zufall, wo das Rädchen stehen bleibt. Du wirst deinen Interrupt also
> besser flankengetriggert auslösen als pegelgetriggert.

Jetzt habe ich Spannungen von 0V 2,5V und 5V. Also ein einwandfreies 
Signal würde ich sagen. Jetzt muss ich hald wieder im Programm schauen 
warum ich keine Interrupts bekomme.

Vielen Dank schon mal für die Unterstützung
Gast #4641535
Lesenswert?

HansDampf schrieb:
> durchluss.JPG

Wie stellst du bei dieser Beschaltung sicher, dass der Maximalstrom des 
Sensors nicht überschritten wird? Bei jedem Schaltvorgang nach 0V wird 
der Kondensator über den Transistor kurz geschlossen. Die feine 
englische Art ist das nicht - aber in der Schweiz macht man das 
anscheinend so :-(
Gast #4641537
Lesenswert?

Problem gelöst. Der Takt von 1MHZ war zu schnell. Ich zähle ja die 
Interrupts während eines Timerlaufs. Aber dieser war schneller als die 
Taktrate des Sensor und somit immer 0. Mit Prescaler läufts.
Gast #4641555
Lesenswert?

HansDampf schrieb:
> Momentan garnicht, ich dachte die Schweizer wissen schon was sie tun.

Nun ja, durch die Unsymmetrie der Ausgangsstufe bekommst du steile 
fallende Flanken und langsam steigende Flanken.

> Irgendwelche vorschläge?

Um das abzumildern, könnte man einen kleinen Widerstand zwischen Ausgang 
des Sensors und den Kondensator schalten. Bei z.B. 330Ω wird der Strom 
schon mal auf 15mA begrenzt, die Flanke ist nicht mehr ganz so giftig 
und der Low-Pegel wird nur unwesentlich verschoben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren