Hallo, ich habe meinen Mikrokontroller Mega 8 wie auf
http://www.roboternetz.de/wissen/index.php/Atmel_Controller_Mega8
beschrieben angeschlossen.
Ich habe ihn mit dem AVR Set programmiert und auf diesem Original Board
funktioniert auch alles.
Aber auf meinem Steckbrett mit der absoluten Minimalbeschaltung von dem
Link funktioniert es nicht. Muss noch etwas beachtet werden?
Wie finde ich raus, ob er das ist? Manuell habe ich nichts verstellt.
Also ich habe den Reset PIN ohne und mit einem ca 200 ohm großen
Widerstand auf den Plus Pol gelegt, bei beiden Fällen funktioniert es
nicht...
10 kOhm sollten es sein, oder direkt an Vcc angeschlossen wenn du den
mega nicht innerhalb der schaltung programmieren willst. 200 Ohm gehen
natürlich auch, aber dann brauchst du eigentlich gar keinen.
Ähem du kannst ja mal auf dem board, wo es geht den Quarz raus nehmen
und schauen ob es dann noch geht.
Das ist in den Fuses eingestellt, das steht im Datenblatt wie die
Fusebits für die jeweilige Einstellung stehen müssen (irgendwo ganz am
Anfang unter "Clock sources" oder sowas). Welches Programmierprogramm
benutzt du denn?
Ein neuer Mega8 läuft mit internem RC-Oszillator mit 1 MHz.
Ein zum myAVR-Board mitgelieferter Mega8 ist auf externen Quarz 3..8 MHz
eingestellt, damit die UART-Schnittstelle des Boards funktioniert.
Wenn Dein Mega8 also von myAVR.de stammt, dann braucht er neben
Reset-PullUp, keramischen Abblock-Kondensatoren (100nF) für Vcc und AVcc
auch noch einen Quarz von z.B. 3,6864MHz (oder 4MHz, wenn UART nicht so
wichtig ist) und die beiden Kondensatoren um die 22pF am Quarz gegen
GND.
Alternativ kannst Du den Mega8 wieder auf internen Oszi zurückfusen,
damit solltest Du Dich aber erst befassen, wenn Du etwas mehr Ahnung
hast. Denn wenn man dabei unachtsam ist, kann man den ISP-Mode
abschalten, dann hilft nur noch ein STK500 (oder andere HV-taugliche
Programmer) zum Programmieren. Also Vorsicht, Du wärst nicht der erste
und nicht der letzte, der den Mega8 aus Versehen ISP-untauglich fust.
...
Wie stelle ich ihn denn auf den internen Quarz um?
Ist das ein Befehl im Assembler?
Was würde passieren, wenn ich mir einen neuen Mega8 im Internet kaufe
und mit dem Programm Sisy, was ich benutze ein Programm darauf brenne?
Der neue ist ja wie gesagt wurde auf den internen Quarz eingestellt.
Würde durch das Brennen mit der Software dann auch wieder der externe
aktiviert?
Aber am liebsten würde ich das umstellen mit dem Mega8, den ich schon
habe. Ist das eine größere Sache?
Grüße
Jochen
Die gleiche Frage stell ich mir auch mit den Kondensatoren usw, ich
würde gerne ohne irgendwelche externe Bauteile auskommen.
Wenn ich mir einen neuen kaufe, klappt das dann?
Danke für den Link
Und wie ist das bei Neukauf? Ist da dann alles ok oder wird mit dem
neuen Brennen der AvR Software Sisy wieder alles auf den externen
eingestellt?
Versuch macht schlau...
Ein AVR sollte eigentlich einen 100nF Kondensator gegen GND an Vcc dran
haben. Aber wie du siehst geht es auch ohne (in einem Serienprodukt
würde ich den aber mit rein nehmen).
Ein neuer AVR ist (wie oben bereits geschrieben) auf den internen
RC-Oszi eingestellt und läuft ohne Quarz (bei 1 MHz).
> Wie stelle ich ihn denn auf den internen Quarz um?
Es gibt keinen internen Quarz. Es gibt aber einen internen RC-Generator,
der als Taktquelle verwendet werden kann.
> Ist das ein Befehl im Assembler?
Das wäre sehr schön, wenn man das per ASM-Befehl gelöst hätte oder
zumindest durch Zugriff vom AVR-Programm aus. Aber leider hat man das
nicht so anwenderfreundlich realisiert. Stattdessen liegen die Fusebits
(eine Art elektronisch betätigbare Schalter zum Einstellen der
Betriebsart des AVRs) in einem Bereich, der nur von einem externen
Programmer (Software auf PC) erreicht werden kann. Einzelheiten dazu
kannst Du im Datenblatt des Mega8 nachlesen.
> Was würde passieren, wenn ich mir einen neuen Mega8 im Internet kaufe> und mit dem Programm Sisy, was ich benutze ein Programm darauf brenne?
Der neue AVR würde im falschen Takt laufen, worauf die erzeugten Zeiten
und Frequenzen nicht stimmen. Da ich nicht weiß, was das Programm 'Sisy'
macht, kann ich auch nicht wissen, welche Auswirkungen ein falscher Takt
hat. Falls eine Verbindung zum PC über UART dabei ist, so wird diese
aufgrund der falschen Bausrate nicht funktionieren.
> Aber am liebsten würde ich das umstellen mit dem Mega8, den ich schon> habe. Ist das eine größere Sache?
Nein, es ist keine größere Sache, wenn mann es kann. Es ist auch keine
größere Sache, Chinesisch zu sprechen, wenn man es denn kann. Das Wissen
dazu kann man aber nicht kaufen, das muss man sich erarbeiten, sowas
nennt man 'lernen'.
Um die Fuses einzustellen sollte man unbedingt wissen (gelernt haben),
welche Fuse für welchen Zweck wie eingestellt werden muss. Die
Informationen dazu stehen im Datenblatt. Spielt man nur etwas mit den
Fuses herum, so ist die Gefahr sehr groß, dass man Reset zum Portpin
unschaltet, worauf der AVR nicht mehr per ISP programmierbar ist.
> Die gleiche Frage stell ich mir auch mit den Kondensatoren usw, ich> würde gerne ohne irgendwelche externe Bauteile auskommen.
Ohne irgendwelche externen Bauteile wird es nicht gehen.
Abblock-Kondensatoren und Reset-PullUp-Widerstand (um die 10k, 200 Ohm
ist zu niedrig) sollten für einen stabilen Betrieb schon vorhanden sein.
Die Gründe dafür liegen in der Physik. Und da die Gesetze der Physik
nicht im BGB stehen, kann man sie nicht ungestraft missachten.
> Danke für den Link
Hast Du ihn gelesen und verstanden? Wenn nicht (verstanden), dann lies
ihn nochmal, lies auch im Datenblatt quer, wenn Du etwas nicht
verstehst.
> Und wie ist das bei Neukauf?
Dann ist das kekaufte Teil neu. Falls Du den Neukauf eines Mega8 meinst,
dann kommt es noch auf die Herkunft an. Denn kaufst Du ihn bei SiSy.de
als Zubehör für das myAVR-Board, dann besteht die Möglichkeit, dass man
den Mega8 auf externen Quarz gefust hat, damit er auf dem myAVR-Board
mit UART umgehen kann.
> Ist da dann alles ok oder wird mit dem> neuen Brennen der AvR Software Sisy wieder alles auf den externen> eingestellt?
Nein. Das Brennen der Hexdatei ändert die Fuses nicht. Das muss man
seperat erledigen. Welche Fuse-Einstellung man braucht, hängt vom
Einzelfall ab, also von den Ansprüchen der Anwendung.
(Fast) jedes (sinnvolle) Programm, das man für einen AVR schreibt, wird
an eine bestimmte Taktfrequenz angepasst. Wird es mit einem anderen Takt
als vorgesehen ausgeführt, so ist es zu schnell oder zu langsam. Wird
nur ein Taster abgefragt und eine LED zum Leuchten gebracht, dann tut
das nicht weiter weh. Sollen aber Zeiten eingehalten werden, dann wird
es kritisch. Eine (einfach aussehende) serielle Datenübertragung
zwischen PC und AVR funktioniert z.B. nur bei exaktem Einhalten des
Taktes.
...
Na ja, wär auch ziemlich gefährlich, die Taktquelle per Software
auswählbar zu machen.
Ein kleiner Programmfehler, bei dem in nen unbeschriebenen Teil des
Flash gesprungen wird und da dann zufällig genau die Kombination an
Befehlen, die die Taktquelle verändert, und vorbei ists.
> und vorbei ists.
Ja, aber nur bis zum nächsten Reset, denn bei einem solchen (fiktivem)
Modell würde ich davon ausgehen, dass der Controller grundsätzlich mit
internem Takt (und auch sonst ISP-fähig) startet und erst dann durch das
Programm in einen anderen Mode geschaltet werden kann.
Aber wie gesagt, das ist fiktiv, das müssen wir nicht ausdiskutieren.
...
Hallo, ich habe noch eine kleine Unklarheuit. Hannes meinte (weiter
oben):
"Wenn Dein Mega8 also von myAVR.de stammt, dann braucht er neben
Reset-PullUp, keramischen Abblock-Kondensatoren (100nF) für Vcc und AVcc
auch noch einen Quarz von z.B. 3,6864MHz (oder 4MHz, wenn UART nicht so
wichtig ist) und die beiden Kondensatoren um die 22pF am Quarz gegen
GND."
Ich verstehe das so, dass ich (jeweils ) an VCC und AVCC einen 100 NF
Kondensator anschließe und das andere Ende an den PLUS Pol der Batterie
/ des Netzteils.
Jetzt habe ich aber auch den Link
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Quarz_statt_Quarzoszillator
und da ist VCC / AVCC direkt am PlusPol.
Was ist richtig?
2.
Wieso ist da noch beim Reset ein Kondensator ? Marius (weiter oben)
meinte den Reset mit einen 10 kOhm Widerstand auf Plus legen.
Hannes Lux wrote:
> Aber wie gesagt, das ist fiktiv, das müssen wir nicht ausdiskutieren.
Beim AVR ja, aber andere MCs können das.
Z.B. die Silabs C8051F33x starten immer intern mit 24,5MHz und müssen
dann auf die gewünschte Taktquelle umgeschaltet werden.
Peter
@jochen
die kondensator reset kombination macht man normalerweise. Das liegt
daran das man davon ausgehen möchte das der µC sicher Strom hat, bevor
der reset "gelöst" wird. Sonst kann er eigenartig reagieren.
achso, AVCC brauchst du nciht unbedingt. glaube das ist nur für den
internen ADC, hab jetzt leider nicht das datenblatt zur hand, oder keine
lust drin zu suchen :)
Ja die Frage war ob ich(beim normalen Stromanschluss PLUS) da einen
Kondensator brauche (siehe mein Zitat von hannes) oder ob es wie in der
Skizze auf dem Link ohne Kondensator reicht.
Und was ist mit dem Reset? Mit Kondensator auf GND (wie Link) oder mit
Widerstand auf Plus (wie Marius oben meinte)
Hi
Ist das eigentlich so schwer? VCC UND AVCC an +5V (AVCC wird unter
Umständen zur Versorgung des Ports benutzt). Wenn die Verbindung
zwischen beiden Pins kurz ist reicht ein 100nF so nah wie möglich am
Schaltkreis. Ansonsten jeweils ein Kondensator.
Reset: entweder offen lassen(hat internen PullUp) oder 10k nach VCC oder
100n nach GND und 10k nach VCC.
MfG Spess
Hallo,
ich habe jetzt nur die letzten Postings gelesen:
AVCC und AGND sind die Betriebsspannung von kompletten ADC-Port, nicht
nur vom ADC selbst. Die gehören IMMER angeschlossen und mit 100n
abgeblockt.
Genauso sind die 100n zwischen VCC und GND selbstverständlich. Selbst
wenn es mal ganz ohne Kondensatoren spielt, gehören da welche ran,
weshalb ist nun schon so oft diskutiert worden...
Zu Reset: aktuelle AVR haben interne Resetschaltungen, die mit
Sicherheit zuverlässiger spielen als ein RC-Glied.
Ob Widerstand nach VCC oder 100n nach GND oder beides ist mehr eine
philosphische Diskussion. Mit beiden wird sichergestellt, daß Störungen
nicht auf dem recht hochohmigen Reset ungewollt einen Neustart auslösen.
Ich bevorzuge 100n gegen GND bei allen Mega/Tiny-Typen und hatte damit
noch keine Probleme.
Gruß aus Berlin
Michael
Hi,
das gilt aber nur, wenn man einen externen Takt verwendet, oder? In dem
anfangs genannten Link steht drin, dass er mit dem internen ja ganz ohne
irgendwelche externen Bauteile auskommt.
nach was muss ich suchen um herauszufinden warum diese Kondensatoren
wichtig sind ? Ich konnte so eine Diskussion, von der du gesprochen hast
leider nicht finden.
Da sich ja jetzt eine von dem Tutorial abweichende Grundschaltung
ergeben hat, habe ich das nocheinmal aufgezeichnet, wie ich das
verstanden habe. Könntet Ihr Euch das ansehen und korrigieren bzw. ein
ok geben?
Für mich ist wichtig, dass es richtig funktioniert denn ich betreibe ihn
mit einer Uhr da sollte der Timer schon absolut sekundengenau sein.
Anbei mein Vorschlag.
Skizze ist OK, ich persönlich würde noch zwischen Reset und GND einen
100n Kondensator machen, aber wie oben schon beschrieben wurde ist das
wieder etwas philosophisch.
Noch als Tip für Eagle, mit dem du die Skizze offensichtlich gemacht
hast:
Benutze für GND und +5V die entsprechenden Symbole aus die Bibliothek
"Supply", dann wird der Schaltplan wesentlich leserlicher, weil die
Pfade für die Versorgungsspannung nicht stören.
Sind die verschiendenen Kondensatoren dann nicht parallel geschaltet
wenn ich z.B. eine Schaltung mit 2 Ics und einem MC habe und jeweils
Kondensatoren zwischen Plus und Minus anbringe?
Hallo,
stark vereinfacht: bei allen digitalen ICs, weil sie die Umschaltpeaks
von der Versorgungsspannung fernhalten sollen, die andere ICs
beeinflussen könnten.
Bei allen analogen ICs, um Störungen auf der Versorgungsspannung vom IC
fernzuhalten.
Also generell immer 100n ran. :)
PS: ja, man kann das mit den 100n nicht so verallgemeinern, bisher bin
ich aber in den Bereichen so bis 25MHz mit dieser Variante immer gut
gefahren.
Fehlende Kondensatoren können schwer zu findende Beeinflussungen
hinterlassen, unnütze Kondensatoren haben dagegen noch nie erkennbar
geschadet. Bei mir also immer 100n an allen IC-Spannungsanschlüssen
gegen das zugehörige GND möglichst dicht und kurz.
Ich weiß, daß das "Gießkannenprinzip" nicht der Weisheit letzter Schluß
ist, man hat aber als Hobbybastler kaum die Möglichkeit, sowas komplett
zu simulieren oder zu messen und so teuer und so groß sind die Dinger
nun auch nicht...
Gruß aus Berlin
Michael
> Sind die verschiendenen Kondensatoren dann nicht parallel geschaltet
Bei den MHz, um die es bei diesen Kondensatoren geht, sind alle
Leitungen als Induktivitäten zu sehen. Und daher stimmt das Modell der
Parallelschaltung nur bei Gleichspannung und einem
Wechselspannungsanteil mit niedriger Frequenz.
Deshalb ist auch die Leitungsführung so wichtig. Wichtig, dass der Kerko
zwischen Stromzuführung und IC liegt, und nicht in einem Seitenabzweig,
oder gar "hinter" dem IC. Grad das ist aber schwierig zu realisieren,
wenn das IC die unselige Tradition der Stomversorgungsanschlüsse an den
Ecken weiterführt.
Michael U. wrote:
>> Ich weiß, daß das "Gießkannenprinzip" nicht der Weisheit letzter Schluß> ist, man hat aber als Hobbybastler kaum die Möglichkeit, sowas komplett> zu simulieren oder zu messen und so teuer und so groß sind die Dinger> nun auch nicht...
Nach diesen Prenzip wird bei uns Kameras gebaut und die laufen dann auch
5 Jahre in 24/7-Betrieb dann ist die RLV am Ende.
jochen wrote:
> Sind die verschiendenen Kondensatoren dann nicht parallel geschaltet> wenn ich z.B. eine Schaltung mit 2 Ics und einem MC habe und jeweils> Kondensatoren zwischen Plus und Minus anbringe?
Betrachte die Abblock-Kondensatoren mal nicht als Teil der
(Nutz-)Schaltung, sondern als Teil der Platine. Sie haben die Aufgabe,
die extrem schnellen Änderungen der Stromaufnahme (extrem kurzzeitige,
aber hohe Stromaufnahme im Umschaltpunkt eines internen
Transistorpaares) direkt am IC abzufangen und den Rest der Schaltung vor
diesen Stromspitzen zu schützen. Ohne sie würde der induktive Anteil der
Leiterzüge zu undefinierbarem Verhalten der Stromversorgung führen. Der
Abblock-C dient also als eine Art "Energiereserve" direkt am IC. Dabei
ist seine absolute (genaue) Kapazität nicht allzu wichtig, es kommt aber
darauf an, dass er extrem schnell "liefern" kann. Desshalb nimmt man
Keramik-Vielschicht-Kondensatoren. Viele Folienkondensatoren (aber nicht
alle) sind ungeeignet, da ihr induktiver Anteil zu hoch ist. Ein Eklo
ist absolut ungeeignet, er ist um Größenordnungen zu langsam.
Die Abblock-Kondensatoren sind soooooo selbstverständlich, dass sie in
Prinzipschaltungen (besonders in Lehrbüchern) fast immer weggelassen
werden, was das Augenmerk auf die eigentliche Schaltung lenkt. Ein
Schaltbild, in dem die Abblock-Kondensatoren fehlen, ist also
keinesfalls falsch, sondern "nur" übersichtlich (vereinfacht)
gezeichnet. Du musst daher das Tutorial nicht als fehlerhaft bezeichnen.
Selbst in (digital vorliegenden) Schaltbildern, die zur Entwicklung
einer Platine benutzt werden (z.B. in Eagle) legt man diese
Abblock-Kondensatoren oftmals in eine eigene "Ecke", in der auch die
Versorgungsanschlüsse vieler Digitalchips angesiedelt werden. Schau Dir
mal die Bibliotheken mit Digital-ICs (TTL, CMOS) an, da wirst Du
feststellen, dass die Funktionselemente (Gatter, Flipflops, Zähler, ...)
im Schaltplan keine Versorgungsanschlüsse haben. Diese müssen mittels
"Invoke" explizit dazugeholt werden, um sie auf der Zeichnung
darzustellen. Im Layout sind sie aber vorhanden und bereits beschaltet
(Luftlinien). Bei AVRs sind die Versorgungsanschlüsse allerdings im
Hauptsymbol enthalten.
Der Kondensator am Reset hatte seine Berechtigung, als die AVRs noch
kein BOD (siehe Datenblatt) hatten. Er sollte dafür sorgen, dass beim
Anlegen der Betriebsspannung der Reset-Pin nur langsam auf H geht, um
den Controller erst zu starten, wenn die Betriebsspannung stabil ist.
Die Profi-Lösung ist ein externer Reset-Chip, die RC-Lösung war ein
billiger Ersatz, die heutigen AVRs haben diese Schutzvorrichtung gegen
Unterspannung (BOD) mit auf dem Chip. Ein zu kleiner Kondensator am
Reset ist unwirksam, ein zu großer Kondensator behindert ISP, es ist
also ein Kompromiss zu suchen, den Jeder nach seinen eigenen Erfahrungen
woanders findet, was auch von der ISP-Hardware abhängen kann.
Ähnlich ist es mit dem Reset-PullUp-Widerstand. Ich bin bisher mit 3,3k
sehr gut zurecht gekommen, habe aber hier gelesen, dass einige Leute von
ISP-Problemen berichten, wenn der Widerstand unter 10k liegt. Denn auch
dieser Widerstand ist ein Kompromiss, er soll möglichst niederohmig
sein, um Störimpulse, die die Reset-Leitung (als Antenne) einfangen
könnte, kurzzuschließen. Er muss aber so hochohmig sein, dass die
ISP-Schaltung in der Lage ist, den Reset-Pin (schnell genug) sicher nach
GND zu ziehen.
Die Kondensatoren am Quarz sollen das Anschwingen des Quarzes
erleichtern. Die Größenordnung von 20..30pF ist so extrem wenig, dass
bei ungünstiger Platine bereits die die Kapazität der Leiterzüge in
deren Nähe kommt. Daher sollte der Bastler die Leitungen zum Quarz auch
möglichst kurz halten. Der Typ der Kondensatoren am Quarz ist nicht
allzu kritisch, aber in diesem Kapazitätsbereich sind Keramik-Typen gut
erhältlich. Ich nehme dazu meist Keramik-Chipkondensatoren 22pF und
pappe sie zwischen die Leiterzüge zum Quarz und GND.
Auch für Abblock-Kondensatorten (für DIL-AVRs) bevorzuge ich
SMD-Chipkondensatoren. Meist nehme ich 100nF der Größe 0805, oft aber
auch 470nF etwas größerer Bauform, da ich davon mal 'ne halbe Rolle
günstig bekommen habe. Und bei mir bekommt jeder Versorgungsanschluss
einen Abblock-C. Der Mega8 bekommt also 3 Abblock-Cs (VCC-GND, AVCC-GND
und AREF-GND), selbst dann, wenn AVCC und VCC direkt (also ohne
Induktivität) miteinander verbunden sind. Dieser eine Cent macht die
Schaltung nicht wirklich teurer, vermeidet aber unnötigen Stress.
Den Kondensator am Reset benutze ich nicht, aber das ist ja
Ansichtsache.
...
Jetzt weiß ich endlich, wozu das ganze gut ist. Es macht schon mehr Spaß
wenn man die Teile nicht einfach nur verbaut sondern auch deren Aufgabe
kennt!
Ich habe bisher bei Ics keine Kondensatoren angebracht, es ging auch
ohne eigentlich problemlos. Aber dann werde ich das in Zukunft machen,
wobei ein Ende ja etwas länger sein wird als das andere (wie schon
angesporchen liegen ja die Stromanschlüsse bei den Ics ungünstig).
Ich danke für die netten Erklärungen, ihr habt mir viel geholfen!
Meiner Wissens nach sind Folien besser geeignet ls Keramik?!?
Ich hatte mal gelesen, das die Kermaik sich ungünstig auswirken, da sie
schwingungen verursachen können.
Daher habe ich vor kurzen alles komplett von Keramik auf Folie
umgestellt.
Ich habe hier mal mein defektes 1000€ Ladegerät von Ericsson analysiert.
Da wurde nicht ein einziger Kerko verbaut!!! doch beim Quarz, aber das
wars.
Nur Elkos (5 Stück oder so und bestimmt 100 Folienkondis oder so...)
Und von daher bin ichd avon ausgegangen das in solch zuverlässigen
Geräten aus diesem Grund auf Kerkos verzichtet wird...HF Störungen,
Schwingungen etc.
ISt ein 60V 30A Ladegerät
Insbesondere bei A/D Wandler Eingängen sollte man nur Folie nehmen wegen
eben dieser ungünsigen Schwingungsneigungen
Allerdings soll das wohl bei 10 bit nicht so wichtig sein....
Der einzige grund Kerko zu verbauen liegt wohl darin, da die billiger
sind....