Forum: Mikrocontroller und Digitale Elektronik USB als Stromversorgung für ATMega8


von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

für Weihnachten würde ich mir gerne einen kleinen LED-Tannenbaum bauen. 
Die Schaltung steht bereits, allerdings nur auf einem Steckboard, das an 
ein Evaluation Board angeschlossen ist.
Ich würde die Schaltung jetzt gerne per USB versorgen, bin mir nach 
meinen Recherchen im Internet aber nicht ganz sicher, was man da alles 
beachten muss. Ich habe einige Schaltpläne gefunden, die sowohl einen 
10nF als auch einen 100nF Abblockkondensator parallel verwenden. 
Anschließend in Reihe noch eine Induktivität, deren Sinn ich nicht ganz 
verstehe. Bildet die eine Art Tiefpass?
Wäre mein Aufbau wie in dem Bild okay, oder muss ich noch andere Dinge 
berücksichtigen? Kann ich die Datenleitungen (die ich nicht benötige) 
einfach in der Luft hängen lassen? Muss ich irgendwo noch Widerstände 
einbringen, um den Strom zu begrenzen (Mal den Fall angenommen, dass ich 
trotz fehlender Anmeldung mehr als 100mA oder gar 1A am Hub bekomme)?

Danke
Klaus

von Franz Gast (Gast)


Lesenswert?

Die Spule und den 10n kannst dir sparen, wenn es lediglich um die 
Spannungsversorgung des Atmega gehen soll. Der 100n ist völlig 
ausreichend.

Gedanken solltest Du Dir darüber machen, wieviele LEDs mit jeweils 
wieviel Strom Du betreiben willst und ob die addierten Ströme nicht zu 
hoch werden. (Einerseits für die Portpins des Megas, andererseits für 
die USB-Spannungsquelle.)

Die unbenutzten IOs dürften unkritisch sein und brauchen nicht auf 
irgendein Potential gezogen werden, notfalls könnten die aber auch per 
Software über die internen Pull-Ups auf High gezogen werden.

Man könnte mehr dazu sagen, wenn aus deiner Schaltung auch die 
Beschaltung der LEDs mit Vorwiderständen hervorgehen würde. Sollen die 
Portpins die LEDs treiben oder sind noch Transistoren vorgesehen?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Bitte lege deine Versorgungsspannung auch noch an AVCC. Den 100nF so nah 
wie möglich am Mega.
Aus dem USB Port kannst du ohne Anmeldung am Rechner 100mA ziehen, wenn 
du die Schaltung nur aus einem Hub oder USB Netzteil betreibst, ist da 
auch mehr drin.

von Klaus (Gast)


Lesenswert?

Hallo Franz,

ich verwende 8 rote LEDs, die ich (mit Vorwiderstand) direkt an den µC 
hänge. Falls der Port nur 100mA liefern würde, wäre das ein Problem, 
oder leuchten dann nur die LEDs nicht so hell?
Mal interessehalber: Wofür bräuchte man denn die 10nF und die Spule? Und 
woher kommen die Werte von den Bauteilen, die ich brauche, zB die 100nF?

Danke
Klaus

von Wolfgang (Gast)


Lesenswert?

Klaus schrieb:
> Anschließend in Reihe noch eine Induktivität, deren Sinn ich nicht ganz
> verstehe.

Wenn dahinter, direkt zwischen VCC und Gnd des ATmega noch ein 100nF 
wäre, würde dieses π-Glied Störungen von beiden Seiten abblocken. So 
gibt es böse Spannungseinbrüche, wenn dein µC beim Schalten mal kurz 
einen kräftigeren Schluck aus der Versorgung haben möchte.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Klaus schrieb:
> ich verwende 8 rote LEDs, die ich (mit Vorwiderstand) direkt an den µC
> hänge. Falls der Port nur 100mA liefern würde, wäre das ein Problem,
> oder leuchten dann nur die LEDs nicht so hell?

Rechne dir die Vorwiderstände doch so aus, dass die LEDs jeweils nicht 
mehr als 10 mA ziehen. Dann sollte es gar kein Problem mit der 
Stromversorgung per USB geben.

von Tom (Gast)


Lesenswert?

Hallo Klaus,

die Strombelastbarkeit der meisten USB-Schnittstellen ist 500mA. Manche 
verfügen über keine Strombegrenzung und können mehr - bis zur Zerstörung 
der Schnittstelle. Da du nur die Versorgung der Schnittstelle benutzt, 
wird kein Gerät enumeriert und damit dürften 500mA zur Verfügung stehen.

