Forum: Mikrocontroller und Digitale Elektronik ATmega8 auf eigener Platine


von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe folgenden Entwurf in Eagle gemacht ...
Ja ich weiß er sieht ein bisschen billig aus, aber ich bin ja noch 
Anfänger ... ;)
Mich würde interessieren, ob der so ok ist?
Denn ich habe vor einen ATmega8 auf eine eigene Experimentierplatine zu 
plazieren.
Was meint ihr?

Danke im Voraus!

von STK500-Besitzer (Gast)


Lesenswert?

Deine LEDs brauchen noch einen Vorwiderstand.

Was hast du mit der Leitung am PortC.5 vor?

von Udo S. (udo)


Lesenswert?

Hallo Christian,

die Beschaltung des #Reset-Pin's ist falsch.
Besser wäre: von +5V über einen 10K-Widerstand an den #Reset-Pin und von 
da über einen 100nF Kerko nach Masse.

Gruß
Udo

von Martin L. (melvin_the_moose)


Lesenswert?

Die Kondensatoren C3, C4, C5, C7 und die Induktivität L1 ergeben 
möglicherweise einen nicht genügend bedämpften Schwingkreis, so daß die 
Spannung beim Ein-/Ausschalten und Lastschwankungen schwingt.
Der Stromversorgungsteil hätte verwirrender nicht gezeichnet können (ist 
konstruktiv gemeint...).
Die LEDs D1 benötigen Vorwiderstände, da der Strom sonst nur durch den 
Innenwiderstand der Portausgänge und den Bahnwiderstand der LEDs 
begrenzt wird. Besser noch wäre eine Treiberstufe + Vorwiderstand (High 
Side oder Low Side je nach Geschmack/Zweck...), weil dann die 
Porttreiber des AVR nicht den LED-Strom treiben müßten.

von Jadeclaw D. (jadeclaw)


Lesenswert?

@Martin:
Die Beschaltung mit L1 ist so von Atmel vorgeschlagen, allerdings mit 
10µH.
Das mit den LEDs und den Vorwiderständen ist korrekt, die müssen da noch 
rein. Bei 2 LEDs braucht es keine separaten Treiber, wenn der Strom 
unter 20 mA pro LED bleibt.

Und Pin1 (PortC.6/Reset) muß auch anders beschaltet werden, ohne den 
Reset am ISP-Anschluß wird das Programmieren etwas schwierig.

Gruß
Jadeclaw.

von H3ll G. (h3llghost)


Lesenswert?

STK500-Besitzer wrote:
> Deine LEDs brauchen noch einen Vorwiderstand.
>
> Was hast du mit der Leitung am PortC.5 vor?

Danke für den Tipp mit den Vorwiderständen.
Habe ich wohl vergessen ... :D

Das mit der Leitung von Port C5 habe ich aus dem Original ASURO 
Schaltplan.

Udo S. wrote:
> Hallo Christian,
>
> die Beschaltung des #Reset-Pin's ist falsch.
> Besser wäre: von +5V über einen 10K-Widerstand an den #Reset-Pin und von
> da über einen 100nF Kerko nach Masse.
>
> Gruß
> Udo

Danke für den Tipp.
Werde ich heute anpassen ... :)

Jadeclaw Dinosaur wrote:
> @Martin:
> Die Beschaltung mit L1 ist so von Atmel vorgeschlagen, allerdings mit
> 10µH.
> Das mit den LEDs und den Vorwiderständen ist korrekt, die müssen da noch
> rein. Bei 2 LEDs braucht es keine separaten Treiber, wenn der Strom
> unter 20 mA pro LED bleibt.
>
> Und Pin1 (PortC.6/Reset) muß auch anders beschaltet werden, ohne den
> Reset am ISP-Anschluß wird das Programmieren etwas schwierig.
>
> Gruß
> Jadeclaw.

Oh ...
Ein Tippfehler von meiner Seite.
Den Treiber werde ich wohl brauchen, denn ich werde Schraubklemmen auf 
dem Board zur Verfügung und zum Anschluss plazieren und werde dann da 
einen Transistor vorsetzen.
Welchen Transistor würdet ihr mir denn empfehlen?
Habe vor 20 LEDs Parallel zu schalten ...

von Lötlackl (Gast)


Lesenswert?

Christian S. wrote:
> Habe vor 20 LEDs Parallel zu schalten ...

Das würde ich lieber sein lassen. Es sei denn, Du spendierst jeder LED 
einen eigenen Vorwiderstand.

mfg

von H3ll G. (h3llghost)


Lesenswert?

Hallo,

laut meinen Lehrer reicht ein Vorwiderstand, wenn ich 20 LEDs parallel 
schalten möchte.
Denn ich habe ja in einer Parallelschaltung überall dieselbe Spannung 
nur der Strom wird halt verteilt.

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:

> Das mit der Leitung von Port C5 habe ich aus dem Original ASURO
> Schaltplan.

Dort macht das auch Sinn. Der Asuro wird von Batterien oder Akkus
angetrieben. D.h. ein Messen der Batteriespannung mit einer
entsprechenden Warnung wenn die Batterie zur Neige geht ist
sinnvoll.
Deine Schaltung hingegen wird aus dem großen 'Netz' gespeisst.
Solange der Stecker drinn ist, geht da nichts zur Neige.

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Hallo,
>
> laut meinen Lehrer reicht ein Vorwiderstand, wenn ich 20 LEDs parallel
> schalten möchte.

Wechsle den Lehrer :-)

> Denn ich habe ja in einer Parallelschaltung überall dieselbe Spannung
> nur der Strom wird halt verteilt.

