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?
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/
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)
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.
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.
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.
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.
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 :-)
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...
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.
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
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.
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
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 :-(
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.
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?
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.