I²C über USB auslesen (Elmor PMD)

Baal Netbeck

Fleet Admiral
Registriert
Apr. 2008
Beiträge
12.306
Hallo liebe Community. :)

Ich habe mir ein neues Spielzeug gekauft, das überraschend schnell aus China nach Deutschland gefunden hat.

Und zwar ein Power Measurement Device von Elmor Labs.
Damit möchte ich den realen Verbräuchen von CPU und GPU auf den Zahn fühlen.

Ein erster Test funktionierte auch gut und das kleine Display zeigt mir die Verbräuche an, aber die Zahlen springen sehr schnell und ich müsste sie natürlich extern aufzeichnen und auswerten können.

Das Device hat zu diesem Zweck eine I²C Schnittstelle mit beigelegtem 3 adrigem Kabel. Aber leider keinen "Konverter" für USB.

Elmor bietet ein entsprechendes Tool inclusive Software an: EVC2X ....aber das kann noch deutlich mehr als ich brauche und daher habe ich das nicht mitbestellt....im Nachhinein ein Fehler. ;)

Jetzt habe ich heute versucht dazu passende andere Produkte zu finden, brauche aber dringend Hilfe.

Meint ihr, ich kann seine Software zum EVC2X auch mit einem anderen "USB Konverter" nutzen?

Ist sowas das was ich brauche?
https://www.reichelt.de/arduino-leo...ino-leonardo-p125561.html?&trstct=pol_0&nbc=1

https://www.reichelt.de/umft260ev1a...modul-umft260ev1a-p317444.html?search=i2c+usb

https://www.reichelt.de/digispark-m...gispark-mini-p192128.html?&trstct=pol_5&nbc=1

https://www.reichelt.de/teensy-2-0-usb-teensy-2-0-p151983.html?&trstct=pol_4&nbc=1
Sind das überhaupt Produkte, die sowas können?
Oder brauche ich sowas:
https://www.reichelt.de/usb-2-0-kon...azibtKp0GH4v4iujfAvCsLgzTcvQacIEaAvqXEALw_wcB

Denn ich bin etwas verwirrt vom i²C Master/Slave Modus...ist das fest, oder kann ich das umstellen?
Ist es egal, welcher Chip da verbaut ist, oder werden die anders angesteuert?

Bis auf den mini-attiny85 sind das ja auch keine super günstigen Produkte. Bevor ich da Stunden mit herumbasteln verbringe und keine Lösung finde, bestelle ich lieber doch das EVC2X.

Aber wenn es da einen üblichen Standard gibt, und ich brauche nichts aus China bestellen, dannn würde ich das vorziehen.

Vielen Dank im Vorraus. :daumen:
 
Für die Genauigkeit werde ich da keine zuverlässige Aussage treffen können.

Aber ein analoges Oszilloskop hat zumindest keine "Abtastrate"... Der Gesamtverlauf und die Form von Peaks sollte quantitativ stimmen und auch grob von der Größe passen.

Ich habe nochmal darüber nachgedacht.
Da wird es wohl in jedem Frame der GPU mehrere Schwankungen geben.
Und bei der CPU Einbrüche über den Timer.
Dafür müsste ich dann teilweise mit einem externen Frequenzgenerator triggern, um gezielt verschiedene Ereignisse anzusehen.

Eventuell klappt es auch gar nicht so wie ich mir das vorstelle... Aber dranhängen und beobachten ist aus meiner Sicht keine schlechte Idee
Dann bekomme ich einen besseren Eindruck von dem Zusammenspiel und wenn es keinem Erfolg hat, können wir ja gemeinsam überlegen, wie man das retten kann. :)
 
Soo...EVC2X ist angekommen.
Mit dem KTH Thermometer funktioniert es auch erstmal problemlos.
KTH test.PNG

Ich habe hier einfach nacheinander die Widerstände mit dem Finger berührt und wieder loesgelassen.
Das reagiert sofort und es gibt keine komischen Ausreißer.

Um das Kallibrieren kann ich mich irgendwann mal kümmern.
Erstmal bin ich an dem PMD interessiert.

Das geht noch nicht so, wie ich mir das vorstelle. ;)