Aber deine LED haben nicht alle 100% exakt die gleiche 
Durchlassspannung.
-> eine LED zieht mehr Strom als die anderen.

von Gast (Gast)


Lesenswert?

> ich habe vor einen ATmega8 auf eine eigene Experimentierplatine zu
plazieren.

Soll der Atmel denn irgend etwas tun?

Wenn ja, dann fehlt
- die Programmierschnittstelle,
- die herausgeführten Ports
- wenigstens ein Inverter (Transistor) an Txd und Rxd

von H3ll G. (h3llghost)


Lesenswert?

Gast wrote:
>> ich habe vor einen ATmega8 auf eine eigene Experimentierplatine zu
> plazieren.
>
> Soll der Atmel denn irgend etwas tun?
>
> Wenn ja, dann fehlt
> - die Programmierschnittstelle,
> - die herausgeführten Ports
> - wenigstens ein Inverter (Transistor) an Txd und Rxd

Also als Programmierschnittstelle stelle ich mir eine ISP vor.
Und die restlichen ungenutzten Ports werden auf eine Schraubklemme 
geführt.
Beide Sachen sind im Schaltplan noch nicht eingezeichnet.

von H3ll G. (h3llghost)


Lesenswert?

Karl heinz Buchegger wrote:
> Christian S. wrote:
>> Hallo,
>>
>> laut meinen Lehrer reicht ein Vorwiderstand, wenn ich 20 LEDs parallel
>> schalten möchte.
>
> Wechsle den Lehrer :-)
>
>> Denn ich habe ja in einer Parallelschaltung überall dieselbe Spannung
>> nur der Strom wird halt verteilt.
>
> Aber deine LED haben nicht alle 100% exakt die gleiche
> Durchlassspannung.
> -> eine LED zieht mehr Strom als die anderen.

Ich habe ja vor die LEDs mit Hilfe eines Treibertransistors zu betreiben 
...
Nicht direkt am ATmega8, denn dafür liefert der ATmega8 ja so wenig 
Strom.

von ... (Gast)


Lesenswert?

>laut meinen Lehrer reicht ein Vorwiderstand, wenn ich 20 LEDs parallel
>schalten möchte.
>Denn ich habe ja in einer Parallelschaltung überall dieselbe Spannung
>nur der Strom wird halt verteilt.

Lehrern soll man nicht widersprechen! Bau es so auf und wenn es dann 
irgendwie komisch aussieht, frage deinen Lehrer woran es liegen könnte. 
:)

(vielleicht hat dein Lehrer nur einen "Elektro-Schnellkurs" bei der 
letzten Lehrer-Fortbildung absolvier?)

von willi (Gast)


Lesenswert?

dioden (also auch leuchtdioden) schaltet man aufgrund ihrer 
nichtlinearen, sehr steilen kennlinie nicht parallel!

von Mike (Gast)


Lesenswert?

LEDs parallel zu schalten funktioniert nicht. Wie ein Vorposter schon 
geschrieben hat: sie haben (selbst wenn es der gleiche Typ ist) 
unterschiedliche Durchlassspannungen. Damit bekommst eins zuviel Strom, 
brennt durch und dann geht das mit dem nächsten LED weiter.

Wenn du einen Treibertransistor verwendest, dann könnstest du z.B. immer 
4 LEDs in Reihe mit einem Vorwiderstand an die 12V anschliessen. Damit 
sparst du auch Strom und dein Regler wird weniger belastet.

von H3ll G. (h3llghost)


Lesenswert?

Danke danke!
Aber wie könnte ich denn 20 LEDs am Besten schalten?
Parallel und dann jede mit einem eigenen Vorwiderstand?

EDIT:
Welchen Transistor empfiehlst du denn mir?

von Jadeclaw D. (jadeclaw)


Lesenswert?

Wenn alles mit 5 Volt läuft, ist es einfach: Jede LED bekommt ihren 
eigenen Vorwiderstand.
Berechnung: R = (U - ULED) / I
ULED ist von der Farbe abhängig, Rot = 1.8V, Grün und Gelb = 2.2V, Blau 
und Weiß = 3.2V.
Normale LEDs werden mit 10-20mA betrieben, Leistungsleds entsprechend 
mehr, hier gilt jedoch: Datenblatt lesen.
Gehen wir jetzt von normalen roten LEDs aus, so rechnen wir:
(5V - 1.8V)/0.020 A = 160 Ohm. Nehmen wir den nächsthöheren Wert aus der 
E12-Reihe, das sind dann 180 Ohm.

Welcher Transistor? Ist auch einfach, wir addieren die Ströme, die durch 
die LEDs fließen. 20 LEDs sollen es sein, jede macht, um beim 
vorhergehenden Beispiel zu bleiben, 20 mA, das ergibt 400mA. Da paßt 
schon einiges, es gibt ein paar Standardtypen, die kennt jeder, der 
schon etwas Elektronik-Erfahrung hat. Passend hier wäre der BC337, der 
kann maximal 500mA Dauerlast.
Anschluß: Emitter an 0V(Minus), Basis über 1 kOhm an den 
Controllerausgang, zwischen +5V und Kollektor kommt die LED-Geschichte. 
Gibt man eine 1 auf dem Portpin aus, gehen die LEDs an.

Gruß
Jadeclaw

von Anonymous (Gast)


Lesenswert?


von Mike (Gast)


Lesenswert?

@Jadeclaw Dinosaur:

Es gibt bei dieser Beschaltung "nur" noch folgendes Problem: die 400mA 
müssen durch den Spannungsregler. Das ergibt dann (P=U*I) 2,9W 
Verlustleistung. Das heizt etwas...

Wenn ich mich dann selber zitieren darf:

