Hallo zusammen, ich habe auf meiner Bastelplatine eine zweiten USB-C Buchse die angeschlossene Geräte auch mit Strom versorgen soll. Damit die aber nicht beliebig viel Strom liefert, habe ich davor einen MP5016 Current Limit Switch https://www.mouser.de/datasheet/2/277/mp5016h_r1.11-1670128.pdf gebaut. An dessen Pin ILIMIT wird extern mit einem Widerstand nach Masse das Stromlimit eingestellt. Im Datenblatt auf Seite 11 (Anhang) ist eine Formel wie man den Widerstandswert berechnen kann. Ich habe den für 1 A berechnet und komme auf grob 2,2 kOhm. Die habe ich auch eingebaut. Jetzt habe ich aber das Problem, dass der Strom schon bei ca. 200 mA nicht limitiert, sondern abgeschaltet wird. Das Bildchen im Anhang zeigt den Strom am Eingang in meine Bastelplatine. Die Schaltung auf der Platine selber braucht grob 200 mA. Man kann schön sehen, dass bei knapp über 400 mA abgeschaltet wird. Meine Frage ist also: Warum ist das so? Habe ich da einen Fehler gemacht? Randnotiz: Ja, ich habe einen Fehler, ich habe den Softstartkondensator vergessen am DV/DT Pin. Aber das sollte keinen Einfluss auf das Stromlimit haben. Edit: Laut Seite 14 im Datenblatt darf man DV/DT auch floaten lassen. Ist also kein Fehler von mir. Das Stromlimit teste ich mit einem 500 Ohm Poti das auch genug Leistung verbraten kann. Edit: Auch noch interessant: "The current limit cannot be set too low, because the MP5016H works in sleep mode when the load is lower than 0.38A, typically. The current limit logic is disabled in sleep mode, also." Also eigentlich müsste der sich sogar noch im Schlaf befinden.
:
Bearbeitet durch User
So, ich habe also am Layout gezweifelt und auch daran wie gut die Pins gelötet sind. Jetzt habe ich das noch mit einem fliegenden Aufbau nachgebaut, also gleiche Schaltung, aber ohne Platine sondern nur mit sehr dünnen Drähten. Tja, das Ergebnis ist gleich. Das Labornetzteil sagt ca. 180 mA. Wenn ich den Lastwiderstand dann noch weiter verringere bricht der Strom auf 0 mA ein.
Gustl B. schrieb: > Jetzt habe ich aber das Problem, dass der Strom schon bei ca. 200 mA > nicht limitiert, sondern abgeschaltet wird. das Abschalten ist normal - zumindest für ein paar hundert ms: if the current limit condition lasts longer than 2ms, the IC enters hiccup mode with 2ms of on time and 700ms of off time. dass der Strom einen Faktor 5 daneben ist, ist natürlich schon ein Fehler.
Tja, das scheint schon irgendwie sowas wie hiccup zu sein, aber nicht alle 2 ms. Laut meinem Oszi sind das so alle 0.8 s, da sehe ich dann einen kurzen Spannungspuls am Ausgang. Zu warm wir der IC auch nicht, 0.2 A sind für den eigentlich echt wenig.
Gustl B. schrieb: > Laut meinem Oszi sind das so alle 0.8 s, da sehe ich dann einen kurzen > Spannungspuls am Ausgang. genau das steht im Datenblatt: 2ms an, 700ms aus
Tatsache (sorry, war sehr dumm von mir)! Hm ... jetzt habe ich mal aus purer Paranoia auch schon das Flussmittel auf Leitfähigkeit gemessen. Aber ne, leitet nicht. Der ILimit Widerstand hat auch wirklich 2,2k Ohm.
:
Bearbeitet durch User
Nein. Ohne Last fallen da 0 V ab. Und mit einer Last damit der Hiccup eintritt fallen bei jedem dieser Hiccup Pulse mal ein paar mV ab. Ich habe jetzt einen neuen 2,2k Ohm hingelötet und dabei die Pins am IC nochmal nachgelötet. Ist zwar sehr klein, aber es sieht zumindest optisch gut aus. Am Verhalten änderte sich aber nichts. Der Pin ILimit hat auch keine Verbindung zu seinen beiden Nachbarn. Wenn ich direkt am Pin gegen Masse den Widerstand messe komme ich auf ziemlich genau 2,2k Ohm.
seltsam. skaliert die Sache denn wenigstens? d.h. wenn du auf 1kOhm gehst, schafft der Strom dann 400mA?
Nein, skaliert nicht. Auch der Zweite im fliegenden Aufbau nicht. Ich hoffe ja doch noch auf einen einfachen sehr dummen Fehler ... Edit: Und das Layout. Ja, ich habe mich da nicht an das im Datenblatt gehalten. Aber ich habe auch zwei Massenlagen in der Platine und in einer weiteren Lage ein Polygon für die 5V. Ich habe das Bild so gedreht, dass Pin 1 links oben ist.
:
Bearbeitet durch User
Enable funktioniert jedenfalls. Ich messe 2,45 uA von VCC zum Enable Pin. Das passt auch ganz gut, denn 5,12 V/2,2 MOhm ist 2,3 uA. Den Pullup Widerstand kann ich ja eigentlich auch durch einen 0 Ohm ersetzen, denn wenn ich ca. 5 V als VCC verwende fließt auch kein großer Strom durch die eingebaute Zenerdiode. Edit: Laut Datenblatt kann man ILimit auch floaten lassen. Das bedeutet dann, dass der Strom auf 2,5 A begrenzt wird. Habe ich versucht, aber es wird schon sehr viel früher abgeregelt. Bei wenigen mA. Dann kann man ILimit aber auch mit Masse verbinden und damit die Strombegrenzung ausschalten. Tja und jetzt wird es richtig seltsam: Ich belaste ja mit einem 500 Ohm Poti. Ich erwarte also, dass der Strom langsam steigt wenn ich den Widerstand vom Poti verringere. Aber das passiert nicht. Es fließt gar kein Strom. Ausser wenn ich das Poti auf einen ganz kleinen Wert stelle, dann fließen plötzlich mehrere Ampere und meine Platine verliert die Verbindung zum USB. Wenn ILimit also mit Masse verbunden ist sieht das für mich so aus als würde erst Strom fließen, wenn der Lastwiderstand gering genug ist. Sehr seltsam.
:
Bearbeitet durch User
So Freunde der Nacht, ich entschuldige mich hiermit für meine Dummheit. "Fehler" ist gefunden, es war das Poti welches ich als Lastwiderstand verwendet habe. Das ist ein 500 Ohm Poti, und für kleine Widerstandswerte scheint es zu springen. Ich schaffe es einen Wert zwischen 20 und 30 Ohm einzustellen, danach aber erst wieder ca. 3 Ohm. Ich schaffe es nicht einen Wert dazwischen einzustellen. Und das erklärt auch das beobachtete Verhalten. Entweder war ich sehr weit unter dem Stromlimit, oder eben drüber. Jetzt habe ich einen Steckbrett nach USB-C Adapter gelötet und auf dem Steckbrett eine Reihe aus 47 Ohm und 100 Ohm Widerständen von Versorgung nach Masse gesteckt. Wie man sieht geht der Strom schön nach oben. Dann schlägt das Limit zu und ich kann da sogar etwas darüber hinaus belasten. Also einen weiteren 100 R konnte ich parallel dazustecken ohne dass der Strom abgeschaltet wurde. Erst bei noch weiterer Belastung geht der in den Hiccup Modus. Ganz links im Bildchen ist zu sehen, dass direktes Anschließen der vollen Last auch funktioniert. Dazu ist der Baustein ja auch gedacht. Jedenfalls bin ich zufrieden, Schaltung funktioniert, darf nachgebaut werden.
Gustl B. schrieb: > "Fehler" ist gefunden, es war das Poti welches ich als Lastwiderstand > verwendet habe. Gut: denn an der Schaltung wäre mir keine weitere Fehlerquelle mehr eingefallen. Gustl B. schrieb: > Ich schaffe es einen Wert > zwischen 20 und 30 Ohm einzustellen, danach aber erst wieder ca. 3 Ohm. Ich hätte eigentlich erwartet, dass du im Überstromfall an R_lim jeweils 2ms lange Pulse auf 0,55V siehst. Aber wahrscheinlich gilt dies nur bei "moderatem" Überstrom, nicht bei beinahe Kurzschluss. Gustl B. schrieb: > Das Stromlimit teste ich mit einem 500 Ohm Poti das auch genug Leistung > verbraten kann. Du kennst den Effekt: wenn das 500Ohm-Poti insgesamt 50W verbraten kann, dann können die letzten 10% davon (Poti eingestellt auf 50Ohm) nur noch 5W verbraten. Die Gesamtleistung des Potis muss bei deinen Einstellungen also weit über dem Wert liegen, den du tatsächlich umsetzen möchtest.
Achim S. schrieb: > Ich hätte eigentlich erwartet, dass du im Überstromfall an R_lim jeweils > 2ms lange Pulse auf 0,55V siehst. Die sieht man auch mit dem Oszi. Aber nicht mit meiner Python Grafik, denn die hat nur eine Abtastrate von so 10 Sps. Meine Python Grafik ist eigentlich für den Beschleunigungssensor ADXL363 und scrollt langsam von links nach rechts. Die kurzen Pulse fallen da also manchmal nicht auf. Vor allem zeigt die Grafik ja den Strom am Eingang meiner Platine. Gemessen mit einem INA216A über einem 20mOhm Shunt. Das geht dann zu einem diff Amp und dann zum XADC im Spartan7. Wenn bei den kurzen Pulsen also kein/kaum Strom fließt, dann sieht man die nicht. Achim S. schrieb: > Du kennst den Effekt: wenn das 500Ohm-Poti insgesamt 50W verbraten kann, > dann können die letzten 10% davon (Poti eingestellt auf 50Ohm) nur noch > 5W verbraten. Vielen Dank! Ja mir war schon klar, dass ich das Poti überlaste, aber wenn ich das nur für kurze Zeit mache, dann finde ich das OK. Aber ja, kann natürlich sein dass das Widerstandsmaterial im Poti in einem Bereich jetzt geschädigt ist. Wird wohl mal Zeit für eine echte Last mit einstellbarem Strom.
-gb- schrieb: > Die sieht man auch mit dem Oszi. ach menno: deswegen hatte ich oben doch extra nachgefragt. aber egal - du hast den Fehler ja selbst gefunden.
Sorry, die Frage mit den 0,55V habe ich so verstanden als würden da immer diese 0,55V abfallen. Mit dem trägen Multimeter konnte ich die aber nicht sehen. Das nächste mal werde ich die Option -v einschalten und Oszibildchen anhängen (-: Die 0,5 V Pulse habe ich mit dem Oszi auch nicht am ILimit gesehen (dort habe ich nicht mit dem Oszi gemessen) sondern am Ausgang Source.
So, letztes Update: In den Bildchen oben war der Strom schön glatt bei 1 A limitiert. Und das passt natürlich nicht. Ich habe ja ILimit auf 1 A gestellt und die Platine selbst braucht auch ca. 0,19 A also würde man 1,19 A als Maximum erwarten. Und in der Tat, der Fehler liegt an der Beschaltung vom ADC. Ich verwende da den XADC im FPGA und habe die Beschaltung "doof" gemacht. Damit ich statt maximal 1 A jetzt 2 A messen kann habe ich den Shunt von 20 mOhm ersetzt durch einen mit 10 mOhm. Jetzt sieht es wie gewünscht aus. Mit anderer ADC Beschaltung könnte man aber auch mit einem 20 mOhm Shunt bis 2 A messen. Naja, sollte ich die Platine jemals in einer neueren Revision aufbauen wird das behoben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.