Forum: Mikrocontroller und Digitale Elektronik Meine Erste eigene Schaltung (funktioniert die überhaupt?)


von Sascha D. (elvis)


Angehängte Dateien:

Lesenswert?

Hallo

Ich bin neu in diesem Forum, habe mit erfolg das AVR Tutorial 
gemeistert, und würde mir nun gerne eine eigene Schaltung mit meinem 
Programmierten AVR bauen. Nun wüsst ich gerne, ob die Schaltung so wie 
ich sie mir überlet habe überhaupt funktioniert.

Sinn der Schaltung:

Meine K8055 USB Board besitzt 5 Digitale Eingänge. da ich nur einzelne 
Taster anhängen möchte, habe ich mir überlegt diese 5 Eingänge mittels 
eines AVR zu multiplizieren (da währen dann bis zu 31 Taster möglich¿)

Dabei sind JP2 die ausgänge, die mit der USB karte Verbunden werden 
soll. JP1 sind mal 16 Pins für 8 Taster.

Meine Fragen:
Ist die Stromversorgung für meine Schaltung richtig angeschlossen?
Habe ich das mit den 10K widerständen für die Taster richtig verstanden 
(aus den I/O Grundlagen des Tutorials kopiert)? Oder kann man das auch 
einfacher lösen? z.B alle Taster über den gleichen wiederstand?
Muss ich bei den ausgängen ebenfalls ein 1K wiederstand dazwischen 
hängen oder gilt das nur bei benutzung von LED's?

Für korrekturen vor der grossen Lötaktion währe ich sehr dankbar.


mfg

sascha

von Bastler (Gast)


Lesenswert?

Am Reset muss noch ein Pull-Up hin!

von Jack B. (jackbraun)


Lesenswert?

Pin 22 (AGND) auf Masse.

von tt (Gast)


Lesenswert?

Der Reset-Pin muss über nen Wiederstand z.b. 5K an VCC

Sonst sollte es gehen

von Sascha D. (elvis)


Angehängte Dateien:

Lesenswert?

Anbei eine überarbeitete Version: Wer hat nun recht? oder haben alle 
recht? kann ich die Schaltung noch etwas vereinfachen?? wieso muss am 
reset noch ein Pull-Up hin? UND muss AGND wirklich mit der masse 
verbunden werden?

von PM (Gast)


Lesenswert?

Der Kondensator gehört zwischen Vcc und GND (Pin 7 und 8) und nicht an 
den Reset.

von Slowflyer (Gast)


Lesenswert?

"Habe ich das mit den 10K widerständen für die Taster richtig verstanden
(aus den I/O Grundlagen des Tutorials kopiert)? Oder kann man das auch
einfacher lösen?"

Man könnte dien internen Pullup des jeweiligen Portpin aktivieren und 
den Taster dirket gegen Masse schalten. So spart man sich die 
Pulldown-Widerstände.

von Nummer 5 (Gast)


Lesenswert?

Zwischen Pin7 und Pin8 am AVR und Pin 14 und Pin7 am QG2 noch jeweils 
einen 100n Cer.Kondensator einbauen. AGND noch an Masse legen.

von Michael U. (Gast)


Lesenswert?

Hallo,

