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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.