Arduino-AVR programmieren

Persönliche Seite #3420171
Lesenswert?

Martin Fischer schrieb:
> Ich stelle jetzt mal etwas klar!
> Diejenigen, die mir NICHT helfen wollen und nur irgendwelche Schei**
> labern, DÜRFEN JETZT IHRE FRESSE HALTEN und nicht in den Thread
> schauen!!!

...und nimm dich mal zurück, die meisten Leute wollen dir helfen. Die 
200 Beiträge sind nicht nur rumgetrolle! Leider hast du dich bis jetzt 
als lern- und beratungsresistent erwiesen... Und das provoziert ein paar 
Spitzen!
#3420223
Lesenswert?

Reinhard Kern schrieb:
> Martin Fischer schrieb:
>> Reset am Arduion ist mit 10uF Elko an GND
>
> Das sagt du jetzt, nach mehr als 200 Posts?

Naja ich seh da aber jetzt kein Problem drin, wenn der über nen Elko an 
GND geht. Ist ja auch bloß der Arduino, das ist da sowieso auf der 
Platine denk ich mal. Reset der Zielschaltung ist ja ok, mit PullUp an 
5V usw.

gruß cyblord
Persönliche Seite #3420229
Lesenswert?

Lese dir das durch:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

Baue deine Zielschaltung so, wie dort beschrieben auf (ohne 
irgendwelches anderes Zeuge wie LEDs etc., einen Quarz o.a. brauchst du 
auch erst mal nicht). Schließe auch den 47 oder 100nF zwischen RESET und 
Masse an. Dann nochmal probieren.

Wenn es nicht funktioniert, melde dich hier mit folgenden Informationen:
* aktueller Schaltplan (nicht Foto!)
* vollständige Fehlermeldung, bei welchem (vollständigen) Kommando
* die Erkenntnisse, die du durch selbstständige Fehleranalyse schon 
gewonnen/gelesen/gefunden hast!

Wenn du dann noch einen vernünftigen Ton, vollständige Sätze, dabei 
verwendet, wird dir auch geholfen werden.

Gruss Uwe
Gast #3420256
Lesenswert?

Martin Fischer schrieb:
> Reset ist mit Pullup 10kOhm an +5V und mit dem Arduino Pin verbunden...
> Reset am Arduion ist mit 10uF Elko an GND

cyblord ---- schrieb:
> Ist ja auch bloß der Arduino

Wenn das so ist wie du meinst, ist es jedenfalls sehr missverständlich 
formuliert, es war ja nach der Steckerbeschaltung gefragt. 
Wahrscheinlich ist ihm überhaupt nicht klar, dass das 2 verschiedene 
Resetleitungen sind.

Gruss Reinhard
#3420311
Lesenswert?

Ralph S. schrieb:
> avrdude -c avrisp
> avrdude -c arduino
> versucht er die ARDUINO - Platine zu flashen .... uuuuuuuund nicht den
> ATmega8

Nein, Ralph. Das wäre bei -p, nicht bei -c.

Martin Fischer schrieb:
> Die Arduino-SOftware hat mit Burn Bootloader wie es im Tutorial erklärt
> ist verfused!!!! Wie kann ich ihn jetzt wieder reparieren???

Arduino Software und Burn Bootloader ist gar nicht gut. Du wolltest doch 
avr-gcc zum Programmieren und Arduino-als-ISP zum Flashen benutzen, da 
stört der Bootloader doch nur.

Dazu kommt das Problem, das die Arduino-Umgebung bei Burn Bootloader 
auch die Fuses umprogrammiert! Deswegen funktioniere die weitere 
Kommunikation mit dem Atmega auch danach wieder nur mit externem Takt. 
Siehe http://arduino.cc/en/Hacking/Bootloader. Da hast du einen Schritt 
zu viel gemacht.

Check doch mal wie die Fuses des Atmega328p jetzt gerade gesetzt sind 
(höchstwahrscheinlich auf externer Quarz hoher Frequenz) und gib uns die 
Resultate.