> Wenn du einen Treibertransistor verwendest, dann könnstest du z.B. immer
> 4 LEDs in Reihe mit einem Vorwiderstand an die 12V anschliessen. Damit
> sparst du auch Strom und dein Regler wird weniger belastet.

So verbaucht die Schaltung nur noch 1/4 des Stroms.

Der Vorwiederstand für 4 rote LEDs (4*1.8V=7.2V):

12V-7.2V=4.8V

R=4.8V/0.02A=240 Ohm

Für gelbe und grüne LEDs lassen die Vorwiderstände genauso ausrechnen. 
Für blau bzw. weiss reicht die Spannung allerdings nicht mehr. Dort 
sollte man 3 Stück in Reihe schalten.

von H3ll G. (h3llghost)


Lesenswert?

Jadeclaw Dinosaur wrote:
> Wenn alles mit 5 Volt läuft, ist es einfach: Jede LED bekommt ihren
> eigenen Vorwiderstand.
> Berechnung: R = (U - ULED) / I
> ULED ist von der Farbe abhängig, Rot = 1.8V, Grün und Gelb = 2.2V, Blau
> und Weiß = 3.2V.
> Normale LEDs werden mit 10-20mA betrieben, Leistungsleds entsprechend
> mehr, hier gilt jedoch: Datenblatt lesen.
> Gehen wir jetzt von normalen roten LEDs aus, so rechnen wir:
> (5V - 1.8V)/0.020 A = 160 Ohm. Nehmen wir den nächsthöheren Wert aus der
> E12-Reihe, das sind dann 180 Ohm.
>
> Welcher Transistor? Ist auch einfach, wir addieren die Ströme, die durch
> die LEDs fließen. 20 LEDs sollen es sein, jede macht, um beim
> vorhergehenden Beispiel zu bleiben, 20 mA, das ergibt 400mA. Da paßt
> schon einiges, es gibt ein paar Standardtypen, die kennt jeder, der
> schon etwas Elektronik-Erfahrung hat. Passend hier wäre der BC337, der
> kann maximal 500mA Dauerlast.
> Anschluß: Emitter an 0V(Minus), Basis über 1 kOhm an den
> Controllerausgang, zwischen +5V und Kollektor kommt die LED-Geschichte.
> Gibt man eine 1 auf dem Portpin aus, gehen die LEDs an.
>
> Gruß
> Jadeclaw

Hallo Jadeclaw,

danke für dein schönes Rechenbeispiel ... :)
Ich habe vor aber als Versorgungsspannung der LEDs 12 V zu nutzen und 
diese mit einem Treiberbaustein (Transisator) zu schalten.
Und dann so wie Mike im Beispiel beschrieben hatte:

>LEDs parallel zu schalten funktioniert nicht. Wie ein Vorposter schon
>geschrieben hat: sie haben (selbst wenn es der gleiche Typ ist)
>unterschiedliche Durchlassspannungen. Damit bekommst eins zuviel Strom,
>brennt durch und dann geht das mit dem nächsten LED weiter.

>Wenn du einen Treibertransistor verwendest, dann könnstest du z.B. immer
>4 LEDs in Reihe mit einem Vorwiderstand an die 12V anschliessen. Damit
>sparst du auch Strom und dein Regler wird weniger belastet.

Oder ist es nicht so gut 4 LEDs in Reihe mit Vorwiderstand von einem 
Treiber schalten zu lassen?

von ölgötz (Gast)


Lesenswert?

>> Oder ist es nicht so gut 4 LEDs in Reihe mit Vorwiderstand von einem
>> Treiber schalten zu lassen?

Nein, das ist völlig OK. Er hat's dir doch vorgerechnet. Du kannst die 
Rechnung für jede andere LED, jede andere Spannung, andere 
Widerstandswerte, andere Anzahlen von LEDs ändern. Wichtig ist, welcher 
Strom dann durch die LEDs fliesst. Wenn er zu gross ist für die LEDs 
kannst du einen grösseren Vorwiderstand nehmen, mehrere LEDs 
hintereinander schalten, die Spannung niedriger machen etc ... Du kannst 
auch 20 LEDs in Serie schalten. Dann brauchst du aber schon mindestens 
20*1.8V = 36V Versorgungsspannung. Und dann noch ein bisschen mehr, was 
an einem Vorwiderstand abfällt. Den Vorwiderstand musst du immer 
verwenden, wegen der "steilen, nichtlinearen Kennlinie" der LEDs, die 
ein Vorredner bereits erwähnte.

von H3ll G. (h3llghost)


Lesenswert?

Ok danke erstmal für eure Hilfe mit den LEDs!
Werde eventuell überlegen ob ich 5 oder 6 in Reihe schalte und diese 
dann mit Hilfe eines Treiberbausteines steuer ...
Nun ist mein Bedarf bei den LEDs geklärt ... :)

Was meint ihr als Experten sollte ich einen externen Quarz benutzen?
Und desweiteren müsste ich ja einen angepassten Bootloader haben, wenn 
ich den Port C5 weglasse, da ich ja einen ASURO ATmega 8 nehmen wollte 
oder?

von Nicht-Experte (Gast)


Lesenswert?

>Was meint ihr als Experten sollte ich einen externen Quarz benutzen?

Willst du das UART verwenden? Oder brauchst du sonstwie eine genaue 
Zeitbasis (z.B. für eine Uhr)? Dann ja. Sonst: Nein.

>Und desweiteren müsste ich ja einen angepassten Bootloader haben, wenn
>ich den Port C5 weglasse, da ich ja einen ASURO ATmega 8 nehmen wollte
>oder?

