Forum: Mikrocontroller und Digitale Elektronik newbee am Verzweifeln USB-isp und minipov


von Rene N. (innovativeuser)



Lesenswert?

Hallo in die Runde!

ich weiß garnicht, wo ich anfangen soll... Ich habe neulich auf 
geocaching.com von einem minipov gelesen und wollte das auch einmal 
probieren. So kam ich dazu, mich mit der ganzen Materie zu befassen.

Ich habe für den Minipov folgende Mateialien genutzt:
- ATtiny2313
- 20 Pin Socket
- 4,7k Widerstand 3x
- 100 Ohm Widerstand 8 x (vor LED´s geschalten)
- 5,1V Diode 3x
- Serielle Schnittstelle 9 polig (weiblich)
- 8 x helle LED´s (rot)
und eine Platte, Batteriefach usw.

soweit so gut. Meinen selbstgebastelten Schaltplan habe ich von einigen 
anderen abgelitten, die ich im Internet finden konnte.

Ich habe die Platte soweit durchgemessen und die LED´s funktionieren. 
Nur der Microcontroller müsste noch programmiert werden. Und da liegt 
der Hase im Pfeffer. Ich bekomme bei fast allen erdenklichen Programmen 
die selbe meldung:
1
: AVR device not responding
2
: initialization failed, rc=-1
3
: AVR device initialized and ready to accept instructions
4
: Device signature = 0x000000
5
: Yikes!  Invalid device signature.
6
: Expected signature for ATtiny2313 is FF FF FF

oder
1
: AVR device not responding
2
: initialization failed, rc=-1
3
  Double check connections and try again, or use -F to override
4
  this check.

Also ging ich davon aus, dass irgendetwas in meiner Schaltung nicht in 
Ordnung ist. (ich habe auch einen anderen Controller versucht, und auch 
das burn-fuse mit avrdude hat nicht funktioniert, da der Programmer 
nicht erkannt wird)

Dann habe ich mir bei Ebay einen USB-ISP Programmer gekauft. Was ich 
nicht wusste: Der ATtiny2313 wird zwar unterstützt, aber ich muss mir 
noch eine Platine bauen, um den am USB-Programmer anschließen zu können. 
Da ich nirgends im Internet etwas darüber finden konnte habe ich mir das 
Notkonstrukt siehe Anhang gebaut. (Ja, ja... lacht nur... Ich hab 
wirklich keinen blassen schimmer von mikroelektronik)

Den Programmer habe ich auf com4 gelegt und hab nun auch versucht, mit 
sämtlichen Programmen, mit und ohne Spannung beim Programmieren und was 
weiß ich nicht noch alles, den Attiny zu programmieren um meinen Minipov 
endlich zum Laufen zu bringen... Aber ich erhalte immer die selbe 
Fehlermeldun. Soll ich nun noch einen Parallelport-Programmer versuchen? 
Ich hab schon gar keinen Bock mehr... Aber ich kann schon nicht mehr 
schlafen, weil ich so ehrgeizig bin und dieses Projekt endlich 
abschließen will!

Bitte helft mir!!! ich bin für jeden Tipp dankbar!

von 4xA (Gast)


Lesenswert?

Hi,

ich hatte zwar noch keinen kontakt mit ATTinys aber mit den ATMegas. Ich 
nehme an die werden genauso Programmiert.
Beim Programmieren muss der AVR unter Spannung stehen.
Evtl. muss ein externer Takt gegeben werden. ATMegas sind von Haus aus 
auf internen Takt gestellt - steht im Datenblatt.
Desweiteren solltest du dir mal die Grundbeschaltung im Tutorium 
ansehen.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
Die Pinbelegung deines Programmers solltest du Überprüfen ob die dazu 
passt.

MfG

von Rene N. (innovativeuser)


Lesenswert?

Ja, dass der ATtiny unter Spannung stehen soll, hab ich auch schon 
gelesen... Ich hab auch schon statt Akkus normale Batterien genommen, da 
ich vermutete, dass zu wenig Spannung da sei...