Aber kein Problem. Du kannst ja mit dem externen Takt die Fuses des 
Atmega328p mit avrdude immer noch auf die Standard-Werte zurücksetzen, 
oder du schliesst deinen externen Quarz an.

Zurück zum Atmega8: Welche Version des ArduinoISP.ino benutzt du 
zurzeit? Die von adafruit die ich dir empfohlen hatte? Eventuell liegt 
es da dran ...

LG, Sebastian
#3420327
Lesenswert?

Martin Fischer schrieb:
> Ok. er läuft jetzt wieder, habe den Takt angelegt, aber hier
> error:
> avrdude -c avrisp -P COM3 -b 19200  -p m328p -U flash:w:main.hex:i
>
> avrdude: AVR device initialized and ready to accept instructions
>
> Reading | ################################################## | 100%
> 0.05s
>
> avrdude: Device signature = 0x1e950f
> avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
> performed
>
>          To disable this feature, specify the -D option.
> avrdude: erasing chip
> avrdude: reading input file "main.hex"
> avrdude: writing flash (102 bytes):
>
> Writing |                                                    | 0% 0.00s
> avrdude: stk500_paged_write(): (a) protocol error, expect=0x14,
> resp=0x00
> avrdude: stk500_cmd(): programmer is out of sync
> make: *** [flash] Error 1

Kurze Frage: Hast du dieses main.hex für den Atmega328p erzeugt?

LG, Sebastian
#3420328
Lesenswert?

So kürz vor Schluss wird das noch Topic des Jahres..

Martin, eigentlich machst du nichts falsch. Du hast ein Schaltung mit 
deine Arduino gebaut und jetzt wills du die ohne Arduino laufen lassen. 
Ist ja alles richtig. Gut, an dein Aufbau fehlt noch was Erfahrung, aber 
wenns lauft, was solls.

Das Problem ist nur das dir ein gewisse Basis fehlt und das du nicht das 
richtige Material (Programmer) hast. Dann muss man sich behelfen mit 
Alternativen und genau das ist im Anfang fatal. Naturlich ist das auch 
ein finanziele Sache bei einem 16-jahrige. Aber eben, in Prinzip haben 
wir alle so angefangen.

Aber so wie ich das sehe auf deine Fotos willst du irgendwie ein oder 
zwei Leds blinken lassen. Das ist beim Arduino Tutorial eins. Dann 
willst du deine Arduino benutzen als Programmer, das ist Arduino 
tutorial 36, oder sowas.
Es gibt ja nicht um sonst noch 34 Tutorials dazwischen.
Was alle hier meinen zu sagen ist; bleib erst mal beim Arduino, auch 
wenn ein blinkende Led langweilig ist wenn mann alle andere Projekte 
hier sieht.
Aber ich nehme an du bist noch in der Schule und beim Mathematik bist du 
ja auch nicht gleich in der fünfte klasse eingestiegen, oder?

Statt hier tagelang hin und her zu schreiben solltest du lesen, lesen 
und noch mehr lesen. Ich verspreche dir; irgendwann macht es click! Auch 
wenn wir jetzt alle zusammen deine Atmega im Gang kriegen verstehst du 
immer noch nicht was jetzt genau gegangen ist.

Dann hast du noch nach gute Einstiegsbucher gefragt; Dann frag den 
Weihnachtsmann mal nach den "AVR-Mikrokontroller-Lehrbuch" wenn du 
wirklich in der Theorie interessiert bist, so wie du sagst.

Wenn ich 16 war, war ich ich auch nicht so interessiert in Theorie und 
das bereuhe ich bis heute, glaub mir.
#3420368
Lesenswert?

Martin Fischer schrieb:
> Ich stelle jetzt mal etwas klar!
> Diejenigen, die mir NICHT helfen wollen und nur irgendwelche Schei**
> labern, DÜRFEN JETZT IHRE FRESSE HALTEN und nicht in den Thread
> schauen!!!

Dir wurde mehrfach geholfen, oft sogar, nur du... zensiert

Mal meldet sich dein neuer Controller, mal nicht !!!! Immerhin

