Attiny 2313 Programmieren

Gast #2922137
Lesenswert?

Hallo,

ich bin gerade dabei mir eine Led Steuerung bauen die von einem Attiny 
2313 gesteurt wird. Der Attiny 2313 ist der erste Mikrocontroller den 
ich flashen will. Ich habe eine Schaltung nach einem Schaltplan gebaut 
und dazu ein hexfile bekommen, das nun auf den Microcontroller muss. 
Außerdem müssen noch Fuse Bits verändert werden. Genau ist es ein Atmel 
ATTiny2313A-PU im DIL. Den Attiny 2313 wollte ich mit einem USBasp 
Programmer (der hier: 
https://guloshop.de/shop/Mikrocontroller-Programmierung/AVR-USB-ISP-Programmer::23.html?XTCsid=0olso2m9vppf6vd22kt18ut0e7 
) und mit Avrdude programmieren. Wenn ich nun in der Cmd den Attiny 
flashen will kommt folgende Fehlermeldung:
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialisation failed, rc=-1
double check connections and try again, or use -F to override this check

Ich habe schon im Forum nach einer Lösung gesucht und gelesen das die 
Flash Frequenz zu hoch ist wenn ich das richtig verstanden habe.

Kann mir bitte jemand erklären, was ich machen muss, damit ich das 
hex-file auf den Attiny bekomme.
Danke im Vorraus Lukas
#2922759
Lesenswert?

Hallo Lukas,
wenn ich an die Zeit "USBasp" denke, bekomme ich immer noch graue Haare.
Ich schlag Dir vor, mach Nägel mit Köpfen, und schaffe Dir was 
vernünftiges
an.
D.h. ich habe noch das etwas schon veraltete Studio4 (für mich reichts)
den Programmer AVR isp mkII von www.reichelt.de und eine ISP
Programmier-Schnitstelle auf Lochraster selbst aufgebaut.
Und das läuft und läuft ohne mich um Fuses o.ä. zu kümmern.
Hab damit noch nie Übertragungsprobleme gehabt.
Entscheiden mußt Du es selbst.

Grüße

Rolf
Gast #2922899
Lesenswert?

Hallo und danke für die Antworten, einen neuen Programmer wollte ich 
eigentlich nicht kaufen da ich leider nicht Programmieren kann und 
deswegen auch nicht vorhabe öfters Microcontroller zu programmieren, 
sondern nur diesen einen :)
Ich habe es gerade nochmal mit folgendem Befehl probiert:
avrdude -c usbasp -p attiny2313 -U flash:w:123.hex -B 60

