USB Spannung messen

Bitte nutzt dieses Forum um eure eigenen Projekte vorzustellen oder um selbst entwickelten Code zur Verfügung zu stellen.

USB Spannung messen

#1

Ungelesener Beitrag Peter » 29. Aug 2019, 21:24

Hallo
Hier mal ein Projekt was die USB Spannung und Strom, von
Verbrauchern mißt. Gemessen wird bis 5V und der Strom
kann von 1mA bis über 3A gemessen werden. Gemessen wird
mit einem INA219 und da liegt auch schon das Problem. Gemessen wird
die Spannung am Ausgang. Je nach Belastung, sinkt die Ausgangsspannung.
Wie auf den Bildern zu sehen, wird die USB Power bank einmal mit ca. 1A belastet und
einmal mit fast 2 A belastet. Dabei sinkt die Ausgangsspannung ab. Die Eingangsspannung
bleibt dabei auf 5V fest.Fehlt da eine Sense Leitung wie sie bei Netzteilen vorkommt ?
Oder wie geht es besser ?
schaltplan.JPG
IMG_2638.JPG
IMG_2640.JPG

Re: USB Spannung messen

#2

Ungelesener Beitrag vloki » 30. Aug 2019, 11:43

Wie groß ist denn dein Shunt Widerstand, bzw. wo ist der in der Schaltung?
K5 ist an der Powerbank, K4 an der Last und der INA ist im SOT23-8 Gehäuse?

Re: USB Spannung messen

#3

Ungelesener Beitrag Peter » 30. Aug 2019, 13:24

Der INA219 sitzt auf einer fertigen Platine die man so bekommt.
Habe die Platine mal im Schaltplan mit eingezeichnet. Der Widerstand
beträgt 0,1 Ohm.
schaltplan.JPG

Re: USB Spannung messen

#4

Ungelesener Beitrag vloki » 30. Aug 2019, 13:38

Dann würden an den 0,1 Ohm bei ~1A ja 250mV abfallen.
Das sollten ja nur 100mV sein.

Hast du das mal mit einem Multimeter nachgemessen,
weil du sagst, die Eingangsspannung bleibt bei 5V?

Was zeigt das Ding bei keiner Last an?

Re: USB Spannung messen

#5

Ungelesener Beitrag Peter » 30. Aug 2019, 13:57

Ja habe mal mit einem Multimeter nachgemessen.
Die Eingangsspannung bleibt bei 5V. Die Ausgangsspannung
zeigt auf dem Multimeter auch den Wert an, die das
Display anzeigt. Habe das ganze auch mal mit einem
Labornetzteil betrieben. Das selbe Ergebniss. Irgendwas
stimmt da nicht.

Re: USB Spannung messen

#6

Ungelesener Beitrag vloki » 30. Aug 2019, 14:32

Das Modul ist nur gesteckt?
Hast du mal auf dem Modul (am besten direkt am Shunt) die Spannung V+ gemessen?

Re: USB Spannung messen

#7

Ungelesener Beitrag Peter » 30. Aug 2019, 14:53

Zwischen V+ und GND beträgt die Spannung
einmal 4,8V und bei noch höhere Belastung 4,7V.
Belastet wird mit 5,1 Ohm und zweimal 5,1 Ohm parallel.
Also erste Messung mit 5,1 Ohm.
Zweite Messung mit 2 mal 5,1 Ohm parallel.

Re: USB Spannung messen

#8

Ungelesener Beitrag vloki » 30. Aug 2019, 14:58

An V+ müsste ja 5V sein, wenn die Spannung an der Quelle 5V ist.
Dann ist wohl der Übergangswiderstand vom der Quelle zu V+ etwas hoch.

Re: USB Spannung messen

#9

Ungelesener Beitrag Peter » 30. Aug 2019, 15:15

Ja das stimmt. Ist übrigens direkt verlötet
nicht gesteckt. Die Platine wo der INA219 drauf sitzt.
ließe sich auch schlecht verlöten. Werde das ganze nochmal
nach löten, vielleicht ändert sich ja was.

Re: USB Spannung messen

#10

Ungelesener Beitrag Peter » 31. Aug 2019, 20:23