Öhm, PortC.5 ist beim Asuro, wie oben bereits gesagt wurde, dazu da, um 
die Betriebsspannung zu messen. Da die bei dir aber nicht aus einem Akku 
kommt, kannst du das weglassen.
Um den AVR zu programmieren, solltest du einen ISP-Anschluss vorsehen. 
Siehe dazu: ISP und AVR-Tutorial

von H3ll G. (h3llghost)


Lesenswert?

Nicht-Experte wrote:
>>Was meint ihr als Experten sollte ich einen externen Quarz benutzen?
>
> Willst du das UART verwenden? Oder brauchst du sonstwie eine genaue
> Zeitbasis (z.B. für eine Uhr)? Dann ja. Sonst: Nein.
>
>>Und desweiteren müsste ich ja einen angepassten Bootloader haben, wenn
>>ich den Port C5 weglasse, da ich ja einen ASURO ATmega 8 nehmen wollte
>>oder?
>
> Öhm, PortC.5 ist beim Asuro, wie oben bereits gesagt wurde, dazu da, um
> die Betriebsspannung zu messen. Da die bei dir aber nicht aus einem Akku
> kommt, kannst du das weglassen.
> Um den AVR zu programmieren, solltest du einen ISP-Anschluss vorsehen.
> Siehe dazu: ISP und AVR-Tutorial

Ich habe vor eine Dimmfunktion mit dem ATmega8 auch realisieren zu 
können.
Dafür ist doch eine genaue Zeitbasis notwendig oder?

Also wenn ich das jetzt richtig verstanden habe, brauche ich keinen 
anderen Bootloader sondern kann den vorhanden einfach runterlöschen, da 
ich ja auch noch die ISP-Funktionalität mit den Fusebits aktivieren 
muss.

von Nicht-Experte (Gast)


Lesenswert?

>Ich habe vor eine Dimmfunktion mit dem ATmega8 auch realisieren zu
>können.
>Dafür ist doch eine genaue Zeitbasis notwendig oder?

Nein, denn ob die Leuchte nun nach 10,0000 Sekunden oder nach 10,0001 
Sekunden die volle Helligkeit erreicht hat, ist wohl egal. Höchstens, 
wenn das ganze als Wecker funktionieren soll, denn da bringt der intere 
RC-Oszillator schon mal ne Minute Abweichung pro Tag, und das summiert 
sich dann natürlich auf.

>Also wenn ich das jetzt richtig verstanden habe, brauche ich keinen
>anderen Bootloader sondern kann den vorhanden einfach runterlöschen, da
>ich ja auch noch die ISP-Funktionalität mit den Fusebits aktivieren
>muss.

Bootloader ist auf dem AVR, wenn er denn jungfräulich ist, keiner drauf. 
D.h. du musst, selbst wenn du einen verwenden wolltest, ISP verwenden, 
um erstmal den Bootloader auf den Controller zu spielen.
Bei einem frabrikneuen AVR muss man ebensowenig die ISP-Funktionalität 
erst aktivieren. Die ist von Haus aus aktiviert, und auch die 
Standardmethode, um ihn zu programmieren.

von H3ll G. (h3llghost)


Lesenswert?

Brauch ich eigentlich einen Bootloader?
Wenn ich doch keinen habe fängt der doch am Anfang des Speichers an nach 
einem Programm zu suchen oder?

von Michael U. (amiga)


Lesenswert?

Hallo,

wenn kein Bootloader da ist bzw. die Fuses nicht gesetzt sind, beginnt 
der AVR ab Flashadresse 0, den Inhalt als Programm abzuarbeiten.

Ob das, was er da findet, ein Programm ist, ist ihm egal, dafür bist Du 
als Programmierer zuständig.

Gruß aus Berlin
Michael

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Also kann ich einen ASURO ATmega8 nehmen diesen vollständig löschen und
dann die Fusebits neueinstellen und schon ist kein Bootloader mehr
notwendig?

Habe nun die neue Version von meinen Schaltplan geuppt ... ;)

von crazy horse (Gast)


Lesenswert?

die 100µ hinter dem Regler ist was dick, nimm 1µ oder 2µ2.
Ansonsten: verwende die Ground- und Vcc-Symbole, macht die Sache 
übersichtlicher :-)

von Kai F. (kai-) Benutzerseite


Lesenswert?

die Spule braucht doch kein Mensch...
mach es dir doch nicht schwerer als es ist
und stell sicher, dass einer der 100nF Kondensatoren nah am Controller 
ist, dann passt das.
Ich hab auch schon mehrere ATmega8 verbaut, die nur einen 
Spannungsregler ohne jeglichen Kondensator (bis auf den 100nF am 
Controller) und einem PullUp Widerstand für den Reset Pin hatten.
Klappt auch wunderbar.

Gruß
Kai

von Michael U. (amiga)


Lesenswert?

Hallo,

die LC-Siebung an AVCC ist spätestens dann von Vorteil, wenn man den ADC 
benutzen will und mit dem AVR gleichzeitig recht hohe Lasten oder mit 
hohen Frequenzen an den Portpins schaltet.

Man kann ja erstmal eine Drahtbrücke einlöten.
Elko hinter dem Regler ist verzichtbar, wenn Regler und AVR ihre 100n 
dicht an den Anschlüssen haben und die Zuleitungen zwischen Regler und 
AVR recht kurz sind. Bei langen Zuleitungen kommt bei mir an der 
AVR-Seite ein 10...47µ rein, am Regler nutzt er sowieso nichts.

Der 4,7, an AREF kann ruhig 100n sein.
Vereinfacht den Bauteile-Vorrat. ;)

Der Elko vor dem Regler ist bei mir meist 220-470µ, schon, weil da meist 
mit der Zeit noch so einiges hinten drangehangen wird.

