PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (M) Ein Problem mit dem USBAVR-Programmer



oberallgeier
11.11.2008, 09:52
Hallo Alle.

Im letzten Dezember hatte ich mir ein Programmiergerät bestellt. Nach langem Suchen im Forum hatte ich mich für den USB-AVRISPmini von „ullihome“ entschieden. Als Vorteil gegenüber meinem vorhandenen Programmierkabel von robotikhardware sah ich, dass direkt aus dem AVRStudio heraus programmiert werden konnte.

Die Bestellung wurde angenommen mit der Bemerkung: „… grad keine Platinen da … sobald …“ Wochenlanges Warten. Erneute Anfrage, ähnliche Antwort (genau kann ich es nicht mehr rekonstruieren). Irgendwann im Februar kam das kleine Ding. In Gang hatte ich es nicht bekommen. Also – weglegen und weiter machen mit dem Robotikkabel. Wiederholte Anläufe brachten es nicht wirklich. Irgendwann im Sommer den Hersteller angeschrieben. Die Antwort war sehr freundlich: „… notfalls schick das doch her, ich guck mal drüber …“ Ich habs mit meiner Experimentierplatine hingeschickt (die aber mit dem Robotikkabel prächtig funzte) – und bekam meine Teile erst nach so zwei ? ? Monaten, nachdem ich bitterböse gemahnt hatte. Dazu ein neues Programmiergerät (einfach neuere Version). Und ich bekam es grad zum Auslesen des Speichers – programmieren tat es nicht. Wiederholte Anläufe brachten … steht ja schon oben der gleiche Satz.

Vor ein paar Tagen hatte es geklappt. Es steht beim Hersteller eine neue (sehr sehr knappe) Inbetriebnahmeanleitung - mit einer (einzigen) Fehlerhilfe durch eine Art Boot-Reset. Soweit ich das sehe, ist die Software modifiziert. Egal – es klappt! ! ! Und ich war relatv sicher, dass es nicht ausschliesslich an mir als DAU lag. Und freute mich tierisch. Besonders darüber, dass es klappt, da ich nun praktischerweise direkt aus AVR-Studio programmieren konnte. Na ja, es war ein hauchdünner Vorteil gegenüber PonyProg.

Na ja, es klappte. Ich hatte eine kleine Platine mit einem 4x4x1-MLF-mega168 programmiert. Zwei, drei Male der MLF und zwei, drei Male ein 168er-DIP und noch einer. Die Mini-MLF-Platine funktionierte wunderbar, auch die DIP-Dinge liefen einwandfrei. Dann ging plötzlich wieder nix. Also - Bootreset, neu programmieren - aber die LED´s blinkten nicht wie "gewohnt". Nach zwei, drei Fehlversuchen (wieso geht die blaue LED aus, wenn der Programmer an den Controller/ISP-Stecker angesteckt wird??) hatte ich es aufgegeben. Und der 168DIP lief auch nicht mehr. PonyProg erkannte ihn auch nicht mehr. Kurz und gut:

Der 168MLF ist hinüber, zwei DIP sind hinüber und lassen sich mit PonyProg auch nicht mehr erkennen bzw. ansprechen. Schon garnicht mit dem USB-Programmer. Der ist wohl eher defekt.

Fragen:
F1 Wie kann ich feststellen, ob unsinnige Fuses gesetzt sind, da die Controller nicht erkannt werden - oder ob die Controller einfach Schrott sind? Da hatte ich mal etwas von Bitbang oder HV-Programmierung gehört. Viel mehr kaputt machene kann ich ja wohl nicht mehr.
F2 Wie kann ich erkennen, ob der Programmer programmt (welche Pegel kommen an welchen Pins - oder so)?
F3 Wie erkenne ich einen inkakten Programmer bzw. seine Fehlfunktion?
F4 Hat jemand ähnliche Erfahrungen?
F5 Das USB-Teil ist ja praktisch, aber vor SMD habe ich noch ziemliche Scheu. Kann man/ich nach dem existierenden Schaltplan eine TTH-Version aufbauen? Wird ein solcher Aufbau mit dem vorhandenen Bootloader sprechen und wird die Software dann das tun, was das SMD-Gerät sollte (also bis auf das Schiessen von Controllern)??

