PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMega8-16PU AVR-Einstieg



Jul-ian
05.03.2006, 19:58
Hallo zusammen,
Ich arbeite gerade das Tutorial zum AVR-Einstieg durch (https://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht).
Die Kommunkation lief prima und auch das Programm mit der blinkenden LED funktionierte einwandfrei.
Dann kam die Sache mit dem 16MHz-Quarz, seitdem ich in dem Programm die Fusebits-Einstellungen gemacht habe, schlägt die Kommunikation mit dem Controller fehl ('Could not identify chip with: FFFFFF').
Kann ich den Controller irgendwie zurücksetzten oder soetwas in der Art?
Eigentlich weiß ich nicht mal, ob der überhaupt die Fusebitsänderung gefressen hat. ...
Mein Controller ist ein ATMega8-16PU!

Kann mir jemand weiterhelfen?
Gruß
Julian

super_castle
05.03.2006, 20:08
wenn du nicht weisst was du für fusebits verstellt hast, schmeiss ihn weg...

Jul-ian
05.03.2006, 20:15
Nachdem ich den anderen aktuellen Thread zu dem Thema gelesen habe, könnte es eventuell sein, dass ich ihn auf einen externen Quarz eingestellt hab. :/
Welche Taktung müsste denn der Quarzoszillator haben? 1MHz oder 16Mhz?

Rofo88
05.03.2006, 21:32
Hallo,

wenn Du ihn auf nen externen Quarz gestellt hast sollte esx egal sein ob 1MHZ oder 16MHZ häng einfach mal einen ran und dann schau mal obs geht


Mega8-16PU für was das U kenne nur I und C


MfG

-=[Cassiopeia]=-
05.03.2006, 23:45
http://www.csd-electronics.de/de/groups/g_105/items145.htm

das ist der atmega 16 pu

gruß und prodt

Jul-ian
06.03.2006, 00:23
Ähm, also wofür das U steht weiß ich auch nicht.

Die Bezeichnung im Datenblatt und bei dem Shop wo ich den Controller gekauft habe lautet allerdings: PDIP

Ratber
06.03.2006, 04:46
Das "U" steht für Bleifrei nach "RoHS"

Jul-ian
06.03.2006, 12:59
Was müsste ich den tun, damit ich wieder auf den Controller zugreifen kann?

Habe meinen Controller wie auf folgendem Schaltplan angeschlossen:
https://www.roboternetz.de/wissen/images/thumb/3/30/Avrtutorial_grundschaltung_mitquarz.gif/800px-Avrtutorial_grundschaltung_mitquarz.gif

Auch der 16MHz Quarz ist dran.

Ähm, macht es einen Unterschied wenn jetzt da steht:
"Could not identify chip with ID: 000000"
Gestern stand da:
"Could not identify chip with: FFFFFF"

Edit:
Jetzt habe ich sogar:
"Could not identify chip with: 000102"
und meine Test-LED blinkt sich einen Ast.

ogni42
06.03.2006, 13:32
Spannung(en) OK?
Wie sind die Fusebits eingestellt?

Evtl. mal externen Oszillator (der den Takt selbst erzeugt) anschliessen. Geht es dann?

Jul-ian
06.03.2006, 13:40
Spannungen sind definitv ok.
Das Fusebit "A987" habe ich wie im Tutorial umgestellt...

Einen externen Oszillator habe ich leider gerade nicht zu Hand. :/ Mit einem normalen Quarz geht das nicht!?

ogni42
06.03.2006, 15:14
Mit nem normalen Quarz musst Du erst einen Oszillator aufbauen (z.B. mit einem einfachen Inverter-Gatter). Oder Du bastelst Dir irgend einen anderen Oszillator der im Bereich >200kHz schwingt.

Wichtig ist, dass die Schaltung auch ohne den AVR einen Takt erzeugt. Quarz alleine reicht nicht.

Jul-ian
06.03.2006, 15:35
Dann muss ich mir wohl oder übel einen kaufen.
Zu Conrad könnte ich mal eben hinfahren, aber dort kosten ein Quarzoszillator unglaubliche 4,12 Euro!!!
Bei Reichelt würde ich so einen für 1,90 Euro bekommen, allerdings müsste ich bestellen. ...und wenn man bedenkt, dass der Controller 2,49 Euro gekostet hat. Naja ein Quarzoszillator scheint sich auf jedenfall zu rentieren, ...falls der Controller mal wieder abschmiert bzw. ich irgendeinen scheiss gebaut hab *g*

ogni42
06.03.2006, 15:51
Aus genau dem Grund (ich bin blöd und sperre mich beim uC aus) habe ich mir auch zwei Quarzoszillatoren bestellt.

Bedenke: Nimm zwei, weil wer sich aussperrt bricht vielleicht auch den Ersatzschlüssel ab.

Und wenn Du schon bestelllst, leg noch einen Mega168 drauf (oder nen zweiten Mega8) und Du hast die Versandkosten im Vergleich zum "zu Fuss zum C* rennen und höhere Preise bezahlen) wieder raus.

Ratber
06.03.2006, 16:06
Je,genau deswegen empfehle ich jedem Anfänger sich wenigsatens nen 1 Mhz Oszillator mitzubestellen um im Falle das Falles reagieren zu können.

Aber unverständlicherweise werden in einem Rutsch einge Controller,Steckbretter,Spannungasregler,Quarze in allen Farben,LCD,LED'S,Taster und Hühnerfutter bestellt aber beim Generator und den anscheinend giftigen 100nF Blockern streiken se alle. :D

Jul-ian
06.03.2006, 16:11
Leider konnte ich nicht ahnen, dass man sich auch aussperren kann. Aber wie heißt es so schön: "Aus Fehlern lernt man" (irgendwie hasse ich den Spruch)
Kennt Ihr noch andere Elektronik-Shops?
Vielleicht gibts ja noch günstigere Angebote...

Ratber
06.03.2006, 16:23
Ja,stimmt,ahnen kann man das nicht aber genaugenommen hätte man das nachlesen können.
Hier schlagen die Leute regelmäßig mit dem Problem auf das sie an den Fuse- und Lockbits rumhantieren und sich vorher nicht Eingelesen haben.

Deswegen gleich die nächsten Tips:

"Finger wech von den Lock-/Fusebits wenn man nicht absolut sicher ist was man tut"

Controller Mantra :"RTFD....RTFD....RTFD....RTFD....RTFD...." (Read the F***ing Datasheet)
Is kein Witz,im Datenblatt steht eigentlich alles drinne.



So,zu deinem Shop:

CSD-Elektronik (http://www.csd-electronics.de) hat günstige Preise,einen schnellen Versand und preiswerte Versandkosten.


Edit: Falschen Begriff geändert.

Jul-ian
06.03.2006, 18:55
Zwei Fragen hab ich dann noch für den Fall, dass mein Controller wieder funktioniert.
Was bedeuten diese 3 Angaben bzw. woher bekomme ich die passenden Parameter für meinen Controller?
Im Datenblatt finde ich dazu leider nichts.

$framesize = xx
$swstack = xx
$hwstack = xx

Dann habe ich noch eine Frage zu dem Quarzoszillator:
Aus dem Reichelt-Katalog weiß ich, dass ein Quarzoszillator 3 (4) Anschlüsse hat. VCC, GNC und der Ausgang.
An welchen PIN vom Controller muss ich den Ausgang denn anschliessen?
Im Blockschaltbild gehen die Pins XTAL1 und XTAL2 auf den internen Oszillator...

Ratber
06.03.2006, 19:38
Zwei Fragen hab ich dann noch für den Fall, dass mein Controller wieder funktioniert.
Was bedeuten diese 3 Angaben bzw. woher bekomme ich die passenden Parameter für meinen Controller?
Im Datenblatt finde ich dazu leider nichts.

$framesize = xx
$swstack = xx
$hwstack = xx

Nun das hast du ja auch aus Bascom also sollte man logischerweise die Hilfe zu Bascom zu rate ziehen.

Kurzform:
Mit diesen Angaben verteilst bzw, Reservierst du Speicher für die Anwendung (zb. Empfangspuffer)



Dann habe ich noch eine Frage zu dem Quarzoszillator:
Aus dem Reichelt-Katalog weiß ich, dass ein Quarzoszillator 3 (4) Anschlüsse hat. VCC, GNC und der Ausgang.


Nun die Anschlüsse sind im zugehöhrigen Datenblatt (RTFD) und meist gleich.(Gibt einige andere Belegungen).

Wenn der Anbieter keines Bereitstellt dann such mal einwenige mit Google da findeste immer was.



An welchen PIN vom Controller muss ich den Ausgang denn anschliessen?
Im Blockschaltbild gehen die Pins XTAL1 und XTAL2 auf den internen Oszillator...

Auch hier wieder das gleiche
RTFD

Im Datenblatt zu jedem AVR steht wo der Takt eingespeist wird.

Jul-ian
11.03.2006, 15:53
Also mein Controller läuft wieder, konnte mit einem 4MHz Quarzoszillator wieder auf den Controller zugreifen und habe das Fusebit wieder korrigiert.

Nun habe ich mit dem Tutorial weitergemacht, allerdings stehe ich vor meinem nächsten Problem.
Im letzten Schritt wurde die RS232-Schnittstelle erläutert. Ich habe auch soweit alles aufgebaut, aber wo wird angezeigt was mit dem Befehl Print geschrieben wird?

Ratber
11.03.2006, 15:58
Also mein Controller läuft wieder, konnte mit einem 4MHz Quarzoszillator wieder auf den Controller zugreifen und habe das Fusebit wieder korrigiert.

Nun habe ich mit dem Tutorial weitergemacht, allerdings stehe ich vor meinem nächsten Problem.
Im letzten Schritt wurde die RS232-Schnittstelle erläutert. Ich habe auch soweit alles aufgebaut, aber wo wird angezeigt was mit dem Befehl Print geschrieben wird?


Ja,beim Empfänger wenn er zeichen darstellen kann :wink:

Jul-ian
11.03.2006, 16:23
Mein Empfänger ist die serielle Schnittstelle vom PC =)
Der müsste Zeichen darstellen können *g* Also bräuchte ich ein Programm, was den Eingang einer RS232 seriellen Schnittstelle auslesen und darstellen kann!?
Leider hört das Tutorial an dieser Stelle etwas plötzlich auf .

Ratber
11.03.2006, 17:22
Mein Empfänger ist die serielle Schnittstelle vom PC =)
Der müsste Zeichen darstellen können *g* Also bräuchte ich ein Programm, was den Eingang einer RS232 seriellen Schnittstelle auslesen und darstellen kann!?
Leider hört das Tutorial an dieser Stelle etwas plötzlich auf .

Echt ?
Gut,ich hab da nie reingesehen aber was du brauchst ist ein Terminalprogramm.

Bascom hat nen eigenes unter "Tools->Terminalemulator".
Kannst natürlich auch jedes andere nehmen was dir in die Finger fällt.

Jul-ian
11.03.2006, 18:15
Ah, Danke. Sowas in der Art habe ich gesucht :)
In den Settings muss ich die serielle Schnittstelle anwählen und dann müsste er mir die Dinger anzeigen, oder!?
Bin jetzt erstmal bissl feiern. Morgen gehts weiter =)

Ratber
11.03.2006, 18:49
Ja in Bascom den verwendeten Port definieren und einstellen (COM1/2/x,Baudrate,Bitbreite,Stopp und Parität usw.)
Das gleiche im Terminal.