So verhindern Sie, dass Arduino über USB Strom bezieht


7

Ich arbeite an einem eingebetteten Projekt, bei dem ich Arduinos als "Sensorschild" für RaspberryPi verwende (ich habe Modell B).

Das Problem ist, dass der USB-Anschluss des RaspberryPi nicht leistungsfähig genug ist, um WLAN-Adapter und Arduino mit Sensoren zu betreiben. Die Lösung ist einfach, ich werde die Sensoren extern versorgen, nicht über das RPi.

Aber ich habe mich gefragt, ob es möglich ist, das gesamte Arduino extern (über Vin) mit Strom zu versorgen und den USB nur für die serielle Kommunikation zu verwenden.

Zur Verdeutlichung weiß ich, wie ich mein Problem lösen kann - verwenden Sie ein anderes Kommunikationsmittel als USB - GPIO seriell, I2C, drahtlos usw. Ich bin nur daran interessiert, ob das Ganze mit einem USB-Kabel mit 5 V funktioniert Bleischnitt zum Beispiel.

Das Hauptproblem, das ich dabei sehen kann, ist, dass der serielle USB-Chip <-> nur über USB mit Strom versorgt wird und dann funktioniert.


Irgendein bestimmtes Arduino?
Ignacio Vazquez-Abrams

Ich verwende Nano v3 und Mini, suche aber vorzugsweise nach einer allgemeinen Lösung.
Jnovacho

Die allgemeine Lösung besteht darin, sich an bloße MCUs zu halten, da die Stromkreise der einzelnen Karten geringfügig unterschiedlich sind.
Ignacio Vazquez-Abrams

Antworten:


5

Wenn Sie den Arduino über Vindiesen mit Strom versorgen, wird die USB-Stromversorgung über den MOSFET-Schalter getrennt.


3

Es gibt einige alternative Lösungen für die Frage, die meiner Meinung nach erwähnenswert sind.

  1. Verwenden Sie ein USB-Kabel nur für Daten oder schneiden Sie die VCC- und GND-Kabel des Kabels manuell ab.

  2. Entfernen Sie die USB-Polysicherung von der Arduino-Platine.

  3. Schließen Sie eine externe Stromversorgung an einen der Eingangspins an, um die Spannung zu messen. Diese Messung kann dann verwendet werden, um festzustellen, ob die externe Stromversorgung angeschlossen ist und eine ausreichende Spannung liefert. Wenn dies der Fall ist, sollte die USB-Stromversorgung sowieso nicht verwendet werden. Andernfalls kann eine if-Anweisung verwendet werden, um den Code zu deaktivieren, mit dem Geräte mit Stromversorgung betrieben werden. USB-Strom wird weiterhin verwendet, um das Arduino-Board selbst mit Strom zu versorgen. Dies hat auch die Einschränkung, dass das Netzteil, da es möglicherweise nicht genügend Strom liefert, den verbleibenden erforderlichen Strom von USB beziehen kann.


Vorschlag Nr. 1 schien für mich nicht zu funktionieren, was wirklich verwirrend war. Ich arbeite mit einem 3D-Druckerszenario, in dem Marlin auf dem Arduino ausgeführt wird. Wenn ich den Drucker / das Netzteil einschalte, wird alles so angeschlossen, wie es sollte, wenn ein unverändertes Kabel verwendet wird. Wenn ich das Kabel jedoch ohne die VCC- und GND-Kabel versuche, wird nichts angeschlossen. Könnte die RAMPS-Karte den seriellen Bus nicht mit Strom versorgen oder so? Kratzte mir irgendwie am Kopf.
Erutan409

Nur VCC abschneiden und Masse angeschlossen halten. AFAIR wird es nicht mit GND verbunden
funktionieren

Der FTDI-Chip benötigt Strom von der USB-Seite, um zu funktionieren, so dass Vorschlag 1 nicht funktioniert
Rob Jolley

0

Schneiden Sie einfach die VCCLeitung (normalerweise rot ) im USB-Kabel ab.


Ein USB-Kabel besteht aus vier Drähten:

  • Boden
  • VCC
  • Daten +
  • Daten -

Sie können keine Daten ohne Referenzgrund senden, da Sie eine Potentialdifferenz benötigen. Daher müssen Sie die Masse angeschlossen halten und einfach die Stromleitung (rot VCC) abschneiden .


Beachten Sie, dass dies normalerweise nicht erforderlich ist, da VINdies gegenüber der USB- Stromversorgung bevorzugt wird .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.