Forum: Mikrocontroller und Digitale Elektronik Durchfluss/Drehzahlüberwachung


von Marcus Göttler (Gast)


Lesenswert?

Hi Leute,

ich hab mal wieder ein kleines Problem:

ich möchte gerne den Durchfluß einer Pumpe überwachen ( evtl. auch die 
Drehzahl von mehreren Lüftern, also nur ob er noch läuft ). Das ganze 
soll auf nem ATMeag323 laufen, bei dem leider schon alle Timer für PWM 
belegt sind. Kann mir da mal bitte einer auf die Sprünge helfen wie ich 
das in Assembler lösen könnte ?

Ich dachte erst an einen externen Interrupt, der mir ein Register erhöht 
und ich dann schaue ob es sich geändert hat. Nur wie vergleiche ich das 
am besten ? Lieg ich da mit meinen Gedanken einigermassen richtig ? Wie 
könnte ich das in der Praxis lösen ? Ich steh da irgendwie etwas auf dem 
Schlauch und wär für Tips sehr dankbar.


MfG
Marcus Göttler

von Christian Schifferle (Gast)


Lesenswert?

Hallo Marcus

Das mit dem Durchfluss würde ich auch gern wissen. Die am Markt 
erhältlichen Durchflussmesser sind nämlich Schweineteuer.
Für den Lüfter hätte ich da allerdings eine Idee von einem 
Geschäftspartner von mir. Der hat bei seinen PC's direkt hinter dem 
Lüfter eine kleine Klappe montiert, die durch den Luftstrom etwas 
angehoben wird. Mit dieser Klappe hat er einen Mikroschalter betätigt 
(Öffner) und einfach das Signal des Schalters ausgewertet.

Gruss
Christian

von Marcus Göttler (Gast)


Lesenswert?

Hi Christian,

hehe das ist sicherlich auch ne Idee, mir aber leider zu 
"unprofessionell" ;) Ich will sozusagen alles aus einer Hand: 
Lüftersteuerung und Ausfallschutz der Pumpe für die Wasserkühlung bzw 
Ausfall eines Lüfters. Bei Pumpenausfall soll der Rechner runtergefahren 
werden und bei Ausfall eines Lüfters genügt mir eine Signalisierung per 
LED oder Summer.


Marcus

von crazy horse (Gast)


Lesenswert?

Lüfter kann man notfalls auch mit ner Lichtschranke überwachen (falls 
kein Tachosignal verfügbar), aber da du es ja "professionell" willst, 
geht das nicht, da führt kein Weg an einem Durchflussmesser vorbei. 
Könnte ja sein, irgendein Döskopp legt seine alten Socken auf den 
Lufteinlass, der Quirl quirlt und trotzdem bringts nichts.
Dasselbe gilt für die Pumpe, wirkliche Überwachung gibt auch da nur ein 
Durchflußmesser.
Ansonsten ist die Sache recht einfach, nimm dir eine Variable, die du in 
irgendeinem zyklischen Interrupt (kann ein PWM-Timer sein) um eins 
erhöhst und auf einen Grenzwert kontrollierst. Die ISR am ext. Interupt 
macht nichts anderes, als diese Variable wieder auf Null zu setzen. 
Bleiben die Impulse aus, läuft die Variable in den Grenzwert -> Alarm.

von Marcus Göttler (Gast)


Lesenswert?

@Crazy Horse:

Danke erstmal für den Tip, das werde ich heute mal probieren. Ich hab 
mir den Kopf zerbrochen, wie ich das am besten ohne Timer lösen könnte, 
weil ich dachte die kann ich eh nicht nehmen, da sie ja von der PWM 
belegt sind. Aber das dürfte ja nix ausmachen.
Ich wollte das Tachosignal der Lüfter auswerten und für die Pumpe noch 
einen Durchflussmesser verbauen.

Da könnte ich ja mit dem Timerinterrupt ein Register um 1 erhöhen und 
mit dem ext interrupt wieder zurücksetzen. Dann noch schnell geschaut 
was in dem Register steht und den entsprechenden Ausgang schalten....

Nur wie mache ich das dann mit mehreren Lüftern ? Einen Interrupt hab 
ich bereits für nen Taster belegt und der andere würde dann für eine 
Drehzahlüberwachung drauf gehen. Überwacht hätte ich gerne 1x Durchfluss 
und 4 Lüfter.


MfG
Marcus

von thkais (Gast)


Lesenswert?

Auch wenn ich Conrad net unbedingt mag: Dort gibts 
Flügelrad-Durchflussmesser. Sie geben eine dem Durchfluß (mehr oder 
minder) proportionale Frequenz aus. Es gibt unterschiedliche 
Ausführungen, z.B. Best.-Nr. 187151 , ca 20 Euro. Andere Bezugsquelle: 
RS-Components, die sind aber noch teurer als Conrad. Dann gibts auch 
noch versch. Hersteller, die aber nicht an privat verkaufen, die liegen 
preislich aber jenseits von gut und böse.

von Peter D. (peda)


Lesenswert?

Hallo Markus,

ich habs hier schon öfters gesagt, externe Interrupts sind nur dann 
nützlich, wenn man sie benötigt.

Einen Taster damit abzufragen ist quatsch, kein Mensch ist in der Lage 
einen Taster innerhalb weniger µs zu drücken.

Also Interrupts sind nur für wirklich schnelle Sachen da. Alle langsamen 
Abfragen macht man viel bequemer mit einem Timerinterrupt.

Bei den Lüfter und Durchflußsensoren must Du also die maximale 
Taktfrequenz wissen, um zu entscheiden, ob ein extra Interrupt notwendig 
ist.

Die mir bekannten Durchflußsensoren erzeugen nur einige 100Hz, d.h. man 
kann sie bequem auch mit einem Timerinterrupt, z.B. alle 100µs abfragen.

Für die Tastenabfrage sind 100µ zu kurz zum Entprellen, d.h. Du nimmst 
dann im Timerinterrupt ein Byte zum Teilen auf 10ms zum Entprellen.


Somit kannst Du soviel Sensoren oder Tasten anschließen,wie Du Pins hast 
und brauchst für alles zusammen nur einen einzigen Timerinterrupt.


Peter

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.