Jump to content

[AnalogIn] Averaging


Nic

Recommended Posts

Nein. Das ganze ist so: Intern wird die Spannung jede Millisekunde gemessen und über 50 Messwerte wird dann der Mittelwert gebildet. Diesen Mittelwert kannst du dann über GetVoltage abfragen oder dir über OnVoltage mitteilen lassen.

 

Über die Periode von OnVoltage kannst du einstellen wie häufig dir neue Werte mitgeteilt werden. Wenn sich der Mittelwert nicht ändert wird OnVoltage nicht aufgerufen. Wenn er sich ändert wird OnVoltage sofort aufgerufen. Dann aber erst frühstens wieder nach der eingestellten Periode. Wenn sich also der Mittelwert ständig ändert bekommst du alle Periode Millisekunden einen Callback.

 

Vor Version 2.0.3 was das Averaging fest auf 50. Dass heißt, der Mittelwert wurde über 50 Messwerte bestimmt und konnte sich daher nur alle 50 msec ändern. Damit wurde dann OnVoltage auch höchstens alle 50 msec aufgerufen, selbst wenn du die Periode von OnVoltage kleiner eingestellt ist.

 

Durch die Mittelwertbildung bedingt werden Änderungen der Spannung im Worst Case erst um Länge der Mittelwertbildung Millisekunden verzögert gemeldet.

 

Mit Version 2.0.3 kann das Averaging jetzt zwischen 1 und 255 Werten eingestellt werden. Dadurch hast du Kontrolle darüber ob du Änderungen ohne Verzögerung haben möchtest, oder glattere Werte.

 

Zu deinem Beispiel, bei einer Periode von 1000 Millisekunden und Averaging von 100 Werten bekommst du im Worst Case eine Spannungsänderung erst nach 1100 Millisekunden durch OnVoltage mitgeteilt. Im Best Case direkt, wenn gerade die Periode angelaufen ist und die Spannungsänderung der 99. der 100 Werte pro Mittelwert ist.

Link zu diesem Kommentar
Share on other sites

Nabend.

 

Interessiert habe ich mitgelesen und es hat lange gedauert bis ich es verstanden habe, aber:

 

Bei "Konfigurationsfunktionen für Callbacks (set_voltage_callback_period)" steht:

Setzt die Periode in ms mit welcher der CALLBACK_VOLTAGE Callback ausgelöst wird. Ein Wert von 0 deaktiviert den Callback.

 

Kann es sein, dass es sich nicht um eine Periode handelt und es somit zu Verwirrungen kommen kann? Muesste es nicht heissen:

Setzt die minimale (Pausen-)Zeit in ms mit welcher ein CALLBACK_VOLTAGE Callback nach dem anderen CALLBACK_VOLTAGE Callback ausgelöst werden kann. Zum Ausloesen muss (irgend)ein Mittelwert innerhalb der eingestellten (Pausen-)Zeit, vom letzten geschickten Mittelwert abweichen.

 

 

Ist das nun zu kleinkariert oder habe ich es doch nicht verstanden?  ::)

 


 

Aus obigen Text ergibt sich die Zusatzfrage:

Angenommen die Periode/Pausenzeit betraegt 1000ms

Alle 100ms wird ein Mittelwert gebildet.

Der letzte per Callback geschickte Mittelwert war 3Volt.

 

Wann wird der naechste Callback ausgeloest?

a) Erst wenn der erste Mittelwert nach Ablauf der Periode/Pausenzeit <> 3V betraegt? Ermittelte Mittelwerte innerhalb der Periode/Pausenzeit werden ignoriert.

b) Sofort nach Ablauf der Periode/Pausenzeit weil bereits irgendein Mittelwert innerhalb der Periode/Pausenzeit <> 3V betragen hat?

  Bei b) koennte es dann passieren dass zufaellig wieder der Wert 3V geschickt wird?!

 

[size=10pt]1. Zeile: Periode/Pausenzeit a=Anfang, e=Ende
2. Zeile: Messwerte in Volt (x=egal)
3. Zeile: v=Zeitpunkt des mit Callback verschickten Wertes??

----e a-----------------e a-----------------e
     3 4 5 6 3 2 6 7 3 3 3 1 2 4 5 6 7 2 8 2 4 
     v                   v                   v[/size]

 

 

 

Der Loetkolben

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...