Durchflussmessung Basisnoard Multi-MCU

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen

Noureddine Ait Ouhamou, 16.08.2023

Die erste Funktion misst die Zeit zwischen den gesendeten Impulsen und errechnet daraus den momentanen Durchfluss. Danach wird der Mittelwert auf zwei Nachkommastellen genau gebildet. Als nächstes wird abgefragt, ob schon 20 Werte vom Flowmeter in die Liste eingetragen wurden. Ist dies der Fall wird der Listenindexzähler flow1_List_Counter auf 0 gesetzt. Wenn der Mittelwert des Durchflusses einen Wert von 0,1 nicht übersteigt, wird der momentane errechnete Durchfluss direkt übernommen und durch vier geteilt, da sich bei geringem Durchfluss die Liste langsam füllt. Anschließend werden große Messspitzen herausgefiltert, die zu sehr vom Mittelwert abweichen. Zuletzt wird der neue Startzeitpunkt zur Durchflussmessung festgelegt und der Interruptzähler wird um eins erhöht. Die zweite Funktion, die mit einem PWM-Signal getriggert wird statt mit einem Timer, gibt die Messwerte der Platine an die MATLAB-GUI weiter und setzt bei keinem Auslösen der Flowmeterfunktion an der entsprechende Stelle in der Liste den Wert auf 0. Zuerst wird abgefragt, ob der Interruptzähler der ersten Funktion auf 0 ist. Tritt dieser Fall auf, wird der Mittelwert des Durchflusses ebenfalls auf 0 gesetzt. Danach wird überprüft, ob der flow1_List_Counter größer als 19 ist. Sobald diese Bedingung erfüllt ist, wird der Zähler zurückgesetzt. Anschließend wird in der Liste an der richtigen Stelle eine 0 gespeichert und der Listenzähler wird um eins erhöht. Zuletzt wird mit einer Printanweisung in dem das Kürzel „B!“ enthalten ist, die Messwerte an die MATLAB-GUI gesendet und der Interruptzähler wird auf 0 gesetzt.

Noureddine Ait Ouhamou, 21.06.2023

Die Erfassung des Flowmeters wird von Jan Budnick übernommen. Der Pin für die ISR wurde angepasst.

Armin Rohnen, 16.02.2023

Die Durchflussrate wird über einen ISR an GP13 ermittelt.