Forum: Mikrocontroller und Digitale Elektronik ATMega 8 mit Arduino als ISP


von Daniel Grießhaber (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Community,
habe mich die letzten Tage in euer Wiki eingelesen und jetzt 
entschlossen selbst mal ein kleines Projekt zu beginnen, allerdings 
scheitere ich bereits an den Anfängen. In der Suchfunktion habe ich zwar 
einige Threads gefunden, aber leider klappt keine der da vorgeschlagenen 
Lösungen.

Ich versuche gerade meinen ATMega8-16PU mit folgendem Befehl unter 
MacOSX anzusprechen:
1
avrdude -p m8 -P /dev/tty.usbmodem1411 -c avrisp -b 9600 -B 6 -v
und bekomme folgende Ausgabe:
1
avrdude: Version 5.11.1, compiled on Feb 12 2013 at 01:24:54
2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
         Copyright (c) 2007-2009 Joerg Wunsch
4
5
         System wide configuration file is "/usr/local/CrossPack-AVR-20130212/etc/avrdude.conf"
6
         User configuration file is "/Users/Daniel/.avrduderc"
7
         User configuration file does not exist or is not a regular file, skipping
8
9
         Using Port                    : /dev/tty.usbmodem1411
10
         Using Programmer              : avrisp
11
         Overriding Baud Rate          : 9600
12
         Setting bit clk period        : 6.0
13
         AVR Part                      : ATMEGA8
14
         Chip Erase delay              : 10000 us
15
         PAGEL                         : PD7
16
         BS2                           : PC2
17
         RESET disposition             : dedicated
18
         RETRY pulse                   : SCK
19
         serial program mode           : yes
20
         parallel program mode         : yes
21
         Timeout                       : 200
22
         StabDelay                     : 100
23
         CmdexeDelay                   : 25
24
         SyncLoops                     : 32
25
         ByteDelay                     : 0
26
         PollIndex                     : 3
27
         PollValue                     : 0x53
28
         Memory Detail                 :
29
30
                                  Block Poll               Page                       Polled
31
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
32
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
33
           eeprom         4    20   128    0 no        512    4      0  9000  9000 0xff 0xff
34
           flash         33    10    64    0 yes      8192   64    128  4500  4500 0xff 0x00
35
           lfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
36
           hfuse          0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
37
           lock           0     0     0    0 no          1    0      0  2000  2000 0x00 0x00
38
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
39
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
40
41
         Programmer Type : STK500
42
         Description     : Atmel AVR ISP
43
         Hardware Version: 2
44
         Firmware Version: 1.18
45
         Topcard         : Unknown
46
         Vtarget         : 0.0 V
47
         Varef           : 0.0 V
48
         Oscillator      : Off
49
         SCK period      : 0.1 us
50
51
avrdude: AVR device initialized and ready to accept instructions
52
53
Reading | ################################################## | 100% 0.06s
54
55
avrdude: Device signature = 0x000000
56
avrdude: Yikes!  Invalid device signature.
57
         Double check connections and try again, or use -F to override
58
         this check.
59
60
61
avrdude done.  Thank you.

Alles was ich dazu gefunden habe hatte irgendetwas mit externem Takt zu 
tun, aber soweit ich weiss muss ich ja dazu was an den Fuses verstellen, 
was ich aber so ja nichtmal machen kann?
Noch meine Konfiguration:

Arduino Leonardo mit:
slave reset: Pin10
MOSI: Pin11
MISO: Pin12
SCK: Pin13
und den entsprechenden Pins am ATMega.
Ausserdem benutze ich die 5V und GND Leitung vom Arduino.

Zusätzlich habe ich noch jeweils einen 100nF Kondensator zwischen den 
VCC, AVCC und AREF jeweils nach GND gesteckt und einen 10k Widerstand 
zwischen RST und 5V.

Habt ihr vielleicht noch ein paar Tipps und helfenden Rat?

von Daniel Grießhaber (Gast)


Lesenswert?

Oh, was ich noch ganz vergessen habe: Ich habe schon die Baud Rate von 
19200 auf 9600 reduziert (im Arduino Sketch und in der Shell), weil ich 
eben schon öfters was dazu gelesen habe, dass das Problem am Takt liegen 
kann. Hat aber nichts gebracht.

von Thomas E. (thomase)


Lesenswert?

Daniel Grießhaber schrieb:
> Oh, was ich noch ganz vergessen habe: Ich habe schon die Baud Rate von
> 19200 auf 9600 reduziert (im Arduino Sketch und in der Shell), weil ich
> eben schon öfters was dazu gelesen habe, dass das Problem am Takt liegen
> kann. Hat aber nichts gebracht.
Am Takt aber nicht an der Baudrate. Damit ist der ISP-Takt gemeint. Der 
muß < 1/4 F_CPU sein.

Daniel Grießhaber schrieb:
> ATMega 8 mit Arduino als ISP
Du bist sicher, daß das überhaupt geht?

mfg.

von oh weh (Gast)


Lesenswert?

Daniel Grießhaber schrieb:
> allerdings
> scheitere ich bereits an den Anfängen.

Wie z.B. bei der Verwendung von sinnvollen Bildformaten! Schaust du dir 
deine Bilder nicht an, bevor du sie hochlädst? Und warum nötigst du die 
Leute mit unnötig großen Dateien? Erwartest du, noch ernst genommen zu 
werden?

von Daniel Grießhaber (Gast)


Lesenswert?

@oh weh: Ja, ich erwarte ernst genommen zu werden, da das mein erster 
Eintrag in dem Forum ist und ich davon ausgegangen bin, dass Bilder 
automatisch runterskaliert werden. Abgesehen davon hat meine Fähigkeit 
Bilder auf dem Handy zu verkleinern wohl kaum etwas mit meinem Problem 
zu tun.

@Thomas Eckmann:
Ok, dann hab ich wieder was gelernt. Im Datenblatt habe ich jetzt nichts 
zur default Taktung gefunden. Läuft der normalerweise auf den vonnem 
16MHz? Das grundsätzliche benutzen des Arduino als ISP sollte 
funktionieren, siehe: http://arduino.cc/en/Tutorial/ArduinoISP.

Kann ich avrdude irgendwie den Takt mitteilen (Die ManPage hat mir dazu 
nichts verraten), oder müsste ich dazu den ATMega32 auf dem Arduino 
untertakten?

von gjuutfu (Gast)


Lesenswert?

Daniel Grießhaber schrieb:
> Abgesehen davon hat meine Fähigkeit
> Bilder auf dem Handy zu verkleinern wohl kaum etwas mit meinem Problem
> zu tun.

Naja. Technisches Verständnis und die Bereitschaft selber eigenständig 
denken zu wollen was man tut, ist in beiden Fällen wichtig.

von Schleby N. (schleby)


Lesenswert?

Der takt wird Standardmaßig durch 8geteilt um das zu ändern musst du die 
Fuses neu schreiben dazu bracuhst du einen AVR programmer (ISP) und zb 
AVR studio

Und Hast du a, Arduino einen Kondensator zwischen RESET und GND
AVCC und AREF kannst du weglassen wichtig ist der zwischen RESET und GND
10uF gehen gut aus eigender Erfahrung


Gruß

von F. F. (foldi)


Angehängte Dateien:

Lesenswert?

Daniel,
das geht leider nicht. Der ATmega8 wird nicht unterstützt von der 
Arduino IDE. Du kannst das allerdings mit nem 168ziger oder 328ziger 
machen.

Als Tipp möchte ich dir auf den Weg mit geben, kaufe dir einen Dragon, 
40 poligen Zif, Buchsenleisten und Stiftleisten. Lade dir das Pdf zum 
Dragon hier aus dem Forum zuvor herunter und schau dir an wie du die 
Adapter machen musst. Kannst du mit Lochraster machen. Dann hast du auch 
gleich einen HV-Programmer, wenn du dir deinen µC verfused hast und den 
wieder zum Leben erwecken willst. Ganz nebenbei kriegst du für das Geld 
obendrauf einen Debugger.

von Spess53 (Gast)


Lesenswert?

Hi

>Lade dir das Pdf zum
>Dragon hier aus dem Forum zuvor herunter und schau dir an wie du die
>Adapter machen musst. Kannst du mit Lochraster machen.

Kann man auch ätzen:

Beitrag "Re: Gehäuse für das AVR Dragon"

MfG spess

von Erlang (Gast)


Lesenswert?

Nun seid doch nicht alle gleich so hart. Große Bilder sind wirklich 
nervig, aber in Zeiten von DSL und 3G nun doch kein Weltuntergang. Naja, 
will hier nun keinen Zorn auf mich ziehen, daher komme ich mal zum 
Punkt.

Frank Frank schrieb:
> das geht leider nicht. Der ATmega8 wird nicht unterstützt von der
> Arduino IDE. Du kannst das allerdings mit nem 168ziger oder 328ziger
> machen.

So wie ich den TO verstanden habe, geht es ihm nicht darum auf den 
ATmega8 die Arduino Firmware zu flaschen, sondern auf ihn unter 
Verwendung eines Arduino als ISP beliebigen Code zu programmieren. Und 
dies sollte definitiv gehen.

Wenn deine Englisch Kenntnisse das hergeben, empfehle ich einen Blick 
auf:
http://playground.arduino.cc/Code/MegaISP
hier wird dazu diverses erläutert. Weiterhin würde ich vermuten, dass es 
mit dem Arduino als ISP auch möglich ist Fuses zu ändern.

Wenn du es dir einfacher machen möchtest ist die Verwendung eines 
"echten" ISP sicher ein guter Ansatz. Auch wenn ich den Dragon sehr 
liebe und schätze ist er aus meiner Sicht für die ersten Schritte aber 
etwas Overkill, zu komplex und anfällig. Ich würde hier USBAsp 
empfehlen. Je nach Budget und Wartezeit entweder von hier oder aus 
China:
http://www.fundf.net/
http://www.ebay.de/itm/USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMega-51-ATTiny-/111021243797?pt=Bauteile&hash=item19d961bd95
http://www.ebay.de/itm/Neu-USB-ISP-USBASP-Programmiergerat-Programmierer-fur-Atmel-AVR-ATMega-51-ATTiny-/261100135914?pt=Bauteile&hash=item3ccac7e5ea

Viele Grüße

von F. F. (foldi)


Lesenswert?

Spess53 schrieb:
> Hi
>
>>Lade dir das Pdf zum
>>Dragon hier aus dem Forum zuvor herunter und schau dir an wie du die
>>Adapter machen musst. Kannst du mit Lochraster machen.
>
> Kann man auch ätzen:
>
> Beitrag "Re: Gehäuse für das AVR Dragon"
>
> MfG spess

Hallo Spess53,

ich weiß und deine Arbeit, das auch allen zu Verfügung zu stellen, das 
ist sehr nett. Mit der Vorlage habe ich das versucht und habe auch 
versucht diese deutlicher hin zu bekommen. Alles vergebens. Bei mir 
klappte das leider nicht.
Da ich ja nur ein paar von diesen Adaptern brauchte, hab ich sie mir mit 
Lochraster gemacht.
Trotzdem, vielen Dank dafür!

von Digital C. (digitalcosmos)


Lesenswert?

>http://www.fundf.net/usbnub/

Gibt es sowas Kleines auch für Atmel-uC ?

von Oliver (Gast)


Lesenswert?

@Daniel
Arduino als ISP funktioniert wunderbar, benutze ich schon länger mit den 
verschiedensten AVRs. Die Fehlemeldung besagt, dass der ISP richtig 
erkannt wird, aber von dort keine Verbindung zum ATmega8 hergestellt 
werden kann. Das ist meist ein Problem der Verkabelung, prüfe am besten 
noch mal alle Verbindungen. Hast Du Ground von Arduino und ATmega 
verbunden? Welche Spannungsversorgung für den ATmega verwendest Du? Der 
Arduino kann auch die Spannungsversorgung übernehmen.

von Daniel Grießhaber (Gast)


Lesenswert?

Hallo,
danke habe das Problem gestern bereits selbst gelöst. Ich hatte die 
Anschlüsse an and die Pins 7-12 angeschlossen. Scheinbar sind diese beim 
Arduino aber anders an den µC Angeschlossen. Lösung: Alle Pins an den 
ICSP-Header anschließen, nur der Slave Reset läuft weiter über Pin 10.

Danke dennoch für die Lösungsvorschläge.

@Frank Frank:
Danke, aber das ArduinoBoard habe ich bereits rumliegen. Allerdings 
werde ich die Vorteile eines Debuggers als langjähriger Software 
Entwickler wohl bald zu schätzen lernen :)

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
Noch kein Account? Hier anmelden.