Forum: Mikrocontroller und Digitale Elektronik Leistungsabgabe von ATX-Netzteil aufzeichnen


von David H. (tuxpilot)


Angehängte Dateien:

Lesenswert?

Hi!

Ich möchte die Leistungsaufnahme von Computern aufzeichnen.
Dazu baue ich Sensoren die an den ATX-Netzteilkabeln Strom und Spannung 
messen.
Mein Ziel sind 10mV und 1mA Auflösung bei 10kHz Abtastrate und 20A 
Maximalstrom.

Ich möchte einen Mikrocontroller mit USB-Interface und (galvanisch 
getrenntem) SPI-Bus als Master benutzen, welcher von einem anderen 
Computer über SSH gesteuert werden kann.
Am SPI-Bus hängen per Daisy-Chaining mehrere Sensormodule mit jeweils 3 
Strom- und Spannungssensoren.
So kann ich die Sensormodule da im Computer verteilen, wo Strom 
verbraucht wird.

Für die Strommessung habe ich MAX9919 Shuntverstärker oder MCS1100 
Hall-Effekt-Sensoren.
Für die Spannungsmessung benutze ich einen Spannungsteiler gegen eine 
1,5 Volt Referenzspannung.
Die Referenzspannung gilt auch für den Stromsensor und liegt in der 
Mitte zwischen 0V und 3,3V, so dass ich positive und negative Ströme 
gleich gut messen kann.

Als ADC wird ein STM32 benutzt.
Der STM32G030F6 ist der eine der gerade bei Mouser lieferbar ist (ausser 
die BGA-Dinger).
Er wird die Aufgabe wohl erfüllen, aber wirklich zufrieden bin ich mit 
dem nicht, vor allem weil der ADC nur Single-Ended messen kann.

Die Stromversorgung erfolgt mit 5V vom Master, und einem 3,3V LDO auf 
jedem Sensormodul.
Der Mikrocontroller mit dem SPI-Bus (etwa 10Mbit/s) ist über einen 
SMD-Ferrit entkoppelt.
Da der SWD-Anschluss 3,3V liefert, gibt es am LDO eine Schutzdiode.

Der SWD-Anschluss besteht aus einem Platinenrandstecker für PCIe.
So spare ich den klobigen Wannenstecker auf jedem Sensormodul.

Die Sensormodule werden über Flachbandkabel mit 10-poligen 1,27mm 
Wannensteckern verbunden.
Das letzte Modul soll bemerken, dass es das letzte Modul ist, und den 
MISO Ausgang in Richtung rückwärts umschalten. (MOSI_FWD vs. MISO)
Jedes Modul verhält sich als Schieberegister mit 32-Bit-Wörtern, wobei 
ein Modul vorraussichtlich 96 oder 128 haben wird.
Bei 8 Moduln ergibt sich eine Datenrate von etwa 10Mbit/s.

Ich habe mich für STM32 entschieden, da es für diese Familie (soweit ich 
weiß) die besten Toolchains als freie Software gibt.
Mit dem bei Mouser verfügbaren Exemplar bin ich nicht wirklich 
zufrieden, über andere Vorschläge wäre ich dankbar!

Habt ihr sonst Feedback zu diesem Schaltplan?

Im Übrigen ist dies mein erstes Project mit KiCad. :)

von Harald W. (wilhelms)


Lesenswert?

David H. schrieb:

> Leistungsabgabe von ATX-Netzteil aufzeichnen

> Ich möchte die Leistungsaufnahme von Computern aufzeichnen.

Was denn nun?

von Kevin M. (arduinolover)


Lesenswert?

David H. schrieb:
> Habt ihr sonst Feedback zu diesem Schaltplan?

Ja kannst du fertig von Elmor Labs kaufen:
https://elmorlabs.com/product/pmd-power-measurement-device/

von David H. (tuxpilot)


Lesenswert?

Harald W. schrieb:
> David H. schrieb:
>
>> Leistungsabgabe von ATX-Netzteil aufzeichnen
>
>> Ich möchte die Leistungsaufnahme von Computern aufzeichnen.
>
> Was denn nun?