Danke für eure Kommentare.

Nachtrag: Natürlich war der Controller kein TSOP, sorry, da hatte ich etwas falsches aus der Zwischenablage erwischt, es war ein 4x4x1 MLF auf eine nicht ganz billigen Platine aufgelötet.

thewulf00
11.11.2008, 10:38
Ich habe den USB-Programmer von Ulrich Radig für 11 Euro als Bausatz gekauft. Das ist eine Abart des Fischl-Programmers USBasp. Er funktioniert einwandfrei und hat keinerlei SMD. Nachteil ist eben, dass ich nur per avr-dude programmieren kann. Aber das kann man ja als Batch-Datei ins AVRStudio übernehmen. Genauso mache ich das auch.

markusj
11.11.2008, 11:15
Ich habe den USBAVRISP von Christian U. ebenfalls, hatte allerdings einige Probleme damit, dass er teilweise Abstürze hatte.
Christian hat vor kurzem deswegen eine neue Software/Firmware Version veröffentlicht, die das ganze Problem wohl beheben sollte. Testen konnte ich das bisher aber noch nicht.
Ich bin inzwischen aber auf einen AVRDragon umgestiegen, mal ganz davon abgesehen, dass ich studiumsbedingt im Moment leider keine Zeit mit meinen AVRs verbringen kann.

mfG
Markus

vklaffehn
11.11.2008, 11:50
Moin!
Ich hab hier mal vor einer Weile meinen Nachbau des USBTinyISP vorgestellt, der funktioniert auch prima mit AVRStudio zusammen, man braucht nur einen Tiny2313, einen Quarz, zwei Dioden und ein paar Widerstände... Ich bin sehr zufrieden damit.

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=40584&highlight=

MfG
Volker

elayne
11.11.2008, 13:02
Hi,
Reichelt hat gerade letzte Woche den MK2 heruntergesetzt. Der kostet noch 30€. Wenn du etwas willst was garantiert funktioniert kann ich diesen empfehlen.

Gruß
elayne

Ineedhelp
11.11.2008, 13:55
@oberallgeier

ich könnte deine Hilfe gebrauchen

Seit ein paar Tagen habe ich auch den Programmer von ullihome.
Ich habe die Treiber eigentlich erfolgreich installiert. Dann habe ich die Firmware (AVR-Programmer STK500v2 Protokoll) über das USB AVR ISP Tool aufgespielt. Nun kann ich im AVR Studio auf AVR Programmer und Connect klicken. Dann STK 500 auswählen und nochmal mit Connect bestätigen, nun bekomme ich auch das extra Fenster (hat scheinbar eine Verbindung zum Programmer).

Die ISP Schnittstelle des Programmers habe ich übrigens mit der ISP schnittstelle vom Pollin Atmel Evalution board verbunden. Dort einen Tiny2313 eingesteckt.

Allerdings will er den nicht flashen/programmieren, ich versuche mein Programm/Code draufzuhauen, aber es kommt immer "ISP Mode Error" ("A problem has occured when executing the command")

Kannst du oder jemand anders helfen?

oberallgeier
11.11.2008, 14:13
Hallo Ihr,

danke für die schnellen Antworten.

@thewulf00: ja, nach dem Fischl-Programmer hatte ich gesucht. Einziger Hinweis war, dass er eben USBasp ist. Das mit Batch-Datei im AVRStudio kenn ich (noch) nicht. Daher suche ich noch einen Ausweg.

@markusj: Danke, dann bin ich nicht der Einzige mit Problemen
... hatte ... Probleme ... Abstürze ... neue Software/Firmware ... ganze Problem wohl beheben sollte. Testen ... bisher ... nicht. Tja, I did it (das Testen) - und es war wohl eher für die Tonne.