Stützkondensator erzähl ich jetzt erst mal gar nicht, da gibt es noch 
eine Einstellung für AVRDUDE, die den ISP-Takt vorgibt... war glaub ich

-B

(das... weiß ich allerdings nicht ganz genau).

Versuch, nachdem dein 328er geht... das mal mit dem Programm von mir...
#3420377
Lesenswert?

Sebastian Wangnick schrieb:
> Ralph S. schrieb:
>> avrdude -c avrisp
>> avrdude -c arduino
>> versucht er die ARDUINO - Platine zu flashen .... uuuuuuuund nicht den
>> ATmega8
>
> Nein, Ralph. Das wäre bei -p, nicht bei -c.
>
... ich glaub es nicht, ich guck nicht mehr rein, denn:

Ich weiß nicht wie oft ich schon von Hand mit AVRDUDE aus der 
Kommandozeile etwas geflasht habe... wenn ich etwas ganz ganz ganz genau 
weiß, dann ist es das:

-c programmername
-p partname
-P Port

oder auch:

-c avrisp ===> Programmer ist ein AVRISP
-c arduino ==> Programmer ist der Bootloader von Arduino (STK500 
Protokoll)

wenn er ... statt -c avrisp (bei funktionierender Verbindung) -c arduino 
eingibt...

dann wird das Arduinoboard abstürzen, weil das darin enthaltene AVRISP 
Programm nicht mehr aktiv ist und versucht sich selbst zu überschreiben 
!

Ich glaubs wirklich nicht !

Er sollte.... mal wirklich hergehen... ein EINFACHES Hexfile nehmen und 
dieses in den Controller flashen... vielleicht sogar mal OHNE MAKE und 
gedöns ...
Persönliche Seite #3420380
Lesenswert?

Martin Fischer schrieb:
> Interner Quarz!
> Und jetzt funktioniert es irgendwie doch nicht mehr, egal, erstmal die
> Fuses, ich probiere noch herum :D

Falsch!

Überdenke folgende Fragen und suche (und schreibe hier) die Antworten?

Was hast du getan, dass es geblinkt hat?
Warum blinkt es jetzt nicht mehr?

Vorher macht alles weitere keinen Sinn!

Grüße Uwe

PS.: und ich hole mir schon mal ein Bier aus dem Keller und suche eine 
Tüte Chips in den Vorräten meiner Tochter raus... ;-)
#3420383
Lesenswert?

... uuuuuuuuuuund ... grundsätzlich sollte er von den Fuses die Finger 
lassen, ich kann darin auch noch etwas anderes wie interner / externer 
Takt einstellen....

By the way: Die AVR-Controller haben keinen "internen Quarz", sie haben 
einen internen RC - Rechteckgenerator (Widerstand-Kondensator) ... die 
in aller Regel min. 3% Toleranz haben .. und ihre Schwingfrequenz auch 
noch mit der Temperatur ändern.

Ab dem Moment, ab dem er zum ersten mal eine Verbindung hinbekommen 
hat... sollte er mal AVRDUDE von Hand aufrufen .. die FUSES ... L E S E 
N ... auf keinen Fall schreiben ... und verifizieren auf welcher 
Taktquelle das steht !

Mann Mann Mann
#3420387
Lesenswert?

Ralph S. schrieb:
> wenn er ... statt -c avrisp (bei funktionierender Verbindung) -c arduino
> eingibt...
>
> dann wird das Arduinoboard abstürzen, weil das darin enthaltene AVRISP
> Programm nicht mehr aktiv ist und versucht sich selbst zu überschreiben
> !

Ah, so, die Gefahr besteht also, danke für die Erklärung. 
Glücklicherweise hat Martin aber ja den 10uF-Elko am Arduino-Reset, so 
dass avrdude gar nicht über DTR-Reset an den Bootloader kommen kann. 
Oder?

LG, Sebastian
Persönliche Seite #3420389
Lesenswert?