Erstmal funktioniert die Verbindung schon. :daumen:
PMD an I2C1 des EVC2X angeschlossen....USB C Kabel ans EVC2X und an den PC...die Software zum EVC2X gestartet.

Bei I2C1 auf "find Devices geklickt...erkennt etwas an Adresse 12.
Das Profil für das Elmor PMD an Adresse 12 hinzugefügt, und es öffnet sich eine passende Anzeige.
Im Moment sind nur Kabel an PCIe2 und EPS1 angeschlossen.
PCIe1 und EPS2 zeigen Voltage bis 0,26V und Current um die 0,2-0,3A. Das kann man wohl mit einem Offset regeln, und ist nicht mein Problem.

Aber....die Spannung für PCIe2 und EPS1 fällt immer wieder auf -0,01V ab...Das hat dann natürlich komplett die Power Messung durcheinander,
Auch das Current geht immer wieder auf 0A, was aber auch mit der Spannung zusammenhängen kann.


So hilft mir das natürlich wenig...

Ansonsten würde ich sagen, dass die Werte für die CPU passen. Ich lasse z.B. gerade Cinebench mit 14Threads laufen...das zieh laut HWInfo ca 160W Package....und das Elmor PMD sagt(wenn es nicht -0,6W sagt), um die 172W.
Das halte ich mit den Spannungswandlerverlusten, für eine ziemlich gute Übereinstimmung.

Woran kann das liegen?

Ich habe das Windows Energieprofil auf höchstleistung gestellt und das USB sparen deaktiviert...kein Unterschied zu ausbalanciert.

Ich habe das Minitoring Intervall von 500 auf 100ms gesenkt....andere Abtastrate, aber geiches Problem.

Ich habe versucht den I2C Bus von 100kHz auf 400kHz zu stellen, aber das hat errors geworfen und das PMD wurde nicht mehr gefunden.

PMD fehler.PNG
 
  • Gefällt mir
Reaktionen: Novocain
So...update. ;)

Ich habe bei Elmor angefragt, und habe schnell eine Antwort bekommen.
Ich sollte auf eine neue Beta Firmware updaten, was ich dann auch gemacht habe.

Das hat es deutlich verbessert, aber nicht ausreichend behoben.
400kHz gingen jetzt ohne Error, aber das hat die Situation mit den Spannungs und Stomeinbrüchen wieder verschlimmert.

Ich habe dann das mitgelieferte 50cm lange Kabel gegen eines mit 40cm getauscht und dieses auch noch mit Alufolie umwickelt.:evillol:

Und tada! Keine Einbrüche mehr bei der Spannung und keine beim EPS Kabel.
Und deutlich seltener bei den PCIe Kabeln.

Damit kann ich erstmal leben. Auch wenn ich hoffe, in Zukunft, mit unter 100ms auslesen zu können.

PMD monitoring Game with shorter cable 0009d 400kHz.PNG


Ich denke ich werde das Kabel noch stark kürzen....aber erstmal bin ich froh, es überhaupt ans laufen bekommen zu haben. :daumen:
 
  • Gefällt mir
Reaktionen: Novocain
Jetzt wo du das sagst mit der Beta hatte der Bauer auch - soweit ich mich noch recht erinner.

Schade das die Kabel das nicht packen wenn er die schon beilegt ist das ja etwas suboptimal.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Ist durchaus suboptimal, aber ich schätze das ist nicht bei jedem so. Eventuell sendet mein PC auch einfach zu viele EM Wellen aus...oder meine EVC2 Version braucht mehr Spielraum bei den Timings.

Elmor arbeitet ja scheinbar auch noch an der Firmware.
Das EVC2 kam schon mit der neuesten FW von seiner Hauptseite 0009b...und dann hat er mir einen link zur Version 0009d geschrieben. Und auch ohne neues Kabel hat diese FW es schon deutlich verbessert.

Ich bin mal gespannt, wann man das Oszilloskop Feature nutzen kann.
Vorher brauche ich das auch nicht mit einem externen Oszilloskop zu vergleichen. ;)
Denn das Abfrageintervall ist im Moment minimal 100ms.
Das ist sicherlich gut genug um den durchschnittlichen Energiebedarf zu messen, aber verglichen sehr grob.

