PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Attiny2313 und Durchflussensor?



MetallSimon
09.11.2010, 21:02
Also ich habe einen Attiny2313 und diesen(mit 3.30mm Düse): http://www.digmesa.com/fileadmin/user_upload/flowmeter/pdf/FHK/937-15xx03_D.pdf
Durchflussensor.
Den Durchflussensor kann ich nich Direkt an mein Mainboard anschließen, weil die Impulsrate nicht stimmt.
Könnte ich den Durchflussensor einfach an den Attiny2313 anschließen und dann das Signal einfach multiplizieren und dann an einen Lüfteranschluss auf meinem Mainboard weitergeben?

Hubert.G
10.11.2010, 15:13
Wenn du weisst was der Lüfteranschluss an deinem Mainboard für ein Signal braucht, Ja.

MetallSimon
10.11.2010, 17:07
Naja der Lüfteranschluss bräuchte das selbe Signal bloß halt verdoppelt oder vervierfacht.Kannst du mir bei der Programmierung helfen?Ich hab mich schon ein wenig mit Bascom AVR beschäftigt aber meine Kentnisse sind leider noch zu gering.

Hubert.G
10.11.2010, 19:59
Mit BASCOM habe ich mich noch nicht beschäftigt.
Meine Probleme konnte ich bis jetzt noch in C lösen.
Was ist wenn der Sensor kein Signal liefert, wenn kein Durchfluss.
Das einfachste ist ein Frequenzzähler, die Taktzeit vierteln und über einen Timer wieder ausgeben.
Das ganze ist mit Testen usw. schon ein paar Stunden Arbeit.

Besserwessi
10.11.2010, 21:01
Wenn man einen begrenzten Frequenzbereich hat, könnte ggf. auch Lösung mit einem PLL IC gehen. Die Auslegung ist aber auch nicht ganz einfach.

hardware.bas
11.11.2010, 06:33
Laut Datenplatt des Sensors wird warscheinlich die Ausgabefrequenz relativ
niedrig liegen, so dass auch an die Möglichkeit gedacht werden sollte,
anstatt der Frequenz, den Impulsabstand zu messen. Geht natürlich auch
mit BASCOM und unter Zuhilfename der Timer-Funktion.
Ich bin gerade dabei, ein ähnliches Problem mit einem Flowmeter zu lösen,
da durch die niedrige Frequenz nur große Sprünge angezeigt werden .
Deshalb werde ich ebenfalls anstelle der direkten Frequenzmessung, welche nur in 1Hz-Schritten erfolgt, zur Impulsabstandsmessung mit
höherer Taktfrequenz übergehen . VG Micha
mi

Besserwessi
11.11.2010, 17:30
Für die Auswertung in Software ist die Messung der Periodenlänge wohl die methode der Wahl. Nach einer Periode kann man dann auch gleich ausrechnen wo man die extra Pulse einfügen kann. Für ein verdoppeln der Frequenz einfach nach der helebn Periodendauer noch einen Impuls einfügen, und den original impuls auch weitergeben, ggf. mit reduzierter Länge.

Das wird bis vielleicht 1-10 kHz auch noch in BASCOM gehen.

MetallSimon
13.11.2010, 15:01
Also ich würde die Zeit messen, wie lange Spannung anliegt und diesen Wert dann in eine Variable a packen und a dann durch 20 teilen und dann den Ausgangs-pin für a Zeit einschalten und dann wieder für a zeit ausschalten und das dann als Schleife?Dann würde meine Drehzahl doch verzehnfacht werden oder?
Würde das gehen?

Richard
13.11.2010, 15:49
Naja der Lüfteranschluss bräuchte das selbe Signal bloß halt verdoppelt oder vervierfacht.Kannst du mir bei der Programmierung helfen?Ich hab mich schon ein wenig mit Bascom AVR beschäftigt aber meine Kentnisse sind leider noch zu gering.

Was soll das den werden? Du bekommst vom Sensor 6xx Pulse/L wieso soll damit der Lüfter geregelt werden? Sinnvoller wäre eine Wasser Temperatur Messung die Pumpe und/oder Lüfter ansteuert.

