mikrocontroller.net

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


Autor: Sascha Der anfänger (elvis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am Reset muss noch ein Pull-Up hin!

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pin 22 (AGND) auf Masse.

Autor: tt (Gast)
Datum:

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

Sonst sollte es gehen

Autor: Sascha Der anfänger (elvis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Autor: PM (Gast)
Datum:

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

Autor: Slowflyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nummer 5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha Der anfänger (elvis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sascha Der anfänger (elvis)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph Budelmann (Firma: Budelmann Elektronik GmbH) (christophbudelmann) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, wobei alle Symbole gleichen Namens automatisch "im Hintergrund" 
miteinander verbunden werden.

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha Der anfänger (elvis)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht 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-Tutori...

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

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas O. (kosmos)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Sascha Der anfänger (elvis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha Der anfänger (elvis)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
besser?

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha Der anfänger (elvis)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.