Forum: Mikrocontroller und Digitale Elektronik Atmega8 Board


von Pascal S. (pascal900198)


Angehängte Dateien:

Lesenswert?

Moin!

Ich habe hier mal einen Schaltplan für mein eigenes Board für einen 
Atmega8 entworfen, da ich mit dem Atmel Evaluationsboard von Pollin 
nicht mehr zufrieden bin. Das Board soll eigentlich nur dazu dienen, 
Aufbauten schnell & einfach zu testen, um sie dann später auf eigenen 
Platine laufen zu lassen.

Zum Schaltplan:

Stromversorgung - Die Gleich- oder Wechselspannung kann über einen 
Hohlstecker oder einer Anschlussklemme angelegt werden. DOrt stellt sich 
für mich noch die Frage, ob die Kondensatoren C6 und C3 nicht 
zusammengefasst werden können und ob wirklich alle Kondenstoren benötigt 
werden. Es wird ein Pin nach unten zur 40pol. Leiste(nicht im Bild) 
geführt. Sollte dort viellciht noch eine Diode zur Sicherheit 
zwischengeschaltet werden? Macht das Sinn?

Takt - Es kann zwischen einem 16Mhz und einem 8Mhz Quarz per Jumper 
gewählt werden. Per Dip-Schalter kann auch kein Quarz gewählt werden. 
Geht das überhaupt so wie ichs mir gedacht habe? Könnte es Probleme 
geben, weil der Jumper evtl. als Antenne wirken könnte? Könnte es auch 
Probleme mit den Leitungen zur 40pol. Leiste geben?

Reset Taster - Kann per Dip-Schalter deaktiviert werden.

Eingabe, Ausgabe - Die Leds und Taster können jeweils per Dip-Schalter 
einzeln deaktiviert werden.

40pol. Leiste - Alle Pins vom Atmega8 werden dorthin geführt, damit sie 
später auf einer Steckplatine verfügbar sind.
----

Ich habe mir auch überlegt, ein LCD zu integrieren, aber dann wären die 
Pins dafür immer belegt. Das heißt wenn auch nur ein Pin für etwas 
anderes gebraucht wird, funktioniert das LCD schon nicht mehr.

Über weitere Vorschläge und Verbesserungen am Schaltplan (ist mein 
erster) wäre ich sehr erfreut!

Danke schon mal;)

Gruß
Pascal

von Kim S. (Gast)


Lesenswert?

das wichtigste ist, parallel zum µc mind 1-2 Reihen Sockelleisten 
einzulöten.
Meine so aufgebauten Board benutze ich am liebsten.
Dan z.:B noch nen Summer oder LED mit Vorwiderständen..aber alles ohen 
Dip sondern einfach Sockelleisten und die dann einfacht mit Draht 
verbinden bei bedarf, hat sich bei mir super bewährt

von linuxi (Gast)


Lesenswert?

Warum resettaster wegschalten?
Kondensatoren bei der Spannungsversorgung können nicht zusammengefasst 
werden die haben schon ihren sinn!
Ein LCD kannst du schon verbauen und die z.B datenleitungen auch für was 
anderes verwenden da du ja für einen Eingang sowieso immer ein 
enablesignal brauchst!

von Dietrich L. (dietrichl)


Lesenswert?

- C3 kann problemlos entfallen
- C1 und C2 müssen Keramik-Cs sein
- Aref sollte noch einen C haben (100nF)
- die zusätzlichen Leitungen am Quarz können Probleme machen; hier 
sollten die Verbindungen sehr kurz sein. Alternative: nur XTAL1 über 
Jumper an Steckerleiste herausführen für externen Oszillator.

Gruß Dietrich

von Pascal S. (pascal900198)


Lesenswert?

@Kim Schmidt

Okay du hast recht. Das stelle ich mir auch universeller vor. Das heißt 
ich würde dann zB. eine extra Platine mit Leds und Taster haben, auf der 
ebenfalls Steckerleistzen vorhanden sind. Und womit verbindest du die 
dann? Gibt es da extra vorgefertigte Kabel?