Ralph S. schrieb:
> By the way: Die AVR-Controller haben keinen "internen Quarz", sie haben
> einen internen RC - Rechteckgenerator (Widerstand-Kondensator) ... die
> in aller Regel min. 3% Toleranz haben .. und ihre Schwingfrequenz auch
> noch mit der Temperatur ändern.

nun verwirre ihn nicht gleich wieder: in dem schwarzen Ding ist etwas, 
was einen Takt erzeugt und gut ist (erst mal).

Er soll erst mal erzählen, warum es kurz mal funktioniert hat und jetzt 
nicht mehr...

Grüße Uwe
OP #3420422
Lesenswert?

Also:
Wenn ich eins Hochlade, dann passiert in diesem Uploading Programm von 
Ralph :"Flashvorgang beendet...", es passiert aber nichts....
Wenn ich jetzt den Clock-Pin ziehe und mit diesem Programm die Fuses 
lese, dann kommt: "FEHLER - Falscher AVR Controller gewählt"
Wenn ich jetzt den Clock-Pin wieder reinstecke, dann !!!! Blink die LED 
an PB0 und leuchtet an PB1...
OP #3420433
Lesenswert?

avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v

Hier:
1
avrdude: Version 5.10, compiled on Jan 19 2010 at 10:45:23
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 "D:\WinAVR\bin\avrdude.conf"
6

7
         Using Port                    : COM3
8
         Using Programmer              : avrisp
9
         Overriding Baud Rate          : 19200
10
         AVR Part                      : ATMEGA328P
11
         Chip Erase delay              : 9000 us
12
         PAGEL                         : PD7
13
         BS2                           : PC2
14
         RESET disposition             : dedicated
15
         RETRY pulse                   : SCK
16
         serial program mode           : yes
17
         parallel program mode         : yes
18
         Timeout                       : 200
19
         StabDelay                     : 100
20
         CmdexeDelay                   : 25
21
         SyncLoops                     : 32
22
         ByteDelay                     : 0
23
         PollIndex                     : 3
24
         PollValue                     : 0x53
25
         Memory Detail                 :
26

27
                                  Block Poll               Page
28
      Polled
29
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  Max
30
W   ReadBack
31
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ---
32
-- ---------
33
           eeprom        65     5     4    0 no       1024    4      0  3600  36
34
00 0xff 0xff
35
           flash         65     6   128    0 yes     32768  128    256  4500  45
36
00 0xff 0xff
37
           lfuse          0     0     0    0 no          1    0      0  4500  45
38
00 0x00 0x00
39
           hfuse          0     0     0    0 no          1    0      0  4500  45
40
00 0x00 0x00
41
           efuse          0     0     0    0 no          1    0      0  4500  45
42
00 0x00 0x00
43
           lock           0     0     0    0 no          1    0      0  4500  45
44
00 0x00 0x00
45
           calibration    0     0     0    0 no          1    0      0     0
46
 0 0x00 0x00
47
           signature      0     0     0    0 no          3    0      0     0
48
 0 0x00 0x00
49

50
         Programmer Type : STK500
51
         Description     : Atmel AVR ISP
52
         Hardware Version: 2
53
         Firmware Version: 1.18
54
         Topcard         : Unknown
55
         Vtarget         : 0.0 V
56
         Varef           : 0.0 V
57
         Oscillator      : Off
58
         SCK period      : 0.1 us
59

60
avrdude: AVR device initialized and ready to accept instructions
61

62
Reading | ################################################## | 100% 0.09s
63

64
avrdude: Device signature = 0x1e950f
65
avrdude: safemode: lfuse reads as FF
66
avrdude: safemode: hfuse reads as DA
67
avrdude: safemode: efuse reads as 5
68

69
avrdude: safemode: lfuse reads as FF
70
avrdude: safemode: hfuse reads as DA
71
avrdude: safemode: efuse reads as 5
72
avrdude: safemode: Fuses OK
73

74
avrdude done.  Thank you.
#3420447
Lesenswert?

Martin Fischer schrieb:
> avrdude: safemode: lfuse reads as FF
> avrdude: safemode: hfuse reads as DA
> avrdude: safemode: efuse reads as 5

