Ich lebe in Griechenland, wo 220 Volt/50 Hz in jeder Steckdose sind.
Ich muss den Wattverbrauch eines Geräts (einer einzelnen Lampe) messen, das ich an die Steckdose anschließe.
Das Problem ist, dass ich nur den Momentanstrom i(t) messen kann . Ich kenne weder den Widerstand der Lampe noch die Momentanspannung. Der Strom wird von einem Arduino mit ACS712-5A gemessen , was meine erste Frage aufwirft:
Ist es für mich, mein Arduino und alle meine Peripheriegeräte sicher, den Strom mit ACS712-5A zu messen?
Zweitens ist dies die "Analyse", die ich durchgeführt habe, um einen Weg zur Messung der Leistung zu bestimmen. Du musst mir sagen, ob es gültig ist?
Also muss ich nur rechnen
Bei einem 16 MHz Arduino ist der ADC-Takt auf 16 MHz/128 = 125 KHz eingestellt. Jede Umwandlung in AVR benötigt 13 ADC-Takte, also 125 KHz / 13 = 9615 Hz.
Also, ich denke, mein Arduino ist zu dieser Maßnahme fähig. Der Pseudocode, den ich vermute, wird ungefähr so aussehen:
max = 0;
t = millis();
while (1)
{
instantCurrent = readAnalog();
if (instantCurrent > max)
max = instantCurrent;
if (millis() - t > 1/50) //period is over.
{ // prepare for the next maximum in the next period
Irms = max/sqrt(2);
AveragePower = 220 * Irms/50; // --> THAT'S WHAT I WANT
t = millis();
max = 0;
}
}
Also, was ist deine Meinung?
Bearbeiten: Verpasst, die Division durch T bei der Berechnung der durchschnittlichen Leistung:
Aus dem Datenblatt können Sie ersehen, dass eine ausreichende Isolierung vorhanden ist, um Ihre Anforderungen zu erfüllen.
Ob es jedoch für Sie sicher ist, hängt entweder von der Implementierung der von Ihnen gekauften Platine oder von der von Ihnen ausgelegten Leiterplatte ab. Wenn Sie Netzspannungen und MCU-/Logikpegel-Schaltkreise auf derselben Platine unterbringen, müssen Sie sehr vorsichtig sein, um sicherzustellen, dass Sie den richtigen Leiterbahnabstand haben.
Ich halte Leiterplatten wie diese (Ebay-Sonderangebote) für ziemlich gefährlich, da sie keine festen Befestigungspunkte oder einen sehr geringen Sicherheitsabstand auf den Schienen haben und daher schwierig und möglicherweise gefährlich zu verwenden sind.
Eine viel sicherere Sensorschnittstelle ist die Verwendung eines Stromwandlers, der ebenfalls leicht verfügbar und einfach an einen Arduino A/D anzuschließen ist.
Hier wird das Netz in seinem Nennkabel gehalten und ist gut von Ihren MCU- / Logikpegeln isoliert.
Da Sie eine ohmsche Last messen, müssen Sie nur den Spitzenstrom finden, der fließt. Daraus können Sie den RMS-Strom ermitteln und selbst unter der Annahme der Netzspannung erhalten Sie einigermaßen genaue Ergebnisse. Für eine Arduino-basierte Lösung, die nur den Stromfluss erfasst, würde ich vorschlagen, dass Sie die Nulldurchgänge (der Stromwellenform) finden und einfach die Spitze des Sinuswellenstromflusses berechnen und den A / D auslösen. Oder Sie könnten beispielsweise 1-kHz-Messwerte nehmen und nach dem höchsten aktuellen Messwert suchen.
Denken Sie daran, dass Sie, wenn Ihre Last in irgendeiner Weise reaktiv ist, Spannung/Phase/Strom zusammen messen müssen, um genaue Leistungsmesswerte zu erhalten. Dann könnten Sie den hüpfenden Ball bei OpenEnergyMonitor verfolgen .
Mein Mini-Design-Review:
Der von Ihnen ausgewählte Chip wird nicht für ein neues Design empfohlen und durch eine verbesserte Version ersetzt. https://www.allegromicro.com/en/Products/Current-Sensor-ICs/Zero-To-Fifty-Amp-Integrated-Conductor-Sensor-ICs/ACS723.aspx
Der Grad der Sicherheit bei der Verwendung dieses Chips hängt vom richtigen PCB-Design ab, das Sie dem Demonstrationsboard entnehmen können. Die Verbesserung in diesem Chip reduziert den effektiven Serienwiderstand (ESR), der unter 1 mOhm des vorherigen ICs liegt. Während das Isolationsniveau mit 2,4 kV Standard und einer verbesserten Option bei 4,2 kV für die Blitzisolierung geliefert wird. Ihr Leistungsmesser hat eine Blitzlichtbogen-Nebenschlussspannung, die bei 6 kV zusammenbricht.
Gelegentlich erhalten Sie beim Lastschalten von Motoren spontan schlechte Messwerte, die Sie in Software oder Hardware werfen oder mitteln können. Der bevorzugte Weg für die Hardware-Mittelwertbildung ist die Verwendung eines Operationsverstärkers (OA) Präzisions {Halb- oder Voll-} Wellengleichrichter am AC-Ausgang. Der Ausgang ist bei Vcc/2 DC-vorgespannt, um Ihre Referenz für den OA zu sein. Während der Höhepunkt ist
Das Schöne daran ist, dass Sie einen Dual OpAmp verwenden können, um einen Vollwellengleichrichter zu erstellen, und dann die Verstärkung wählen können, um AVG zu RMS mit einem durchschnittlichen Gewichtszeitfilter für viele Sekunden einzubeziehen, um CPU-Datenverarbeitung zu sparen.
Wählen Sie zuerst Ihre Genauigkeit und entwerfen Sie dann 2. z. B. Teile, z. B. 0,1 % oder 0,5 % für R-Werte, die Verstärkung und Offset beeinflussen. Denken Sie daran, dass niedrige Eingangssignale einen größeren prozentualen Fehler haben.
Wenn Sie V(t)*I(t)=P(t) nicht zwischen den Proben messen, verlieren Sie natürlich die Genauigkeit aufgrund der oft angegebenen Toleranz von 10 % für die Spannung in Wohngebieten.
Die Konvertierung dieses Produkts würde in der Firmware mit der gleichen durchschnittlichen Genauigkeit erfolgen, die für jedes gleichgerichtet und mit einem Tiefpassfilterverfahren behandelt wird.
Aber es hängt alles von Ihren Spezifikationen für Auflösung, Genauigkeit und Reichweite für Energieverbrauchsspezifikationen ab.
Übrigens, was sind deine?
Elliot Alderson
Transistor