@linuxi

Der Reseteingang kann ja optional auch als IO-Pin benutzt werden. Da 
könnte der Taster dann evtl. stören.
Denke ich werde das LCD dann mit der Methode von Kim Schmidt 
anschließen. Das ist viel universeller.


@Dietrich L.

Okay, ich werde den Schaltplan noch abändern und deine Punkte dann mit 
einbauen. Ich lad ihn dann nochmal hoch.
Sonst mach ich das mit den langen Leitungen so wie mit den Quarzen. 
Entweder ist XTAL1/XTAL2 mit einem Quarz verbunden oder eben mit den 
Leitungen zur Steckerleiste.
Würde es denn nur Probleme geben wenn ich auch was an den langen 
Leitungen anschließen würde oder wäre das ganze problemlos, wenn ich die 
Leitungen nicht benutzem, wenn ich einen Quarz verwende?

von Kim S. (Gast)


Lesenswert?

Als kabel nehem ich einfach Litzenkabel, also das isolierte mit jur 
einem Draht von Conrad oder sonstwo..passt super, läßt sich einfach 
abisolieren.
Die zusätzlich verbauten Federklemmen habe ich noch die genutzt weil man 
in die Sockelleisten auch super Kondensatoren unterschiedliche Quarze 
und Widerstände etc stecken kann, daher würde ich beim nächstenmal zwei 
reihen Parallel verbauen um auch genug Massseanschlüss und VCCs zur 
verfügung zu haben..
Dazu habe ich jetzt noch extra reihen für gnd und +5V

von Pascal S. (pascal900198)


Lesenswert?

Hast du evtl. einen Link für das Kabel bei Reichelt?
Habe nur dieses gefunde. Leider stehen da keine genaueren Daten, 
deswegen weiß ich auch nciht, ob es geeignet ist. Auf dem Bild sieht es 
aber so aus, will mich aber nciht darauf verlassen.

http://www.reichelt.de/Steuer-Schaltlitze/KD-28GEW-10/index.html?;ACTION=3;LA=2;ARTICLE=113387;GROUPID=5351;artnr=KD+28GEW-10;SID=10TqqSzH8AAAIAAB2vCUs56588558109d80e3b2040889df7a6dcd

von Kim S. (Gast)


Lesenswert?

ich glaueb das ist das richtige...ich kaufe das meist direkt im 
Geschäft, weilich es da anfassen kann ;-)
Vielelich weiß das hier wer wieviel mm² es sein müssen

von Dietrich L. (dietrichl)


Lesenswert?

Pascal S. schrieb:
> Würde es denn nur Probleme geben wenn ich auch was an den langen
> Leitungen anschließen würde oder wäre das ganze problemlos, wenn ich die
> Leitungen nicht benutzem, wenn ich einen Quarz verwende?

Das habe ich jetzt nicht richtig verstanden :-(

Ich versuch es nochmal zu formulieren:
- einen Quarz über längere Leitungen oder auch mit zusätzlichen längeren 
Leitung (obwohl der Quarz kurz angeschlossen ist) zu betreiben ist nicht 
so gut: Da hat man zusätzliche, unkontrollierbare Kapazitäten, 
Einstreuungen von Außen... Die Oszillatorschaltung (im µC) mit Quarz 
arbeitet ja analog mit relativ kleiner Amplitude, die zu Funktion 
erforderlichen Kapazitäten bewegen sich im pF-Bereich. Aus diesem 
Sinussignal wird im µC mit einem Schmitt-Trigger der interne (digitale) 
Takt erzeugt.
- ein Quarz-Oszillator, der an XTAL1 angeschlossen würde, liefert ja 
schon ein "hartes" digitales Rechtecksignal und ist damit viel robuster. 
Er verträgt also längere Leitungen.

Gruß Dietrich

von Pascal S. (pascal900198)


Angehängte Dateien:

Lesenswert?

@Dietrich L.

Danke für die ausführliche Erklärung :) Hatte einen Denkfehler.
Bei der neuen Lösung wird ein Qurz aber ausreichen oder?