Die L/C-Kombination ist, wie du schon vermutet hast, ein Tiefpass. Die 
5V kommen aus dem PC und sind stark mit HF verseucht, das kann evtl. den 
Verbraucher stören. Wirkungsweise Filter: Kondensator = kleiner 
Widerstand für HF, Spule = großer Widerstand für HF. Für Gleichspannung 
ist es genau umgekehrt.
Den 10nF und die Spule so nah wie möglich an der USB-Buchse, den 100nF 
Kondensator so nah wie möglich am µC. Die Kondensatoren nicht paralell, 
sondern 10nF vor und 100nF nach der Spule.

Und dann noch kurz über den Sinn des Ganzen nachdenken. Für kurze 
Betriebsdauer, oder wenn man grad am PC arbeitet, des Weihnachtsbaumes 
ist es ja OK, aber für längere Zeiten eine energetische Katastrophe. Der 
PC braucht so 200W-400W und das um 8 LED's zu beleuchten? Da wird ein 
kleines Steckernetzteil oder Batterien schnell sinnvoll!

Gruß. Tom

von Michael (Gast)


Lesenswert?

Klaus schrieb:
> Falls der Port nur 100mA liefern würde,

Der ganze Port oder jeder einzelne Pin?
Guck einfach mal ins Datenblatt im Kapitel "Electrical Characteristics" 
unter "Absolute Maximum Ratings", was dort als absoluter Grenzwert für 
"DC Current per I/O Pin" angegeben ist.

von Mike (Gast)


Lesenswert?

Tom schrieb:
> ... aber für längere Zeiten eine energetische Katastrophe. Der PC braucht
> so 200W-400W

Dann guck mal aufs Außenthermometer. Gewöhnlich, zumindest auf der 
nördlichen Halbkugel, fällt Weihnachten in die Jahreszeit mit eher 
niedrigen Außentemperaturen. Der PC verbraucht die Leistung zum Glück 
nicht, sondern wandelt sie in wohlige Wärme um.
Jeder Heizlüfter hat eine 5..10x höhere Stromaufnahme. Und der 
LED-Weihnachtbaum wird kaum 24/7 laufen.

von Franz Gast (Gast)


Lesenswert?

Ich schließe mich dem Markus Weber an. Vorwiderstände so berechnen, dass 
jede LED max. 10mA zieht, dann bist du auf der sicheren Seite. Die 
2-4mA, die der Atmega braucht sind dann auch noch locker drin.

Gedanken über HF brauchst Du dir bei einem LED-Baum, der lediglich seine 
Spannung über den USB-Port bezieht wirklich nicht machen, zumal ja in 
Deinem Falle auch keinerlei serielle Kommunikation über USB erfolgt.

Den 100n Kondensator nahe an die Versorgungspins des Atmega und die 
Sache läuft in 99,99% aller Fälle, zumal du ja nicht einmal einen 
externen Quarz vorgesehen hast und somit lediglich mit dem internen 1MhZ 
Takt arbeitest.

von Klaus (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

danke für die ganzen Antworten. Also wenn ich das richtig verstehe, dann 
bräuchte ich eigentlich nur den 100nF Kondensator direkt am µC, aber der 
andere Kondensator und die Spule wären noch ein nettes Extra und für 
nachfolgende Basteleien hilfreich.
Wäre der Schaltplan dann wie im angehängten Bild okay?

Michael schrieb:
> Der ganze Port oder jeder einzelne Pin?

Ich meinte den USB Hub des Rechners.

Tom schrieb:
> Und dann noch kurz über den Sinn des Ganzen nachdenken.

Da hast du Recht ;-) Es soll aber nur eine kleine Spielerei sein, die 
ich abwechselnd am Laptop oder am Handyladegerät betreibe.

Danke
Klaus

von Tom (Gast)


Lesenswert?

Ja, da habe ich wohl zu kurz gedacht. Ob nun der Heizlüfter oder der PC 
seinen Beitrag zum Raumklima leistet ist unbedeutend ;)

Frohe Ostern oder so..

von Klaus (Gast)


Lesenswert?

Hallo nochmal,

entschuldigt den Doppelpost, habe vergessen die Werte der Bauteile 
anzugeben. Also der Kondensator an der USB-Buchse beträgt 10nF, die 
Spule 1µH und die Vorwiderstände 220Ohm (die IO Ports schaffen wohl 
40mA, was aber zuviel wäre).

Klaus

von Hans J. (step_up_mosfet)


Lesenswert?

Die Datenleitungen der USB-Schnittstelle (D+ und D-) solltest du einfach 
offen lassen wenn kein Gerät angeschlossen ist.