Nach dem nach löten ist es bei den Werten geblieben.
Das kann aber auch so stimmen. Denn die Spannung wird am Verbraucher gemessen.
Leiterbahnen haben einen Widerstand, USB Buchse - Stecker haben einen Widerstand und
der Verbraucher selber auch. Das alles zusammen kann zu diesem Spannungsabfall führen.
Ist genauso wenn man an einem Netzteil eine 1m Anschlusschnur zu einem Widerstand legt.
Am Widerstand ist dann die Spannung auch kleiner als direkt am Netzteil ausgang.

Re: USB Spannung messen

#11

Ungelesener Beitrag picass » 1. Sep 2019, 08:38

Peter hat geschrieben:
31. Aug 2019, 20:23
Nach dem nach löten ist es bei den Werten geblieben.....
Ein in etwa vergleichbares Beispiel aus dem Auto-Bereich:
Der fette Akku sitzt im Kofferraum, die Lichtmaschine mit dem Motor vorne, und ebenfalls vorne im Motorraum zwei extra dick und stark ausgeführte Kontakte, die explizit dafür gedacht sind, dort ggf. Starthilfekabel oder aber externe Akku-Ladegeräte anzuschließen. Ist schon häufiger vorgekommen, dass an diesen Kontakten eine deutlich abweichende Spannung von der am Akku gemessen wurde, obwohl dazwischen extrem fette Kabel verlegt sind. Da hatten sich dann tatsächlich Übergangswiderstände an diesem Kontakt gebildet, und der wurde im Betrieb auch richtig heiß. Die Nachlöt-Aktion: hätte sein können, dass......
Grüße, picass

Re: USB Spannung messen

#12

Ungelesener Beitrag Peter » 2. Sep 2019, 12:16

Ja der übergangs Widerstand spielt hier eine große Rolle.
Hatte mal ein USB Kabel was 3 Meter lang war. Da ließ sich auch keine
Festplatte dran betreiben. Erst als ich ein hochwärtiges Kabel, genommen
hatte, funktionierte es dann wieder. Solche Kabel können dann auch mal schnell
über 20€ kosten.
Soweit funktioniert die Schaltung ja. Ist ein 128x32 (SSD1306) Display, welches
über I2C angesteuert wird. Der INA219 wird auch über I2C angesteuert. Der ist
eigentlich gar nicht so kompliziert an zu steuern. Wenn Fragen sind dann immer her damit.

Re: USB Spannung messen

#13

Ungelesener Beitrag vloki » 2. Sep 2019, 12:55

Peter hat geschrieben:
2. Sep 2019, 12:16
Wenn Fragen sind dann immer her damit.
Hast du den INA Code schön in einem .c/.h Dateienpaar gekapselt?
Dann immer her damit ;-)

Re: USB Spannung messen

#14

Ungelesener Beitrag Peter » 2. Sep 2019, 13:51

Nein Programmiere nicht in C. Das ganze ist in MikroBasic programmiert.
Da gibt es zwar auch etwas ähnliches, aber die paar Zeilen Code, auszulagern
lohnt sich nicht. Dadurch geht auch die Übersichlichkeit verloren, wenn ich das
auslagere. Den Code für das Display ist natürlich ausgelagert, weil er sonst das
Hauptprogramm zu unübersichtlich machen würde. Eingebunden wird so ein Programm,
wie auch in C über INCLUDE.
Hier mal das Programm für den INA219.
Zur Initialisierung:

Code: Alles auswählen

I2C1_Start ()
I2C1_WR (0x80)
I2C1_WR (0)
I2C1_WR (0x19)
I2C1_WR (0x9F)
I2C1_Stop
delay_ms(20)
I2C1_Start
I2C1_WR (0x80)
I2C1_WR (0x05)
I2C1_WR (0x10)
I2C1_WR (0x7E)
I2C1_Stop
Für die Spannung:

Code: Alles auswählen

I2C1_Start
I2C1_WR (0x80)
I2C1_WR (0x02)           'Spannung
I2C1_Stop

delay_ms (10)
I2C1_Start
I2C1_WR (0x81)
text1 = I2C1_rd (0x01)
text2 = I2C1_rd (0x01)
I2C1_Stop
Für den Strom:

Code: Alles auswählen

I2C1_Start
I2C1_WR (0x80)
I2C1_WR (0x01)          'Strom
I2C1_Stop

delay_ms (10)
I2C1_Start
I2C1_WR (0x81)
text1 = I2C1_rd (0x01)
text2 = I2C1_rd (0x01)
I2C1_Stop
Mehr ist das eigentlich nicht.

Antworten