So hab den Schaltplan jetzt noch einmal überarbeitet.

von Pascal S. (pascal900198)


Lesenswert?

Wenn niemand mehr was sieht, dann denke ich, kann ich langsam mit dem 
Platinenlayout anfangen.

von Dietrich L. (dietrichl)


Lesenswert?

Du weißt, dass die "richtigen" ;-) Programmer (z.B. AVRISP mkII) einen 
6-poligen Stecker haben? Wenn Du Platz hast, kannst Du ja beide 
vorsehen.

Gruß Dietrich

von Karl H. (kbuchegg)


Lesenswert?

Was hast du dir für SV1, SV2, SV3 vorgestellt?

Was mir nicht gefällt: SV3 hat weniger Pins als SV1 und SV2

an den entsprechenden Anschlüssen steht weder Vcc noch GND zur 
Verfügung. Daher musst du von einer Erweiterungsplatine immer 2 
Kabelverbindungen machen: Einmal die Datenleitungen und einmal die 
Versorgungsspannung bzw. GND.
Praktischer ist es, wenn du für die SVx 10polige Anschlüsse vorsiehst, 
die alle gleich aufgebaut sind und bei denen jeweils GND + Vcc ebenfalls 
verfügbar sind. Dann steckst du deine Erweiterungsplatinen mit einem 
10-poligen Flachbandkabel an und hast alle notwendigen Verbindungen, 
inkl GND (die du praktisch immer brauchst) und möglicher Versorgung der 
Erweiterung mittels Vcc.

von Pascal S. (pascal900198)


Lesenswert?

@Dietrich L.

Okay, werde nochen einen 6-poligen integrieger. Dann hab ich jetzt wohl 
keinen richtigen :) aber er funktioniert, nur leider wird er vom AVR 
Studio nicht unterstützt, deswegen muss ich immer über ein extra 
Programm flashen. Das ist etwas nervig, aber es geht.

@Karl Heinz Buchegger

Das will ich eben nicht. Wenn ich jetzt ein 8 oder 10 poliges 
Flachbandkabel anschließe, ist ein ganzer Port belget. Wenn ich jetzt 
aber nur mal eine Led oder so brauche, sind die restlichen Pins für 
andere Platinen nicht mehr verfügbar. Habe geplant Klingldraht zum 
Verkabeln zu nehmen. Ist zwar etwas aufwendiger, aber ich habe eben das 
Problem nicht.
Für VCC und GND habe ich dasselbe geplant.
SV3 hat einen Pin weniger, weil der PORTC des Atmega8 nur 7 Pins hat.

von Pascal S. (pascal900198)


Lesenswert?

Nochmal zu der Taktgeschichte. Wäre es da nicht besser, wenn ich den 
Quarz mit Buchsenleisten steckbar mache? Dann könnte ich jeden 
beliebigen verwenden und nicht nur zwei. Oder könnte es da Probleme 
wegen den Buchsenleisten und den Kapazitäten geben?

von spess53 (Gast)


Lesenswert?

Hi

>Nochmal zu der Taktgeschichte. Wäre es da nicht besser, wenn ich den
>Quarz mit Buchsenleisten steckbar mache?

Wieso Buchsenleisten ? Es gibt Quarzfassungen. Und davon reicht eine.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Pascal S. schrieb:

> Das will ich eben nicht. Wenn ich jetzt ein 8 oder 10 poliges
> Flachbandkabel anschließe, ist ein ganzer Port belget.

Dann macht man sich eben eine Erweiterungsplatine, an der die einzelnen 
Pins getrennt an Lötnägeln (oder auch Buchsenleisten, wenn dir das 
lieber ist) zur Verfügung stehen.