@vklaffehn: Jaaaa - das sieht gut aus. Ich hab sowieso drei unnötige 2313 rumliegen (nur keine ZenerDioden, keinen 74HC125N, keinen einzigen 27R und keinen 12er Quarz. Aber die sind ja schnell und billig zu beschaffen). Frage: und das klappt aus dem AVRStudio ohne irgendwelche Anpassungen? Als was erscheint der USBTinyISP im AVRStudio? Geht der mit PonyProg? Wo ist bei dem Ding der Haken? Das sieht ja wirklich sehr gut aus und kommt mir äusserst preiswürdig vor. Übrigens: heiße Idee mit dem USB-Stick *ggggg*.

@elayne: Danke. Ein sehr guter Hinweis. Das AVR-Programming Tool AT90 JTAG ICE MKII für 30 EURO ? Ich sehe nur die Bestellnummer: AT JTAG ICE2 (= AVR-Programming Tool AT90 JTAG ICE MKII) für 279,90 *brrrrrrrrrr*. Würdest/könntest Du mir bitte eine Bestellnummer nennen?

oberallgeier
11.11.2008, 14:19
Sorry, hab Ineedhelp´s Bemerkung leider erst nach meinem letzten Posting gelesen.


... ich könnte deine Hilfe gebrauchen ...Keine Ahnung, ob ich helfen kann.

1) Ich hatte (fast?) immer Probleme beim Flashen, wenn ich den Haken bei "vor dem flashen löschen" (heisst ähnlich) nicht gesetzt hatte. Also : vor dem flashen immer löschen. Keine Ahnung warum. Damit steigt doch die Anzahl der Programmierzyklen dachte ich.
2) Zu hohe Taktrate geht nicht - flashen geht mit max. 1/4 des Prozessortaktes.
3) Versuch doch mal die fuses zu lesen. Wenn das nicht geht, stimmt die Verbindung nicht.
4) Sollte eher 1. sein: Ich habe keine Ahnung zum Pollin Atmel Evalution board.

Wünschen wir uns mal viel Erfolg.

vklaffehn
11.11.2008, 14:24
Moin!
Der Trick besteht darin, daß man da eine Software und zwei virtuelle serielle Schnittstellen installiert (steht Schritt für Schritt auf der Seite, geht problemlos, alles Freeware/Open Source), dann startet man ein kleines Programm, das auf der einen Seite mit dem Programmer spricht und auf der anderen Seite über die virtuelle serielle Schnittstlelle so tut, als wärs ein STK500v2, oder wie das heißt. Also zwei Treiber + Tool und fertig, man kann Proggen, Lesen, Fuses setzten .... total super!! Man kann auch an Teilen sparen, den 74HC125N hab ich gar nicht drauf, nur den Tiny2313, den Quarz mit Kondensatoren, zwei Widerstände und zwei Dioden, funktioniert wunderbar.
MfG Volker

/edit: Achso, mit PonyProg geht der nicht, aber ein anderes Tool unterstützt den direkt, steht auch irgendwo auf der Seite.

oberallgeier
11.11.2008, 14:38
... Man kann auch an Teilen sparen, den 74HC125N hab ich gar nicht drauf, nur den Tiny2313, den Quarz mit Kondensatoren, zwei Widerstände und zwei Dioden, funktioniert wunderbar ...Es geht ja nicht WIRKLICH um den letzten Groschen. Aber Deine Version (ich hatte auf den Bildern von Dir schon die restlichen Dinge gesucht - sind da nicht zwei Zenerdioden - rechts vom Quarz, klein und unscheinbar? Und was machen die "Positionslichter" hinten, also am rechten Rand der Platine? Ich sehe also von links nach rechts: USB-Verbinder (bis zur Platine), 8-fach-Pfostenstecker, 2+1 WiderständeController, zwei Kondensatoren mit Quarz, zwei Dings-wie-Z-dioden, je eine rote und eine grüne Diode, Ende. Ist das so? Das wäre dann doch DER Programmer, den man am Steckbrett aufbauen könnte.

Wozu brauche ich (oder brauch ich nicht?) dieses hier: USBtiny500 compatibility bridge for AVR Studio ??

Danke.

Ineedhelp
11.11.2008, 14:46
danke erstmal
irgendwie bekomme ich nun keine verbindung mehr, komisch...
Eine Frage noch:
Wozu ist der Jumper eigentlich? Muss ich den zum AVR programmieren setzen bzw überbrücken?

markusj
11.11.2008, 14:55
Vor dem Programmieren muss man wohl IMMER löschen, ist auch beim AVRDragon so.
Steht vermutlich auch in den Datenblättern.

mfG
Markus

oberallgeier
11.11.2008, 15:00
Hallo Ineedhelp,

schau Dir mal das hier an:
http://update.ullihome.de/usb-avr-isp_driver_2007-09-22.zip
(Edit: sorry, hier stand zuerst mein lokaler Link).


... Wozu ist der Jumper eigentlich? Muss ich den zum AVR programmieren setzen bzw überbrücken?Jumper muss gesteckt werden, wenn das Target keine eigene Versorgung hat. Steht irgendwo in den vielen verteilten Beschreibungen. Ausserdem hatte ich irgendwo mal ein Produktinfo zum "Lab" gefunden - das hilft ein bisschen, ist ja die gleiche Hardware (prodinfo_avrisp_mini_2008-07-23.pdf (http://update.ullihome.de/prodinfo_avrisp_mini_2008-07-23.pdf)).

vklaffehn
11.11.2008, 15:14
Moin!
@oberallgeier: Jupp, das sind 3,6V Zenerdioden, alte USB Controller verstehen wohl auch 5V auf den Datenleitungen, aber neue nur noch 3,3 oder so. Die Teile hast Du ansonsten schon richtig identifiziert, die 'Positionslichter' sind einfach doppelt, die grüne leuchtet, sobald der Programmer initialisiert ist, die rote, wenn er irgendwas macht, und die beiden hinten halten einfach die Platine im Gehäuse ein wenig fest und leuchten parallel mit den vorderen :-) An dem Pfostenstecker liegen die ISP-Signale an, außerdem kann ich mit einem kleinen Adapter den Tiny in dem Ding halt auch neu flashen, es gehen quasi 7 ISP Signale raus, und der 8. Pin ist der Reset des Tiny. Und die 'Compatibility Bridge' ist das Tool, das gegenüber dem AVRStudio so tut, als wär's ein STK500v2. Alternativ kann man halt AVRDude nutzen, dann braucht man die Bridge natürlich nicht, aber muß dann in AVRStudio rumdoktorn oder extra flashen. Die Com2Com Software erzeugt dazu zwei virtuelle serielle Schnittstellen, die quasi per Nullmodemkabel verbunden sind, also: AVRStudio - virtueller COM-Port1 - virtueller COM-Port2 - USBTiny500 - Programmer.
MfG
Volker

oberallgeier
11.11.2008, 15:34
Hallo Volker,

danke. Ich muss sowieso grad Teile bestellen (siehe oben, hab grad nur defekte mega168 rumliegen) und da hole ich mir das, was man dazu braucht. Und bau das aufs Steckbrett. Wird halt dann ein grösseres USB-Teil (aber immerhin noch SMD - Steckbrett Mounted Device). Mal sehen. Ich seh das doch richtig: "Download the latest installer" bringt mir dieses "setup.exe" und ich muss da nicht den Quellcode erst compilieren!?

Es sei denn, es gibt den MKII wirklich für 10% des Ursprungspreises.

vklaffehn
11.11.2008, 15:43
Moin!
Richtig, die Programme sind alle fertig compiliert. Das einzige, wo man evtl. aufpassen muß:Wenn der PC in den Standbygeht und wieder aufwacht, erkennt er den USBTinyISP nicht mehr, aber einach abziehen und dranstecken hilft :-) Allerdings hab ich das Ding auch am Notebook. Der Vorgänger dümpelt hier an meinem Rechner rum, direkt am Steckbrett, außerdem hat man da auch immer gleich die 5V vom USB-Port als Stromversorgung, max. 500 mA und geht bei Überlast nur aus, und nicht kapputt :-)
MfG
Volker

elayne
11.11.2008, 18:43
Ich meinte den AVR-ISP MK2 :D
Bestellnummer: AT AVR ISP

oberallgeier
11.11.2008, 20:10
Danke elayne, ich habs bei Reichelt gefunden.


... MK2 heruntergesetzt ... Wenn du etwas willst was garantiert funktioniert kann ich diesen empfehlen ...Da fällt mir ein, was bei ulihome (der den USBAVRISP-mini baut) geschrieben steht:

... Nachdem ich in einer Woche 2 AVRISP mkII zerstört habe ... (http://www.ullihome.de/index.php/USBAVR-ISP/de#Motivation)... Bei Dir müsste dann eine andere Erfahrung vorliegen. Wie lange benutzt Du diesen Programmierer schon? Auf jeden Fall mal danke für diesen interessanten Hinweis.

elayne
11.11.2008, 20:13
naja privat erst seit 2 Wochen, aber auf der Arbeit hab ich so ein Ding schon ewig, ca. 1Jahr und war immer zufrieden.

Gruß

oberallgeier
12.11.2008, 17:01
Hallo Volker,


... Die Teile hast Du ansonsten schon richtig identifiziert ...Die Stückliste ist noch kein Schaltplan :( - darf ich Dir bitte den modifizierten Schaltplan als jpg oder als *.sch senden - zur Kontrolle? Irgendwie hab ich irgendwo noch ein paar Widerstände mehr drauf als Du.


.. sind 3,6V Zenerdioden, alte USB Controller verstehen wohl auch 5V auf den Datenleitungen, aber neue nur noch 3,3 oder so ...Das hätte ich jetzt genau andersrum gesehen.

Danke im Voraus.

oberallgeier
13.11.2008, 22:04
Hallo Alle,

es hilft wohl niemandem wirklich, aber es ist bemerkenswert. Im ersten Posting hier hatte ich von drei geschrotteten, nicht mehr ansprechbaren Controllern (mega168) geschrieben. Ich hatte wohl doch noch mit dem kranken USBAVR-ISP einen Test mit einem tiny2313 gemacht - daran kann ich mich schwach erinnern.

Nun stelle ich fest, dass dieser tiny2313 am PortB auf mehreren Pins nur rund 2 ... 2,2 V ausgibt wenn der Pin aktiv ist. Dabei ist es gleichgültig, ob der Pin statisch geschaltet ist oder auf einer PWM läuft. Eine Gegenprobe mit einem unbenutzten t2313 der mit dem gleichen Programm geflasht wurde und die gleichen Fuses bekam, zeigte, dass es wohl eindeutig am Controller liegt. Platine, Vcc und GND sind identisch gewesen, ausreichende 5,09 V.

Seltsamerweise läuft bei dem schwächelnden Controller sowohl das Programm korrekt, eine PWM-Indikator-LED leuchtet, wenn auch etwas schwach, er lässt sich flashen und nach Ausstecken und Einstecken des Controllers läßt sich das aufgespielte Programm verifizieren. Seltsame Sachen passieren in den dunklen Novembernächten.

vklaffehn
14.11.2008, 05:26
Moin!
Seltsam, seltsam.... Was den Schaltplan angeht, schicke ich Dir mal meine E-Mailadresse per PN, ich habe zwar selber keinen Schaltplan, aber zum Glück noch meinen ersten USBTinyISP auf Lochraster ohne Gehäuse hier rumliegen, da sollte ich die Verbindungen rekonstruieren können.
MfG
Volker

oberallgeier
14.11.2008, 08:19
... Was den Schaltplan angeht ...Danke. Ich hatte gestern spät abends die Schaltpläne von ladyada (Du hattest ja in Deinem Nachbau-Thread einen schicken Link angegeben) von Rev. 1 und 2 geholt, bearbeite die in eagle, habe schon eine Stückliste - es geht also voran.

Danke für Deine Hilfe.

oberallgeier
15.11.2008, 19:03
Hallo Alle,

leider bleiben zwei Fragen aus meinem ersten Posting offen. Die für mich wirklich wichtige Frage ist:

F3 Wie erkenne ich einen inkakten Programmer bzw. seine Fehlfunktion?

Schließlich habe ich die teure Platine mit dem mega168-MLF als Schrott rumliegen. Die beiden m168-DIP sind eher zu verschmerzen.

Kann man korrekte Funktion bzw. Fehlfunktion an den Signalpegeln erkennen? Und wie gebe ich diese Pegel aus, sprich - wie kann ich sie messen bzw. den Controller dazu bringen, sein Programmierkommandos zu senden? Ich will nicht jedes Mal einen Controller verheizen, nur um die Funktion des Programmierdongles zu testen. Seltsam kommt mir vor, dass der USBAVR-ISP ja nach allem was ich weiß nicht mehr als 5,0 V aus der USB-Schnittstelle ziehen kann - dann sollte auch keine zerstörerische Spannung an den USI-Pins ankommen!?!? Kann der USBAVR-ISP überhaupt einen Controller "verbrennen" - oder sind möglicherweise als Fehlfunktion (blos) Fuses falsch gesetzt. Ich kann jedenfalls weder den MLF - aufgelötet auf der Platine - noch die zwei "sonstigen" mega168-DIP ansprechen (PonyProg mit RN-Programmierdongle (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=73&products_id=41&osCsid=1b6386c6136ea8ff6dc49c2d967665bf)).

Bei diesem Problem, erkenne ob der USBAVR-ISP korrekt funktioniert, bin ich sehr um Hilfe verlegen. Danke jedenfalls schon jetzt für eine Antwort.

vklaffehn
16.11.2008, 10:38
Moin!
Ich bin da zwar nicht der Experte, aber der Programmiervorgang ist ja bidirektional, wenn der Controller also nicht antwortet, macht der Programmer leider auch nicht sehr viel, wohl nur den Reset ansprechen. Evtl. könnte man sich einen AVR-Simulator basteln, der die passenden Antworten gibt (wahrscheinlich ziemlicher Overkill :-) ) oder man legt sich ein paar extrem billige Tiny's zum Probieren zu.... Zu den 5V hätte ich eine Idee, evtl. verträgt der Controller nicht, wenn z.B. an den ISP-Pins Spannung anliegt, aber die eigentliche Versorgung des Controlle rs irgendwie nicht passt, so dass evtl. Ströme irgendwo in die falsche Richtung fließen? Nur so ein Gedanke...
MfG
Volker

oberallgeier
16.11.2008, 12:22
Hallo vklaffehn,

stimmt, das mit dem Overkill flutschte auch schon durch meine grauen Zellen. Immerhin lässt sich das erkrankte Gerät von der PC-Seite brav und mit allen ordentlichen Antworten mit dem Bootloader bespielen, mit der Betriebssoftware programmieren und erscheint dann auch ganz korrekt in meinem AVRStudio. Leider geht die blaue "Alles-ok-" LΞD bei dem U5BAVRISP-mini aus, sobald der ISP-Stecker mit dem Target verbunden ist. Ich werde wohl zwei Dinge machen: das erste wird der von Dir genannte tiny-ISP werden - und dann - schau ich weiter. Nach manchen Katastrophen sollte man nicht zu sehr den alten Zuständen hinterherweinen *gggg*.

Schönen Sonntag

elayne
19.11.2008, 20:10
Hey,
Ich habe gerade gesehen das man im Internet verschiedene Nachbauten des JTAG Ice bekommt, z.B hier (http://elmicro.com/de/avrjtag.html). Inwiefern die was taugen kann ich nicht sagen, bisher hast du ja anscheinend keine guten Erfahrungen mit Nachbauten gemacht.

Gruß
elayne

oberallgeier
19.11.2008, 20:41
Hallo elayne,

danke für den Hinweis. Was heisst schon schlechte Erfahrungen - die machen wir doch immer wieder, davon darf man sich nicht abschrecken lassen. Leider ist das JTAG nicht meine Baustelle. Ich habe zwar m16 und m32 hier (RNControl) - und bin auch schon in die JTAG-Falle gestolpert mit JTAGEN, PC2, PC3 und PC5, aber mein Haus- und Hof-Controller ist vorerst immer noch der m168. Doch man kann nie wissen, wozu dieses Wissen gut ist. Übrigens kenne ich den Elektronikladen wohl noch aus der CP/M(Z80)-Zeit, irgendwo liegt im Keller noch ein Trace-80-ICE, bin aber zwischendurch nie wieder über die Leute gestolpert. Na ja, ich bin auch immer eher Elektroniknobody gewesen, blos derzeit begeistert mich das Thema als Freizeitbeschäftigung.