Hallo Zusammen, Ich muss für eine Projekt eine Mikrokontroller Steuerung entwickeln und Programmieren. Ich benutze dazu einen PIC16F819 und Programmiere das ganze in C. Nun zu meinem anliegen: Ich möchte einen Volumenstromsensor auslesen welcher über eine Turbine TTL Impulse zurückgibt. Meine Überlegung ist, dass ich den Timer0 als Counter konfiguriere, die Impulse über eine gewisse Zeit hochzähle, den Timer0 (Counter) dann auslese, die Impulse durch die verstrichene Zeit teile um so die momentane Frequenz der Turbine zu erhalte. Danach setze ich den Timer0 wieder auf null. Die zähl Zeit will ich über den Timer1 definieren. Meine Frage ist: Sind dies Überlegungen so realisierbar? Kann ich den TTL Impuls wie auf dem Schema gezeichnet mit dem pull up Wiederstand, an den Timer0 Eingang des PICs anhängen? Brauche ich einen externen Quarz um die Zeit genau genug hinzubekommen oder reicht der internen Oszillator? Ich Messe den Volumenstrom von Wasser. Die Spannweite liegt bei 0 – 2 l/min. Mein Ziel ist es möglichst wenig Rechenleistung für diesen Vorgang in Anspruch zu nehmen so dass das System möglichst schnelle auf externe Ereignisse reagieren kann und nicht durch das Auslesen vom Sensor blockiert wird. Da ich noch nicht so lange mit Mikrokontrollern arbeite, weiß ich nicht was die optimalste Lösung für solche Messungen ist. Wenn ihr einen anderen, besseren Weg kennt, freu ich mich auf die Anregungen. TRINAT
Hallo, also erst einmal ein paar Fragen. Dein Volumenstrom beträgt maximal 2l/min, wie hoch wäre dann die Frequenz der Turbine, also wie groß ist die zeit zwischen den TTL Impulsen? Deine Möglichkeit geht natürlich, du solltest dabei den Timer so konfigurieren, dass er auch bei maximaler Drehzahl der Turbine noch eine gewünschte Auflösung bringt. Wie genau soll die Auswertung sein? Mein Vorschlag: Timer1 (16bit) nehmen und als counter definieren. Der zählt dir dann die Impulse an RC0 oder RC1. Timer0 als Timer, mit Interrupt, sodass aller, sagen wir als Beispiel 500ms, ein Überlauf-> Interrupt ausgelöst wird. Dann den Timer1 auslesen und schon hast du deine Frequenz. Die ganze Sache benötigt sehr wenig Rechenleistung, da der Counter in der Hardware arbeitet und somit keine Rechenleistung verbaucht. Wegen der Genauigkeit: Quarz ist definitiv genauer, aber das kommt auf deine Anforderungen an.
Besonders spannend ist die Frage, wie konstant der Durchfluß ist. Bei stärkeren Schwankungen (womöglich auch noch in kurzer Zeit ...) wird das ziemlich ungenau.D ann muß man doch schon mehr Rechenaufwand betreiben, z.B. auch die Impulse und Zeit absolut zählen. Wenn neben Geschwindigkeit auch noch das Volumen gefordert wird, muß das sowieso so gemacht werden.
Ein ganz wichtiges Zitat siehe hier: http://de.wikipedia.org/wiki/Durchflussmesser#Unterscheidung_Z.C3.A4hler_und_Durchflussmessung
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.