Entscheidend ist, dass du sie überall gleich anschliessen kannst. Darauf 
kommts an. Was dann auf der Erweiterungsplatine sitzt, ist nebenrangig. 
Aber wenn deine LCD Platine nicht an jedem Port anschliessbar ist, wenn 
deine Relais Platine nur an einem ganz bestimmten Port geht, dann 
verlierst du Flexibilität.

> Wenn ich jetzt
> aber nur mal eine Led oder so brauche, sind die restlichen Pins für
> andere Platinen nicht mehr verfügbar. Habe geplant Klingldraht zum
> Verkabeln zu nehmen.

Dafür hast du jede Menge Wackelkontakte und Drähte, die immer wieder 
'magisch' aus ihren Steckkontakten rutschen :-)

> Ist zwar etwas aufwendiger, aber ich habe eben das
> Problem nicht.

Das ist auch so kein Problem :-)
Du konstruierst da jetzt nur ein Problem, wo keines ist.

von Kim S. (Gast)


Lesenswert?

jo, so habe ich das auch, wie gersagt einfach ein oder besser 2-3 
buchsenleisten parallel zum prozessor damit hat man gleich ALLES 
abgedeckt

von Pascal S. (pascal900198)


Angehängte Dateien:

Lesenswert?

So, habe jetzt mal das dazugehörige Board gelayoutet. Habe mir dazu ein 
paar Tipps aus dem Netzt geholt. Sieht das so okay aus?
Habe übrigens vor das mit der Direkttoner-Methode zu ätzen.
Habe auch nochmal den Schaltplan angehängt, weil sich da geringfügige 
Änderungen ergeben haben.

von Pascal S. (pascal900198)


Lesenswert?

Kann mir keiner was zum Layout sagen?

von Michael (Gast)


Lesenswert?

- Quarz und 22 pFs sind arg weit vom Prozessor weg.
- es fehlen Befestigungsbohrungen, z.B. für Füßchen
- den Taster könnte man besser zugänglich am Rand positionieren
- der aufrechte 7805 steht arg im Raum
- zwischen AVCC und VCC könnte noch ein kleiner Ferrit zur Entkopplung 
des Analogteils.

von Krapao (Gast)


Lesenswert?

Mir gefällt nicht:

* SV1 bis SV3 mit unterschiedlicher Pinzahl

* fehlende GND/Vcc Pins für die Peripherie an SV1 bis SV3

* keine Buchsenleiste für den LCD Anschluss, obwohl noch massig Platz 
ist.

* keine Buchsenleisten neben den Prozessorpins

* Jumper am Quarz statt Quarzfassung

* keine Bohrlöcher zur Befestigung der Platine

* Anschrauben des Linearreglers an Kühlkürper nicht möglich

* fette 20mA Power-On LED1

* Beschriftungsdruck von SV5 und SV6 unterhalb von Bauteilen. Überhaupt: 
Der Beschriftungsdruck ist suboptimal.

* Todesfalle für Peripherie bei Verwechselung von SV4 mit SV5 oder SV6

* keine Anschlussgruppe für RS232 oder UART ggf. gleich mit mit 
Pegelwandlern

* keine Debug-LED vorhanden

* SV1 bis SV3 (und SV5/SV6) nicht zu Ende gedacht. Die einseitige 
Anordnung ist interessant zum Aufstecken aufs Breadboard, dafür sieht 
mir aber der Abstand zwischen den Leisten "out-of-raster" aus.

Das BB313 gefällt mir da besser: 
http://www.johngineer.com/projects/bb313/

* Wenn die einseitige Anordnung nicht in Richtung Breadboard geht, fehlt 
mir dabei die Stabilität beim Aufstecken von Shields wie beim Arduino. 
Eine Aufsteckplatine hat auf der Gegenseite deines Boards keine 
Halterung. Wenn es überhaupt mit der Höhe von C6 passt.

