M
Michael Dreschmann
Guest
Hallo!
Vor ein paar Wochen bat ich euch schonmal um eure Meinung zu diesem 12
Kanal Dimmer:
http://home.rz-online.de/~wdreschm/load_sch.jpg
http://home.rz-online.de/~wdreschm/load_brd.jpg
Mittlerweile läuft das Teil.
Nun würde ich in der nächsten Version gerne nur 8 anstatt 12 Kanäle
verwenden aber dafür für jeden Kanal eine (möglichst genaue)
Strommessung realisieren. Aufgrund des Phasenanschnitts und der mehr
oder weniger unbekannten Last ist wohl eine True RMS Messung nötig.
Ich dachte zunächst daran das ganze mit einem AD736
(http://www.datasheetcatalog.com/datasheets_pdf/A/D/7/3/AD736.shtml)
zu lösen. Jeder der 8 Kanäle wird der Reihe nach per 4051 auf dessen
Eingang geschaltet und das Ergebnis dann per AD Wandler digitalisiert.
Wenn ich das Datenblatt vom AD736 auf Seite 9 richtig interpretiere
würde er für die Messung eines Kanals (SCR Wave) über eine Sekunde
benötigen und selbst dann ist der Fehler noch etwa 1%.
Nun kam mir der Gedanke das ganze direkt mit dem AVR zu machen. D.h.
die Messwerte der Kanäle werden vom 4051 direkt auf den AD Wandler
gelegt. Den tiny2313 würde ich gegen einen mega48 austauschen, der
geht ebenfalls bis 20MHz und besitzt einen Hardware-Multiplyer und ein
paar mehr Pins brauche ich sowiso noch...
Die Berechnung würde ich mir dann so vorstellen: Alle 10us wird in
einem Timerinterrupt (bereits für den Phasenanschnitt vorhanden) ein
neues Sample vom AD Wandler eingelesen, quadriert und den vorherigen
quadrierten Samples aufaddiert. Das ganze passiert dann für ein paar
Halbwellen (Start und Ende der Messung kann ich ja durch die
Nulldurchgangserkennung passend wählen). Danach wird die Summe durch
die Anzahl der Samples geteilt (also etwa Halbwellen * 1000) und die
Wurzel daraus berechnet. Damit müsste ja die RMS Formel
" ű = sqrt( S u(t)^2 dt ) " erfüllt sein.
Von der Rechenleistung müsste der AVR das bei 20 MHz mit 16 Bit
Eingangswerten noch schaffen, allerdings habe ich keine Ahnung, ob das
ganze 1. überhaupt so funktioniert und 2. wenn ja, wie genau das
Messergebnis dann ungefähr ist, z.B. wenn ich einen 12 Bit AD Wandler
verwende und über 6 Halbwellen messe.
Das wären dann ja 6000 Samples, bedeutet das, dass die 12 Bit
Auflösung des Wandlers etwa erhalten bleibt, also das Ergebnis auch
auf 12 Bit genau angenommen werden kann?
Wäre super, wenn mit das jemand kurz erklären könnte.
Viele Dank,
Michael
Vor ein paar Wochen bat ich euch schonmal um eure Meinung zu diesem 12
Kanal Dimmer:
http://home.rz-online.de/~wdreschm/load_sch.jpg
http://home.rz-online.de/~wdreschm/load_brd.jpg
Mittlerweile läuft das Teil.
Nun würde ich in der nächsten Version gerne nur 8 anstatt 12 Kanäle
verwenden aber dafür für jeden Kanal eine (möglichst genaue)
Strommessung realisieren. Aufgrund des Phasenanschnitts und der mehr
oder weniger unbekannten Last ist wohl eine True RMS Messung nötig.
Ich dachte zunächst daran das ganze mit einem AD736
(http://www.datasheetcatalog.com/datasheets_pdf/A/D/7/3/AD736.shtml)
zu lösen. Jeder der 8 Kanäle wird der Reihe nach per 4051 auf dessen
Eingang geschaltet und das Ergebnis dann per AD Wandler digitalisiert.
Wenn ich das Datenblatt vom AD736 auf Seite 9 richtig interpretiere
würde er für die Messung eines Kanals (SCR Wave) über eine Sekunde
benötigen und selbst dann ist der Fehler noch etwa 1%.
Nun kam mir der Gedanke das ganze direkt mit dem AVR zu machen. D.h.
die Messwerte der Kanäle werden vom 4051 direkt auf den AD Wandler
gelegt. Den tiny2313 würde ich gegen einen mega48 austauschen, der
geht ebenfalls bis 20MHz und besitzt einen Hardware-Multiplyer und ein
paar mehr Pins brauche ich sowiso noch...
Die Berechnung würde ich mir dann so vorstellen: Alle 10us wird in
einem Timerinterrupt (bereits für den Phasenanschnitt vorhanden) ein
neues Sample vom AD Wandler eingelesen, quadriert und den vorherigen
quadrierten Samples aufaddiert. Das ganze passiert dann für ein paar
Halbwellen (Start und Ende der Messung kann ich ja durch die
Nulldurchgangserkennung passend wählen). Danach wird die Summe durch
die Anzahl der Samples geteilt (also etwa Halbwellen * 1000) und die
Wurzel daraus berechnet. Damit müsste ja die RMS Formel
" ű = sqrt( S u(t)^2 dt ) " erfüllt sein.
Von der Rechenleistung müsste der AVR das bei 20 MHz mit 16 Bit
Eingangswerten noch schaffen, allerdings habe ich keine Ahnung, ob das
ganze 1. überhaupt so funktioniert und 2. wenn ja, wie genau das
Messergebnis dann ungefähr ist, z.B. wenn ich einen 12 Bit AD Wandler
verwende und über 6 Halbwellen messe.
Das wären dann ja 6000 Samples, bedeutet das, dass die 12 Bit
Auflösung des Wandlers etwa erhalten bleibt, also das Ergebnis auch
auf 12 Bit genau angenommen werden kann?
Wäre super, wenn mit das jemand kurz erklären könnte.
Viele Dank,
Michael