Ich habe die Pinbelegung meines Controllers von atmel und des 
Programmers aus der Dokumentation geholt und geschätzte 200 mal 
überprüft... :-(

Aber was ich jetzt gesehen hab... Kann es sein, dass ich an den 10pol 
Stecker der USB-ISP noch ein Board mit diversen Widerständen und Dioden 
stecken muss? Wozu brauch ich dann das blöde USB-ISP? Ich hatte es mir 
geholt, damit ich einen Controller programmieren kann und muss nun 
trotzdem nochmal einen Programmer dazubasteln? Dann kann ich doch direkt 
an meinen Parallel-Port einen Programmer basteln... Ich krieg ne 
Krise!!!

von 4xA (Gast)


Lesenswert?

Also einen Programmer brauchst du so oder so. Ich habe erst einen 
Parallelport Programmer benutzt und bin mittlerweile auf einen USB 
Programmer umgestiegen der ähnlich deinem ist.

Ich mach in meine Schaltungen immer noch einen ISP anschluß mit rein, 
damit ich meine Anderungen im code auch gleich testen kann. Aber es ist 
auch möglich eine Schaltung nur zum Programmieren zu machen und den Chip 
dann in die eigentliche Schaltung einzusetzen.

Erstmal musst du dich entscheiden wie du vorgehen willst.
Auf jenden Fall währe es sinnvoll wenn du ein Stück Stiftleiste oder 
ähnliches hättest um den ISP Stecker vom Programmer Wackelkontaktfrei zu 
stecken.

Hast du sowas?

MfG

von Rene N. (innovativeuser)


Angehängte Dateien:

Lesenswert?

Stiftleiste? Nun ja... ich habe einen Sockel für den Attiny... Den hab 
ich im Minipov verbaut... Ich hab schon überlegt, den noch einmal zu 
demontieren um einen Programmer aus den Teilen zu bauen...

Theoretisch ist der Minipov ja auch ein Programmer... nur eben mit 
zusatzfunktion... Ich habe  im Anhang mal den Schaltplan des Minipovs 
gehangen... Kannst Du mir sagen, ob meine Abwandlung soweit korrekt ist? 
Dann sollte ich ja damit auch den Chip programmieren können...

von 4xA (Gast)


Lesenswert?

Hm, evtl. kann man über die serielle Schnitstelle daten senden. Aber ich 
würde sagen dass man vorher erst noch einen Bootloader oder ähnliches 
auf den Mikrocontroller aufspielen muss.
Ich habe keine Ahnung was der minipov machen soll. Woher stammt deine 
Bauanleitung?
Aber da du schon einen USBisp hast würde ich den verwenden.

von Rene N. (innovativeuser)


Lesenswert?

Achso! Ich brauche nen Bootloader auf dem Controller, um den ansprechen 
zu können? Das könnte einiges erklären... Wie gesagt, ich habe keinen 
blassen schimmer, von dem, was ich damache.

Den Schaltplan habe ich von www.ladyada.net.

Noch einmal konkret nachgefragt:

Muss ich an den 10pol stecker des USB-ISP noch eine Platte mit einer 
Schaltung stecken, oder reicht es einfach, die pins des Controllers mit 
dem Stecker zu verbinden?

von 4xA (Gast)


Lesenswert?

so, ich habe mir das minipov mal angeschaut. ladyada.net ist doch die 
richtige Seite? So wie ich dass sehe sollte es funktionieren wenn man 
sich genau an die Anleitung hält. Wenn du nun allerdings deinen USB-isp 
verwendest musst du wahrscheinlich avrdude anders konfigurieren. Leider 
kenne ich avrdude und winavr nicht da ich mit AVRStudio arbeite. Daher 
wird es jetzt wohl schwierig.
Wie sieht es eigentlich mit deinem Intersse aus. Willst du nur ein 
minipov haben oder willst du programmieren lernen?

MfG

von Thomas R. (tinman) Benutzerseite


Lesenswert?

Rene Naumann schrieb:
> Achso! Ich brauche nen Bootloader auf dem Controller, um den ansprechen
> zu können?

ja und nein .. steht doch alles auf der site.


Because the programmer is built into the kit, one does not need a 
special "microcontroller programmer".

Da du schon aber einen programmr hast, kannst einfach über ISP 
programmieren - ist eh schneller/einfacher. In der minipovfirmware.zip 
sind auch alle hex files die du dann über den isp programmer proggen 
kannst - ich werde nie verstehen warum menschen sich zwingen einen 
bootlader für eigenbenutzte dinger zu implementiern - für enduser 
produkte wo der user keine ahnung und keinen programmer hat macht es 
schon sinn falls man firmware update plannt, aber für den privatgebrauch 
ist das als ob man zusatztank, einen fahrad, 8 ersatzreifen ins 
autokoferaum packen würde (falls etwas unterwegs passiren sollte) und am 
ende den fahrzeug ohne motor in der garage stehen hat :)