Dein AVR kann insgesamt maximal 200mA treiben, also musst du den 
Stromverbrauch des AVR noch abrechnen (ca. 15-20mA) und hast noch 180mA 
übrig.
Da diese 200mA die Absolute Maximum Ratings sind würde ich nicht bis 
200mA gehen, sondern deutlich darunter bleiben.

Eine Möglichkeit das zu erreichen wären Transistoren (wie oben bereits 
erwähnt), hier musst du nur den Basisstrom liefern wenn es bipolare 
Transistoren sind.
Wenn es unipolare Transistoren sind muss am Gate nur die entsprechende 
Spannung anliegen und es fließt somit quasi kein Strom aus dem 
jeweiligen I/O-Pin. (das Gate muss zwar aufgeladen werden, aber die 
Kapazität liegt immer nur im Bereich von 1nF)

Achtung: Der 100nF Kondensator muss direkt zwischen Vcc und GND des AVR, 
wenn es ein DIP-Gehäuse (mit langen Beinchen zum stecken) ist kann man 
den Kondensator direkt an die Pins des DIP-Gehäuses löten.

Ja das bildet einen Tiefpass 2. Ordnung, du brauchst aber unbedingt 
einen Kondensator hinter und vor der Spule.

Um Fehler beim Aufbau oder während der Nutzung (möglicher Kurzschluss) 
zu vermeiden oder nicht so böse ausfallen zu lassen würde ich immer 
einen Widerstand zwischen +5V der USB-Buchse und +5V des AVR schalten, 
das wäre dann noch mal ein Tiefpass und dämpft die hochfrequenten 
Störungen die vom PC oder dem Schaltnetzteil kommen.

Wenn du 500mA als maximalen Strom annimmst müsste der Widerstand also 10 
Ohm groß sein, dann fällt aber zu viel Spannung an ihm ab wenn du 200mA 
ziehst und der AVR würde ausgehen.

Ich wähle da eher einen 1 Ohm (1/4 oder 1/10 Watt) Widerstand und einen 
dahinter geschalteten Spannungsregler nur für den AVR.
Wenn 500mA über den 1 Ohm Widerstand fließen fallen 500mV ab und somit 
1/4W, das heißt er fungiert als Sicherung.

von Hans J. (step_up_mosfet)


Lesenswert?

Klaus schrieb:
> Hallo nochmal,
>
> entschuldigt den Doppelpost, habe vergessen die Werte der Bauteile
> anzugeben. Also der Kondensator an der USB-Buchse beträgt 10nF, die
> Spule 1µH und die Vorwiderstände 220Ohm (die IO Ports schaffen wohl
> 40mA, was aber zuviel wäre).
>
> Klaus

Ich habe hier rote LEDs die sind bei einer Stromaufnahme von 1mA super 
hell, also es kommt immer darauf an wie viel Licht du brauchst.

Wenn dein Weihnachtsbaum 10 LEDs bekommt kannst du sie aber auch mit 
10mA betreiben wenn es sein muss, das schafft der AVR.

Du wirst bestimmt so ein USB Steckernetzteil verwenden wenn es dauerhaft 
an sein soll ... es braucht also niemand wegen des erhöhten 
Stromverbrauchs rumtrollen.

... ja ich muss im Moment auch elektrisch heizen.

von Franz Gast (Gast)


Lesenswert?

Welche Durchlasspannungen haben Deine LEDs denn? Bei Standard-Rot würde 
ich von etwa 1,6 Volt ausgehen, dann müsstest Du als LED-Vorwiderstände 
390 R Typen verwenden.

Ansonsten: keep cool. Du hast ein relativ einfaches Projekt, keinerlei 
serielle Kommunikation über den USB-Port, und sollte der Atmega 
abstürzen wäre es auch nicht so wild. Gibt halt dann ein echt zufälliges 
LED-Leuchtmuster.

Ein 100n Kondensator reicht völlig aus. Wahrscheinlich würde Deine 
Schaltung auch ganz ohne Blockkondensatoren funktionieren. Der Mega8 mit 
internem Takt ist ein zuverlässiges Arbeitstier. Da muss für einen 
LED-Baum nicht mit Kanonen auf Spatzen geschossen werden, da geht ja 
dann auch der Spaß an der Bastelei verloren.

von Mike (Gast)


Lesenswert?

Franz Gast schrieb:
> ei Standard-Rot würde ich von etwa 1,6 Volt ausgehen
Das war früher mal. Die modernen ultrahellen LEDs liegen auch gerne mal 
bei Vf=2V @10mA.

von Klaus (Gast)


Lesenswert?

Hallo,