12V wäre mir als Eingangsspannung zu hoch, heizt unnötig den Regler.
9V reichen auch mit Verpolschutzdiode noch, zumal die einfachen 
Netzteile bei geringer Lst meist merklich höhere Spannungen liefern.

Reset bekommt bei mir nur einen 100n, den Rest muß der AVR alleine 
klären.
Das hat mir bisher weder beim Programmieren noch im Betrieb irgendwelche 
Probleme bereitet. Das ist aber hier schon eine eher philosophische 
Diskussion. ;)

Gruß aus Berlin
Michael

von H3ll G. (h3llghost)


Lesenswert?

Danke für die vielen Tipps.
Werde ich schnellst möglich umsetzen.
Wegen der Spule und dem Elko hinter dem Regler, die Sachen wurden mir 
empfohlen bzw. ich habe das so im Netz gelesen, dass das sinnvoll ist.

Zur Spannungsversorgung, ich habe nur 12 V Spannung.
Was ist wenn ich dem Regler einen Kühlkörper spendiere?
Dann müsste es doch gehen oder?

von auch einer (Gast)


Lesenswert?

Die Verlustleistung ist kein Problem, solange die 400mA der LEDs nicht 
durch den Regler müssen. Aber ein kleiner KK schadet nie, wenn man 
vorhat, das Ganze noch zu erweitern

von H3ll G. (h3llghost)


Lesenswert?

Nein nein ...
Die LEDs sollen wie schon beschrieben mit einem Treiberbaustein 
geschaltet werden ... ;)

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

So ...
Nun habe ich den neuen Schaltplan fertig ...
Ich hoffe der ist so ok ...

Nochmal ne Frage zu den Treiberbaustein:
Welchen Transistor sollte ich benutzen?

Wie kann man eigentlich mit EAGLE schnell und einfach aus einem 
Schaltplan einen Bauplan machen?

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

habe nun meinen Bauplan fertig.
Was meint ihr kann man den so nehmen oder muss ich auf die richige 
Reihenfolge von den Bauteilen achten?

von (Gast)


Lesenswert?

Mal eine Frage: Die beiden Kondensatoren C4 und C7 sind ja parallel 
geschaltet. Dadurch addieren sich die Kapazitäten. Aber 100nF + 100 uF 
sind ja 100.1 uF, wenn ich da richtig rechne. Was macht das im Vergleich 
zu einem reinen 100 uF Kondensator für einen Unterschied?

von Michael U. (amiga)


Lesenswert?

Hallo,

kurze Leitungen zu den 100n bei Mega8 Betriebsspannung und beim 7805 
heißt auch kurze Leitungen.

Passend zurecht schieben mußt Du die Teile schon selber, Verbindungen 
mit Ratsnest bei Eagle neu sortieren lassen und schauen, wie man evtl. 
die Bauteile umplaziert.

Gruß aus Berlin
Michael

von Paul Baumann (Gast)


Lesenswert?

Es sieht so aus, als ob Du im falschen Layer geroutet hast. Rot ist, 
wenn
man Eagle nicht umgestellt hat, der Top-Layer, d.h. die Leiterzüge sind 
im Moment "Obendrauf" statt "Untendrunter".

Der blaue Layer ist der Richtige für "Bottom" d.h. "Untendrunter".

Im jetzigen Zustand könntest Du dann die Anschlußklemmen nicht verlöten, 
da Du nicht herankommst.

MfG Paul

von STK500-Besitzer (Gast)


Lesenswert?

>Was macht das im Vergleich zu einem reinen 100 uF Kondensator für einen 
>Unterschied?

Die Geschwindigkeit. Ein Elko stellt seine Ladung nicht so schnell zur 
Verfügung wie ein keramischer Kondensator.
Kurze Impulse blockt der Kerko, längere Belastungen der Elko.

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

So ...
Nun habe ich mal meine dritte Version vom Bauplan fertig ... ;)

Ich hoffe der ist so ok ... :)

von Karl H. (kbuchegg)


Lesenswert?

Schau dir bitte nochmal deine Leitungen an. An manchen Stellen,
besonders an den Anschlussklemmen, fährst du 'mit der Kirche ums Kreuz'.
Ist doch nicht notwendig da im Zickzack zu fahren, wenn du eine
gerade Linie legen kannst.

Was hast du eigentlich mit dem 7805 vor?
So wie er im Moment liegt, geht er über die Platine hinaus.
Aber nicht vollständig, sondern nur ein bischen: 'Zum Sterben
zu viel, zum Leben zu wenig'. Du hast doch Platz! Schieb ihn so,
dass er vollständig auf der Platine liegt. Dann kannst du ihn
festschrauben. Vorteil: Das Bauteil steht nicht in der Gegend rum
und wird (unabsichtlich) an den Beinchen gebogen. Vorteil 2: Die
Platine wirkt wie ein kleiner Kühlkörper.

Aus ziemlich dem gleichen Grund würde ich auch die Widerstände
links nicht stehend einbauen. Jedes Bauteil das auf seinen
Beinchen steht und in die Höhe ragt, läuft Gefahr unabsichtlich
umgeknickt zu werden. Leg es hin, dann kann ihm das nicht so einfach
passieren.

Hast du vor die Platine selbst zu fertigen?
Wenn ja, dann sind die Lötpads für Kondensatoren und Widerstände
ein bischen arg klein. Da bleibt nach dem Bohren 'kein Fleisch'
mehr übrig an dem man löten kann.

