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
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.
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
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.