Ok. Schau mal ins Datenblatt, oder einfacher 
http://www.engbedded.com/fusecalc: Du hast einen externen Quarz mit 65ms 
Einschwingzeit, einen unnützen Boot-Reset-Vector, und Brown-Out bei 
2.7V.

Jetzt vorsichtig, und in einer Zeile:
avrdude -c avrisp -P COM3 -b 19200  -p m328p -v -v -U lfuse:w:0xe2:m -U 
hfuse:w:0xd9:m -U efuse:w:0xff:m

Dadurch stellst du die Fuses wieder auf die Standardwerte, mit einer 
Ausnahme: Der interne Takt wird nicht mehr durch 8 auf 1MHz geteilt, 
sondern läuft mit vollen 8MHz.

Viel Glück und Daumen gedrückt ...

LG, Sebastian
#3420506
Lesenswert?

Hallo Martin,

sobald der externe Takt nicht mehr vonnöten ist, solltest du wieder auf 
das Original ArduinoISP.ino auf Arduino-1.0.5 zurückfallen. Die Version 
von Adafruit die den Takt erzeugt ist schon recht alt, und in 1.0.5 sind 
einige Probleme behoben die eventuell manche der sync-Fehler erklären 
die du beobachtet hast ...

LG, Sebastian
#3420556
Lesenswert?

Martin Fischer schrieb:
> Ok, danke erstmal

Ja, das ist das Schöne an der Computerwelt, dass alles logisch ist und 
sich alle Probleme herleiten und lösen lassen.

> aber woher weiß ich welche clock ich dort nehmenmuss?
> was muss ich nehmen wenn ich nen 16MHz Quarz nehme?

Erst mal musst du den Atmega8 überhaupt wieder ansprechen können. Was 
passiert denn bei:
1
avrdude -c avrisp -P COM3 -b 19200  -p m8 -v -v
mit dem Adafruit ArduinoISP.ino auf dem Arduino und dem Takt an Atmega8 
XTAL1?

Immer noch yikes - signatur 0x000000 oder so?

LG, Sebastian
#3420691
Lesenswert?

Martin Fischer schrieb:
> Ok. Ich werde mir 2 kaufen, das Kostet dann 10€, bissl teuer, ne?

Bestell die mal beim Markus. Der ist hier auch vertreten und hat super 
faire Preise.
www.guloshop.de

Hab gerade noch mal meinen "mySmartUSB light" ausprobiert und er 
funktioniert mit dem Atmel Studio 6.12.

Lass dir mal ein paar Euros von deinen Eltern geben und bestell dir die 
Sachen.
Dann fange noch mal von vorne an.
#3420932
Lesenswert?

Allein seine Hartnäckigkeit muss belohnt werden und den fordernden Ton 
hat er nun auch etwas gemäßigt.
Dadurch hab ich wenigstens den mySmartUSB light wieder aktiviert. Ist 
ein toller 'im Bett Programmer', weil er die fünf Volt speisen kann.
Da ich nachts immer noch lese und dann vielleicht mal schnell was 
ausprobieren möchte, eignet der sich gut um das eben auf zu spielen.
Anfangs klappte der nicht vom Studio aus, lag aber wohl dran, dass der 
erst kaputt war. Hatte mir dann noch einen bestellt, doch vorher kam der 
Atmel und dann hatte ich nur noch den benutzt. So ist es wieder eine 
Erweiterung und ich kann Martin den ruhigen Gewissens empfehlen.
Gast #3420950
Lesenswert?

Irgendwie ist es unterhaltsame... sonst wären nicht mehr so viele dabei.
Er hätte aber auch schon vor 200 Beiträgen und 3 Tagen am Ziel sein 
können.
Die Vorschläge wurden alle in den ersten 30 Beiträgen schon gemacht...
Gast #3420994
Lesenswert?

Friedrich schrieb:
> Irgendwie ist es unterhaltsame... sonst wären nicht mehr so viele dabei.
> Er hätte aber auch schon vor 200 Beiträgen und 3 Tagen am Ziel sein
> können.
> Die Vorschläge wurden alle in den ersten 30 Beiträgen schon gemacht...

