Festplatte über GPIO mit Strom versogen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Guten Tag,

    bin hier neu im Forum und ich habe gleich mal eine Frage:
    Ich möchte an meinen Raspberry Pi eine USB 3.0 Platte anschließen. Normalerweise benötigt man dazu einen USB-Hub, aus Platzgründen suche ich derzeit eine Alternative.
    Jetzt habe ich gelesen, dass über den 2er und 4er Pin des GPIO-Anschlusses Strom gezogen werden kann. Dieser soll des Weiteren nicht begrenzt werden, das heißt: Ich habe zum Beispiel ein 2 Ampere Netzteil am RPi angeschlossen. Jetzt nimmt sich der Raspberry die Stromstärke, welche er benötigt, und den Rest kann man durch den GPIO leiten.

    Mein Ziel:
    Festplatte an Y-Kabel -> einen Stecker an USB-Anschluss des Raspberry -> 2. Stecker mit einem TTL-USB-Kabel an 5 Volt GPIO-Anschluss.
    Ist das möglich?
    Ich habe komischerweise nichts dazu im Internet gefunden. Finde diese Möglichkeit ziemlich praktisch, da man somit kein USB-Hub und kein zweites Netzteil benötigt.

    MfG
    DJ1142

  • Ebenfalls guten Tag,


    ...
    Ist das möglich?
    ...

    Nein


    ...
    Ich habe komischerweise nichts dazu im Internet gefunden ...
    ...

    Das ist nicht komisch, es funktioniert halt nicht.
    Im Gegensatz zum allgemeinen Internet wirst Du aber bei uns fündig ;) ...
    Guckst Du -> hier <-

    cheers,
    -ds-
    (der stalker ... :lol: das hat was :thumbs1: )

  • Hall DJ,

    wieviel Strom benötigt Deine USB-Festplatte denn?

    Und auf welche Weise versorgst Du Deinen Raspberry Pi mit Strom?

    Dass das mit den Pins 2 und 4 des GPIO funktionieren könnte, wäre mir neu: Es handelt sich beides Male um 5V-Anschlüsse. Eine Potentialdifferenz von 5V - 5V = ca. 0V dürfte nicht ausreichend sein, da eine USB-Festplatte 5V Betriebsspannung verlangt.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Danke für die schnelle Antwort :)

    Gibt es auch einen Grund, wieso das nicht geht?

    Die Anleitung zur Stromversorgung habe ich bereits komplett gelesen.
    Hier steht zum Beispiel, dass die 5 V Pins keine Begrenzung haben.
    Woran liegt das dann?

    MfG

    edit:


    wieviel Strom benötigt Deine USB-Festplatte denn?

    Und auf welche Weise versorgst Du Deinen Raspberry Pi mit Strom?

    Dass das mit den Pins 2 und 4 des GPIO funktionieren könnte, wäre mir neu: Es handelt sich beides Male um 5V-Anschlüsse. Eine Potentialdifferenz von 5V - 5V = ca. 0V dürfte nicht ausreichend sein, da eine USB-Festplatte 5V Betriebsspannung verlangt.

    Es ist eine USB 3.0 Festplatte, also 900 mA maximal.

    Rasbperry über den normalen Micro-USB Anschluss an 2 Ampere Netzteil.

    Die 2 & 4 Pins sind beide 5 Volt, das stimmt. Also einmal an einen dieser beiden Pins und der zweite Anschluss an Masse (GND; Pin 6).


  • Gibt es auch einen Grund, wieso das nicht geht?
    Die Anleitung zur Stromversorgung habe ich bereits komplett gelesen.

    wieviel davon hast du verstanden ?

    steht zum Beispiel, dass die 5 V Pins keine Begrenzung haben.
    Woran liegt das dann?

    fragst du auch warum ein serienmäßiges Auto keine 500 km/h fährt ?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (9. Juni 2014 um 16:23)


  • ...
    Die Anleitung zur Stromversorgung habe ich bereits komplett gelesen.
    ...

    Wers glaubt ...


    ...
    Hier steht zum Beispiel, dass die 5 V Pins keine Begrenzung haben.
    ...

    Stimmt doch gar nicht:

    Zitat

    Da die nackte Hardware 700mA - eher mehr als weniger, man sollte also lieber mit bis zu 800mA rechnen - benötigt, stünden für andere Peripherie (USB-Geräte, GPIO usw) nur noch insg. ca. 200-300mA zur Verfügung.


    Ich dachte, du hast das gelesen :fies:

    cu,
    -ds-

  • Hallo DJ,

    bei 900 mA wäre ich skeptisch, ob die Platine des Raspberry Pi das mitmacht, auf so dünnen Leitungen soviel Strom durchzujagen.

    Das wird seinen Grund haben, weshalb noch niemand diesen Weg beschrieben hat.

    Es gibt aktive USB-Hubs, die so groß wie der Raspberry Pi sind. Was spricht gegen solche Modelle?

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ist ja okay Leute, also liegt das einfach daran, dass ich nicht mehr wie einen Ampere durch den micro-USB bringe?

    Ich möchte einfach kein zweites Netzteil einsetzen.

    Dann könnte ich die Problematik einfach lösen, indem ich ein USB-Hub einsetze, darüber den Raspberry und die Festplatte mit Strom versorge?

  • Du kannst schlicht und ergreifend die Polyfuse brücken ...
    das würde ich mir allerdings zweimal überlegen, weil das zur Folge hat, dass der gesamte Strom (sowohl RPi inkl. Peripherie wie Tastatur usw. wie auch Platte) durch die Leiterbahnen des RPi zur Platte fliesst.
    Inwieweit die das aushalten sei mal dahingestellt ... Du bist aber auf alle Fälle Deinen Garantieanspruch los.
    cu,
    -ds-


  • Dann könnte ich die Problematik einfach lösen, indem ich ein USB-Hub einsetze, darüber den Raspberry und die Festplatte mit Strom versorge?

    GENAU! Vorausgesetzt, Du lässt dem Raspberry Pi ausreichend Zeit, auf das Hochfahren der Festplatte zu warten, das braucht nämlich auch so seine Zeit, bis die "da" ist.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Heißt das somit, dass selbst wenn ich den RPi übertakte, er niemals wie 1 A aus der Steckdose ziehen kann?
    Wieso werden dann meistens 1200 mA Netzteile empfohlen?


    Wenn du einen USB-Hub nutzt kannst du den Raspberry Pi mitversorgen. So benötigst du nur ein Netzteil.

    Dankeschöne, sowas suche ich.
    Könntest du mir noch einen Link schicken, welchen Hub du verwendest, damit ich sicher gehen kann, dass es dann auch funktioniert?


    edit:


    GENAU! Vorausgesetzt, Du lässt dem Raspberry Pi ausreichend Zeit, auf das Hochfahren der Festplatte zu warten, das braucht nämlich auch so seine Zeit, bis die "da" ist.

    Das bedeutet, einfach kurz warten oder muss ich dabei irgendetwas beachten (zuerst RPi, dann Festplatte anschließen, ...)?

  • Der RaspberryPI benötigt nackt (ohne irgendetwas daran anzuschließen) ca. 700-800mA (rechne aber lieber mit 800mA um auf der sicheren Seite zu sein, da zB. sowas wie HDMI standardmäßig aktiviert ist und zusätzlich weitere ca. 20mA zieht)

    Beim RaspberryPI handelt es sich um ein sog. 3V3 Device.
    Über den mirkoUSB Anschluss kommen 5V rein.
    Der Spannungswandler RG2 macht daraus dann 3V3 für den PI (SoC usw).
    Die USB-Ports sind ebenfalls 5V, genauso wie die zwei 5V Pins der GPIO Leiste..

    Soweit so gut, allerdings kommt jetzt der Knackpunkt:

    Der RaspberryPI ist so konstruiert das er über den regulären micro-USB Stromanschluss maximal 1A aufnehmen kann, also auch wenn man ein 5A Netzteil anschließt sorgt eine Sicherung dafür das er maximal 1A "rein lässt". Es stünden für andere Peripherie (USB-Geräte, GPIO usw) also nur noch insg. ca. 200-300mA zur Verfügung.

    Gehst du also den regulären Weg über die mikroUSB Buchse, verhindert die Polyfuse dass du mehr als 1A nutzen kannst - auch über die durchgeschliffenen 5V Pins der GPIO Ports!
    Solange du den RaspberryPI über den Micro-USB Anschluss versorgst spielt es keine Rolle ob dein Netzteil 2A oder 50A liefern kann.

    Das einzige was du machen könntest wären die von dreamshader beschriebenen Variante 2 oder Variante 3

    Aber VORSICHT! Die Polyfuse (Sicherung) gibt es nicht ohne Grund! Je nach Platine kann es beispielsweise passieren das die Leiterbahnen nicht mehr vertragen und schleichend (oder sofort) beschädigt werden. Davon sind insbesondere "billig produzierte" betroffen, was aber nicht bedeutet das alle 'Made in China' schlecht wären!


    genauere Details zu GPIO stehen > hier <


    Es ist zwar auch richtig das über USB 3.0 maximal 900mA möglich sind, aber das bedeutet nicht das die Festplatte das auch ausreizen würde :)
    Schließ die Festplatte mal normal übern aktiven USB-Hub an und prüf dann die Ausgabe von lsusb -v , da müsste irgendwo "Max Power" für dein Device gelistet werden.


    Fazit: Über deinen Weg ist das nicht möglich - aber generell nicht ausgeschlossen. Dennoch solltest du damit äußerst vorsichtig sein!


    //EDIT: Die Netzteile sind deshalb größer weil man immer mindestens 20-30% Spielraum/Luft haben sollte. Das hat u.a. den Grund das es dadurch auch stabilere Werte für den benötigten Bereich bringen sollte (ist aber bei billigen Netzteilen leider kein Garant) und die Netzteile niemals am Limit laufen sollten

  • Das bedeutet, einfach kurz warten oder muss ich dabei irgendetwas beachten (zuerst RPi, dann Festplatte anschließen, ...)?

    Hallo DJ,

    wenn Du alles über einen aktiven USB-Hub laufen lässt - und in diese Richtung tendiert wohl alles - dann gehen auch alle dort angeschlossenen Geräte gleichzeitig an. Eine Festplatte braucht so ihre Zeit, bis sie soweit hochgefahren ist, dass der Rapsberry Pi da etwas erkennt. Diese Zeit musst Du sicher kennen und ggf. den Bootvorgang verzögern.

    Ich denke mal, den Raspberry Pi hochfahren, die USB-Ferstplatte anschließen und warten, dass die erkannt wird, wirst Du auch nicht wollen (ist auch ein blöder Weg)...

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.


  • wenn Du alles über einen aktiven USB-Hub laufen lässt - und in diese Richtung tendiert wohl alles - dann gehen auch alle dort angeschlossenen Geräte gleichzeitig an. Eine Festplatte braucht so ihre Zeit, bis sie soweit hochgefahren ist, dass der Rapsberry Pi da etwas erkennt. Diese Zeit musst Du sicher kennen und ggf. den Bootvorgang verzögern.

    Hm wieso Bootvorgang verzögern? ;)

    Für USB Geräte würde ich generell udev empfehlen. Damit kannst du Regeln festlegen was mit dem USB Gerät passieren soll sobald es erkannt wurde usw. Siehe dazu: RPi zum automatischen Kopieren von SD-Karte


  • Hm wieso Bootvorgang verzögern? ;)

    Hallo Meigrafd,

    folgendes Szenario:

    Alle am aktiven USB-Hub angeschlossenen Geräte fahren hoch. Wenn der Raspberry Pi keine Passwort-Abfrage benötigt, dann ist der nach 20 Sekunden hochgefahren. Wenn dann ein Programm beispielsweise auf die Festplatte zugreifen möchte, dann ist die wahrscheinlich noch nicht am System angemeldet. Folge: Fehlermeldung.

    Demzufolge muss der Boot-Vorgang so lange verzögert werden, bis die Festplatte als solche erkannt wurde, um, danach die vorgesehenen Anwendungen fehlerfrei laufen lassen zu können.

    Natürlich geht das auch mit udev.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Nun macht mir den armen Kerl nicht ganz gaga :huh:

    Rückwärts einspeisen ( -> hier <- die Variante 2, wie schon mehrfach erwähnt ) über Hub mit passendem Netzteil, Platte ebenfalls an den Hub und gut ist.
    Netzteil: ich würde sagen ab 3000 mA aufwärts sollte reichen.
    Bootverzögerung brauchts nicht, weil selbst wenn das Laufwerk noch im spinup ist, sollte sich imho der Controller melden. Der RPi redet ja mit ihm und nicht mit den physikalischen Scheiben ;) ...

    cu,
    -ds-

  • Ich kenne keine Festplatte (der letzten 10 jahre) die so lange zum hochfahren bzw erkanntwerden benötigt ;) (räum mal dein winsux auf d0h :lol:)

    Ansonsten regelt man das starten des Programms so dass es zuerst prüft ob der jeweilige Mount schon vorhanden ist, falls nicht dreht es sich im Kreis und prüft es weiter... Dazu muss man nicht den gesamten Bootvorgang auf gut Glück blockieren - denn was is wenn die nach 20sek immer noch nicht da is? Dann haste das Problem weiterhin trotz künstlicher Bremse ;)

    Also angenommen er startet raspistill zum aufnehmen von Bildern oder Videos auf die Festplatte. Dann würde das ja über einer der Autostart Möglichkeiten gestartet werden. Dort würde ich dann einfach ein kleines bash Script stattdessen eintragen was zum Beispiel wie folgt aussehen könnte:

    Bash
    #!/bin/bash
    MountTo=/mnt/usbhdd
    while :; do
      if [ ! -z "$(grep $MountTo /proc/mounts)" ]; then
        raspistill -o $MountTo/cam.jpg   ;#oder was auch immer dann ausgefuehrt werden soll
      fi
      sleep 3
    done

    Das dann wie gesagt in den Autostart beim @reboot einfügen und gut is ;)

    Aber die aus meiner Sicht beste Möglichkeit auch für solch einen Fall ist die bereits erwähnte Lösung über UDEV :)

  • Okay alles klar danke euch.

    Wenn ich mir die Festplatte kaufe, dann nehme ich den Thread zur Hilfe her.

    Eine Sache habe ich auf jeden Fall gelernt: Nie wieder etwas fragen in diesem Forum, denn man wird sofort gesteinigt ;)
    Aber trotzdem danke an die, welche mir wirklich geholfen haben.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!