Forum: Mikrocontroller und Digitale Elektronik Raspberry - Versorgung externer HD per GPIO an-/ausschalten


von Markus R. (gegenwartsanalyst)


Angehängte Dateien:

Lesenswert?

Liebe mikrocontroller.net community,

Ich (Anfänger) möchte eine externe Festplatte an meinen Raspberry
Server anschließen.  Soweit so gut.  Die HD braucht eine externe
Stromversorgung (über USB-Hub), und geht auf Dauerbetrieb, wenn diese
existiert.  Ich kann die Festplatte dann softwareseitig nicht mehr
ausschalten, möchte sie aber nicht ständig laufen lassen.

Deshalb mein erstes Projekt: Über den GPIO (3V) des Raspberry möchte
ich die Stromversorgung der Festplatte (5V) schalten.  Die Platte
braucht bis zu 1000mA beim anstarten.

Ich habe eine vorläufige Schaltung entworfen, bin mir aber in Teilen
unsicher, und will natürlich nichts kaputt machen.  Im einzelnen sind
meine Fragen:

 * Die Wahl des Transistors

   Wenn ich alles richtig verstanden habe, muss ich bei der Wahl des
   Transistors darauf achten, dass er 1. die 1000mA Kollektorstrom
   bereitstellen kann, und 2. am Transistor nicht zu viel Spannung
   abfällt, damit die Festplatte ihre nötige Betriebsspannung von
   annähernd 5V bekommt.  Ein Spannungabfall von 0,7V (wie beim
   eingezeichneten BC337) ist vermutlich zu viel, und ich denke, dass
   ich wohl einen MOSFET dafür brauche.  Wäre der FMMT625 eine gute
   Wahl?

 * Die Wahl des Widerstands

   Den Vorwiderstand benötige ich um den Basisstrom zu begrenzen.
   Dieser darf nicht zu groß für den Transistor sein, soll aber
   andererseits ausreichen, um den Transistor voll durchzusteuern.
   Bei einer Anliegenden Spannung von 3V reduziert Beispielsweise ein
   10kOhm Widerstand den Strom auf 30mA.  Ob das genügt, hängt vom
   Transistor ab.

 * Brauche ich noch weitere Widerstände?  Wenn ja, warum?

 * Die VCC (5V) der USB-Ports bleiben doch unverbunden, oder?

 * Habe ich sonst noch etwas nicht beachtet?

Vielen Dank schonmal vorab,
Markus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Markus Rother schrieb:
> Ich kann die Festplatte dann softwareseitig nicht mehr
> ausschalten,

Das sollte weiterhin funktionieren, das erfolgt ja nicht über die 
USB-Stromversorgung, sondern über ein entsprechendes ATAPI-Kommando, das 
der Platte zu senden ist.

Das sind STANDBY (0xE2) oder STANDBY IMMEDIATE (0xE0); Du musst "nur" 
noch herausfinden, wie Du die via USB an die Festplatte sendest.

Die smartmontools (http://smartmontools.sourceforge.net/) schaffen das, 
eventuell kannst Du die ja auf den Rpi portieren, oder dich daran 
orientieren.

von Harry L. (mysth)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Du musst "nur"
> noch herausfinden, wie Du die via USB an die Festplatte sendest.

Das geht mit "hdparm"

von Markus R. (gegenwartsanalyst)


Lesenswert?

Danke für die Antworten,

Ich schaffe es, mit hdparm die Festplatte in den Standby zu schicken. 
Wieviel Strom sie dann noch verbraucht, habe ich nicht gemessen.

Ein weiteres Problem was auftauchte war, dass die Festplatte 
gelegentlich 'einfriert', und nicht mehr erkannt wird.  Ich vermute, 
dass das auch am Strommangel liegt, da der Hub nur 800mA liefert. 
Derzeit muss ich den USB-Stecker der HD einmal rausziehen, damit die 
Platte neu erkannt wird.  Auch wenn das eigentliche Problem wohl die 
Stromversorgung ist, wäre es schön, wenn ich das programmatisch über 
eine Schaltung machen könnte.

Für Kommentare bzgl. meines Schaltplans wäre ich deshalb weiterhin sehr 
dankbar.

Gruß,
Markus

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
Noch kein Account? Hier anmelden.