Aber begradige erst mal die Leitungen. Und achte darauf, dass du
überall maximal möglichen Abstand zu Nachbarpins hast. Gerade bei
den Klemmen rechts fährst du manchmal einen Pad ohne Not schräg
an und kommst dabei dem Nachbarpad bedenklich nahe. Wenns nicht
anders geht, ist das ok. Wenn es aber keine Notwendigkeit dafür
gibt, ist es ein unnötiges Löt'problem'.

von Karl H. (kbuchegg)


Lesenswert?

Schau dir auch noch mal ein paar Leiterführungen an.
Zb. Vom die Leitung die vom Prozessor Pin 16 zur Klemme führt.
Du fährst mit der Leitung zwischen den Widerstandspins durch,
zwischen den LED Pins durch, zwischen den Pins der Klemme links
durch um in einem grossen Bogen an der Klemme rechts unten zu
landen.
Warum?
Die Leitung kannst du bequem unten rum legen. Eine Leiterbahn auf
etwas mehr Abstand zum Rest legen und schon hast du Platz dafür.

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Hallo,

danke erstmal für deine schnelle Antwort ... :)
Den 7805 wollte ich mit einem Kühlkörper ausstatten und da ich alles in 
ein Gehäuse packe, dachte ich ist es nicht so schlimm die Widerstände 
und den 7805 stehen zu lassen.
Wegen den Zickzackkurs das hat der Autorouter gezeichnet ... :D
Aber ich werde es mal überarbeiten ... ;)

Könnte man die Treiberplatine vom Schaltplan her so lassen?

von Lötlackl (Gast)


Lesenswert?

Hallo,

Christian S. wrote
> Könnte man die Treiberplatine vom Schaltplan her so lassen?
Wenn Du jedem Transistor einen eigenen Basiswiderstand gönnst, Ja.
Ansonsten wird das nicht wie gewünscht funktionieren.

mfg

von Lötlackl (Gast)


Lesenswert?

PS:

laß das Bild ja nicht den Falk sehen...

SCNR

von H3ll G. (h3llghost)


Lesenswert?

Danke habe ich nun gemacht ... ;)
Wie kann ich eigentlich größere Lotspads den Bauteilen geben?

von Lötlackl (Gast)


Lesenswert?

> Wie kann ich eigentlich größere Lotspads den Bauteilen geben?

In Eagle die Bauteilebibliothek editieren.

von H3ll G. (h3llghost)


Lesenswert?

Hmm ...
Gibt es da einen Trick das ganz schnell zu machen?

von Karl H. (kbuchegg)


Lesenswert?

Ich machs so:
* Im Routing Fenster mit Info auf das Bauteil.
  Im Info Fenster steht dann der Name des Packages -> Aufschreiben
  oder merken
* Bibliothek auf
* Das Package suchen
* Mit den relevanten Change Befehlen die Pads größer machen
* Package abspeichern
* Im Routing Fenster gibt es einen Befehl 'alle Bauteile aus
  der Bibliothek neu laden' oder so ähnlich. Den ausführen
* Die Leiterbahnen in der Nähe der jetzt größeren Pads auf
  Verbdindung überprüfen.
* Nächstes Package im Routing Fenster suchen, dessen Pads mir
  dubios vorkommen.
* wieder von vorne

Geht ziemlich schnell, wenn man das mal gemacht hat. Übung
macht den Meister.

Bei der Padgröße orientiere ich mich an den IC-Pads. Ganz so groß
müssen sie für einen Widerstand oder Kondi nicht sein, aber so in
etwa.

Übrigens: Auf die Vias in deiner Platine nicht vergessen. Selbes
Problem nur kannst du die Padgrößen hier direkt ändern.

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Danke für deinen Beitrag ... :)

Hier ist nun die überarbeitete Version ... ;)
Was meinst du?
Kann man das so nehmen? :)

von Karl H. (kbuchegg)


Lesenswert?

Der Pinabstand des 470µF kommt mir etwas klein vor. Aus meiner
Bastelkiste würde da kein einziger hineinpassen :-)

Das hab ich auch schon des öfteren erlebt: Du planst ein Bauteil
rein und dann bekommst du es nicht in den Abmessungen. Besonders
Elkos sind da immer wieder problematisch. Daher bin ich dazu
übergegangen, zuerst die Bauteile zu besorgen, die dann mal
probehalber in einen Papierausdruck des Layouts einzustechen und
nachzusehen, ob alles passen wird. Erst danach wird dann die
Platine geätzt.

Ansonsten: Sieht doch schon mal viel besser aus auch wenn ich
mich für mich selber noch nicht damit zufrieden geben würde.
Das Bahnenbild ist mir noch zu unruhig, sind die Abstände zwischen
den parallelen Bahnen bei allen gleich?
Ich würde auch noch an den 90° Ecken 45°-Fasen reinmachen. Geht
mit Eagle ganz schnell. Werkzeug 'Abrunden' (ich hoffe das heist
so, hab kein Eagle hier) auswählen, anstatt Kreisbogen die Fase
auswählen, eine Fasenlänge eingeben (da muss man etwas experimentieren
was gut aussieht :-) und die Ecken der Reihe nach durchklicken.

Auch würde ich noch ein GND Polygon machen (um Ätzmittel zu sparen).
Einfach ein Polygon rund um die Platine zeichnen. Diesem dann den
Namen "GND" geben und schon füllt Eagle die Platine mit einer
Massefläche auf.

Auch bin ich eitel genug, um in eine Platine mein Kürzel, eine
Versionsnumer und das Datum hineinzuschreiben. Hilft bei der
Identifizierung und vermeidet das falsche Auflegen des Layout-
ausdrucks auf die Platine beim Belichten.

von holzmagnet (Gast)


Lesenswert?

hoi... du solltest wenn mögich die freien Flächen mit Masse füllen.
Damit verringerst du Störungen.