Irgendwas dazwischen. Interessant sind die kurzzeitigen Veränderungen, 
nicht die exakte Leistung an der Steckdose. Da ist Messen an den 
Netzteilkabeln mMn. sinnvoll.

Kevin M. schrieb:
> David H. schrieb:
>> Habt ihr sonst Feedback zu diesem Schaltplan?
>
> Ja kannst du fertig von Elmor Labs kaufen:
> https://elmorlabs.com/product/pmd-power-measurement-device/

Das wars also schon wieder mit diesem Projekt... :D

Danke für den Tipp, ich werde mir das Ding anschauen. :)

von David H. (tuxpilot)


Angehängte Dateien:

Lesenswert?

Ich habe mich jetzt für den Kinetis KL13 von NXP entschieden. Dieser 
Kontroller hat immerhin 4 differentielle Kanäle und einen 400ksps 
16-Bit-ADC. SPI funktioniert auch mit 10MHz.

Auf https://github.com/NXPmicro/mcux-sdk finde ich das SDK zu diesen 
Kontrollern. Leider nicht für den KL13, aber immerhin für den relativ 
ähnlichen KL27z. Das sollte man doch relativ leicht anpassen können, 
oder?

Kevin M. schrieb:
> David H. schrieb:
>> Habt ihr sonst Feedback zu diesem Schaltplan?
>
> Ja kannst du fertig von Elmor Labs kaufen:
> https://elmorlabs.com/product/pmd-power-measurement-device/

Weißt du zufällig, wo es Dokumentation zu diesem Gerät gibt? Man müsste 
ja zumindest wissen welche I2C-Adresse man ansprechen muss, und der Rest 
vom Protokoll wäre auch nicht schlecht. Gelten die 10ksps für jeden der 
4 Kanäle, oder alle zusammen?

Mein Ansatz ist nun, das Entwicklungsboard für den KL27z zu besorgen, 
und damit den ElmorLabs PMD anzusprechen. Parallel dazu versuche ich 
meine Schaltung mit dem KL13 aufzubauen, und dann kann ich beides 
vergleichen.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

David H. schrieb:
> Ich habe mich jetzt für den Kinetis KL13 von NXP entschieden.

MKL13Z...? Da musst du dich aber beeilen. Weil für die meisten Versionen 
momentan "factory lead time 52 weeks" gilt. Was eine Umschreibung für 
"Hamwa nischt. Wann wieder wissen wir nischt." ist.

> Das sollte man doch relativ leicht anpassen können,
> oder?

Frag NXP wo du Compiler, Bibliotheken etc. her bekommst.

von Tuxpilot (Gast)


Lesenswert?

Hannes J. schrieb:
> David H. schrieb:
>> Ich habe mich jetzt für den Kinetis KL13 von NXP entschieden.
>
> MKL13Z...? Da musst du dich aber beeilen. Weil für die meisten Versionen
> momentan "factory lead time 52 weeks" gilt. Was eine Umschreibung für
> "Hamwa nischt. Wann wieder wissen wir nischt." ist.

52 Wochen ist ja noch wenig, ich würde mich da aktuell nicht beschweren. 
;)

Als zweiten Datenpunkt bzgl. Ersatzmodelle habe ich den KL25 angeschaut. 
Der zweite MISO ist einen Pin weitergewandert, weil der KL25 kein MISO 
am vorherigen Pin hat. Die restlichen Pins passen so.

>> Das sollte man doch relativ leicht anpassen können,
>> oder?
>
> Frag NXP wo du Compiler, Bibliotheken etc. her bekommst.

Okay, war gar nicht so schwer. Account anlegen, und schon kann man das 
MCUXpresso für eine Baureihe runterladen. Das hello_world vom KL43 
kompiliert auch mit den Bibliotheken zum KL13, und CMake macht es (für 
mich) ziemlich leicht, das Ordnerlabyrinth zu durchschauen und mir das 
rauszusuchen was ich brauche.

Mein einziger Kritikpunkt an NXP bis jetzt ist, dass das Repository auf 
GitHub nicht vollständig ist.

von Lutz (Gast)


Lesenswert?

David H. schrieb:
> Mein Ziel sind 10mV und 1mA Auflösung bei 10kHz Abtastrate und 20A
> Maximalstrom.

Anspruchsvoller Dynamikbereich.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.