von 4xA (Gast)


Lesenswert?

Ok, an meinem letzten Post habe ich zu lange rumgetippt.

"Muss ich an den 10pol stecker des USB-ISP noch eine Platte mit einer
Schaltung stecken, oder reicht es einfach, die pins des Controllers mit
dem Stecker zu verbinden?"

Wenn du auf einer Extra Platine Programmierst musst du die Pins des 
Controllers mit dem ISP-stecker verbinden, den controller mit spannung 
versorgen, mindestens einen abblockkondensator 100nF anschließen und 
evtl. noch eine resettbeschaltung machen.
Vlt. würde ich nicht gerade mit Batterien Programmieren sondern eher mit 
Netzteil.

Mal sehen ob ich schon wieder zu lange getippt hab.

von Rene N. (innovativeuser)


Lesenswert?

Hehe.. Also ich fange mal oben an...

Ich habe AVR-Dude genutzt, da es bei ladyaga in der Anleitung stand. Ich 
hab allerdings auch schon mit AVR-Studio und geschätzten 10 andere 
Programmen mein glück versucht.

Im ersten Schritt will ich eigentlich nur den Minipov zum laufen 
bringen. WEnn ich das dann mal erfolgreich absolviert haben sollte, will 
ich vielleicht noch weiterbasteln. Aber ich will mir deshalb jetzt kein 
Programmer für 200 € anschaffen...

Ja... ich dachte mir auch, dass ich keinen Programmer brauch, da ich ja 
den Minipov direkt in ie serielle schnittstelle stecken kann. Aber da 
das nicht ging und ich nicht wusste, was ich noch falsch gelötet haben 
könnte, hab ich mir gedacht, ich kauf mir einen Programmer. Dass ich nun 
trotzdem noch widerstände löten muss, hätte ich nicht gedacht. Nun ja... 
ich hab jetzt die Pins des USB-ISP´s mit den 9pin Connector des Minipovs 
verbunden. Sehr provisorisch, aber ich möcht das jetzt hinbekommen! im 
ersten versuch hats nicht geklappt... :-(

Aber theoretisch sollte das ja funktionieren, da Mosi und co ja auf dem 
Minipov mit dem Controller und entsprechenden Dioden und Widerständen 
verbunden sind... Ich will nicht zwingend schon wieder zum großen blauen 
C rennen, wegen ein paar cent-artikeln...

von Rene N. (innovativeuser)


Lesenswert?

noch eine Frage...

wenn am 10pol Stecker des ISP´s 4 x GND verzeichnet ist, muss ich dann 
alle 4 GND´s mit meinem GND vom Board verbinden?

von 4xA (Gast)


Lesenswert?

Was vlt. ein fehler sein könnte ist das du mosi und miso falsch 
angeschlossen hast. mosi heist MasterOut SlaveIn und ist somit ein 
Ausgang. Bei Miso genau andersrum. Wenn die Anschlüsse Richtig 
beschriftet sind muss also mosi(Programmer) an miso(µc) angeschlossen 
werden.

Wenn du AVRStudio installiert hast kannst ja mal überprüfen ob du einen 
kontakt zum programmer bekommst. Es gibt da so nen Symbol eines ICs wo 
"con" draufsteht. klicken. Entsprechenden Programmer auswählen. connect.
Wenn jetzt ein neues Fenster aufgeht ist die erste Hürde geschafft.

von 4xA (Gast)


Lesenswert?

>wenn am 10pol Stecker des ISP´s 4 x GND verzeichnet ist, muss ich dann
alle 4 GND´s mit meinem GND vom Board verbinden?

jup, besser isses.

von Rene N. (innovativeuser)


Lesenswert?

hm.. ok...

also die 4 gnds hab ich noch nicht verbunden.
Aber im AVR-Studio bin ich nun im nächsten Fenster... Dort kann ich die 
Signatur nicht auslesen. Das könnte mit den fehlenden GND-Verbindungen 
zu tun haben, oder?

Achso MOSI und MISO hab ich nicht verwechselt... Hab gerade alle 
connections nochmal gegengecheckt...

Vielen Dank übrigens schonmal für deine Geduld ;-)

