Hallo zusammen, ich habe mir endlich mal etwas Zeit genommen (und auch Mut) und die Selbstbau-Schaltung aus dem AVR-Tutorial nachgebaut. Nachdem ich die Schaltung fertig hatte, habe ich einen bereits im STK500 programmierten Mega8 reingesetzt. Im STK500 war dieser so programmiert, dass alle LEDs an PortB blinken. Wenn ich diesen Mikrocontroller nun in die Schaltung setze, dann leuchtet meine Test-LED durchgehend und blinkt nicht. Deshalb tippe ich auf einen Fehler in der Schaltung... Mir ist außerdem aufgefallen, dass ich den internen Takt vom Mikrocontroller noch aktiviert habe, also habe ich einfach das Kabel an Pin 9 gezogen, doch auch das hat nicht geholfen... Die Led ist übrigens so angeschlossen, wie ihr es beschrieben habt: http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen Wahrscheinlich müsst ihr jetzt so ziemlich ins blaue Raten, aber vielleicht gibt es ja einige bekannte Standard-Fehler, die die meisten Neulinge machen. Ich hoffe jedenfalls, dass mir jemand geduldig helfen kann. Das wäre toll :-) Schönen Abend noch an alle :-)
Roland Moch schrieb: > ich habe mir endlich mal etwas Zeit genommen (und auch Mut) und die > Selbstbau-Schaltung aus dem AVR-Tutorial nachgebaut. Gut, das es da nur eine Schaltung gibt. -.- Mach mal ein Bild davon und stells hier rein.
Hallo, sorry, das war wohl etwas unpräzise. Eine Kamer habe ich zur Zeit nicht zur Hand (aber vielleicht ab Montag, falls es nicht anders geht). Ich meine diese Schaltung: http://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png http://www.mikrocontroller.net/wikifiles/2/22/Tutorial_grundschaltung_breadboard.jpg http://www.mikrocontroller.net/wikifiles/c/c5/V_Regler.gif Ist eigentlich so wie auf dem Bild mit dem Breadboard, nur dass ich mir die Anschlüsse zum programmieren gespart habe, da ich das Programmieren (erstmal) mit dem STK500 vornehmen wollte...
Wenn der µC neu ist läuft er auf internem Takt 1MHz, da wirst du das Blinken kaum mit den Augen verfolgen können. Wenn er auf externem Takt lief hast du am Pin 9 grad den Oszillator oder Quarz abgehängt, dann läuft er gar nicht. Und check mal ob der Reset Pin auf hi liegt.
Ich habe bei diesem uC noch nie irgendwelche FUSE-Bits gesetzt, deshalb
wird er noch auf dem internen Takt von 1Mhz laufen. Das Blinken ist mit
2 ineinander verschachtelten Schleifen gemacht worden und auf dem STK500
seh ich es auch ganz deutlich blinken.
Da er also noch auf internem Takt läuft, habe ich den Oszillator von Pin
9 abgehangen.
Er sollte also laufen, oder irre ich mich?
> Und check mal ob der Reset Pin auf hi liegt.
Zwischen GND und Pin1 kann ich keine Nennenswerte Spannung messen. Wenn
ich den Taster drücke (der Taster ist so wie auf dem Breadboardbild
angenordnet), dann messe ich zwischen GND und Pin1 eine Spannung von
0.69 V
Hilft das?
Roland Moch schrieb: > Zwischen GND und Pin1 kann ich keine Nennenswerte Spannung messen. Jetzt denken wir nochmal über diese Messung nach. Dann gucken wir uns den Schaltplan nochmal an und denken nochmal nach. Dann messen wir die Versorgunsspannung (5V?), dann denken wir nochmal nach. und dann beschweren wir uns erneut über eine falsche Schaltung... ps: zieh mal den Taster raus, vielleicht ist der um 90° verdreht eingebaut
> Jetzt denken wir nochmal über diese Messung nach. Dann gucken wir uns > den Schaltplan nochmal an und denken nochmal nach. Dann messen wir die > Versorgunsspannung (5V?), dann denken wir nochmal nach. Hmm, hab mir das Breadboardbild nochmal angeschaut. Wenn ich das richtig sehe, soll Pin1 auf High liegen und nur durch einen Druck auf den Taster auf Low gesetzt werden. Sehe ich das richtig? Mir ist außerdem aufgefallen, dass da etwas weiteres mit der Beschaltung nicht stimmt, aber um das zu ändern, bin ich jetzt zu müde... Ich schlage deshalb vor, dass ich mich morgen einfach mal wieder melde...
Roland Moch schrieb: > Hmm, hab mir das Breadboardbild nochmal angeschaut. Wenn ich das richtig > sehe, soll Pin1 auf High liegen und nur durch einen Druck auf den Taster > auf Low gesetzt werden. Sehe ich das richtig? Du siehst. Nimm den ganzen Klimmbim erst mal runter an diesem Pin erst mal runter. Du brauchst nur den 10k Widerstand nach Vcc (also 5V). Und selbst wenn du den weglässt müsste dein µC immer noch laufen. Im einfachsten Fall schliesst du nur die Versorungsspannung an und Masse. Wenn der µC tatsächlich auf internem Takt läuft, dann läuft er damit bereits. Versorgungsspannungen anschliessen und du müsstes mit dem Voltmeter deinen µC schon auf den Pins 'blinken' sehen. Und dann baust du den Rest der Schaltung wieder dazu.
Wie man sieht ist eine gute Fehlerbeschreibung Gold wert ;-) Roland Moch schrieb: > Nachdem ich die Schaltung fertig hatte, habe ich einen bereits im STK500 > programmierten Mega8 reingesetzt. Im STK500 war dieser so programmiert, > dass alle LEDs an PortB blinken. > Wenn ich diesen Mikrocontroller nun in die Schaltung setze, dann > leuchtet meine Test-LED durchgehend und blinkt nicht. Das besagt noch nicht viel, denn man weiß nicht,ob der µC mit internem oder Externen Takt läuft. Roland Moch schrieb: > Ich habe bei diesem uC noch nie irgendwelche FUSE-Bits gesetzt, deshalb > wird er noch auf dem internen Takt von 1Mhz laufen. Das Blinken ist mit > 2 ineinander verschachtelten Schleifen gemacht worden und auf dem STK500 > seh ich es auch ganz deutlich blinken. Jetzt haben wir eine klare Aussage. Roland Moch schrieb: >> Und check mal ob der Reset Pin auf hi liegt. > > Zwischen GND und Pin1 kann ich keine Nennenswerte Spannung messen. Das ist KEINE Aussage! Roland Moch schrieb: > Wenn > ich den Taster drücke (der Taster ist so wie auf dem Breadboardbild > angenordnet), dann messe ich zwischen GND und Pin1 eine Spannung von > 0.69 V DAS ist eine Aussage ;-) So, nun sei bitte nicht böse über meine "Manöverkritik". Es soll dir und andern einfach helfen, Fehler besser zu beschreiben. Du hast ja auch, sehr positiv, auf die exakte Schaltung (Link) hingewiesen. Da haben wir hier leider schon andere Sachen zur Kenntnis nehmen müssen wie: "Ich hab da ne Schaltung (kein Bild dabei) und die geht nicht". Eine Stunde später im gleichen thread:" Kann mir denn keiner helfen?" Dann winkt man nur müde ab. Da der Fehler nun eingegrenzt scheint, wünsche ich dir viel Spass mit µCs.
Im STK500 sind die LEDs anders geschaltet als in der Schaltung im Tutorial. Sprich, sind sie im STK500 an, sind sie bei der Tutorialschaltung aus.
Bastian F. schrieb: > Im STK500 sind die LEDs anders geschaltet als in der Schaltung im > Tutorial. Die LEDs beim STK500 werden über Transistoren geschaltet, im Tutorial nicht. > Sprich, sind sie im STK500 an, sind sie bei der Tutorialschaltung aus. Die Logik der Ansteuerung ist aber gleich: Die LEDs sind active low d.h. LOW Pegel am dazugehörigen µC Steuerpin schaltet die LED an. In der Grundschaltung des AVR Tutorials (http://www.mikrocontroller.net/wikifiles/f/f6/Mega8_Tutorial.png) ist keine LED verbaut. In dem Breadboardaufbau (http://www.mikrocontroller.net/wikifiles/2/22/Tutorial_grundschaltung_breadboard.jpg) ist eine LED verbaut, man (ich) sieht aber nicht genau wie und im Begleittext ist es auch nicht erklärt. Es sieht beim Breadboard fast aus wie eine active high Schaltung: PB0 (Pin 14) o------->|-----###------o GND also anders als bei AVR-Tutorial: IO-Grundlagen mit der active low Schaltweise: PB0 (Pin 14) o-------|<-----###------o Vcc
Ich bin vom Bild ausgegangen und da ist die Schaltung, wie du ja schon geschrieben hast, active high - im Gegensatz zum STK500. Aber da man nicht weiß, wie der TE nun schlußendlich geschaltet hat... Er hat ja beide Bilder gepostet und die sind nunmal unterschiedlich.
Hallo zusammen, erstmal vielen Dank für eure Antworten :-) Eines Vorweg: ES KLAPPT JETZT :-) > Nimm den ganzen Klimmbim erst mal runter an diesem Pin erst mal runter. > Du brauchst nur den 10k Widerstand nach Vcc (also 5V). > Und selbst wenn du den weglässt müsste dein µC immer noch laufen. Der Taster ist jetzt erstmal weg und noch klappt alles :-) >>> Und check mal ob der Reset Pin auf hi liegt. >> >> Zwischen GND und Pin1 kann ich keine Nennenswerte Spannung messen. > > Das ist KEINE Aussage! Mit keine "nennenswerte Spannung" meinte ich eine Spannung die bei bei wenigen minivolt lag, also quasi 0. > So, nun sei bitte nicht böse über meine "Manöverkritik". Es soll dir und > andern einfach helfen, Fehler besser zu beschreiben. > Du hast ja auch, sehr positiv, auf die exakte Schaltung (Link) > hingewiesen. Kein Ding, ich hatte ja schon quasi damit gerechnet, dass ich mein Problem in etwa so beschreiben würde: > "Ich hab da ne Schaltung (kein Bild dabei) und die geht nicht". Eine > Stunde später im gleichen thread:" Kann mir denn keiner helfen?" (Obgleich ich versuchte ihn genau zu schildern...) So, wo lag mein Fehler? Ich hatte alles erstmal nur mit Sockel des Microcontrollers auf dem Breadboard aufgebaut. Leider hat mir mein Hirn dabei einen Streich gespielt und ich hab mich beim Drehen des uC's im Kopf vertan, sodass quasi jeder Pin falsch belegt war... autsch Dies habe ich jetzt korrigiert und dann kam die Ernüchterung: Nun leuchtete die LED nichtmals mehr. Auf Grund eurer Diskussion zwischen ActiveHigh und ActiveLow hab ich dann einfach mal das Messgerät an die LED gehalten und siehe da: Die Spannung war da und oszillierte sogar :-) Also die Diode einfach umgedreht und nun geht es ganz wunderbar :-) Der Vollständigheit halber sei erwähnt, dass mein Microcontroller derzeit immer noch mit internem Takt läuft. Das Umstellen würde ich wahrscheinlich sogar hinkriegen, jedoch gibt AVRStudio mir da sehr viele Auswahlmöglichkeiten, nämlich: External Clock: Start-up time: 6CK + 0ms (+4ms / +64ms) Internal RC Oscillator: 1MHz; Start-up time: 6CK + 0ms (1-8MHz, +4ms, +64ms) External RC Oscillator ... - 0.9 MHz; Start-up time: 18CK + 0ms (+4ms, +64ms, 6CK) External RC Oscillator 0.9 - 3MHz (sonst so wie der hier drüber) External RC Oscillator 3.0 - 8MHz (sonst so wie der hier drüber) External RC Oscillator 8.0 - 12.0MHz (sonst so wie der hier drüber) External Low-Freq Crystal; Start-up time: 1KCK + 4ms (+64ms; 32KCK + 64ms) External Crystal/Resonator Low Freq,; Start-up time: 258CK + 4ms (+64ms; 1KCK +0/4/64ms; 16KCK + 0/4/64ms) External Crystal/Resonator Medium Freq,; Start-up time: 258CK + 4ms (+64ms; 1KCK +0/4/64ms; 16KCK + 0/4/64ms) External Crystal/Resonator High Freq,; Start-up time: 258CK + 4ms (+64ms; 1KCK +0/4/64ms; 16KCK + 0/4/64ms) So, ich tippe mal, dass ich einen External Crystal/Resonator einstellen sollte, doch welche Frequenz? Low, Middle oder High? Und welche Start-Up Time? Noch eine Frage: Wenn ich den Takt auf den internen ändere, kann ich dann den uC noch am STK500 programmieren? Kann ich das STK500 ebenfalls auf einen externen Takt einstellen? Nochmal vielen Dank an alle helfenden Hände :-) Ciao, Eroli
Na also, geht doch ;-) Einen Quarz kannst du auch in das STK500 einstecken und den µC auf externen Takt umstellen.(Jumper beachten) Mach dich aber erst mal schlau über die externen Taktmöglichkeiten des µC. Es gibt dann Oszillator und Resonator /Quarz. Welche fuses zu setzen sind ist im Datenblatt genau beschrieben (System Clock). Es kommt also auch darauf an, welchen Taktfrequenz du verwenden willst. Ein sehr häufiger Fehler ist auch eine zu hohe Programmierfrequenz (ISP-Clock). Diese Freq. muss kleiner sein, als 1/4 der Clockfreqenz. D.h. wenn der µC jetzt mit 1MHz taktet muss deine ISP-Freq. kleiner sein als 250kHz.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.