Forum: Mikrocontroller und Digitale Elektronik Durchflusssensor


von HansDampf (Gast)


Angehängte Dateien:

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?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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/

: Bearbeitet durch User
von HansDampf (Gast)


Angehängte Dateien:

Lesenswert?

Matthias S. schrieb:
> Leider schreibst du ja nicht, welchen DIGMESA Sensor du benutzt, sonst
> könnte man mal im Datenblatt gucken.

Datenblatt? kein Problem...

Das mit der LED versuche ich gleich mal, aber würde man ein so schnelles 
Blinken überhaupt sehen? (Über 100 mal pro Sekunde ca)

von HansDampf (Gast)


Lesenswert?

Matthias S. schrieb:
> Wenn du die benutzt, sollte der Sensor allerdings mit der gleichen Vcc
> versorgt werden wie der AVR.

Ja da hängen die gleichen 5V wie am AVR, und die kann ich auch messen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Du kannst auch eine Z-Diode hinzufügen, siehe das Bild.

HansDampf schrieb:
> (Über 100 mal pro Sekunde ca)

Dann lass nicht so viel Flüssigkeit fliessen beim Testen :-)
> Datenblatt? kein Problem...

Ok, der kann am Ausgang 20mA schlucken, dann ist die LED kein Problem.

von HansDampf (Gast)


Lesenswert?

Also LED leuchtet nicht, auch wenn ich den Durchfluss reduziere.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

HansDampf schrieb:
> Also LED leuchtet nicht, auch wenn ich den Durchfluss reduziere.

Liefert also keine Pulse. Hmm, die meisten Durchflusssensoren haben ein 
kleines Turbinenrädchen, evtl. ist das bei deinem Sensor blockiert?

Da steht auch was von 'Einbaulage beachten' im Datenblatt.

von Sebastian S. (amateur)


Lesenswert?

Würde mich nicht wundern, wenn der Eingang schon im Nirwana weilt.
24V an einem relativ hochohmigen Eingang, ist ein Fehler, der nur 
blutigen Anfängern, und das auch nur einmal, passiert.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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 :-)

von HansDampf (Gast)


Lesenswert?

Sebastian S. schrieb:
> Würde mich nicht wundern, wenn der Eingang schon im Nirwana weilt.
> 24V an einem relativ hochohmigen Eingang, ist ein Fehler, der nur
> blutigen Anfängern, und das auch nur einmal, passiert.

Dem Eingang geht's gut, danke der Nachfrage :-), wer sagt denn was von 
24V...

von Wolfgang (Gast)


Lesenswert?

HansDampf schrieb:
> Dem Eingang geht's gut, danke der Nachfrage :-)

Und die Durchflussrichtung stimmt auch?

von HansDampf (Gast)


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.

von Charly B. (charly)


Lesenswert?

schliess deine simperlschaltung mit LED mal an 12v
oder 24V an, (natuerlich ohne AVR) und schau mal
dann ob sich was an der LED tut, besser waehre
natuerlich a oszi zum gucken

vlG
Charly

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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.

: Bearbeitet durch User
von HansDampf (Gast)


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

von Wolfgang (Gast)


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 :-(

von HansDampf (Gast)


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.

von HansDampf (Gast)


Lesenswert?

Wolfgang schrieb:
> Wie stellst du bei dieser Beschaltung sicher, dass der Maximalstrom des
> Sensors nicht überschritten wird?

Momentan garnicht, ich dachte die Schweizer wissen schon was sie tun. 
Irgendwelche vorschläge?

von Wolfgang (Gast)


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.

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.