Oft werden Lüfter auch über PWM angesteuert, dann kann man die Sensor Impulse Zählen, umrechnen und als passenden PWM ausgeben.

Sollte nicht wirklich schwer sein. :-)

Gruß Richard

Richard
13.11.2010, 15:55
Für die Auswertung in Software ist die Messung der Periodenlänge wohl die methode der Wahl. Nach einer Periode kann man dann auch gleich ausrechnen wo man die extra Pulse einfügen kann. Für ein verdoppeln der Frequenz einfach nach der helebn Periodendauer noch einen Impuls einfügen, und den original impuls auch weitergeben, ggf. mit reduzierter Länge.

Das wird bis vielleicht 1-10 kHz auch noch in BASCOM gehen.

Ich glaube nicht das ein Lüfter seine Drehzahl abhängig von der Impulszahl ändert, eher von der Impulslänge PWM und das hat nicht wirklich etwas mit der Frequenz (Pulsanzahl/L) zu schaffen. Jedenfalls wen ich jetzt nicht ganz "danebenliege".

Gruß Richard

Besserwessi
13.11.2010, 17:03
Es wird wohl nicht darum gehen den Lüfter durch einen Sensor zu ersetzen.
Es wird wohl schon darum gehen den Drehzahlsensor des Lüfters durch den Durchflusssensor der Wasserkühlung zu ersetzen. Die Drehzahl erkennung geht über die Pulsfrequenz, nicht über ein PWM signal.

Richard
13.11.2010, 17:43
Es wird wohl nicht darum gehen den Lüfter durch einen Sensor zu ersetzen.
Es wird wohl schon darum gehen den Drehzahlsensor des Lüfters durch den Durchflusssensor der Wasserkühlung zu ersetzen. Die Drehzahl erkennung geht über die Pulsfrequenz, nicht über ein PWM signal.

OK so gesehen....Trotzdem habe ich hir ein Brett vorm Kopf zumindest kann ich im Moment keinen Sinn darin erkennen: :-( Außerdem wurde geschrieben der !Lüfter! braucht mehr Impulse?

Gruß Richard

MetallSimon
13.11.2010, 17:49
OK so gesehen....Trotzdem habe ich hir ein Brett vorm Kopf zumindest kann ich im Moment keinen Sinn darin erkennen: :-( Außerdem wurde geschrieben der !Lüfter! braucht mehr Impulse?

Gruß Richard
Es geht darum, den Durchflusssensor direkt ans Mainboard anzuschließen und somit den Durchfluss direkt am PC zu überwachen.Ich will nicht 50€ oder mehr in eine Steuerung oder ähnliches investieren, nur damit die mir den Durchfluss anzeigt.

MetallSimon
22.11.2010, 21:04
Kann mir jemand so ein Programm erstellen?

MetallSimon
05.12.2010, 16:50
So ich hab mich mal versucht.würde das so gehen:

$regfile = "2313def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40

Config Pinb.1 = Output

Dim Eingang As Integer

Do
Pulsein Eingang , Pind , 1 , 2
Eingang = Eingang * 10
Wait Eingang
Pinb.1 = 1
Wait Eingang
Pinb.1 = 0
Loop
End

MetallSimon
08.12.2010, 15:38
so das erste war mist aber würde es so gehen:
$regfile = "2313def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40

Config Pinb.1 = Output

Dim Eingang As Integer
Dim A As Integer
Do
Pulsein Eingang , Pind , 1 , 2
Eingang = Eingang / 10
A = 0
If A < 10000 Then
Wait Eingang
Pinb.1 = 1
Wait Eingang
Pinb.1 = 0
Wait Eingang
Pinb.1 = 1
Wait Eingang
Pinb.1 = 0
Wait Eingang
Pinb.1 = 1
Wait Eingang
Pinb.1 = 0
Wait Eingang
Pinb.1 = 1
Wait Eingang
Pinb.1 = 0
End If
Loop
End