von Dietrich L. (dietrichl)


Lesenswert?

Ich würde die LP links noch 2...3mm breiter machen, damit GND einen 
geschlossenen Rahmen bildet (hat SV5 dort überhaupt eine ordentliche 
GND-Verbindung)?

Gruß Dietrich

von Pascal S. (pascal900198)


Lesenswert?

Ersteinmal danke für eure Unterstützung.

Michael schrieb:
> Quarz und 22 pFs sind arg weit vom Prozessor weg.

Die würde ich wenn möglich gerne so lassen. Ist dieser Abstand denn sehr 
problematisch?

Michael schrieb:
> - es fehlen Befestigungsbohrungen, z.B. für Füßchen
> - den Taster könnte man besser zugänglich am Rand positionieren

Danke, werde ich ändern.

Michael schrieb:
> - der aufrechte 7805 steht arg im Raum

Was meinst du mit arg im Raum?

Krapao schrieb:
> * SV1 bis SV3 mit unterschiedlicher Pinzahl

Der Atmega8 hat nur 23 I/O Pins und keine 24.

Krapao schrieb:
> * fehlende GND/Vcc Pins für die Peripherie an SV1 bis SV3

Dafür sind SV5 und SV6

Krapao schrieb:
> * keine Buchsenleiste für den LCD Anschluss, obwohl noch massig Platz
> ist.
>
> * keine Buchsenleisten neben den Prozessorpins

SV1 bis SV3 sind doch die Buchsenleisten für die Ports??? Und da kann 
dann auch ein LCD angeschlossen werden.

Krapao schrieb:
> * Jumper am Quarz statt Quarzfassung

Die Jumper sind da, um die Pins, wenn ein Quarz verwendet wird, nicht 
mehr zu den Buchsenleisten zu führen. Mit der Quarzfassung hast du 
natütlich recht. Das hab ich auch vorgesehen. Habe leider noch keine und 
werde erst einmal eine Buchsenleiste dafür verwenden.

Krapao schrieb:
> * Anschrauben des Linearreglers an Kühlkürper nicht möglich

Werde mehr Platz um den 7805 lassen, damit nachträglich noch ein 
Kühlkörper angeschraubt werden kann.

Krapao schrieb:
> * fette 20mA Power-On LED1

Was meinst du damit?

Krapao schrieb:
> * Beschriftungsdruck von SV5 und SV6 unterhalb von Bauteilen. Überhaupt:
> Der Beschriftungsdruck ist suboptimal.

Da ich die Platine selber ätze, wird sie sowieso keine Beschriftung 
bekommen. Nur die Buchsenleisten werden nach dem ätzen noch beschriftet.

Krapao schrieb:
> * keine Anschlussgruppe für RS232 oder UART ggf. gleich mit mit
> Pegelwandlern

Kann dann auch über die Buchenleiste angeschlossen werden. Dafür gibt es 
dann Addon Boards.

Krapao schrieb:
> * keine Debug-LED vorhanden

Atmega8 verfügt über keine Debugfunktion.

Krapao schrieb:
> * SV1 bis SV3 (und SV5/SV6) nicht zu Ende gedacht. Die einseitige
> Anordnung ist interessant zum Aufstecken aufs Breadboard, dafür sieht
> mir aber der Abstand zwischen den Leisten "out-of-raster" aus.

Das sind Buchsenleisten und keine Stifleisten. Da sollen dann die Kabel 
hineingesteckt werden. Verbindung zum Breadboard wird über diese Kabel 
realisiert.

Krapao schrieb:
> * Wenn die einseitige Anordnung nicht in Richtung Breadboard geht, fehlt
> mir dabei die Stabilität beim Aufstecken von Shields wie beim Arduino.
> Eine Aufsteckplatine hat auf der Gegenseite deines Boards keine
> Halterung. Wenn es überhaupt mit der Höhe von C6 passt.