Allemal... Habe gestern daruf gewartet wann er aufgibt. allerdings ist 
es verdammt schwierig hier in diesem Forum cooll zu bleiben. ich habe es 
selbst erlebt, wenn man mit Fragen ankommt. Hab am Thread-Anfang schon 
Martins dicke Haut bewundert. Hier sind viele Klugscheißer unterwegs, 
die sich nicht in die Lage des fragenden versetzen können. Z.B. kann ein 
Neuling in egal welchem Gebiet erst mal gar nicht wissen welche angaben 
für die Problemlösung von Belang bzw. wichtig sind. In diesem Forum wird 
das aber von vielen vorausgesetzt.
Martin - gut gemacht!
Gast #3421021
Lesenswert?

Man sollte sich als hilfesuchender nur nicht so wehement gegen Hilfe 
sträuben...
Man sollte die Vorschläge lesen, versuchen zu verstehen, ggfs. 
nachfragen und dann ausprobieren und die Ergebnisse schreiben.
Nur so kommt man weiter.
#3421130
Lesenswert?

Hallo Martin

Du wirst in diesem Hobby niemals Erfolg haben.
Und ich meine nicht "vermutlich nicht" oder "es ist unwahrscheinlich, 
dass.."
sondern niemals.

Im Bezug auf Mikrocontroller (und vermutlich der Fähigkeit zu lesen) 
bist du so unfähig wie man es nur sein kann.

Du bist nicht nur unfähig, du bist auch nicht im Stande einfachsten 
Anweisungen zu folgen, du bist zu allem auch noch unhöflich, kannst dich 
schlecht artikulieren und deine Eigeninitiative geht gegen null.

Das beste Beispiel für deine totale Unfähigkeit selbst was in Erfahrung 
zu bringen:

Martin Fischer schrieb:
> Habe ich !
> http://de.wikipedia.org/wiki/ACK
> aber was genau hat das damit zu tun?

Du hast den Artikel zwar gefunden aber mehr als die erste Zeile wirst du 
wohl kaum gelesen haben, sonst hättest du gelesen:

> abgeleitet für Zustimmung im Netzjargon

Und genau so liest du wohl auch Datenblätter (wenn du überhaupt mal eins 
geöffnet hast) und Tutorials und die Beiträge hier.


Bitte verschone uns alle und such' dir ein anderes Forum.
Sorry ich bin normalerweise nicht so unfreundlich aber du bist der 
Gipfel der Faulheit, Ignoranz und Unfähigkeit.
#3421333
Lesenswert?

Dave Chappelle schrieb:
> Bitte verschone uns alle und such' dir ein anderes Forum.
> Sorry ich bin normalerweise nicht so unfreundlich aber du bist der
> Gipfel der Faulheit, Ignoranz und Unfähigkeit.

Hallo Dave,

in meinem Namen sprichst du nicht. Wenn du dich schonen möchtest dann 
ignoriere doch einfach solche Threads.

Ich halte Martin auch weder für faul noch für unfähig. Einen Arduino als 
ISP-Programmer in einer unbekannten neuen Entwicklungsumgebung (avr-gcc, 
avrdude) zum Laufen zu bringen ist eben nicht so einfach. Es war ja 
gerade die Eigeninitiative von Martin, den Arduino Bootloader auf den 
Atmega zu flashen, die ihn aufs Kreuz gelegt hat. Und wie oft verweist 
die PIC-Fraktion hier auf die fiesen AVR-Fuses.

Vielleicht sollte man das Forum in einen Anfängerteil und einen 
Expertenteil aufteilen?

LG, Sebastian
#3421639
Lesenswert?

Hallo Martin,

für welchen deiner beiden Atmegas denn? Bleibst du jetzt beim Atmega328P 
und legst den Atmega8 erst mal beiseite?

Für einen 16MHz externen Quarz musst du "Ext. Crystal Osc; Frequency 
8.0- MHz" einstellen. Die Start-up time setzt du auf die grössten 
verfügbaren Werte (16K CK/14 CK + 65ms). CKDIV8 (Divide clock by 8) 
willst du nicht, und CKOUT (Clock output auf einem der Pins) brauchst du 
erst mal auch nicht.