von 4xA (Gast)


Lesenswert?

also gnd muss schon verbunden sein.

sobald du irgenwas auslesen kanns kannst solltest du auch etwas 
programmieren können.

Ich kann AVRStudio dir nur empfehlen.

von Rene N. (innovativeuser)


Lesenswert?

hm... also ich hab nun alle 4 GND mit meinem GND des Minipovs 
verbunden...
Und es kommt trotzdem noch die selbe fehlermeldung...

Dann muss doch etwas an der SChaltung falsch sein...

ich versuchs mal einzeln durchzugehen:

Mosi -> 4,7k Widerstand -> Diode -> Pin 17 am Attiny2313
SCK ->  4,7k Widerstand -> Diode -> Pin 19 am Attiny2313
MISO -> Pin 18 am Attiny2313
RESET ->  4,7k Widerstand -> Diode -> Pin 1 am Attiny2313
GND (4x)-> Pin 10 am Attiny2313
VCC -> Pin 20 am Attiny

Kann mir jemand sagen, ob das so richtig ist?

von 4xA (Gast)


Lesenswert?

Du solltest den ISP direkt an den Controller anschließen. mosi sollte an 
Pin 18 und miso an Pin 17. Kann aber sein das die ISP beschriftung nich 
ganz richtig ist.

>Was vlt. ein fehler sein könnte ist das du mosi und miso falsch
angeschlossen hast. mosi heist MasterOut SlaveIn und ist somit ein
Ausgang. Bei Miso genau andersrum. Wenn die Anschlüsse Richtig
beschriftet sind muss also mosi(Programmer) an miso(µc) angeschlossen
werden.

von Rene N. (innovativeuser)


Lesenswert?

mir ist das zu schwierig, extra noch eine richtige Platte zu löten. Ich 
bekomme das nicht hin... Ich werd mir nun doch das Evaluierungsboard von 
Pollin bestellen. Dann habe ich es geschafft, in ein kleines blödes 
Spielzeug 50 Euro auszugeben... Aber dann kann ich einfach den 
Controller aufstecken und programmieren.

Danke trotzdem für die Hilfe!

von Innovativeuser (Gast)


Lesenswert?

So... Ich hab nun das Evaluatsboard von pollin. Endlich funktioniert das 
programmieren. Zumindest hab ich keine fehlermeldung. Ich hab mit 
ponyProg die hex-Datei auf den attiny geschoben. Beim Einbau in mein 
minipov musste ich allerdings feststellen, das die LEDs nicht wie 
geplant blinken, sondern durchweg leuchten (alle 8).

Wie finde ich heraus, ob das ein programmierfehler ist, oder ob ich 
falsch gelötet hab?

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.