Werbung
Geändert von PICture (10.02.2012 um 12:45 Uhr)
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!
@picture: Der OP geht nicht am Eingang in die Sättigung, sondern schon als ganzes, bzw. mit der Spannung am Ausgang. Im linearen Bereich, sorgt der OP Dafür das die Spannung an den beiden Eingängen gleich ist - damit kann man dann relativ einfach den Eingangswiderstand von der Schaltung von Löststelle ... berechnen, bzw. sehen, das man da einen gewöhnlichen konstanten Eingangswidestand hat.
Bei der Schaltung wo der OP in die Sättigung geht, gilt dann nicht mehr das die Spannungen an beiden Eingängen gleich ist. Damit muss man den Eingangswiderstand für beide Polaritäten getrennt berechnen und bekommt auch was anderes heraus. In der Regel kann man annehmen das der Eingang hochohmig ist - das muss aber auch nicht für jede OP gelten. Mit so einem OP (z.B: OP07) geht die Schaltung dann gar nicht. Man hat also keinen konstanten Eingangswiderstand.
Code für die Softwarelösung hab ich in C, und auch noch eine Version in ASM für den wesentlichen Teil (AD Interruppt). Die ASM-Version sollte sich ggf. auch mit relativ wenig Änderungen in Bascom als Inline ASM einbinden lassen.
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