Dazu, und zu den anderen Möglichkeiten der Taktung des uC, steht einigen 
Wissenswertes im Kapitel "System clock modes" im Datenblatt des 
Atmega328P.

lfuse ergibt sich dann für den Atmega328P als ... na ... 0xFF. Klaro, 
das ist genau der Wert den die Arduino-IDE beim Bootloader-Programmieren 
auch setzt, weil ein Arduino ebenfalls einen externen 16MHz-Quarz 
benutzt.

Sobald du die lfuse programmiert hast (und vielleicht am besten schon 
vorher) musst du dann natürlich entweder den Quarz mit den zwei kleinen 
Kondensatoren anschliessen, oder wieder den dämlichen externen Takt 
anlegen, um den Atmega328P dann weiter ansprechen zu können.

Ich fahre meine Mikrocontroller übrigens oft ohne Quarz, nur mit dem 
internen Resonator. Für viele Fälle ist ungefähr 8MHz statt genau 16MHz 
ja völlig ausreichend, und Quarze sind a) recht gross und b) recht 
empfindlich. Solltest du dir auch mal überlegen.

LG, Sebastian
Gast #3422009
Lesenswert?

>Sobald du die lfuse programmiert hast (und vielleicht am besten schon
>vorher) musst du dann natürlich entweder den Quarz mit den zwei kleinen
>Kondensatoren anschliessen,
Ich habe den Quarz für Bastellzwecke meistens ohne die beiden 
Kondensatoren angeschlossen, ging eigentlich immer. Professionell wäre 
es natürlich etwas anderes.
Bedenken hätte ich eher wegen der langen Leitungen zum Quarz auf dem 
Steckbrett, die weiter oben in einem Bild mal zu sehen waren.
#3422203
Lesenswert?

Martin Fischer schrieb:
> Mit dem ATmega8 klappt das nicht, immer Device Signature 0x000000
> ...

Ja, bei dem sind die Fuses anscheinend sehr esoterisch eingerichtet, 
wenn er nicht einmal den externen Takt annimmt.

Bevor du in diesen Atmega8 viel Zeit zur Wiederherstellung investierst, 
würde ich mir ein paar neue z.b. beim guloshop.de bestellen.

