Hallo Leute, ich bin neu in der Welt der µC-Programmierung und stehe gleich vor dem ersten Problem: Mein Microcontroller (ein ATMega8-16PU) lässt sich nicht programmieren. Ich bin nach dieser Anleitung vorgegangen: http://www.rn-wissen.de/index.php/AVR-Einstieg_leicht_gemacht Aufgebaut wurde alles auf einem Steckbrett, zusammen mit einem Spannungsregler (9V -> 5V) und einem Adapter, der den 6- bzw. 10-pol ISP Anschluss auf das Steckbrett bringt (selbstgelötet, auf einer Experimentierplatine). Nun habe ich sowohl in AVR Studio 5.1 als auch mit avrdude versucht den ATMega zu programmieren, es tut sich allerdings nichts. Als Programmer verwende ich einen AVRISP mkII. Ich bin relativ ratlos, da eigentlich alles passen müsste. Ich habe die Pins VCC, AREF und AVCC an die 5V angeschlossen (ist das bei AREF überhaupt nötig?) und beide GND Pins an GND. Ich hab mit meinem Multimeter auch bereits getestet, ob der 6pol Stecker Kontakt mit den jeweiligen Pins des µC hat (habe leider keinen Durchgangsprüfer, daher Test mit Widerstandsmessung -> ca. 0,5 Ohm, ist das in Ordnung?). Einzig bei der Pinbelegung des ISP Anschlusses bin ich mir nicht im Klaren. Vgl. Abbildung: 1 - MISO 2 - VCC 3 - SCK 4 - MOSI 5 - RESET 6 - GND Stimmt das? Anbei noch ein paar Bilder. Grüße Andreas
was benutzt du denn für einen Programmer? häng mal "-B 6" oder so an die Kommandozeile des avrdude. Das sorgt dafür, dass er mit geringerer Datenrate flasht, da bei frischen µCs normalerweise das DVI8 fuse gesetzt ist und die Programmiergeschwindigkeit zu hoch für sie . Edit: ok, den Programmername hatte ich übersehen. Hab mit dem noch nix zu tun gehabt, aber dversuchen kann man es ja trotzdem mal mit dem Parameter
noch eine Idee: stimmt denn die Spannungsversorgung? Die Versorgungsleisten mancher Steckbretter sind in der Mitte unterbrochen und müssen mit Brücken verbunden werden.
Vlad Tepesch schrieb: > was benutzt du denn für einen Programmer? > > häng mal "-B 6" oder so an die Kommandozeile des avrdude. > Das sorgt dafür, dass er mit geringerer Datenrate flasht, da bei > frischen µCs normalerweise das DVI8 fuse gesetzt ist und die > Programmiergeschwindigkeit zu hoch für sie . > > Edit: > ok, den Programmername hatte ich übersehen. > Hab mit dem noch nix zu tun gehabt, aber dversuchen kann man es ja > trotzdem mal mit dem Parameter Okay, werde ich versuchen. Spannungsversorgung stimmt, habs mit einem Multimeter an VCC und GND gemessen. Ergebnis: 4,95V
Gast
#2788523
Was sagt dein AVRISPmkII? Led grun, rot?
Gast
#2788525
Was bekommst du als Meldung? kannst du überhaupt was machen? z.B. Fuse lesen?
AREF würde ich nicht direkt mit VCC verbinden. (warum legst du die Verbindung eigentlich um den AVR rum, anstatt auf die Spannungsleiste zu gehen, was die ÜBersicht erhöhen würde?) willst du die Versorgungsspannung als Referenz, kannst du die auch so auswählen und mit einem zusätzlichen Kondensator von Aref gegen Masse stabilisieren. Das lässt dir zusätzlich die Freiheit die interne 2.56 Volt-Referenz zu wählen.
Martin schrieb: > Was sagt dein AVRISPmkII? Led grun, rot? Beide LEDs leuchten grün. Also ich gebe ein: sudo avrdude -c avrispmkII -P usb -p m8 -B 6 -v und als Antwort erhalte ich:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
Was meinst du mit Fuses lesen? (wie gesagt, bin Anfänger) Vlad Tepesch schrieb: > AREF würde ich nicht direkt mit VCC verbinden. (warum legst du die > Verbindung eigentlich um den AVR rum, anstatt auf die Spannungsleiste zu > gehen, was die ÜBersicht erhöhen würde?) > willst du die Versorgungsspannung als Referenz, kannst du die auch so > auswählen und mit einem zusätzlichen Kondensator von Aref gegen Masse > stabilisieren. > Das lässt dir zusätzlich die Freiheit die interne 2.56 Volt-Referenz zu > wählen. Hab beides geändert, danke für die Tipps ;)
Gast
#2788574
> avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Target not detected > avrdude: initialization failed, rc=-1 > Double check connections and try again, or use -F to override > this check. Prüfe noch mal alle Verbindungen, besonders von ISP zu µC, da ist irgendwo ein Wackelkontakt, sind MISO, SCK, MOSI, RESET von AVRISPmkII mit dem richtige Pins von µC verbunden? Hast 5V zwischen Pin 7 und 8 von µC?
mit welcher frequenz soll der mega8 denn laufen? auf internem takt? wenn ja, muss das auch über die fuses eingestellt werden. ansonsten noch einen Quarz mit entsprechenden Kondensatoren an die XTAL pins anschließen.
Gast
#2788589
Hallo, du musst an den VCC Pin des AVR ISP die Versorgungsspannung des Controllers anlegen (das ist ein Eingang). Sonst stimmt der Signalpegel am Ausgang des Programmers nicht. Die Ausgabe von AVRDude zeigt: Vtarget : 0.0 V Probiers mal.
Gast
#2788597
Wastl F. schrieb: > mit welcher frequenz soll der mega8 denn laufen? auf internem takt? wenn > ja, muss das auch über die fuses eingestellt werden. Ne, er hat ihn ja noch nicht programmiert. D.h. die Fuses sind automatisch noch auf internen Takt eingestellt (1Mhz).
Gast
#2788602
Bjojon schrieb: > du musst an den VCC Pin des AVR ISP die Versorgungsspannung des > Controllers anlegen (das ist ein Eingang). Sonst stimmt der Signalpegel > am Ausgang des Programmers nicht. Hast Recht, der AVRISP wird im Brett direkt von 7805 mit Spannung versorgt so funktioniert bestimmt nicht.
Gast
#2788608
Wie Groß ist der Kondensator, den du am Reset hast? Nehm den mal raus und probier's dann.
Gast
#2788609
Achso und dass der ISP direkt vom 7805 versorgt wird ist eigentlich ok. Bei mir klappt das imemr ohne Probleme.
>Ne, er hat ihn ja noch nicht programmiert. D.h. die Fuses sind >automatisch noch auf internen Takt eingestellt (1Mhz). Na denn. Taktrate des ISP wurde ja schon angesprochen, muss dann ja unter 250k liegen. Vielleicht mal einen anderen mega nehmen? Könnte ja auch defekt sein. Zumindest die Spannungen sind richtig, sonst würden nicht beide LEDs am MKII grün leuchten. Reset ist auch OK... Die Fehlermeldung deutet (mit zwei t geschrieben sieht das irgendwie bescheuert aus...) aber eher auf einen Fehler mit dem Atmega hin.
Gast
#2788779
Die Anzeige der Target Spannung ist unabhängig von der ISP Kommunikation (zumindest, wenn man das AVR Studio niummt, nicht avrdude). Da er hier aber 0 Volt anzeigt, würde ich den Fehler nicht in der Verbindung zwischen Adapterplatine und AVR suchern, sondern in der Strecke: Spannungsregler->Adapterplatine->Flachkabel->Programmer.
Bjojon schrieb: > Hallo, > > du musst an den VCC Pin des AVR ISP die Versorgungsspannung des > Controllers anlegen (das ist ein Eingang). Sonst stimmt der Signalpegel > am Ausgang des Programmers nicht. > > Die Ausgabe von AVRDude zeigt: > > Vtarget : 0.0 V > > Probiers mal. Ich hab den VCC jetzt direkt am Controller angeschlossen. XJ600 schrieb: > Wie Groß ist der Kondensator, den du am Reset hast? Nehm den mal raus > und probier's dann. 100nF. Hab ihn entfernt, aber keine Besserung Stefan schrieb: > Die Anzeige der Target Spannung ist unabhängig von der ISP Kommunikation > (zumindest, wenn man das AVR Studio niummt, nicht avrdude). > > Da er hier aber 0 Volt anzeigt, würde ich den Fehler nicht in der > Verbindung zwischen Adapterplatine und AVR suchern, sondern in der > Strecke: Spannungsregler->Adapterplatine->Flachkabel->Programmer. Ich hab gerade nochmal die Spannung an den GND und VCC Pins der Stiftleiste an der Adapterplatine gemessen...4,95V. An der 6-pol-Buchse liegen zwischen Pin 2 und Pin 6 ebenfalls 4,95 V an. Dass der Programmer funktioniert weiß ich sicher, ich habe ihn bereits mit einem anderen µC testen können. Langsam verzweifel ich ein wenig ;D
Wenn ich den Programmer ausgesteckt lasse und mit dem PC verbinde ist die LED zunächst Rot. Dann steck ich ihn auf die Adapterplatine und sie bleibt ein paar Sekunden rot ehe sie dann doch auf grün wechselt. Edit: Sie wird nur grün wenn ich in AVRStudio die Device ID und Target Voltage auslesen will...seltsam
Gast
#2788861
Haben die ATMegas eigentlich auch die Clock div/8 Fuse? Oder nur die Tiny-Serie?
Dr.Who schrieb: > Haben die ATMegas eigentlich auch die Clock div/8 Fuse? Oder nur die > Tiny-Serie? Haben sie zum Teil. Aber das ist irrelevant. Alle Megas werden so ausgeliefert, dass sie im Auslieferungszustand mit 1Mhz laufen. Im Grunde braucht es nicht viel um einen Mega in Betrieb zu nehmen: Spannung an Vcc/AVcc und Rückleitung GND-Pins an Netzteil-Masse und das Teil läuft bereits. Die restliche Rundumbeschaltung dient dazu, den Betrieb zuverlässiger zu machen (Kondensatoren, R an Reset).
Okay, ich habs gerade mit einem ATMega16 getestet. Mit dem gleichesn Ergebnis. Es liegt wohl doch an irgendeinem Wackelkontakt an der Adapterplatine (obwohl ich eigentlich alle Pins auf Durchgang geprüft hab, siehe 1. Post von mir)?
Gast
#2788985
Versucht doch mal die Verbindung AVR ISP zu µC direkt ohne Platine.
Andreas F. schrieb: > 1 - MISO > 2 - VCC > 3 - SCK > 4 - MOSI > 5 - RESET > 6 - GND > > Stimmt das? Sollte eigentlich stimmen vgl. AVR In System Programmer: ISP Wobei das die Ansicht von oben ist! (Probier mal eine LED an den Reset Anschluss zu geben. Wenn der Programmer auf den µC zugreift, musste man da was sehen) Ansonsten würde ich mal den Adapter beiseite lassen und die Drähte direkt in die Buchse vom Brennerkabel stecken. Ich hab schon Mega8 programmiert, indem ich an einen alten Sockel direkt Drähte angelötet habe und die dann in die entsprechenden Löcher vom Sockel eines Mega32 (der natürlich nicht im Sockel war) gesteckt habe an dem dann der Programmer hing. Geht zur Not alles. Spannung muss da sein, MISO/MOSI/SCK und RESET und dann sollte der Programmer den µC auch schon ansprechen können.
Karl Heinz Buchegger schrieb: > Ansonsten würde ich mal den Adapter beiseite lassen und die Drähte > direkt in die Buchse vom Brennerkabel stecken. Ich habs gerade ausprobiert...alles funktioniert! Es lag also tatsächlich an der Adapterplatine :) Vielen Dank für eure Tipps!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.