leider kommt jedoch wieder die Fehlermeldung:
avrdude: set SCK frequency to 16000 Hz
avrdude: error: programm enable: target doesnt`t answer . 1
avrdude: initialization failed, rc=-1
Double check connections an try again or use -F to override this check

avrdude done. Thank you.
Ich hoffe ihr könnt mir helfen :)

Gruß Lukas
Gast #2922922
Lesenswert?

Hallo nochmal :)

also gerade habe ich es noch einmal mit einem anderen chip probiert, da 
ich und mein Freund jeweils die Schlatung bauen möchten und dort kam die 
Meldung:
avrdude: set SCK frequence to 16000HZ
avrdude: AVR device initialized and ready to accept instructions

Reading I ############################## I 100% 0.03s

avrdude: Device signature = 0x00ff00
avrdude: Expected signature for Attiny 2313 is 1E 91 0A
Double check chip, or use -F to override this check.

avrdude done. Thank you.

Das heißt ich habe jetzt zwar ein verbindung zu dem chip aber der chip 
ist kaputt sehe ich das richtig? Oder muss nur etwas an dem chip 
eigestellt werden? Das ist schon richtig das man erst den chip 
Programmiert und dann die Fusebits setzt oder?
Danke für eure Hilfe und ich hoffe es klappt noch irgendwann die 
microcontroller zu programmieren aber ich gebe nicht auf :D

Gruß Lukas
(Firma: guloshop.de) #2922948
Lesenswert?

Probier statt "-B 60" mal "-B 600". Kann ja sein, dass der 
Mikrocontroller per Fusebits auf eine sehr langsame Geschwindigkeit 
eingestellt wurde.

Falls das nicht hilft, könnte es sein, dass eine von den 6 
Programmierleitungen nicht verbunden oder falsch verbunden ist.

Befindet sich der ATtiny2313 in einer Schaltung, während du ihn 
programmierst? Falls ja, nimm ihn dazu bitte mal raus.
Gast #2922973
Lesenswert?

Also ich habe es gerade mit -B 600 probiert aber leider wieder das selbe 
:( Hier nochmal die Fehlermeldung


C:\Users\Lukas\Desktop\quadrocopter\MWCLight - MWCPos>avrdude -c usbasp 
-p attin
y2313 -U flash:w:123.hex -B 600

avrdude: set SCK frequency to 1000 Hz
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.12s

avrdude: Device signature = 0xff0f07
avrdude: Expected signature for ATtiny2313 is 1E 91 0A
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.


Und der Microcontroller ist in einer Schaltung aber ich würde ihn ungern 
ausbauen aber falls es nicht anderst geht werde ich das natürlich 
machen.
(Firma: guloshop.de) #2922989
Lesenswert?

Lukas schrieb:
> Und der Microcontroller ist in einer Schaltung aber ich würde ihn ungern
> ausbauen aber falls es nicht anderst geht werde ich das natürlich
> machen.

Magst du den Schaltplan ins Forum hochladen, damit wir schauen können, 
was das Programmieren eventuell verhindert?

Werden die Eingänge/Ausgänge für MOSI, MISO, SCK, RESET auch für andere 
Zwecke genutzt oder sind irgendwie auf GND oder VCC gelegt?

Wie schaut es mit der Versorgungsspannung der Schaltung aus? Wenn die 
Schaltung per Programmer versorgt wird, sollte sie nicht gleichzeitig 
eine eigene Spannungsversorgung besitzen.
Gast #2922996
Lesenswert?

Hallo,
Den Schaltplan will ich nicht hochladen, da ich ihn von jemand aus einem 
anderen Forum bekommen habe und mir nicht sicher bin ob es ok ist wenn 
ich diesen Schaltplan hochlade. MOSI, MISO, SCK, RESET werden nicht für 
andere zwecke verwendet, nur Reset ist über einen 10kohm Widerstand mit 
VCC verbunden und zwischen VCC und GND ist ein 100nf Kondensator aber 
das wird ja keinen Einfluss haben oder? Die Spannungsversorgung habe ich 
nicht über den Programmer sondern über einen Spannungswandler der mit 
12V von einem Netzteil versorgt wird und 5V an den Microcontroller 
ausgibt.
(Firma: guloshop.de) #2923027
Lesenswert?

Lukas schrieb:
> MOSI, MISO, SCK, RESET werden nicht für
> andere zwecke verwendet, nur Reset ist über einen 10kohm Widerstand mit
> VCC verbunden und zwischen VCC und GND ist ein 100nf Kondensator aber
> das wird ja keinen Einfluss haben oder? Die Spannungsversorgung habe ich
> nicht über den Programmer sondern über einen Spannungswandler der mit
> 12V von einem Netzteil versorgt wird und 5V an den Microcontroller
> ausgibt.

Klingt alles gut. :-)

Angeschlossen hast du dann 5 Leitungen, oder?
GND, MOIS, MISO, SCK, RESET.

VCC sollte nicht verbunden werden, wenn die Schaltung eine eigene 
5-Volt-Spannungsversorgung besitzt, GND muss dann aber trotzdem 
verbunden werden.
Gast #2923050
Lesenswert?

Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das 
der Microcontroller defekt ist? Und dann den Fusebits habe ich 
eigentlich nichts verändert kann ich die auslesen indem ich in Burn o 
Mat bei Fuses read anklicke?
(Firma: guloshop.de) #2923056
Lesenswert?

Lukas schrieb:
> Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das
> der Microcontroller defekt ist?

Klar, auch sowas hats schon gegeben. ;-)
Mikrocontroller defekt, Programmer defekt, Kabel defekt - kam alles 
schon mal vor.

> Und dann den Fusebits habe ich
> eigentlich nichts verändert kann ich die auslesen indem ich in Burn o
> Mat bei Fuses read anklicke?

Mit Read kannst du normalerweise nichts kaputt machen. Aber wenn avrdude 
nicht einmal die Gerätesignatur zuverlässig lesen kann, wird es 
wahrscheinlich auch nicht möglich sein, die Fusebits korrekt zu lesen.
#2923061
Lesenswert?

Ich wollte nach langem wieder ein Tiny26 brennen, nun auch mit dem 
USBasp, er wurde zwar erkannt, aber nichts rein gebrannt.

Gleiche Hardware aber über LPT Port wie früher und alles lief sofort.

Evt taugt der USBasp nix für die älteren.

Brenne mal über LPT-Port (www.rowalt.de) und baue ein ISP Adapter, ist 
ja schnell gemacht.
Gast #2923062
Lesenswert?

Also ein Haken ist bei Spien, CKDIV8, Suto0, CKSEL3, CKSEL1,CKSEL0
aber ich bin mir nicht ganz sicher ob das die ausgelesenen Werte sind, 
da ich keinen Programmer auswählen kann, es kommt jedoch keine 
Fehlermeldung
#2923067
Lesenswert?

Lukas schrieb:
> Nein die Anschlüsse habe ich mehrmals kontrolliert kann es vllt sein das
> der Microcontroller defekt ist?

Ja klar... sein kann viel...
Aber für sehr wahrscheinlich halte ich das nicht, vor allem, da du ja 
jetzt schon den zweiten ausprobiert hast.
Einer tut gar nichts, beim anderen liest du nur irgend eine falsche 
Signatur.
Ich würde eher vermuten bzw. folgern, dass du

a) Irgend wo noch einen Leichtsinnsfehler eingebaut hast

oder

b) der Programmer bzw. das Kabel was hat.

Wobei ich a) für wahrscheinlicher halte :)
Passiert schon mal, wenn man sowas noch nie gemacht hat.
Gast #2923070
Lesenswert?

Was müsste denn passieren wenn alles richtig angeschlossen ist und ich 
in Burn o Mat die Fuses auslesen will dazu muss ich doch zuerst einmal 
den Programmer also USBASP auswählen oder? Weil ich kann dort keinen 
Programmer auswählen!
Gast #2923096
Lesenswert?

Das ist mir jetzt echt peinlich :D ich habe es geschafft den einen Chip 
zu flashen denke ich zumindest vielen vielen dank vor allem für den Tip 
mit -B 60 ich bin dir wirklich extrem Dankbar! Also ich habe es jetzt 
noch einmal probiert mit beiden chips und mehrfach nachgemessen ob 
durchgang herscht und folgenede Meldung erhalten:

avrdude: set SCK frequency to 16000 Hz
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.03s

avrdude: Device signature = 0x1e910a
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performe

         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: set SCK frequency to 16000 Hz
avrdude: reading input file "123.hex"
avrdude: input file 123.hex auto detected as Intel Hex
avrdude: writing flash (1388 bytes):

Writing | ################################################## | 100% 
3.77s



avrdude: 1388 bytes of flash written
avrdude: verifying flash memory against 123.hex:
avrdude: load data flash data from input file 123.hex:
avrdude: input file 123.hex auto detected as Intel Hex
avrdude: input file 123.hex contains 1388 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
3.21s



avrdude: verifying ...
avrdude: 1388 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Bei dem 2ten chip gehe ich jedoch von einem defekt aus ich werde es zwar 
noch ein paar mal versuchen aber dort kommt immer die selbe Meldung. 
Kansst du mir vllt nur noch das erklären
Das DIV8 Fusebit ist bei einem neuen 2313 serienmässig gesetzt, also 
musst du den "Harken"
an diesem dann entfernen und dann die Fusebit´s wieder in den Controller 
schreiben.

Wie geht das?
Gast #2923112
Lesenswert?

Ok also so schnell kannst du wohl nicht Antworten ich schreibe es hier 
falls es jemand anderen interessiert es hat geklapp wenn ich bei 
additional options -B 60 eingefügt habe!

Also ich möchte mich nochmal Herzlich für deine Hilfe bedanken und bin 
dir sehr Dankbar :)

Gruß Lukas

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