Hallo Mikrocontroller Community,
ich wollte euch mal um euren Rat fragen.
Und zwar schreibe ich gerade meine Masterarbeit in der Informatik (TH
Nürnberg) und kenne mich relativ wenig in der Elektrotechnik aus.
Für meine MA möchte ich gerne, möglichst genau, den Verbrauch eines
USB3.0 Geräts messen (neural compute stick 2 von Intel).
Der Stick muss während der Messung am PC/Laptop angeschlossen und voll
Funktionsfähig sein, bedeutet am besten sollte das Messgerät die
Verbindung nicht stören.
Auf einen solchen Stick können dann Neuronale Netzwerke ausgeführt
werden.
Eine sehr genaue Messung ist deshalb wichtig da kleinste Veränderungen
erfasst werden müssen (optimaler weise mit logging).
Mit anderen Worten ich möchte raus messen wie viel Verbrauch ein solches
Netzwerk auf dem Stick zur Laufzeit hat (mittels einer Versuchsreihe und
x Messungen des entsprechenden Prozesses).
Da ich allerdings keine Ahnung habe bei den zu erwartenden
Verbrauchswerten kann ich nichts dazu sagen.
Informationen zum verbrauch des verbauten Chips/Sticks konnte ich auch
nicht finden.
Jetzt habe ich im Internet verschiedene low budget USB Messgeräte
gefunden (30-50€) jedoch häufig gelesen das diese relativ ungenau sind.
Meine Frage an euch kennt ihr Geräte die sehr genau messen können?
Ich hätte jetzt gern <x% geschrieben, aber da kenn ich mich leider nicht
aus was ein „guter“ wert ist, je näher an 0 desto besser würde ich
einfach mal sagen.
Preis ist erst mal Relativ … mehr oder weniger … ich muss am Schluss
nur den Lehrstuhl von den kosten überzeugen, also sollte es schon unter
200-300€ bleiben wenn es solch eine Technik überhaupt für den Preis
gibt.
Selber bauen ist keine Option, ich würde mir zwar das zusammenbauen
zutrauen aber bei usb3 etc. wage ich es zu bezweifeln das ich etwas
ordentliches hinbekomme, zumal die Technik gar nicht im Mittelpunkt der
MA steht sondern lediglich die Auswertung und Verarbeitung der
Verbrauchsermittlung.
Wäre super wenn ihr mir da evtl. eure Erfahrungen mitteilen könnt.
Vielen Dank für euren Input
Gruß
Pascal
Hallo,
spontan fällt mir zum selber bauen der INA219 oder INA233 von TI ein.
Dann musste dir nur Gedanken über den Wert und Genauigkeit des Shunts
machen.
Veit D. schrieb:> Hallo,>> spontan fällt mir zum selber bauen der INA219 oder INA233 von TI ein.> Dann musste dir nur Gedanken über den Wert und Genauigkeit des Shunts> machen.
Danke aber das trau ich mir dann doch nicht zu ohne fertigen Schaltplan
zumal ich dann auch prüfen müsste ob mein eigenes gebautes gerät
überhaupt korrekt arbeitet, daher lieber der Einsatz eines fertigen
Produktes.
C. schrieb:> Metrahit Energy>> Youtube-Video "Leistungsmessgerät & Multimeter: Gossen Metrawatt> METRAHIT ENERGY | Praxis Test | Review"
Danke, das ist ja jetzt kein Zwischenstecker.
Dabei ist mir gerade noch was gekommen, aber keine Ahnung ob das
Elektrotechnisch überhaupt möglich ist,
Evtl. könnte ich ja auch eine USB3.0 Verlängerung (10cm) vorsichtig
auftrennen und mich dort an + - hängen, dann das kabel versuchen wieder
zu schirmen, und dann mit einem Messgerät (wie dem verlinkten) den
Verbrauch ermitteln.
Das ist dann vermutlich nicht so ein Nischenprodukt wie ein USB3
Messgerät und vermutlich auch genauer als das diese ministicks sein
können.
Wenn software/firmware kein Problem ist, wäre das ADM00921 von Microchip
vielleicht einen Blick wert.
Entweder dem PIC UART beibringen oder ihn stilllegen (z. B. Reset auf
Dauer-Low) und extern über I2C bespaßen. Wenn du schon einen SBC hast,
dürfte das easy sein. Leider könnte USB Type C ein Hindernis sein.
Andere Möglichkeit: USB-Kabel und Skalpell. VBUS freilegen und über
einen Shunt führen und darüber die Spannung messen. Ob das nun ein
Ina219, ein PAC1934 oder ein DMM macht ist in erster Linie Wurst. (der
PAC hat einen Accumulater eingebaut was beim Messen von
Durchschnittsleistungen/Energie angenehmer sein kann).
Eine Frage noch: Welche zeitliche und "wertliche" Auflösung brauchst du
genau?
Wenn auch zeitlich kritisch ist, wäre meine U erlegung, ein Oszi mit
Differenztastkopf (über einen Shunt) + "normale" Probe für die Spannung
zu verwenden. Über data readout kann man es dann sehr bequem am PC
auswerten...
Chris R. (ohne login) schrieb:> Entweder dem PIC UART beibringen oder ihn stilllegen (z. B. Reset auf> Dauer-Low) und extern über I2C bespaßen. Wenn du schon einen SBC hast,> dürfte das easy sein. Leider könnte USB Type C ein Hindernis sein.
Ok das sagt mir schon mal bis auf ein paar Begriffe wie I2C nichts, aber
den Stick kann ich auf keinen Fall modifizieren falls das gemeint war.
Chris R. (ohne login) schrieb:> Andere Möglichkeit: USB-Kabel und Skalpell. VBUS freilegen
genau das ist mir vorhin bei dem Messgerät gekommen, das trau ich mir
dann doch noch zu :).
Chris R. (ohne login) schrieb:> und über> einen Shunt führen und darüber die Spannung messen. Ob das nun ein> Ina219, ein PAC1934 oder ein DMM macht ist in erster Linie Wurst. (der> PAC hat einen Accumulater eingebaut was beim Messen von> Durchschnittsleistungen/Energie angenehmer sein kann).
da kommt dann bei mir leider wieder nur bahnhof an, muss mich dazu erst
mal einlesen. was die bauteile sind und welche Funktion die haben.
Chris R. (ohne login) schrieb:> Eine Frage noch: Welche zeitliche und "wertliche" Auflösung brauchst du> genau?
Das hab ich bei meiner ersten frage gar nicht bedacht. Also,
grundsätzlich läuft so ein Netz sagen wir mal ca. je nach Parametrierung
zwischen 10-80ms.
Es gäbe die Möglichkeit in meinem Use-Case das Netz länger zu machen
wodurch ich dann auf ca. 100-500ms kommen kann (und danach einfach den
verbrauch anhand der Streckung skaliere). Daher wäre eine hohe Zeitliche
Erfassung relativ wichtig, daher auch das logging. So könnte ich dann am
PC (evtl. automatisiert) ermitteln wie viel der Stick für einen
Durchlauf verbraucht hat, dass dann X mal für Y Netzwerke. Händisch wäre
da denk ich schwieriger da ich jetzt hochgerechnet ca. 400-5000
Durchläufe machen müsste (um genügend Messreihen für eine
aussagekräftige Studie zu bekommen). Ich wollte hier den Aufwand
möglichst gering halten da diese Messreihe und die Ermittlung der werte
nur ca. 5% der MA ausmachen.
Chris R. (ohne login) schrieb:> Wenn auch zeitlich kritisch ist, wäre meine U erlegung, ein Oszi mit> Differenztastkopf (über einen Shunt) + "normale" Probe für die Spannung> zu verwenden. Über data readout kann man es dann sehr bequem am PC> auswerten...
Ok, kenne so uralt Oszis aus meiner Fachinformatiker Ausbildung noch,
die waren relativ teuer und konnten noch kein Digital. Allerdings habe
ich die stille Hoffnung das evtl. unser EFI Fakultät über solche Geräte
verfügt, da könnte ich mich mal schlau machen.
Wie genau muss das Ding den werden? Und was noch viel wichtiger ist wie
schnell muss es werden? USB3 stellt bis zu 900mA bereit, wenn du also
besser als 0.1% werden willst brauchst du ohne Messbereichs
Umschaltung eine Auflösung besser 0.9mA.
Da du keine Ahnung von Werten hast solltest du vielleicht ein paar
Messungen machen. Die billigen Teile schaffen vielleicht 2%. Ich vermute
mal dass du das wesentlich genauer brauchst und deshalb hier frägst.
Für 300 gibt's da nichts da kannst du locker mindestens Faktor 10 bis 30
nehmen. Zusätzlich werden die Störungen mit Sicherheit lustig.
Schau in die Spec wie sich die Spannung bei USB unter Last ändern darf,
du wirst dich wundern und merken dass das ganze eine Schnapsidee ist.
Nur ein Informatiker ohne Etechnik Wissen kann auf so eine Idee kommen.
Wenn du da Ergebnisse erwartest die auch nur entfernt was mit der
Realität zu tun haben, brauchst richtig gutes Messequipment. Es gibt
hier übrigens jemanden der ab und an hier schreibt und bei Intel in
Irland oder England genau mit diesen Sticks arbeitet.
Die wesentlichen Faktoren wurden Dir also bisher genannt:
Stromversorgung zum Stick auftrennen, "Shunt" einfügen, vor und hinter
dem Shunt Spannung abgreifen, Differenz bilden, verstärken, mit
Analog-Digital-Wandler wandeln, aufzeichnen fertig. Ist aber Elektronik.
Mit der tust Du Dich laut Startpost schwer.
Anderer Weg: Je mehr der Stick "arbeitet", desto mehr Abwärme produziert
er.
Messe mit einem punktförmigem Temperatursensor (elektrisch isoliert) am
geöffnetem Stick. Logge diese Temperaturdaten, schalte Fehler durch
Zugluft aus, fahre wiederholte Messreihen. Im Stick wirst Du nicht viel
mehr als einen Chip finden. Dessen Temperatur misst Du mit einem
digitalen Laborthermometer. Geeignete, relativ punktförmige
Anlegethermometer samt Schnittstelle hat jede Uni. Deine
Forschungsarbeit reduziert sich auf e-funktionen (Aufwärmphase,
thermisches Gleichgewicht, Ausschaltung von Raumtemperatur, etc.. Die
Natur dieser Messung über einen scheinbaren Umweg (Temperaturerhöhung)
hilft Dir, weil die Effektivwertbildung hier "intrinsisch" ist.
Du musst dann halt den Stick arbeiten lassen, ruhen lassen, alles
Software...
Nachteil: thermische Trägheit. Genaue Thermometer gibt es heutzutage
längst. Die ganze Apparatur beschränkt sich also auf Temperatursonde an
Stickplatine, mit Thermokamera optisch nach Hot spot suchen, das Ganze
thermisch isoliert einpacken (mehr oder minder).
Der Rest ist Software, sollte Dir dann liegen.
Um Fehler durch (bildlich) das heisslaufende Laptop zu vermeiden, USB
verlängern und Stick etwas räumlich entfernt "alleine" einpacken. Dann
Deine oben erwähnten 1000Durchläufe machen, Endtemperatur messen, ...
...
Raumtemperatur mit zweitem Sensor oder zweitem Komplett-Thermometer
loggen, gegenrechnen lassen.
Vorteil: Du brauchst NULL Hardwarekenntnisse. Anschaffung
schlimmstenfalls: 2 "genaue" Laborthermometer mit USB-Schnittstellen,
ein "freier" Rechner, der Deine Temp.-Messreihen fährt muss ja eh
vorhanden sein.
Nachteil: Die Sache hat eine Trägheit.
Pascal schrieb:> Ok das sagt mir schon mal bis auf ein paar Begriffe wie I2C nichts, aber> den Stick kann ich auf keinen Fall modifizieren falls das gemeint war.
Ok, dann lohnt sich vielleicht der Blick auf
https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/ADM00805
Aber auch hier wirst du um einen Lötkolben nicht herum kommen - die
Shunts passen für deine Anwendung nicht. Immerhin: es hat direkt einen
USB-Port. Die bereitgestellte Software würde ich allerdings nicht
verwenden, da sie nicht automatisierbar ist. Der verwendete MCP2221
(USB-I2C-Bridge) ist aber beherrschbar. Unter Linux gibt es
Kerneltreiber dafür.
Pascal schrieb:> je nach> Parametrierung zwischen 10-80ms. Es gäbe die Möglichkeit in meinem> Use-Case das Netz länger zu machen wodurch ich dann auf ca. 100-500ms> kommen kann (und danach einfach den verbrauch anhand der Streckung> skaliere)
Zeit dürfte hier dein Freund sein. Je länger du misst, desto genauer
dürfte es werden, da du mehr Samples aufnehmen kannst. Zudem müsstest du
bei 10 ms deinen Trigger bzw. Messzeitraum deutlich genauer setzen
müssen.
Pascal schrieb:> Oszis aus meiner Fachinformatiker Ausbildung noch, die waren relativ> teuer und konnten noch kein Digital.
Keine Sorge, die Erde hat sich seitdem weitergedreht. Halbwegs
brauchbare Digitaloszis gibt es schon für unter 1000 Euro, die könnten
deine Anforderung schon erfüllen.
Wenn du viele vergleichbare Messungen machen möchtest/musst, ist
Messautomatisierung - alleine schon wegen der Wiederholbarkeit - ein
Muss.
Die Leistungsaufnahme über die Temperatur zu ermitteln halte ich für
eher unsinnig, da wäre mir zu viel Rechnerei, Schätzerei und
Umgebungseinflüsse dabei. Außer du willst ein Kapitel "Esoterische
Messmethodik, weil es Menschen im Internet vorgeschlagen haben".
Du wirst vermutlich nicht darum herumkommen, dich ein wenig mit der
Elektronik zu beschäftigen oder jemanden in der E-Fakultät anzusprechen
(was du ja hier im Forum quasi schon gemacht hast).
Chris R. (ohne login) schrieb:> Außer du willst ein Kapitel "Esoterische> Messmethodik, weil es Menschen im Internet vorgeschlagen haben".
+1 :-)
Was ist denn eigentlich das Problem daran einfach Geräte zu verwenden
die seit Anbegin der Elektronik einzig für den Zweck gebaut wurden
schnelle Messungen im Zeitbereich zu machen?
Oszis sind dafür gedacht, da muss man nicht das Rad neu erfinden.
Und so eine dödeligen Shunt in die Versorgung zu klemmen kann ja nun
hoffentlich keinen angehenden Master schocken.
kein Schwanz baut Geräte für schnelle Leistungmessungen mit Peak Hold,
Average etc. für USB3.
Warum sollte man auch?
Coronianer schrieb:> ...Coronianer schrieb:> https://medium.com/@aallan/benchmarking-edge-computing-ce3f13942245
Vielen dank, das hört sich ja recht interessant an :D.
Da sich der Kern meiner Arbeit um einen 'ganz' anderen Bereich dreht lag
meine Recherche aktuell auch ganz wo anders. Aber irgendwie klar das ich
nicht der erste mit der Idee war ^^, was ja auch nicht schlimm ist. Auf
jeden Fall schon mal vielen Dank dafür, sowas hilft immens vor allem
wenn das Hauptaugenmerk der Arbeit ganz wo anders liegt. Und man soll ja
bei so einer Arbeit das Rad nicht neu erfinden wenn es das schon gibt.
Und auch ehrlichen danke an die anderen, die kurze Diskussion hat mir
schon sehr viel weitergeholfen, und nun heißt es erst mal die nächsten
Tage in die Sachen einzulesen und zu verstehen. Wie weit ich solche
Oszi's aktuell bzw. in nächster zeit überhaupt nutzen kann muss ich auch
erst mal raus finden da (zumindest in Bayern) die Hochschule zum
Großteil noch dicht sind, und Laboraktivitäten etc. verboten, daher kam
ich ursprünglich auf die Idee mit dem Stick den ich mir nach hause
bestellen könnte.
Pascal schrieb:> Wie weit ich solche> Oszi's aktuell bzw. in nächster zeit überhaupt nutzen kann muss
Naja, Du siehst ja das Du als reiner Informatiker schon im Studium nicht
völlig Hardwarefrei arbeiten kannst und 0/1 als Information oft nicht
reicht.
Das Oszi ist Auge und Ohr der Elektronik.
Multimeter und alles Artverwandte ist viel zu träge um im Zeitbereich zu
mesen.
Ich als Elektroniker komme ja auch nicht völlig Softwarefrei durchs
Leben.
Schnapp die jemanden aus dem E-Labor, der Dir ne schnelle eEinführung
geben kann. Sowas haben viele auch zuhause. Kostet nicht die Welt und
ist eines der grundlegensten Messgeräte der Elektronik.
M. K. schrieb:> Oszis sind dafür gedacht, da muss man nicht das Rad neu erfinden.
Ein oszi wird viel zu niedrige Dynamik haben. Es sei den du bist in
der 40k+ Liega...
Schau dir mal das joulescope an. Das ist für hochdynamische Messungen
(I,U,P,Q) entwickelt worden.
Bei Preis wirst du aber etwas über deinem Budget liegen - ich habs mir
damals den Kickstarter geholt...
73
Pascal schrieb:> Danke, das ist ja jetzt kein Zwischenstecker.> Dabei ist mir gerade noch was gekommen, aber keine Ahnung ob das> Elektrotechnisch überhaupt möglich ist,> Evtl. könnte ich ja auch eine USB3.0 Verlängerung (10cm) vorsichtig> auftrennen und mich dort an + - hängen, dann das kabel versuchen wieder> zu schirmen, und dann mit einem Messgerät (wie dem verlinkten) den> Verbrauch ermitteln.> Das ist dann vermutlich nicht so ein Nischenprodukt wie ein USB3> Messgerät und vermutlich auch genauer als das diese ministicks sein> können.
Ja klar, Zwischenadapter bauen geht.
Hans schrieb:> Ein oszi wird viel zu niedrige Dynamik haben. Es sei den du bist in> der 40k+ Liega...>> Schau dir mal das joulescope an.
Schick.
1,5nA Auflösung, soll 32bit ADC entsprechen, aber im DB siehts dann
nicht mehr so beeindruckend aus.
+-0,3% & +-1,5mA im 2A Messbereich, also +-2,1mA, bei 250Khz Bandbreite.
Also stabile 9bit, der Rest ist eye candy.
Für 800 Scheine recht sportlich.
für 1400€ steht ein 70Mhz Rhode und Schwarz mit 10bit Auflösung auf dem
Tisch.
Oszi finde ich universeller, aber das hängt sicher davon ab wie häufig
man mit Energiemessung zu tun hat.
Die Uni wird ja wohl ein Oszi stehen haben.
Hm. Also hat das Ohm nicht ein Elektrolabor um genau solche Sachen zu
unterstützen?
Ich bin mir da ziemlich sicher das es "früher" mal sowas gab ;)
Vielleicht wäre das die erste Anlaufstelle. Dann sieht man was da ist
und wie und wer einem vielleicht direkt vor Ort helfen kann.
nicht ganz billig, weil,
man braucht noch zusätzlich ein passendes Oszilloskop.
Das Gesamtergebnis ist allerdings äußerst komfortabel.
alle Messwerte im nA, uA, mA, mAh ... mit allen weiteren Möglichkeiten
des angeschlossenen Skopes.
Benutzen wir seit zwei Jahren im Ultra Low Power Bereich bei
batteriebetriebenen Geräten.
Wir suchen damit systematisch nach Energieeinsparungen durch
Softwareanpassungen.
https://www.datatec.de/Keysight-N2821A-Stromzange
Dirk schrieb:> https://www.meilhaus.org/downloadserver/mcd-elektronik/mcd-usb-hub-8-122204-de.pdf>> Strommessung für jeden Port (Auflösung ca. 10 mA)> Erkennung von Defekten (z.B. zu hohe / zu niedrige Stromaufnahme)> Messung des Stromverbrauchs angeschlossener Geräte>> Wenn eine Auflösung von ca. 10mA ausreichend ist.
Also eher ein Schätzeisen, als ein Messgerät.
Vom Hersteller "MCD" gibt es auch eine Variannte mit nur 6 USB3 Ports.