Dann würde als nächstes anstehen, die Messungen am PCIe Slot und am 24Pin zu ermöglichen.

Die Verlängerungskabel sind heute angekommen. Ich muss aber nochmal ein paar Löt-Anleitungen gucken. ;)
Die Kabel bei 24Pin sind ja schön grob....sowas habe ich schonmal gelötet.

Aber das Riser Kabel stellt mich vor Herausvorderungen!
Ich habe extra nach einem gesucht, wo man die einzelnen Adern sehen sollte.
Aber wenn ich es vor mir habe, dann sehen die winzig aus!
Wie sollen da überhaupt 75W durchgejagt werden können?

Und wie soll ich die auftrennen, ohne Beschädigung abisolieren und an ein dickes PCIe Kabel löten, ohne die durchzubrennen, oder abzureißen?:confused_alt:

Auch hatte ich gehofft, dass ich am Slot gut sehen könnte, welcher Pin auf welche Ader geht, aber das ist eher ein Rätselraten.:(
 
  • Gefällt mir
Reaktionen: Novocain
Hast nen Foto vom Riser, vielleicht hat dann ja jemand ne Idee...
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Hier sieht man den Teil der in den Slot geht.
Wenn Wikipedia recht hat, dann sind von den ersten 4 Kontakten oben, der erste ein Present Kontakt, die nächsten 2 12V und dann noch ein Ground Kontakt.
Und auf der Unterseite sind es 3x12V und wieder einmal Ground.
Ich muss also diese 5 12V und die 2 ground Kontakte über das PMD "umleiten".
IMG_20211215_020727.jpg

Das geriffelte Kabel hat 24 Riffeln...Bis zur Kodierlücke sind es aber nur 11 Kontakte.
IMG_20211215_020819.jpg

Und wie man hier sieht, gibt es zwei übereinanderliegende Kabel....also vermutlich 48 Adern....für 22 Verbindungen.
 
Baal Netbeck schrieb:
Auch hatte ich gehofft, dass ich am Slot gut sehen könnte, welcher Pin auf welche Ader geht, aber das ist eher ein Rätselraten.
Da musst du wohl an der Stelle mühevoll die vergossene Lötstelle freilegen. Oder die Kabel mit einer Nadel punktieren und durchklingeln.
pcie-slot.gif.69b588023714083f9aacd86329716680.gif

Baal Netbeck schrieb:
Ich muss also diese 5 12V und die 2 ground Kontakte über das PMD "umleiten".
Die beiden GND kannst du ignorieren, der Stromkreis schließt sich über alle GND-Kontakte des gesamten Steckers, und das sind eine Menge. Und da reinfließender Strom = rausfließender Strom reicht es, nur die 5 +12V Leitungen durch einen Shunt zu jagen um die Leistung zu ermitteln.
 
Die Belegung der Slot-Kontakte ist nicht das Problem...das hatte mir auch Wikipedia verraten.
Das Problem ist es, die passenden Adern zu finden und das Löten an sich.

Wie man sieht, gibt es diesen gepunkteten Bereich auf dem PCB, der andeutet, dass die 12V und Gnd Pins auf mehrere Adern verteilt werden.
Aber dann kommt die Plastikabdeckung, die verhindert, dass ich das genauer verfolgen kann.
Und es verteilen sich 22 Kontakte auf 48 Adern.

Ich werde wohl mehrere anschneiden müssen um zu sehen bis wo das geht.
 
Baal Netbeck schrieb:
Wie man sieht, gibt es diesen gepunkteten Bereich auf dem PCB, der andeutet, dass die 12V und Gnd Pins auf mehrere Adern verteilt werden.
Aber dann kommt die Plastikabdeckung, die verhindert, dass ich das genauer verfolgen kann.
Und es verteilen sich 22 Kontakte auf 48 Adern.
Siehe mein Edit:
ghecko schrieb:
Oder die Kabel mit einer Nadel punktieren und durchklingeln.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
ghecko schrieb:
Oder die Kabel mit einer Nadel punktieren und durchklingeln.
Ja, das ist vermutllich eine gute Idee.
ghecko schrieb:
Die beiden GND kannst du ignorieren, der Stromkreis schließt sich über alle GND-Kontakte des gesamten Steckers, und das sind eine Menge. Und da reinfließender Strom = rausfließender Strom reicht es, nur die 5 +12V Leitungen durch einen Shunt zu jagen um die Leistung zu ermitteln.
Jain.
Für den Strom nimmt das PMD den Spannungsabfall über einem Widerstand, dafür brauche ich kein Gnd.

Aber für die Power braucht es je Kabelstrang eine eigene Spannung. Ich brauche also schon Gnd als Referenz zu den 12V.

Aber du hast natürlich recht. Ich muss da nicht mit den kleinen Gdn Adern rumfummeln.
Ich kann an Gnd von der "Slotplatine" gehen.


Ich frage mich, wie ich die 12V PCIe Kabel an die 12V Riser Adern löten soll.

Ich dachte ich könnte die von oben "freikratzen", ohne die Isolierung komplett zu durchtrennen.
So reißt mir das hoffentlich nicht und behält Stabilität.

Die PCIe Kabel muss ich aber irgendwie mit dem Riser verbinden....als Zugentlastung, sonst reißen mir die 12V Adern doch bei der ersten Gelegenheit.
Eventuell kann ich die Isolierung der Kabel mit dem Gummi des Riser "verschmelzen"??
Und dann noch Kleber drüber kippen. ;)