mfg holzmagnet

von Malte (Gast)


Lesenswert?

@  Udo S.

> die Beschaltung des #Reset-Pin's ist falsch.
> Besser wäre: von +5V über einen 10K-Widerstand an den #Reset-Pin und von
> da über einen 100nF Kerko nach Masse.

geht auch ohne

pico

von H3ll G. (h3llghost)


Lesenswert?

Karl heinz Buchegger wrote:
[...]
>
> Auch würde ich noch ein GND Polygon machen (um Ätzmittel zu sparen).
> Einfach ein Polygon rund um die Platine zeichnen. Diesem dann den
> Namen "GND" geben und schon füllt Eagle die Platine mit einer
> Massefläche auf.
>
[...]

Was meinst du damit?
Ich verstehe das nicht ganz ...

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Karl heinz Buchegger wrote:
> [...]
>>
>> Auch würde ich noch ein GND Polygon machen (um Ätzmittel zu sparen).
>> Einfach ein Polygon rund um die Platine zeichnen. Diesem dann den
>> Namen "GND" geben und schon füllt Eagle die Platine mit einer
>> Massefläche auf.
>>
> [...]
>
> Was meinst du damit?


Schau mal hier

http://www.janson-soft.de/lcmeter/lcmeter.htm

Etwas runerscrollen, bis du zum Layout kommst (das Gelbe Dingens).
Vergiss den Rest des Layouts, den find ich grauenvoll, es geht
um die gelbe Fläche, die die Platine auffüllt und als Massefläche
(also als Fläche die Massepotential hat) fungiert.

Und so macht man das
http://www.projektlabor.tu-berlin.de/uploads/media/handout-eagle-board.pdf
Schritt 12. Ich hab bei meiner obigen Kurzversion den Schritt
'Auf Ratsnest drücken' vergessen.

von H3ll G. (h3llghost)


Lesenswert?

Hallo,

ich habe es nun so gemacht wie es im Schritt 12 beschrieben wird klappt 
auch super.
Dann speicher ich ab.
Öffne das Board wieder und die Massefläche ist weg ...
Warum?
Erst wenn ich Ratsnest wieder benutze wird die wieder sichtbar.
Kann mir jemand helfen?

von Horst W. (horst25)


Lesenswert?

Ist normal. Im Eagletutorium steht das ganze glaub ich auch so drin

von H3ll G. (h3llghost)


Lesenswert?

Hmm ... wusste ich nicht ...
Ich habe mich nur an die Anleitung von Karl-Heinz gehalten ...

von Lötlackl (Gast)


Lesenswert?

> Öffne das Board wieder und die Massefläche ist weg ...
einfach "rat" in Konsole hacken & Enter oder entsprechenden Button 
klicken.

mfg

von H3ll G. (h3llghost)


Lesenswert?

Danke das habe ich auch rausgefunden ... ;)
Danke für eure Hilfe bis jetzt!

von H3ll G. (h3llghost)


Lesenswert?

Hallo Leute,

ich habe mal eine Frage:
Der ATMega8 darf als Eingangsspannung maximal 5 V haben.
Ist doch richtig so oder?
Aber was ist die maximal zugelassene Amperezahl?
Habe dazu nichts in dem Datenblatt vom ATMega8 gefunden.

von Alexander D. (zebprophet)


Lesenswert?

Die 100nF von C7 sind doch für die Spannungsversorgung des uC gedacht. 
Die sollten möglichst nah an Pin 7 und 8 ran.

von H3ll G. (h3llghost)


Lesenswert?

Guten Morgen ...

ich meinte jetzt nicht als Stromversorgung des µC sondern wenn ich die 
PINs vom µC nutzen möchte.
Was sind da die Grenzen des Eingangsstrom bzw. der Eingangsspannung?

von H3ll G. (h3llghost)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

ich habe mal ne Frage:
Kann ich das für die Bereitstellung der 5 V für die Eingangspins vom 
ATMega8 nehmen?

von Karl H. (kbuchegg)


Lesenswert?

Ja, kannst du.
C7 ist relativ sinnlos, wenn er beim 7805 sitzt. Ich vermute mal,
dass das im Original der Blockkondensator sein soll, der normalerweise
möglichst dicht beim Verbraucher sitzt.

von H3ll G. (h3llghost)


Lesenswert?

Ist ok ...
Und wie sieht es aus mit dem maximalen Strom der durch den ATmega8 
fließen darf?

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Ist ok ...
> Und wie sieht es aus mit dem maximalen Strom der durch den ATmega8
> fließen darf?

Welchen Strom meinst du jetzt?
Der Strom der dem Mega8 Leben einhaucht?
Da brauchst du dich nicht um den Mega8 sorgen. Der zieht soviel
Strom wie er braucht. Da musst du dich eher darum sorgen, ob
dein Netzteil das auch liefern kann. Aber keine Sorge, wenn
dein Netzteil 100mA liefern kann, dann langt das schon dicke
für den ATMega8. Kommt dann natürlich noch darauf an welche
Verbraucher zusätzlich von diesem Netzteil versorgt werden müssen.

Da du 12V - 1.2V (für die Diode) = 10.8V Eingangsspannung hast,
muss der 7805 wohl oder übel 10.8 - 5 = 5.8V irgenwie vernichten
um auf 5V zu kommen. "Vernichten" heist hier genau das, was es in
der Technik meistens heist: In Wärme umwandeln. Bei einem
angenommenen Stromverbrauch von 100mA muss der 7805 also
0.1A * 5.8V = 0.58Watt in Wärme umsetzen. Ist noch
kein Problem. Der 7805 würde da anfangen warm zu werden mehr aber
nicht. Bei ca. 1 Watt Verlustleistung würde ich mir mal anfangen
Gedanken über eine Kühlung zu machen (wobei eine Kühlung noch nie
geschadet hat).