Hans Jelt schrieb:
> Eine Möglichkeit das zu erreichen wären Transistoren (wie oben bereits
> erwähnt), hier musst du nur den Basisstrom liefern wenn es bipolare
> Transistoren sind.

Gute Idee :-)

Hans Jelt schrieb:
> Ja das bildet einen Tiefpass 2. Ordnung, du brauchst aber unbedingt
> einen Kondensator hinter und vor der Spule.

Was meinst du mit "unbedingt"? In den vorherigen Posts klang es so, als 
wäre es gerade eben nicht unbedingt notwendig. Aber wenn doch, meinst du 
mit den Kondensatoren vor und hinter der Spule diejenigen, dich ich auch 
schon im Schaltplan habe (der 100nF direkt an den Pins)?

Hans Jelt schrieb:
> Ich wähle da eher einen 1 Ohm (1/4 oder 1/10 Watt) Widerstand und einen
> dahinter geschalteten Spannungsregler nur für den AVR.

Wo genau müsste ich diesen Widerstand positionieren? Und was für ein 
Spannungsregler wäre das? Dieser müsste doch aus schwankenden USB 5V 
stabile 5V machen. Ich hätte gedacht, dass es bei solchen Bauteilen 
immer einen gewissen Spannungsverlust gibt.

Danke
Klaus

von Sebastian W. (wangnick)


Lesenswert?

Hallo Klaus,

laut Datenblatt sollte alles gut gehen:
"Although each I/O port can sink more than the test conditions (20mA at 
Vcc = 5V, 10mA at Vcc = 3V) under steady state conditions 
(non-transient), the following must be observed: PDIP, TQFP, and QFN/MLF 
Package:
1] The sum of all IOL, for all ports, should not exceed 300mA.
2] The sum of all IOL, for ports C0 - C5 should not exceed 100mA.
3] The sum of all IOL, for ports B0 - B7, C6, D0 - D7 and XTAL2, should 
not exceed 200mA.
If IOL exceeds the test condition, VOL may exceed the related 
specification. Pins are not guaranteed to sink current greater
than the listed test condition."

Du kannst also ohne weiteres 20mA aus jedem der Ports D0-D7 ziehen, kein 
Problem.

Allerdings: Wenn du alle LED's von 0 auf 100% voll durchsteuerst fließen 
von einem Moment auf den anderen 8*20mA = 160mA. Da hilft dann die Spule 
EMF auf dem USB-Kabel zu lindern.

LG, Sebastian

von Hans J. (step_up_mosfet)


Lesenswert?

Klaus schrieb:
> Was meinst du mit "unbedingt"?

Du brauchst am Eingang einen und direkt am AVR und ich würde mit den 
100nF Kondensatoren nicht sparen, dies sind billig.

Einen 47µF Elko könntest du auch noch hinzufügen ... ich würde es 
jedenfalls so machen, ist aber für deine Anwendung nicht so wirklich 
kritisch.

Dein AVR muss ja nicht mit 16MHz laufen, da reichen dann auch 3V oder 
weniger aus und er läuft.
Die LEDs bekommen 5V und besitzen einen 220 oder 470 Ohm Vorwiderstand.
Den 1 Ohm Widerstand würde ich direkt vor allen Verbrauchern (LEDs + 
AVR) setzen und so positionieren dass man ihn austauschen kann oder über 
ihn die Spannung messen kann und somit den aktuell fließenden Strom 
bestimmen kann.

Da ein BC817 ja nur 0,6V benötigt um durchzuschalten kannst du den AVR 
ruhig mit 3V betreiben.
Also Basiswiderstand kannst du 5k bis 10k Ohm nehmen.

Als 3V Spannungsquelle baue ich gerne einen Spannungsfolger mit einem 
BC847C, einer weißen oder blauen LED + 1N4148 Diode als Referenzspannung 
+ Widerstand für die LED + kleinem Widerstand vor den Collektor des 
Transistors und 4,7µF Kerkos als Abblockkondensatoren.
Ist nicht komplizierter, nicht so genau, aber schön und billiger als ein 
richtiger Spannungsregler.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Klaus schrieb:
> Da hast du Recht ;-) Es soll aber nur eine kleine Spielerei sein, die
> ich abwechselnd am Laptop oder am Handyladegerät betreibe.

Noch ein Einwurf von mir: Bitte vorher messen, welche Spannung das 
Netzteil hat. Auf manchen No-Name-Netzteilen steht zwar "5 Volt" drauf, 
aber im Leerlauf bringen sie schon mal 6 Volt oder mehr. Den ATmega8 
könnte es bei über 6 Volt zerreißen. Notfalls müsstest du ein oder zwei 
Dioden in Reihe schalten, um die Spannung etwas zu drosseln.

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.