auch wenn es eine Dauerdiskussion ist: an Reset muß kein PullUp, der 
Mega8 (und die anderen aktuellen AVR haben eine interne Resetschaltung. 
Ein C gegen GND (47...100n) halte ich trotzdem für sinnvoll, weil es 
unerwartete Resets durch Störungen von außen (ISP-Kabel hängt dran, ist 
aber am anderen Ende nicht angeschlossen als Beispiel) wirksam 
unterdrückt.

AVCC und AGND ist die Spannungsversorgung von PortC (beim Mega8), also 
nicht nur des ADC sondern des kompletten Ports. Folglich müssen die auch 
immer angeschlossen sein (AVCC an VCC und AGND an GND). Ob man die 
Dossel in die Leitung zu AVCC baut, ist eine Frage der Nutzung des ADC 
und der möglichen Störungen.

Bei AREF empfiehlt sich generell, einen 100n gegen GND zu schalten, 
falls man den ADC benutzen will.

Ansonsten vermisse ich einen Anschluß für den ISP-Programmer?

Gruß aus Berlin
Michael

von Sascha D. (elvis)


Angehängte Dateien:

Lesenswert?

Vielen Dank. Anbei nochmals eine Version. Wird allerdings immer 
verwirrender! Kann mir jemand All diese Korrekturen (in bezug auf meine 
erste Skizze) zusammenfassen, falls die jetztige Version immer noch 
falsch ist?

mfg

sascha

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Übersichtlicher wird es, wenn du die Signale GND und VCC aus der EAGLE 
Bibliothek supply1.lbr verwendest. Überall, wo du dann zum Beispiel VCC 
ranklickst, werden dann im Layout Verbindungen erstellt.

von Sascha D. (elvis)


Lesenswert?

"Übersichtlicher wird es, wenn du die Signale GND und VCC aus der EAGLE
Bibliothek supply1.lbr verwendest. Überall, wo du dann zum Beispiel VCC
ranklickst, werden dann im Layout Verbindungen erstellt."

hört sich gut an. Allerdings weiss ich nicht genau von was du Redest. Da 
dies meine ersten gehversüche in Eagle sind. (Da muss ich wohl noch eine 
menge lernen)


mfg

sascha

von Christoph B. (christophbudelmann) Benutzerseite


Lesenswert?

Du gehst auf den Button ADD, zum Hinzufügen von Bauteilen. Dort gibt es 
eine Bibliothek supply1 und supply2. Dort sind diese ganzen Symbole 
drin, die du dann wie ein Bauteil im Schaltplan platzieren kannst.

von Simon K. (simon) Benutzerseite


Lesenswert?

Genau, wobei alle Symbole gleichen Namens automatisch "im Hintergrund" 
miteinander verbunden werden.

von Roland P. (pram)


Lesenswert?

Also die 100nF kondensatoren hast jetzt ein wenig falsch eingezeichnet:
Grundsätzlich gehören je alle GND und alle (A)VCC Pins miteinander 
verbunden (auch vom Osc).
Zwischen GND und VCC müssen dann ein paar 100nF Kondensatoren. (also ein 
Anschluss an GND und ein Anschluss an +)
Auf dem Schaltbild sind diese Kondensatoren alle parallel. Auf der 
Platine allerdings müssen sie so nah wie möglich an die Pins (Stichwort 
Abblock-Kondensator, müsstest eigentlich im Tut oder bei Google was dazu 
finden)
Das mit dem Reset passt schon so (ich nehm hier meistens 100nf + 10k)

Die 10k Widerstände kann man machen, muss man aber nicht. Der AVR hat 
eingebaute Pullups, welche genau dafür aktiviert werden können.

Ansonsten, die Übersichtlichkeit, na ja... Entweder die Symbole 
verwenden wie oben bereits geschrieben, oder oben eine + Leitung und 
unten eine GND-Leitung und dann immer mit dieser Leitung verbinden.

Gruß
Roland

von Sascha D. (elvis)


Lesenswert?

cool, vielen dank für die grossartigen tips! ich werde mir heute abend 
nochmals eine ausgiebige eagle lektion geben.

"Ansonsten, die Übersichtlichkeit, na ja... Entweder die Symbole
verwenden wie oben bereits geschrieben, oder oben eine + Leitung und
unten eine GND-Leitung und dann immer mit dieser Leitung verbinden."

eine sehr gute idee! diese leitungen kommen dann von J1 
(stromversorgung)? sehe ich das richtig?

mfg

sascha

von Roland P. (pram)


Lesenswert?

Was willst eigentlich für ein Netzteil anschließen? Der AVR braucht 
stabile 5V.
Ich würde dir unbedingt noch raten, einen Spannungsregler mit drauf zu 
machen:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Stromversorgung

Dann geht er nicht gleich kaputt, wenn mal keine 5V anliegen.

von Tom (Gast)


Lesenswert?

Die Pullups (10K-Widerstände) würde ich noch entsorgen, wurde hier schon 
ein paar Mal erwähnt. Gibt es einen Grund, dass Du die behalten willst?

von Chris (Gast)


Lesenswert?

>>Dann geht er nicht gleich kaputt, wenn mal keine 5V anliegen.
Heißt das, dass er jedesmal beim ausschalten kauputt geht, weil ja dann 
keine 5V sondern 0V anliegen? :-)