von H3ll G. (h3llghost)


Lesenswert?

Ne ich meinte jetzt ich habe ja Schalter die ich an dem ATMega8 
anschließe, werden ja mit der Spannung 5 V betrieben, aber wie sieht es 
mit dem maximalen Strom da aus?
Oder muss ich mir dadrüber keine Gedanken machen?

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Ne ich meinte jetzt ich habe ja Schalter die ich an dem ATMega8
> anschließe, werden ja mit der Spannung 5 V betrieben,

Schalter werden normalerweise nach Masse geschaltet.

> aber wie sieht es
> mit dem maximalen Strom da aus?

Den kannst du getrost vergessen.

Interessanter sind Dinge wie LED oder Relais. Also Sachen, die
aktiv Strom verbrauchen.

von H3ll G. (h3llghost)


Lesenswert?

Aber wenn ich gegen Masse schalte, dann brauch ich einen Widerstande 
dazwischen oder?

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Aber wenn ich gegen Masse schalte, dann brauch ich einen Widerstande
> dazwischen oder?

Genau dann brauchst du keinen Widerstand.
Einfach vom Ausgang des Mega auf den Schalter und vom anderen Schalter-
Pin auf Masse. Dazu noch per Programm den entsprechenden Pullup
Widerstand aktiviert und gut ists.
Genau deswegen schaltet man Schalter normalerweise nach Masse:
Weil der AVR interne Pullup Widerstände eingebaut hat und man
so, ausser dem Schalter, keine externen Bauteile benötigt.

von H3ll G. (h3llghost)


Lesenswert?

Also brauch ich keinen externen Widerstand dafür?
Muss ich dann bei der Programmierung noch was beachten?

von Karl H. (kbuchegg)


Lesenswert?

Christian S. wrote:
> Also brauch ich keinen externen Widerstand dafür?
> Muss ich dann bei der Programmierung noch was beachten?

Sag ich doch: Die Pullupwiderstände müssen eingeschaltet
werden.

Siehe hier (ausser dass du den 10k Widerstand am Schalter
nicht brauchst):
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Hardware

von H3ll G. (h3llghost)


Lesenswert?

Also setze ich das DDR auf LOW und den PORT auf HIGH für die Schaltung 
gegen die Masse?

von Karl H. (kbuchegg)


Lesenswert?

In welchem Teil des Tutorials hast du Schwierigkeiten damit
denn Sinn zu verstehen?

Ich frage deshalb, weil man dann eventuell das Tutorial umformulieren
müsste, wenn sich heruasstellt, dass es tatsächlich missverständlich
geschrieben ist.

von H3ll G. (h3llghost)


Lesenswert?

Ich habe mir gerade den Teil mit dem Pull-Up-Widerstand durchgelesen ...
Weil ich ja wie du beschrieben hast den Schalter gegen Masse schalten 
möchte.
Nun suche ich noch die richtigen Registereinstellungen ... ;)

von Thomas W. (thomasw)


Lesenswert?

Die Registereinstellungen stehen doch im gleichen Abschnitt im Tutorial. 
Nebenbei sind die einzelnen Register und ihre Aufgaben sehr schön im 
Datenblatt beschrieben.

von H3ll G. (h3llghost)


Lesenswert?

Ja das habe ich doch auch alles gesehen ... ;)
Ich wollte nur wissen ob ich es jetzt richtig rausgelesen habe ... :)

Zitat von mir:
Also setze ich das DDR auf LOW und den PORT auf HIGH für die Schaltung
gegen die Masse?

von Karl H. (kbuchegg)


Lesenswert?

Ja

von Thomas W. (thomasw)


Lesenswert?

Auszug aus dem Tutorial:
1
DDRD  = 0x00; /* alle Pins von Port D als Eingang */
2
PORTD = 0xff; /* interne Pull-Ups an allen Port-Pins aktivieren */
3
...
4
DDRC  &= ~(1<<DDC7);  /* Pin PC7 als Eingang */
5
PORTC |= (1<<PC7);    /* internen Pull-Up an PC7 aktivieren */

Und nun finde die Unterschiede zu deinem Zitat. Ich persönlich sehe da 
nicht viel Interpretationsspielraum. Bitte sag uns, was du an diesen 
Zeilen nicht verstehst, damit das Tutorial angepasst werden kann.

von H3ll G. (h3llghost)


Lesenswert?

Danke danke ... :)
Werde die Sachen dann gleich mal probieren ... ;)

von H3ll G. (h3llghost)


Lesenswert?

Ich war von der Tabelle ausgegangen die unter dem Abschnitt 
PullUp-Widerstand steht ... ;)

von Karl H. (kbuchegg)


Lesenswert?

Diese ganze Tutorialseite erklärt im Grunde dieselben 3 bis 4
Sachverhalte mehrmals mit unterschiedlichen Worten. Dies deshalb
weil Menschen Informationen unterschiedlich wahrnehmen bzw. auf
unterschiedliche Art lernen. Also wird dieselbe Basis-Aussage auf
x verschiedenen Arten präsentiert, damit für jeden ein Abschnitt
dabei ist, der seiner gewohnten Leseart entspricht.
Der Fall: "Ich überfliege den Artikel nur mal" ist allerdings nicht
dabei.

von H3ll G. (h3llghost)


Lesenswert?

Ich hatte ja nur nach PullUp gesucht wie du erwähnt hattest und den Rest 
einfach nur stark überflogen ... ;)

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.