Ich habe ein Wireless-Transmitter-Modul, das mit einem Nucleo-Board verbunden ist. Der Sensor zieht Strom (~200 mA) vom 3,3-V-Ausgangspin der Nucleo-Platine.
Fall A (erfolgreich): Wenn ich das Nucleo-Board mit einem Standard-USB-Kabel (5 V) an meinen PC anschließe/mit Strom verbinde, dann:
Fall B (erfolglos): Aber wenn ich die Nucleo-Platine mit einem USB-Kabel an einen Akkupack anschließe/mit Strom versorge (einen dieser Telefon-Backup-Akkupacks mit 5-V-Ausgang bei 1A), dann:
Ich erhalte 1,1 V für den Multimeter-Messwert am 3,3-V-Ausgangsstift der Nucleo-Platine
das Sendemodul sendet nicht (ich empfange keine Pakete auf der Remote-Einheit)
Die LD1 (LED) der Nucleo-Platine blinkt einfach kontinuierlich mit 1 Hz
Frage: Muss ich eine physische Neukonfiguration vornehmen, damit der Nucleo von einem 5-V-Usb-out-Akkupack über USB mit Strom versorgt werden kann und erfolgreich Strom (in meinem Fall etwa 250 mA) von den 3,3 V der Platine bezieht Stift raus?
Hier ist der Schaltplan des Nucleo-Boards einschließlich seiner Leistungsschaltung: http://ds.arm.com/media/resources/db/platform/st/nucleo_f401re/MB1136.pdf
Einige Optionen von einfach bis komplex:
JP1 ist der Bypass-Jumper für die USB-Strombegrenzung. Wenn es AUS ist, versucht der ST/Link-Teil der Platine, mit einer hohen Leistungsanforderung aufzuzählen. Wenn es die angeforderte Leistung erfolgreich auflistet, aktiviert es das USB-Leistungs-Mosfet. Wenn es eingeschaltet ist, signalisiert es dem ST/Link, dass externe Stromversorgung verwendet wird, und sollte das Power-Mosfet trotzdem aktivieren. Einfach diesen Pullover anzuziehen sollte ausreichen.
Schneiden Sie ein USB-Kabel ab und verdrahten Sie V+ entweder mit dem E5V-Pin (stellen Sie sicher, dass JP5 auf Pins 2-3 eingestellt ist, für externe Stromversorgung.) oder dem 5V-Pin, je nachdem, ob Sie die ST/Link-Seite des möchten Board auch eingeschaltet sein oder nicht. Wenn Sie den Programmierer und das Debugging nicht benötigen, während Sie sich auf einem USB-Akku befinden, verwenden Sie den 5-V-Pin. Andernfalls ist es eine Energieverschwendung, so klein sie auch sein mag. (Entfernen Sie außerdem den JP5-Jumper, um sicherzugehen.)
Löten Sie das SB1 (USB Power Management Bypass). Dies ist eine normalerweise offene Jumper-Spur. Wenn es gelötet wird, umgeht es physisch das USB-Power-Management-Mosfet und verbindet USB 5V direkt mit der Zielplatine und dem 3,3-V-Regler.
[Anmerkung: User Passerby hat das Datenblatt anders interpretiert als ich, und er hat recht. Meine Antwort wird funktionieren, aber seine ist der bessere Weg, dies zu tun. Meine Antwort enthält jedoch einige gute Informationen! ]
Die schnelle Antwort ist, dass Sie einen Kurzschluss über SB1 ("Solder-Blob 1") erstellen müssen. Wie Sie am Namen sehen können, beabsichtigen sie, dass Sie nur etwas Lötzinn zwischen die beiden Kontakte fallen lassen.
Hier ist der Grund:
Zuerst die Regeln von USB:
Die USB-Spezifikation schreibt vor, dass ein Gerät (in diesem Fall der Nucleo) nur maximal 100 mA zieht, wenn es zum ersten Mal an einen Host (den Computer oder die Stromquelle) angeschlossen wird. Wenn das Gerät nach dem Anschließen feststellt, dass es mehr Strom aufnehmen darf, kann es dies tun. Im Allgemeinen beträgt dieser höhere Strom 500 mA (max), obwohl es weitere Ausnahmen gibt, die mehr Strom zulassen.
Das Host-Gerät gibt dem Gerät vor, wie viel Strom es ziehen kann. Es liegt in der Verantwortung des Geräts, nicht des Hosts, den Stromverbrauch zu begrenzen.
Es gibt verschiedene Methoden, mit denen das Gerät weiß, wie viel Strom es ziehen darf. Hier ist ein schönes Dokument von Maxim, das die Details beschreibt. Hier ist meine kurze und unvollständige Zusammenfassung:
Wenn das Gerät an einen Computer, USB-Hub usw. angeschlossen ist, findet eine intelligente Konversation zwischen Gerät und Host statt. Dies wird als „Aufzählung“ bezeichnet. Während der Aufzählung kann das Gerät dem Host mitteilen, dass es mehr als 100 mA möchte. Der Host kann dann dem Gerät die Erlaubnis erteilen, mehr zu zeichnen.
Wenn das Gerät an einen nicht-intelligenten Anschluss angeschlossen ist (Steckdose, Akkupack usw.), kann keine Aufzählung stattfinden. Es gibt einige Schemata, bei denen das Gerät feststellen kann, dass Hochstrom verfügbar ist. Sie werden in diesem Maxim-Dokument gezeigt.
Zweitens: Wie der Nucleo diese Regeln umsetzt:
Das Nucleo-Board implementiert die zweite Option jedoch nicht. Es wird den Hauptmikrocontroller einfach nicht einschalten, bis eine Aufzählung stattfindet. Dies ist im Benutzerhandbuch , Abschnitt 5.3.1 beschrieben. Es gibt einen Jumper (JP1), mit dem Sie den Hauptmikrocontroller ohne Aufzählung aktivieren können. Leider begrenzt dieser Jumper auch die Stromaufnahme auf 100mA! Sie können nicht gleichzeitig Hochstrom und Nichtaufzählung haben. Hier ist ein Teil dieses Abschnitts:
Es gibt jedoch eine Lösung! Finden Sie T2 auf dem Schaltplan. Es ist der MOSFET unten links auf der ersten Seite. SB1 ist direkt daneben. Wenn Sie SB1 kurzschließen, wird der Hauptmikrocontroller immer mit Strom versorgt. Es liegt jetzt in Ihrer Verantwortung, immer an einen 500-mA-fähigen Anschluss anzuschließen :)
Beachten Sie auch, dass das Dokument sagt, dass 300 mA alles sind, was möglich ist. Vielleicht haben sie einen Spannungsregler verwendet, der nicht die vollen 500 mA regeln kann, oder vielleicht reservieren sie den zusätzlichen Stromaufwand für die nicht für den Benutzer zugänglichen Funktionen des Nucleo ... Wie auch immer, ich würde es nicht versuchen überschreiten.
Dwayne Reid
Brettbiss
fceconel
Brettbiss
fceconel
Brettbiss
fceconel
Passant
Junior
MathieuL
Brettbiss
MathieuL
Ben Voigt