Forum: Mikrocontroller und Digitale Elektronik USB-powered / Self-powered automatisch umschalten


von Power-Anfänger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo allerseits,

ich habe ein kleines Gerät gebaut, welches über USB mit einem Computer 
kommunizieren kann ( aber nicht muss ).
Also man kann es entweder über USB oder self-powered (standalone) 
betreiben.
Nun wollte ich der Einfachheit halber das ganze so hinbiegen, dass wenn 
das Netzteil eingesteckt ist, der Strom nur über das Netzteil genommen 
werden soll. Wenn kein Netzteil angeschlossen ist, soll der Strom über 
USB kommen ( es geht hier um ca. 200 mA ).
Das ganze sollte möglichst ohne mechanischen (Druck-)schalter gehen, da 
das ganze auf Bedienkomfort ausgelegt ist, also die Anpassung sollte 
automatisch erfolgen.

Daher wollte ich fragen, wie man sowas am besten lösen kann. Einen 
Versuch von mir habe ich auch mal angehängt ... würde das so klappen 
oder gibt es vielleicht bessere Lösungen ?

Der ATmega ist übrigens ein ATmega32U2. Aus dem Datenblatt habe ich 
entnommen, dass der einzige Unterschied zwischen Self- und Bus-powered 
der ist, dass die 5V-Schienen zusammengeschlossen sind.

Gruß,
Ralf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Dein Transistor ist entweder von der falschen Polarität oder falsch
herum eingebaut.

Die Problematik ist leider nicht ganz so einfach, wie's auf den
ersten Blick scheint.  Für sowas gibt es sogar schon fertige
Umschalt-ICs.  Ich hatte letztens meine Variante schon mal
vorgestellt, die hatte allerdings eine leicht andere Prämisse:
bei Betrieb von Batterie sollte der Spannungsabfall minimal sein
(damit man die Batterie gut ausnutzen kann), bei Betrieb vom
Netzteil jedoch kam es auf 0,7 V für eine Diode nicht an, weil
ohnehin von 20 V auf 3,3 V geregelt werden soll.  Dafür soll kein
Strom rückwärts in die Batterie fließen, und die Batterie soll
natürlich nicht belastet werden, wenn die Netzversorgung anliegt.

Bei deinem USB kommt noch hinzu, dass du die 200 mA beim Host
anmelden musst und entsprechende Vorkehrungen brauchst, wie du mit
dem Fall umgehst, dass der Host dir den Strom nicht bewilligt.  Das
wiederum ist ja nur bei bus powered von Interesse, wenn die externe
Versorgung anliegt (self powered), brauchst du kein extra Strombudget
beim Host beantragen.  Das musst du also auch noch alles im Controller
erkennen und du musst natürlich in der Lage sein, die Schaltung bei
Nichtbewilligung des Budgets unter 100 mA zu halten.

von Power-Anfänger (Gast)


Lesenswert?

Also so einfach wie ich dachte ist es wohl echt nicht ( und ja, es 
stimmt, Kollektor und Emmitter sind in der Zeichnung vertauscht ).

Die 100 mA-Grenze könnte in der Tat zum Problem werden ...
In der Anfangsphase kann ich alle LEDs aus lassen, bis das geklärt ist ( 
ich benutze zur Zeit LUFA für die USB-Anbindung, ich werde mal 
nachschauen, ob ich damit rausfinden kann, ob der Host nur 100 mA 
zuteilt ).
Danach werde ich wohl auch den Controller bemühen müssen, um die 
richtige Spannungsquelle zu schalten.

Vielen Dank schonmal für die Anregungen, Jörg.
Werde mir die Tage mal einen besseren Plan überlegen.

Gruß,
Ralf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Power-Anfänger schrieb:
> ich benutze zur Zeit LUFA für die USB-Anbindung, ich werde mal
> nachschauen, ob ich damit rausfinden kann, ob der Host nur 100 mA
> zuteilt

Soweit ich das in Erinnerung habe, ist das Dumme dabei, dass du
gewissermaßen nur einen Versuch hast.  Du schickst dem Host ja
deine Konfigurationen zu, und daraus such er sich nach Gutdünken
eine aus.  In der Regel wird dr jedoch nicht versuchen, nach einem
nicht zugeteilten power budget noch eine andere Konfiguration zu
benutzen, die weniger power budget verlangt.  Für ihn ist die Sache
dann einfach damit erledigt, dass er den Wunsch abgelehnt hat.

Dir würde dann weiter nichts übrig bleiben, als dich komplett vom
Bus wieder abzumelden und hernach mit Konfigurationsdaten neu
anzumelden, die halt weniger Strom verlangen.

Wie gesagt, ist ein wenig aus der Erinnerung, habe das auch 'ne Weile
nicht mehr in den Fingern gehabt.

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.