Aber ich bin da offen für bessere Ideen. ;)
 
Baal Netbeck schrieb:
Aber für die Power braucht es je Kabelstrang eine eigene Spannung. Ich brauche also schon Gnd als Referenz zu den 12V.
Die GND-Referenz bekommst du so oder so über die PCIe Stecker. Es sei denn das PMD hat getrennte Massezonen, wovon ich nicht ausgehe.
Baal Netbeck schrieb:
Ich frage mich, wie ich die 12V PCIe Kabel an die 12V Riser Adern löten soll.
Alle +12V Leitungen auftrennen. Und dann ein Kabel mit höherem Querschnitt von der Platine selbst über das PMD zur Steckerplatine. Dazu die +12V Zone identifizieren, Lötstopplack abkratzen und Zone verzinnen. Da kannst du dann direkt anlöten.

Oder eben alle +12V Adern separieren, auftrennen und daran ein Kabel mit höherem Querschnitt zum PMD.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
ghecko schrieb:
Es sei denn das PMD hat getrennte Massezonen, wovon ich nicht ausgehe.
Davon war ich ausgegangen....ich werde einfach mal das Multimeter dranhalten um das zu testen....dafür müsste ich aber den PC ausmachen; von dem ich gerade schreibe. ;)

ghecko schrieb:
Und dann ein Kabel mit höherem Querschnitt von der Platine selbst über das PMD zur Steckerplatine. Dazu die +12V Zone identifizieren, Lötstopplack abkratzen und Zone verzinnen. Da kannst du dann direkt anlöten.
Ich muss mal sehen wie weit die Platine im Slot verschwindet, aber das klingt nach einer guten Idee.

ghecko schrieb:
Oder eben alle +12V Adern separieren, auftrennen und daran ein Kabel mit höherem Querschnitt zum PMD.
Das war mein erster Gedanke gewesen.
Ich könnte es erst so versuchen, und wenn ich das nicht hinbekomme bleibt mir immer noch die Lösung über die Platine.
 
Baal Netbeck schrieb:
dafür müsste ich aber den PC ausmachen; von dem ich gerade schreibe.
Eigentlich nicht
Du kannst die Kontinuität einer GND-Plane durchaus auch bei einem Laufenden System mit dem Multimeter prüfen. Der Strom den das Multimeter durch die Plane schickt hat keinen Einfluss auf den Betrieb. Du musst nur zwei blanke Kontaktstellen finden, über die du das gut messen kannst.
:D
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Ich habe Front und Back mit dem mitgelieferten Plexiglas abgedeckt...das muss ich also erst abschrauben, und da will ich nicht zufällig an die Kontakte kommen.
 