Spass bei Seite.
Meinst du damit Spannungen über 5V oder weit unter 5V? Kann da 
eigentlich was passieren wenn zu wenig Spannung anliegt?

Ciao
Chris

von Roland P. (pram)


Lesenswert?

Kaputt gehen tut eigentlich nichts, allerdings kann es bei 
Microcontrollern vorkommen, dass diese bei zu niedriger Spannung oder zu 
langsam ansteigender Spannung "glitchen".
D.h. es wird u.U. ein völlig falscher Befehl ausgeführt. Dieses 
Verfahren wurde früher oft angewandt um Kryptogafiechips (wie sie z.B. 
auf Smartcards vorhanden sind) zu manipulieren. Modernere Prozessoren 
haben aber hierzu einige Sicherheitsvorkehrungen, z.B. Brown Out 
detector, so dass notfalls ein sauberer Reset durchgeführt wird.

Gruß
Roland

von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Ich würde an jeden I/O einen Widerstand von 1 kOhm dranmachen, dann 
kannst du ihn als Ausgang nicht überlasten und wenn du zw. AVR und 
Widerstand noch ne 5,1V Zehnerdiode einfügst, passiert auch nichts wenn 
du ihn als Eingang schaltest und da mal ne höhere Spannung draufkommt.

Außerdem würde ich gleich nen ATM16 nehmen dann haste gleich noch nen 
weiteren Port zu Verfügung.

Ansonsten wäre es ziemlich einfach einige Latches wie z.B. 74HC573N zu 
nehmen.

von Sascha D. (elvis)


Angehängte Dateien:

Lesenswert?

Hallo

Vielen Dank für die Hilfe. Ich habe nochmals einen Versuch gestartet und 
würde gerne an diesem Wochenende meine Erste Platine Äzen. Anbei 
nochmals eine neue Version Meiner Schaltung (mit aktven PullUps vim 
AVR). Ich hoffe, das Funktioniert so.

mfg

sascha

von Roland P. (pram)


Lesenswert?

Du benötigst ZWEI Abblockkondensatoren mit 100nF, da das IC zwei 
Powereingänge hat. Im Schaltbild kannst den parallel zum anderen 
schalten. Beim Aufbau müssen diese aber möglichst nahe ans IC

Gruß
Roland

von Sascha D. (elvis)


Angehängte Dateien:

Lesenswert?

besser?

von Roland P. (pram)


Lesenswert?

Hi Sacha, baus mal auf, so müsste es eigentlich funktionieren.

Wie willst den Prozessor dann programmieren? Pack vielleicht noch nen 
ISP-Anschluss dazu, dann brauchst den Prozessor nicht immer umstecken.
(Einfach nochmal ein Pfostenstecker auf SCK, MISO, MOSI, Reset, GND, +)

Gruß
Roland

von Sascha D. (elvis)


Lesenswert?

Hallo Roland

Vielen dank für deine motivierende Antwort. Den Chip habe ich bereits 
mit dem STK500 Programmiert und so wies ausschaut funktioniert er. Ich 
habe mich heute für den Bau der Platine ausgerüstet und das Layout steht 
auch (dank eagle). Ich werde sicher wieder berichten und fragen :-) denn 
schliesslich ist das nur ein kleiner Teil meinse Projekts. Ich habe mir 
heute ebenfalls einige 7segment Displays zugelegt. Leider habe ich bis 
jetzt keinen MAX7219 gefunden was schade ist, denn die 7segment anzeigen 
sind wichtig für mein Flugsimulator Projekt.

mfg

sascha

von Gast (Gast)


Lesenswert?

Bau dir ruhig trotzdem eine Schnittstelle zur Programmierung in die 
Zielplatine und bau dir zusätzlich einen billigen Programmieradapter. 
Erfahrungsgemäß läuft nicht alles beim ersten mal. Und jedes mal in den 
STK500 ein und ausstecken ... nervig, wenn man nach Stunden feststellt, 
dass man irgendwo ein Semikolon vergessen hat :-)

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.