Es wird keine Aufsteckplatinen geben.

Dietrich L. schrieb:
> Ich würde die LP links noch 2...3mm breiter machen, damit GND einen
> geschlossenen Rahmen bildet (hat SV5 dort überhaupt eine ordentliche
> GND-Verbindung)?

Okay, werde ich auch noch machen. Die GND-Verbindung zu SV5 wird dadurch 
ja schon verbessert, weil die Zuleitung dann von beiden Seiten kommt.

Gruß
Pascal

von Pascal S. (pascal900198)


Lesenswert?

...

von Pascal S. (pascal900198)


Lesenswert?

Könntet ihr (Michael, Krapao und Dietrich) mir bitte noch meine Fragen 
bitte beantworten. Dankeschön :)

von Krapao (Gast)


Lesenswert?

>> * fette 20mA Power-On LED1
> Was meinst du damit?

Ich wundere mich, dass du für 20mA ((5V-x)/150R) dimensionierst, statt 
mit einer 1-2mA Low-Current LED zu arbeiten.

Der Rest ist wie geschrieben Geschmackssache. Ich würde mich nicht so 
vom µC gängeln lassen (Der Atmega8 hat nur 23 I/O Pins und keine 24.). 
Drahtverhau habe ich schon hinter mir. Wenn ich an den Zores mit dem 
Umpfriemeln der Drähtchen denke, wenn kurzfristig das µC Board für was 
anderes gebraucht wird...

Bei der Debug-LED verstehst du mich miss. Jeder µC (bzw. das Programm 
darin) kann eine Debug-LED bedienen. Gerade µCs ohne Debuganschluss 
profitieren von einer Debug-LED als einfache Anzeige/Feedback für den 
Entwickler/Entwanzer. Wenn ich sonst nix an Hardware um den µC aufbaue, 
eine Debug-LED ist immer da.

von Pascal S. (pascal900198)


Lesenswert?

Okay, das mit der Debug-Led habe ich wirklich falsch verstanden.
Aber verstehe das trotzdem noch nicht ganz. Wo wird die denn 
angeschlossen, wann leuchtet sie und wie bedient das Programm diese Led? 
Glaube da brauche ich noch ein paar prinzipielle Informationen.

von Krapao (Gast)


Lesenswert?

Du bedienst die Debug-LED. Mit deinem Programm.

Mögliche Anwendungen:

* Debug-LED leuchtet 1s nach RESET. Hauptprogramm schaltet LED aus. Wenn 
die LED unerwartet leuchtet, weisst du dein Programm ist abgestürzt.

* Debug-LED blitzt im Interrupt kurz auf. Du weisst, der Interrupt wurde 
erkannt. Die Debug-LED leuchtet dauernd. Du weisst es kommen mehr IRQs 
als erwartet.

* Debug-LED blinkt mit 1 Hz. Du weisst, du hast die Taktquelle richtig 
eingestellt.

* Debug-LED blitzt kurz auf, wenn du etwas über UART sendest oder 
empfängst. Du weisst, deine UART will schon mal arbeiten.

* Debug-LED toggelt bei einem Tastendruck. Wenn du keinen stabiles 
Toggeln hinbekommst, stimmt vielleicht was mit der Entprellung nicht.

* Debug-LED blinkt dreimal kurz. Du weisst deine Finite-State-Machine 
befindet sich im State NOCHEINMALDANNKNALLTES.

Du kannst mit der Debug-LED 1001 Sachen anstellen.

von Pascal S. (pascal900198)


Lesenswert?

Ah okay das meinst du, stand wohl auf dem Schlauch :) Ja gut, aber die 
kann ich dann ja immer noch optional über die Buchsenleisten 
anschließen. Habe schon ein Addon-Board mit Tastern und Leds geplant. 
Sonst hätte ich wieder fest einen Pin belegt und wenn der für etws 
anderes benötigt wird, kann ich die Debug-Led nicht mehr benutzen.

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.