MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
hhhmmmmmmmm - mache ich da jetzt einen Denkfehler?
-Der Sensor gibt 2,5V bei 0A raus - d.h. wenn die Sinusspannung negativ wird, also unter 2,5V ist, kann ich softwaremäßig die Werte ingnorieren. Schon die Gleichrichtung gespart.
-Sinus 50Hz / 1 sec. = 20ms
-wenn ich z.b. 25 Messungen in 20ms mache wären das alle 800µs eine Messung.
-Nun kann man ganz einfach den absoluten Mittelwert ausrechnen.
So schwer ist die Softwarelösung wirklich nicht. Am einfachsten wohl noch die Nachbildung der Gleichrichtung in Software:
Beim AVR bekommt man mit frei laufendem ADC etwa alle 100 µS einen Wert. Die genaue Zeit hängt vom Takt und der Einstellung des Teilers ab. Danach richtet sich die Zahl der Samples für 20 ms, ggf. auch ein Vielfaches davon, wenn man so viel Zeit hat. Für 20 ms braucht man so rund 200 Werte.
Vom AD Wert wird die Lage des Nullpunktes (vermutlich irgendwo bei 500 - 520) abgezogen, und dann mit ABS(...) der Betrag gebildet. Die Werte werden dann aufsummiert, und am Ende noch geteilt. Auch in Bascom sollte die Rechenzeit ausreichen um das Aufsummieren auch in der Zeit zwischen den Samples zu schaffen, wenn man mit ganzen Zahlen rechnet. Es reicht sogar aus um auch noch den Mittelwert noch einmal zu berechnen - für die nächste Messung.
Der eigentlich einzigen Nachteile der Softwarelösung sind die Rechenzeit während der Messung (da bleibt ggf. kaum was über) und der Code von vielleicht 500 Bytes für die Lösung mit dem Betrag. Dafür spart man sich die Gleichrichterschaltung und man kann eine höhere Auflösung (durch Oversampling) bekommen, durchaus im Bereich 12 Bit. Auch mit dem Gleichrichter sollte man für ein genaues Ergebnis ein vielfaches von 10 ms oder 20 ms mitteln - viel einfacher wird also auch da die Software nicht.
Lesezeichen