ghecko schrieb:
Es sei denn das PMD hat getrennte Massezonen, wovon ich nicht ausgehe.
Du hast recht! Alles was GND ist, ist verbunden. Das macht es einfacher als ich dachte. :daumen:
 
Ich bin gestern dann endlich das Messen des 24Pin-ATX angegangen.:heilig:

Ich habe erstmal mit den +12V Leitungen angefangen, denn davon gibt es nur 2.

-12V und -5V werde ich nicht messen, dass sollte nicht viel sein, da es für Standby-Geräte gedacht ist??
Ich hoffe zumindest, dass ich da nicht viel verpasse.

Ich habe bei meinen alten Kabeln durchgeguckt und mich gezwungenermaßen für eine Mischung aus Molex, P4 und P8 entschieden.
12V ist Molex geworden.
Ich denke dass das für die Ströme die da fließen ausreichen sollte. :confused_alt:

Jetzt habe ich noch Kabel da, um einmal eine Molex Verbindung und einmal eine P8 Verbindung zum überbrücken zu nutzen.
Ich bin mir nicht sicher, was ich für 3,3 und was für 5V benutzen soll.
Mein Plan ist es P8 für 5V zu nutzen, da die 24Pin ATX Verbindung mehr Kabel benutzt....da sollte ich also auch mehr Kabel benutzen....ich werde wohl erst hinterher sehen, was höhere Ströme hat.

Die Messung der 12V ist schonmal ganz aufschlussreich. Es geht auch bei hoher GPU Last weniger Leistung über ATX, als ich es gedacht hatte.
Es gab ja diesen "Skandal", wo die AMD Karten mehr als 75W über den Slot gezogen haben...ich hatte gestern über ATX nur eine Spitze auf 57W....und da hängt ja noch mehr dran.


Ich habe von Elmor noch eine neuere Firmware bekommen, die die Situation aber nicht wirklich verbessert und an dem einen I2C Anschluss sogar eher verschlechtert hat.
Aber an I2C_2 funktioniert es(sofern ich ein kürzeres Kabel verwende), also bin ich nicht böse.

Ich habe auch das Oszilloskop Feature probiert, aber ohne Möglichkeit, Trigger zu setzen oder den Verlauf abzuspeichern, ist das nicht wirklich nützlich....trotzdem ganz nett zu sehen.

Was schön ist, ist dass man mit der neuen Software, das monitoring intervall auf 10ms senken kann.
Ich bin mir noch nicht ganz sicher, ob das wirklich so schnell ausliest oder nur so schnell wie möglich, aber erstmal ein gutes Zeichen.

Da ich was das Löten angeht, schlecht ausgestattet bin....und ungeschickt...muss ich mir noch was überlegen bezüglich der Isolierung der Lötstellen.
Die einzigen Schrumpfschläuche, die ich habe sind nur minimal dicker als die Kabel.
Und an einigen Stellen habe ich 2 Kabel auf 1 oder 1 auf 2 gelötet. Da passt der Schlauch sowieso nicht drüber.
Und selbst bei den 1 auf 1 Übergängen ist mir der Schlauch teilweise schon neben der Lötstelle festgeschrumpft, da ich ihn nicht weiter wegschieben konnte und das Löten zu viel Hitze ins Kabel gebracht hat.
Und auch wenn nicht, ist die Lötstelle dann oft leicht dicker als das Kabel und der Schlauch lässt sich nicht drüber schieben. :(

Für den ersten Test habe ich einfach Tesafilm drumgewickelt, was aber keine Dauerlösung ist.

Naja...erstmal bin ich sehr froh, dass dieses Experiment geglückt ist.
Ich hatte große Angst doch irgendwo die falschen Kabel verbunden zu haben, Da die blöde ATX Verlängerung zwar bunte Kabel hat, aber einfach drei Farben im Wechseln und keine richtige Farbkodierung.
Und auch Molex, P4 und P8 haben natürlich nicht die richtigen Farben an den richtigen Stellen.
 
So....Das 24Pin ATX Kabel ist soeben fertig gestellt. :)