Alternativ, wenn dich dieses Metier weiter interessiert, würde ich die 
raten, dir einen AVR Dragon aus dem AVR-Studentenprogramm 
(http://student.embedded-projects.net, 41.90 Euro incl. Versand) 
zuzulegen. Da müsstest du dann aber mit Jugend Forscht und der Adresse 
deiner Schule und so eine Ausnahme durchsetzen, normal kostet der Dragon 
dort und anderswo so 63 Euro incl. Versand. Mit dem Dragon kannst du 
über das sogenannte Hochvolt-Programmieren (12V an Reset usw. usf.) die 
meisten solcher ins Nirwana verfuseter AVRs wieder reanimieren. Der 
Dragon kann auch Programmieren und auch Debuggen 
(Einzelschrittsteuerung, Registerdarstellung und vieles mehr) über ISP, 
JTAG und DebugWire.

Du kannst allerdings auch mal schauen, ob es bei dir in der Nähe einen 
Hackerspace, ein Fablab o.ä. gibt, wo du deinen Atmega8 wieder zum Leben 
erwecken lassen kannst.

Vielleicht kommst du ja aus dem Raum Aachen, dann kannst du auch bei mir 
vorbeschauen.

Oder, wenn du sehr mutig und lernbereit bist, könntest du dir auch einen 
HVPP-Programmierer aus deinem Arduino bauen. Dazu bräuchtest du dann 
aber eh noch zusätzliches "Hühnerfutter" und ein gerüttelt Maß an Zeit, 
Energie und Geduld, dich intensiv weiter in diese Materie einzuarbeiten.

LG, Sebastian
#3422264
Lesenswert?

Martin, schicke mir mal eine PN mit deiner Adresse, dann schenke ich dir 
einen HV für dein Arduino. Hatte ich mal gebaut, aber da ich ja zwei 
Drachen und  den MKII habe, dazu noch den mySmartUSB, kann ich dir den 
gern schenken. Du musst dir nur das entsprechende Programm auf den 
Arduino laden.
Gast #3422504
Lesenswert?

Den AVR Dragon kann ich nur bedingt empfehlen.
Der kann zwar viel und ist für ein original Atmel Produkt recht günstig, 
aber der Dragon ist auch sau empfindlich.
Den hat man ganz schnell mal zerschossen.
Hab meinen in eine Kassettenhülle eingebaut... nachdem ich ihn 
reparieren musste!

Da sich Martin hier schon so schwer getan hat, würde ich empfehlen, für 
ein paar Euros ein paar neue Atmegas zu kaufen und sich jetzt nicht mit 
HV zum Retten von verfusten Controllern zu beschäftigen.

Apropos original Atmel Produkte...
ich hatte mal Spaß mit einem MKII... der geht nämlich gerne kaputt, wenn 
das Target noch extern gepowert wird, aber der USB Anschluss 
abgeschaltet wird, was z.B. im Sleepmode passieren kann.
Steht auch so im Datenblatt, dass der das nicht mag.
Super Teil für 40€, das so leicht kaputt geht.
Seit dem bennutze ich den kleineren und günstigeren mySmartUSB light und 
bin mehr als zufrieden. Ok, da hab ich auch schon einen zerschossen, 
aber das ist verzeihlich...
#3422611
Lesenswert?

Martin Fischer schrieb:
> Ich hol mir auch diesen mySmartUSB light...noch eine Frage...wie kann
> ich jetzt eigentlich auf einen uC den Arduino Bootloader raufbringen
> ohne dass der uC verfused wird?

Mit dem mySmartUSB light.

Und da wird von alleine gar nichts verfused. Wenn man die Fuses nicht 
ändert und explizit wieder zurückschreibt, dann ändert sich an den Fuses 
auch nichts.

gruß cyblord
Gast #3422799
Lesenswert?

>Naja, bevor ich meinen PC bekam wurde mir gelehrt gib keine
>Daten...vorallem nicht Adresse...frei
Ja, aber die sollst du doch nur nicht den Bösen Leuten geben!
Also nicht den Leuten von pic-controller-hihi.org
#3423239
Lesenswert?

Hallo Martin,

Martin Fischer schrieb:
> wie kann ich jetzt eigentlich auf einen uC den Arduino Bootloader
> raufbringen ohne dass der uC verfused wird?

Martin Fischer schrieb:
> Also wie genau bekomme ich jetzt Arduino darauf ohne dass device
> error kommt?

Martin Fischer schrieb:
> Aber ein Kollege von mir mag den mit der Arduino Sprache programmieten

du kannst mit der Arduino-Sprache (also der Arduino-Entwicklungsumgebung 
mit ihrem Compiler und den vielen Bibliotheken) auch ohne Bootloader 
arbeiten. Dazu musst du nur anstelle von "Upload" einfach "Upload mit 
Programmer" benutzen. Dann brauchst du dann natürlich einen 
ISP-Programmer, entweder deinen Arduino-als-ISP oder zum Beispiel diesen 
"mySmartUSB light".

Du kannst natürlich auch den Arduino Bootloader auf den Atmega328p 
flashen. Der Bootloader ist ja nicht viel anderes als ein Programmierer 
der auf dem Ziel läuft und sozusagen "sich selbst" programmiert.

Nur: Wenn auf dem Atmega der Bootloader läuft, wie willst du dann 
Sketche auf den Atmega bringen? Dazu brauchst du eine serielle 
Kommunikation zwischen deinem PC und dem Atmega. Beim Arduino wird das 
über USB abgewickelt, aber das geht mit dem rohen Atmega ja nicht.

Wenn du dir das überlegt hast kannst du ja für Details in dem neuen 
Thread Fragen stellen.

LG, Sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren