Netzspannung mit Attiny13 messen

Am 12.09.2017 um 14:58 schrieb Peter Heitzer:

Reply to
Eric Bruecklmeier
Loading thread data ...

kleinen Abtastintervallen kann man auch einfach das Intervall linear interpolieren und aufaddieren.

Scheitelwerten berechnen und aufaddieren:

I(N)= T0*(S0+S1)/2 + T1*(S1+S2)/2 + T2*(S2+S3)/2 + ...

Man braucht also eine Variable zum Aufaddieren und eine, um sich den letzten Scheitelwert zu merken. (S0+S1)/2 ist das Ergebnis, wenn man die beiden Scheitelpunkte einfach durch eine Gerade verbindet (linear interpoliert).

Mit T0 = T1 = T2 = T (festes Abtastintervall) kann man noch etwas ausklammern:

IN= T * (S0 + 2*S1 + 2*S2 + ... + SN) / 2

Da braucht man dann nur noch eine Variable zum Aufaddieren und kann sich den Rest am Ende der Halbwelle ausrechnen. Die aufaddierten

die Summe auf ein bestimmtes Intervall bezieht (hier die Halbwelle).

Ganz sicher bin ich mir jetzt nicht (das war so heruntergetippt und

die Richtung vorgeben.

Reply to
Edzard Egberts

Ich denk's mir ja schon die ganze Zeit, aber wenn da nur mal schnell ein

Spitzenwertgleichrichter vor den ADC setzen. So habe ich das gemacht, die Software war von anderen Projekten schnell zusammengeklickt.

Reply to
Andreas Neumann

Exactamente.

formatting link

Wobei 3% nicht mehr zeitgemaess ist, inzwischen kommt man in den Bereich eines Prozentes:

formatting link

Beim Atmel sind es jedoch keine 3%, sondern 10% und das finde ich blamabel. Ich wuerde das nicht sagen, wenn ich nicht selbst an IC mitgeschmiedet haette, wo wir ungetrimmt deutlich unter 2% kamen. Ohne heroische Klimmzuege, da wir nicht mehr brauchten.

Digital ist das uebrigens nicht, der hat ADC und Comparator drin. Dafuer sollte man Analog-IC Entwickler heuern.

Das muss gar nicht sein. Es gibt noch andere Tricks, bei denen die Kosten voellig im Rauschen untergehen. Einer laeuft so: Man sieht auf dem Wafer um die Devices "Outer Scribe" vor, wo auf der Metal Mask Verbindung zum Trim besteht. Dieser Trim laeuft einfach ueber Fuses ab,

2-3 pro Device. Anstatt von einem Device zum naechsten zu nuckeln, wird nur waferspezifisch gemessen und dann die Fuses in allen Devices in gleicher Weise gebrannt. Das kostet nur wenige Sekunden fuer den ganzen Wafers.
--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Ja, Du hattest ja von 5*5*1cm geschrieben. Das gilt in der Elektronik heutzutage beinahe als Konzerthalle.

Da kommst Du noch drunter, wenn Du interpolierst. Allerdings nur, wenn der Sinus nicht zu arg verzerrt ist, also z.B. nicht aus einem schwaechlichen Stromgenerator mit ueblen angeschlossenen Lasten stammt.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Ist ja jetzt (hoffentlich) verjaehrt: Wir hatten in unserem Gebaeude in der Kaserne einen Wachbeauftragen (Unteroffizier vom Dienst), der entgegen der Vorschrift spaet nachts ein Nickerchen machte. Da haben wir einen fetten Elko an einen Klingeldraht geloetet, vom oberen Stock bis vor das Fensters der Wachstube abgelassen und die anderen Enden des Drahtes in eine Steckdose gehalten ... *KABUMPFFFFFF* ... sogar die Echos von den anderen Gebaeuden um den Ex-Platz waren imposant. Ueberall um den Ex-Platz gingen Lichter an und hoellisches Gekloeter kam unten aus unserer Wachstube.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg
[...]

Die kalibriert sich raus, wenn man die Nulldurchgaenge registriert und verwurstet. In manchen Anwendungen (Flugzeug, Stromversorgung in der Karibik, etc.) geht es gar nicht ohne.

Du meinst wahrscheinlich Mikrosekunden. Das reicht und notfalls kannst Du noch jeweils zwischen den repetierenden beiden Sitzenwerten interpolieren, mitteln, filtern, und so weiter. Ein hartgesottener uC-Coder hoert nicht auf, bis der verfuegbare Platz im ROM oder EEPROM auf mindestens 95% ausgenirzt ist :-)

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Taete es dafuer nicht ein UPS mit fettem externem Akku? Moderne Truhen haben ja (leider) sehr kleine Kompressoren, die keinen hohen Anlaufstrom ziehen.

Man koennte eine Mimik reinfriemeln, wo das UPS erst anspringt, wenn der Stromausfall mehr als eine bestimmte Zeit gedauert hat. Muss allerdings selbststartfaehig sein.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Ich wuerde vermeiden, permanent in den Flash zu schreiben. Der lebt dann u.U. nicht lange. D.h. wenn es nicht mit ins RAM passt, solange nach einer Methode herumtuefteln, bis sie ins RAM passt.

Wenn eine mathematische Sinus-Approximation nicht reinpasst, koenntest z.B. ganz profan ein Pattern im Flash ablegen, wieviel hoeher der Spitzenwert ist, wenn der Unterschied zwischen den hoechsten aufeinanderfolgenden Werten x, x+1, x+2 ... ist. Bei knappem Flash-Speicherplatz grober, x, x+3, x+6 und so weiter. Dann bei jedem Durchlauf diese beiden hoechsten Werte erfassen, subtrahieren, Wert aus dem Flash holen. Kann man fuer einen Tiefpass-Effekt auch mehrmals wiederholen und mitteln. Das ist zwar eien Holzhammermethode, aber das sieht ja von aussen niemand ...

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

horejsi schrieb:

Der verquollene und verqualmte RIFA 0.047uF angebliche X-Kondi liegt hier noch auf dem Schreibtisch. 10 Jahre lang oB, dann Indianer.

Lebensdauer (z.T. unterhalb derjenigen von Billigelkos) sind leider mittlerweile eher die Regel als die Ausnahme. Der Aha-Effekt kommt meistens beim Einbau eines Ersatzkondensators mit den selben

Motorbetriebskondensatoren mit 10kh Lebensdauer sind auch keine Seltenheit. Hatte schon Kleinpumpenmotoren, die nicht mehr von alleine losliefen, obwohl kein Losbrechmoment vorhanden war. Starteten beim Anschubsen ging dann in beide Richtungen gleich gut. C war auf 1/10 oder so runter.

--
mfg Rolf Bombach
Reply to
Rolf Bombach

Dann mit WLAN ins IoT. Kleines LCD mit Linse vor die ohnehin vorhandene LED gibt dann noch einen Mikrobeamer, der den Verlauf der letzten Stunde als Diagramm an die Decke projiziert. Finanzierung

--
mfg Rolf Bombach
Reply to
Rolf Bombach

zu verwenden, da du ja kein Strom sparen brauchst oder auf den letzten Cent achten musst. Nimm besser einen STM32F0, z.B. den hier:

4 mal schneller als der ATtiny (und da 32 Bit statt 8 Bit, effektiv nochmal um einiges schneller), hat 16 kB Flash und 4 kB RAM, und 12 Bit

Der STM32F0 hat zwar im Gegensatz zu den fetteren STM32F4 Chips keine

RMS-Wertes, wird dann in Software emuliert. Damit wird dein Programm sehr einfach. Vergiss sowas beim ATtiny, ist sehr wahrscheinlich zu

vielleicht gar nicht ins Flash passt, was das C-Programm dann aufwendiger macht.

Ende durch die Anzahl teilen und die Wurzel ziehen (float reicht in deinem Fall allerdings) :

formatting link

Wenn du dann noch einen Nulldurchgangstest programmierst, sollte das

dann per Interrupt und im Hauptprogramm die wahrscheinlich etwas

Periode trifft. Aber bei bekannter Netzfrequenz kannst du auch einfach eine feste Periodenzeit programmieren, wobei es dann egal ist, ob es

selbstgebauten Wurzel-Funktion (das Newton-Verfahren ist relativ einfach

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Das ist aber unspochtlich :-)

Da sollte doch erst Spass bei aufkommen. Ich kann mich noch erinnern, wie eine Truppe ein komplettes Kommunikations-Interface in einen Winz-uC gepfercht hat. Die Stromversorgung lief ueber eine ESD Diode eines Port Pins. Dazu musste der uC per Dummy-Routinen in Pausen stets soweit beschaeftigt werden, dass die VCC nicht ueber das Limit hochlief. Das hatte mir jedoch niemand gesagt. Rumgemessen, Quarz angetatzt, Oszillator hat mal kurz ausgesetzt ... *POFF* ... kleiner Krater im uC.

Nulldurchgang ist genial, denn m.W. hat der ATTiny auch einen Comparator. Damit weiss man, wo zeitmaessig die Mitte zwischen zwei Nulldurchgaengen liegt und kann den AD-Wandlungszeitpunkt dort hinsetzen. Dann braeuchte Peter keine 10ksps.

--
Gruesse, Joerg 

http://www.analogconsultants.com/
Reply to
Joerg

Die Zeit von 8 Bit Microcontrollern ist wirklich langsam vorbei. Kenne den nicht, scheint relativ neu zu sein, aber gibt 32 Bit Microcontroller mittlerweile sogar ab 55 Cent Einzelpreis:

formatting link

Und die Leistung MIPS pro Millwatt ist meist auch besser, als bei den

die einzusetzen. Von Spezialanwendungen mal abgesehen, wie manche der neuen PIC Microcontroller, die einiges an netten neuen Peripherals integriert haben, wie NCO, CLC und mTouch, was ich bei Gelegenheit vielleicht mal ausprobieren werde und was externe Hardware spart.

formatting link

formatting link

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

die Periode hat die Einheit Vs und muss durch die Periodendauer geteilt werden, um den Effektivwert [V] zu erhalten. Da ich direkt mit Zeitscheiben T rechne, statt mit ms, muss durch die Anzahl der Zeitscheiben geteilt werden.

Im Endeffekt macht man dann nichts anderes, als den "Mittelwert" der Spannung zu bestimmen - zuerst Mittelwert der Zeitscheibe, dann Mittelwert aller Zeitscheiben => Effektivwert. Bei einem halbwegs stetigen Spannungsverlauf sollte das sogar recht genau werden, wobei die

Reply to
Edzard Egberts

Ich habe den Eindruck, dass diese Problemstellung hier eine allgemeine

Reply to
Edzard Egberts

Gleichrichterschaltung ansetzen.

um einiges besser.

davon ab, wie schnell die Schaltung reagieren soll.

10kOhm. Den dadurch entstehenden Fehler kann man herauskalibrieren.

Spannungsschwankungen am 3,3V Regler vermeiden. Da der AVR keinen Open

kleinen NPN Transistor nach GND schalten.

Stefan

Reply to
Stefan

Der Effektivwert der Spannung wird anders berechnet, siehe hier:

formatting link

Also kurz gesagt: Wurzel aus dem Mittelwert des Quadrats, wie der

die Quadrate addieren und durch die Anzahl Zeitscheiben teilen, und

Spannung mit Amplitude A (also Peak-Wert, nicht Peak-To-Peak), ist der Effektivwert exakt A/Wurzel(2).

Audiosignale verwendbar. Ist dann zwar kein bewerteter Schalldruck (wird oft nach dem A-weighting Verfahren berechnet bei professioneller

Messungen, durchaus verwendbar.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Man kann das auch kurz "Betragsbildung" nennen, ansonsten halte ich

der ich z.B. an einem Widerstand die gleiche Leistung umsetze, wie bei einer Spannung mit einem zeitlichen Verlauf. Einfaches Beispiel: Wenn

wenn man sich das aufzeichnet, hat man dann unter beiden

Wikipedia hin und her, man sollte sich schon klar machen, was man

Reply to
Edzard Egberts

Hi Joerg,

Das war nicht von mir. Aber was ich bisher vernommen hatte: Die 10% Toleranz bei der internen "Referenzspannung" bezieht sich wohl fast

Wenn man also mit einer geregelten 5 V Versorgung dran geht, dann passt das mit der "Referenz" auch allemal besser als die Versorgungsspannung

schweigsam stellt, bleibt hier wenig handfestes... Aber im Vergleich zum technischen Datenblatt von z.B. ESP32 ist das Atmel Datenblatt ja schon

AD-Wandler habe konnte ich nirgends finden, weder wie schnell, noch etwas zu einer Referenz... Andere Baustelle...

Aber ein 50 Hz Signal, das man auch bedenkenlos TP-filtern kann. Wenn man sich das Problem anschaut, dann ergibt es sich doch daraus, dass der S&H-Kondensator nicht schnell genug geladen wird, um die 10 Bit zu

Grenzen. Da es ja auch nicht um Peakwerte ging, sondern um die

beheben. Im Datenblatt von ADuC702x wird es auch empfohlen, ein solchen "TP" zu verwenden. Der ist nicht als Antialiasing-Filter zu verstehen,

nehmen, den Spannungsteiler dadurch niederohmiger halten und mit einem Kondensator zum unteren Widerstand (ein paar hundert nF reichen da gut)

Marte

Reply to
Marte Schwarz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.