Ich kann jetzt 5V vom ATX Kabel und entweder 3,3V, oder 12V messen.

Etwas überraschend für mich, ist die Tatsache, dass der Ram scheinbar über 5V versorgt wird, obwohl ich überall gelesen hatte, dass der über 3,3V versorgt wird. :freak:

Das soll mir egal sein, aber es ist schon komisch, dass man da falsche Informationen zu findet.


Ich habe nur ganz kurz 3,3 und 5V getestet.
3,3V scheint kaum irgendwelchen Schwanlungen zu unterliegen...das sind immer so 5-9W.
Im Idle eher 6W und unter Last eher 7W.

5V sind aufschlussreicher, da liege ich ohne RamOC(2400 Cl14), bei:
ca. 19W im Idle.
28-29W mit 32 Threads HCI Memtest.
und 20-22W mit Cinebench R23 Multicore, was auch dazu passt, dass Cinebench kaum auf RamOC reagiert.

Mit RamOC(3466 Cl14) sind es dann:
ca. 20-21W im Idle.
36-37W mit Memtest
und 23-25W in Cinebench.

In Furmark und CrystalDiskMark(M2 SSD) geht der 5V Verbrauch ab und zu auf 25W hoch, aber er pendelt eigentlich bei 20-21W wie im Idle.
Das ist schonmal eine schöne Info. :)
Das bedeutet, ich kann 3,3V größtenteils ignorieren und was bei 5V vom Idleverbrauch abweicht, ist auf den ersten Blick reiner Mehrverbrauch durch mehr Ramzugriffe.
 
Baal Netbeck schrieb:
obwohl ich überall gelesen hatte, dass der über 3,3V versorgt wird.
Tatsächlich? Ich hab mich damit noch nicht befasst, aber ich hätte jetzt gedacht der hängt an der 12V Versorgung. Maximal 5V, 3.3V wäre mir zu niedrig gewesen für einen Buck converter auf bis zu 2V.
Baal Netbeck schrieb:
ca. 19W im Idle.
28-29W mit 32 Threads HCI Memtest.
und 20-22W mit Cinebench R23 Multicore, was auch dazu passt, dass Cinebench kaum auf RamOC reagiert.
Finde ich extrem viel, nur für RAM (und vllt USB). Sicher, dass da mit 5V gerechnet wird und nicht mit 12V?
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Also das System(mit Ryzen 1800X) ist alles andere als Energieeffizient :mad: . Es braucht schon im Idle ziemlich viel Energie und eine der Gründe warum ich das ganze angefangen habe, war ja um genauer zu untersuchen, wo die Energie bei solchen Rechnern verschwendet wird. ;)

Also wenn die Strommessung richtig läuft, dann stimmt der 5V Verbrauch....ca 5,05V x ca 4A = ca 20W....das passt.
Und der Strom wird als Spannungsabfall über einem Shunt Widerstand gemessen, was auch unabhängig von 5 oder 12V sein sollte.


Im Idle war ich gerade mit RamOC und CPU auf 3,95GHz, bei ca 107W Steckdose und ca 60W über das Elmor PMD(GPU-PCIe + 5V 24Pin +CPU 8Pin).
Mit Cinebench dann 260W Steckdose und ca. 210W PMD.

Jetzt bin ich auf das Profil mit 2400er Ram und 3,5GHz CPU gewechselt....96W(Steckdose), 52W(PMD) im Idle.
Cinebench, 199W(Steckdose) und ca. 150W(PMD).

Edit: ich habe gerade die Biso Defaults geladen, und die liegen zwischen den beiden Profilen...ca 97W im Idle(Steckdose), 53W(PMD), und 211W/153W mit Cinebench.


Das ist schon alles recht passend....ich habe die Werte erstmal nur grob abgeschätzt, ohne die richtig aufzunehmen und zu mitteln, aber allzu weit können die nicht daneben liegen.


Daher würde ich erstmal davon ausgehen, dass die Werte richtig gemessen werden.
 
Zuletzt bearbeitet:

Ähnliche Themen

N
Antworten
4
Aufrufe
1.075
Noninterlaced
N
Zurück
Oben