Hallo liebe Mikrocontroller-Gemeinde, ich habe ein Probelm und hoffe das mir jemand helfen kann. Nach stundenlangen Inet durchforsten brauche ich einfach hilfe von ein paar Profis. Also ich habe den Usbasp von fischl.de gebaut. Allerdings wird dieser von Windows XP nicht erkannt. Es kommt nur die Nachricht von einem Unbekannten USB Gerät. Windows die Treiber von fischl.de rein zudrücken funktioniert auch nicht. Windows sagt das die datei keine Infos zu dem Gerät besitzt. Ich möchte dazu sagen ich habe bereits alle Lötstellen überprüft und einige dennoch nach gelötet. Alle teile sind korrekt ausgewählt und verbaut worden. Beim anschliessen vom Usbasp an USB leuchtet sofort die rote Led. Ich habe per Serial Programmer den Atmega8 mit der neusten Firmware von fischl.de problemlos beschrieben und die Fuses wie es in der Anleitung steht geändert (HFUSE=0xc9 LFUSE=0xef). Also was mir aufgefallen ist wenn ich die Fuses auf HFUSE=0xc9 LFUSE=0xef umgestellt habe gibt der Atmega8 beim auslesen nur noch schrott von sich bzw. die hälfte stimmt nicht mehr vom Inhalt. Beschreiben funktioniert dann auch nicht mehr richtig. Er wird zwar beschrieben aber beim überprüfen der Daten kommt ein Fehler weil sie nicht identisch sind. Stelle ich die Fuses aber wieder auf Default kann ich den Atmega8 ohne Probleme beschreiben und auch auslesen und die Daten stimmen mit der Firmware überein ohne Probleme. Ich würde ja sagen falsche Fuses aber da bin ich mir ganz sicher das die stimmen. Meine Idee wäre nun das ich einen defekten 12mhz Crystal erwischt habe oder so. Hat jemand eine Idee? Würde mich sehr über Hilfe freuen und bedanke mich schonmal bei Allen die versuchen mir zu helfen. MfG Felix
Wie hast du Slow CLK gejumpert? Funktioniert er an einem anderen Rechner auch so/nicht? Mach doch mal ein Bild von der Unter- und Oberseite.
Mal so mal so gejumpert in beiden Fällen das selbe Ergebnis. An meinem Netbook das selbe wie am Desktop Rechner. Bilder versuche ich heute Abend nach zu reichen.
Ok hier sind die Fotos inkl. Eagleboard. Ich hoffe man kann alles erkennen. Ja ich weiss ich bin kein begnadeter Löter aber es funktioniert. Eine blöde Sache hab ich übrigens gerade selber gefunden, der 100nF ist zwar logisch verkabelt aber die Position ist totaler unsinn da bringter nicht so viel. Schade das Eagle einen dadrauf nicht aufmerksam macht. Naja wie auch immer den Löte ich gleich direkt mal direkt in die nähe der Pins vom Atmega8. Man peinlich sowas. Leider kann ich den Quarz nicht wechseln habe keinen 12mhz Quarz mehr und das große C hat auch keine mehr auf Lager bei mir. Wie gesagt mit internem Takt läuft er super (also der Avr nicht der Usbasp) und bei externem Quarz stimmt nur noch ein kleiner teil der Daten die geschrieben oder gelesen werden.
Hmmmm ja ich helf mir hier mal selber. Nachdem ich meinen Flüchtigkeitsfehler korregiert habe und den 100nF Kondensator wo anders hin gesetzt habe und den Quarz etwas tiefer versenkt habe und fast flach auf der Platine aufliegt, funktiert das mist Ding. Naja ok nur kurz. Es kam sofort der Usbasp wurde erkannt, wollte ich die Firmware nochmal sauber drauf machen und die Fuses. Ja beim auslesen und des beschreiben brauchte ich einige Versuche. War irgendwie komisch und hab mir mal die Unterseite angeguckt, dort war etwas ja wie soll ich das beschreiben? Eine Art Krümmel aus Lötzinn (wohl von der Entlötpumpe). Den ich mal einfach mal weggepustet habe. Scheint wohl wo anders wieder gelandet zu sein und nen kurzen verursacht zu haben, weil danach war der Atmega platt. Nochmal alles sauber gepustet kam mir noch son Krümmel von irgendwo unter. Jetzt hoffe ich nur es war der Krümmel und nicht irgendwas anderes. Weil dann einfach neuen Atmega rein und fertig.
Oh damit keiner den Plan oben als Hilfe benutzt stelle ich nochmal das Board ein so wie ich es jetzt habe. Mit dem Board hat es zumindest kurz funktioniert. PS: Ich hätte das gern in meinen Beitrag oben noch eingefügt, aber man kann hier nur max. 15 min. nach abschicken des Beitrags noch Änderungen vornehmen.
Nur so als Info: Ich nutze - einen 1Mega Ohm Widerstand von GND nach D+ - einen 1K Widerstand von +3.3V nach D- (bzw. von +5V nach D- einen 1.5k Widerstand) Mit 2.2k von +5V nach D- funktioniert es bei meinem PC und Laptop nicht.
Danke für die Antwort. Ich hab aus lauter verzweiflung mal den Widerstand auf 1,5K getauscht hat nichts gebracht. Dafür ist der nächste Atmega drauf gegangen beim fuse einstellen. Und nein mit externem Takt widerbeleben hat ihn nicht gerettet. Ich bin nun echt angepisst und hab langsam die Schnauze voll. Ich hatte schon ganz andere Schaltungen, da ist hier die nen Witz gegen aber sie will einfach nicht.
Felix K. schrieb: > Ich hab aus lauter verzweiflung mal den > Widerstand auf 1,5K getauscht hat nichts gebracht. Dafür ist der nächste > Atmega drauf gegangen beim fuse einstellen. Ist eigentlich unmöglich. Du kannst dabei eigentlich nur die Reset-Pin-Fuse (RSTDISBL) gesetzt haben. > Und nein mit externem Takt > widerbeleben hat ihn nicht gerettet. Ich bin nun echt angepisst und hab > langsam die Schnauze voll. Du verlegst Drähte auf der Platine ... (eigentlich richtig) Die Verbindung zu den USB-Pins ist aber recht lang und somit störanfällig. Lege D+ und D- mal direkt (kürzeste Weg von der Schirmung) mit Kabeln zu den 68 Ohm Widerständen auch möglichst nahe an den Pins liegen. Am besten nur maximal 2cm. Ich habe hier zwei Parallelport-Programmer (STK-200), ein USBisp und vier USBasp. Den USBisp nutze ich aber nicht mehr da ich meine WinXP Platte nur noch anstöpsle wenn ich spiele oder TV schauen möchte. Die USBasp laufen unter Ubuntu und WinXP ohne Probleme, macht richtig spaß. Da das so wenige Teile sind mach ich so ein Ding mal so nebenbei ... deshalb habe ich auch schon 4 davon. Vorgehensweise: 1. alle Teile auflöten 2. Parallelprogrammer anstöpseln 3. Fuses für 12MHz setzen (mit AVR8_burn_o_Mat oder PonyProg) (hfuse = 0xC9 , lfuse = 0x9F) und Firmware aufspielen. Nutzung des USBasp und 1MHz Target: 1. Target-Board mit USBasp verbinden 2. USBasp auf slow stellen (Jumper) 3. USB Kabel in den USBasp Programmer stecken 4. In Eclipse (Projekteigenschaften -> AVR -> Target Hardware) überprüfen ob das Targetboard erkannt wird (Load from MCU) 5. Programm auf Target-Board scheiben Ich habe ein USBasp mit Z-Dioden und drei mit 3.3V Spannungsregler (also ohne Z-Dioden), läuft alles sehr gut auch mit dem Laptop. Was auch noch ganz hilfreich ist: - Du solltest auf deiner Platine (dort wo die Bestückungsseite ist) mit einem schwarzen Stift die Drähte die du unten verlegt hast aufmalen, dann ist es nicht so schwierig deine Platine zu kontrollieren um zu sehen ob D+ und D- richtig verlegt worden sind.
Hallo Mike, erstmal vielen dank für deine Hilfe. Das mit den Reset-Pin-Fuse (RSTDISBL) kann schon sein, weil sobald ich die Fuses geändert habe (genauso wie in der Anleitung) spinnt der Atmega schon. Beim auslesen der Fuses kam alles mögliche raus. Das Selbe mit den Daten auf dem Controller. Er schmeisst einfach alles durcheinander sobald er auf externen Quarz eingestellt ist. Ich brauch auch immer 20 Versuche bis er die Fuses wieder auf default stellt. Ab da läuft alles normal. Ich könnte mir also vorstellen das er statt den fuses die ich ihm sage einfach RSTDISBL oder sonst was versteht und setzt. Daher auch kein Wunder das der Controller und Windows sich nicht verstehen, wenn der Controller nur Schrott von sich gibt. Die Sache ist die, warum gibt er nur noch Schrott von sich wenn er auf externen Quarz läuft? Der Quarz selber ist einwandfrei, den hab ich mit einem Attiny2313 ohne Probleme laufen lassen. Wenn das eines meiner RC Modelle wäre würde ich sagen irgendwas stört den Empfang. Als Laie würd ich ja mal drauf tippen das zwischen XTAL1 und XTAL2 zu GND irgendwas nicht stimmt. Da sind aber nur der Quarz und die zwei 22pF Keramik Kondensatoren. Die habe ich übrigens auch schon gegen 2 Brandneue getauscht. Daher sollte ich erstmal keinen weiteren Atmega8 einsetzen. Aber danke für den Tip mit dem Reset-Pin-Fuse, weil das würde erklären warum ich nicht mehr ran komme. Auch gut zu wissen das man das wieder hinbekommen kann. Ok es bringt mir nichts da ich keinen HV Programmer habe, noch eine Parrallel-Schnittstelle. Der Tipp mit dem schwarzen Stift ist echt gut. Ich komm mir nur blöd vor warum ich nicht selber auf sowas gekommen bin. Ach egal nun weiss ich es ja hehe :)
Es könnte an anderen Pegeln der neuen ATMega Serien liegen. Siehe: Beitrag "usbasp mit neuem atmega8 nicht mehr lauffähig"
Laser Phew Phew schrieb: > Es könnte an anderen Pegeln der neuen ATMega Serien liegen. Nein. Der Low-Pegel liegt bei 0.0 bis 0.9V, aber das ist okay. Vielleicht probierst du es mit einer Spannung von 3.3V und lässt die Z-Dioden weg, die sind manch mal für Fehler verantwortlich. Ein kleiner Trick: Wenn V-USB nicht direkt an der USB Schnittstelle vom PC funktioniert dann stöpsle einen USB-Hub (billiger/alter USB 1.1 oder 2.0 Hub) dazwischen und es gibt dann normalerweise keine Probleme mehr mit irgendwelchen Southbridges. Du schützt deinen PC dann auch vor Bastelfehler.
Ich komm ja nicht mal dazu den Usbasp zu testen da er ja schon vorher spinnt. Jedenfalls sobald ich ihn auf externen Quarz umstelle. Müsste der Fehler dann nicht eher irgendwo in der Ecke liegen?
Geh mal zu http://avr8-burn-o-mat.aaabbb.de/ da gibt es auch einen online Programm mit dem du deine Fuse einstellen kannst. Mit welchem Programm / Programmer beschreibst du den USBasp?
Im Moment mit einem Serial Programmer und Pony Prog. Nicht grad das beste aber funktioniert seid einiger Zeit ohne Probleme. Ich wollte aber gern mal einen USB Programmer. Mit dem Serial Programmer kann ich alles probolemlos machen bis jetzt. Egal ob fuses oder sonst was. Die Fuses und die Hardware müssten Problemlos funktionieren, immerhin ist der USBasp von fischl.de ziech 1000 mal erfolgreich gebaut worden. Daher muss es eigentlich bei meiner Hardware liegen aber ich ahbe alle Lötstellen kontrolliert und nachgelötet. Das einzigste was ich am original Design verändert habe waren die Vorwiderstände für die Leds weil ich andere verwende. Zudem natürlich auf Lochraster angepasst.
Felix K. schrieb: > Leider kann ich den Quarz nicht wechseln habe keinen 12mhz Quarz mehr > und das große C hat auch keine mehr auf Lager bei mir. Ein 12MHz Quarz ist zwingend notwendig, um das timing bei USB einzuhalten. Solange du keinen solchen hast, ist jeder Versuch zwecklos.
Schau mal ob dein 12MHz Quarz überhaupt schwingt. Wenn du die Spannung zwischen GND und einem XTal-Pin misst sind das dann in etwa 5V/2 = 2.5V (ich messe bei mir 2.34V) Du kannst auch eine Platine von Chritian Ulrich bekommen: http://www.ullihome.de/wiki/USBAVRLab/ullihome#USB_AVR-Lab Frag ihn mal per Mail ob er dir eine zuschickt, die ist ultimativ klein und auch günstig. (2-3 Euro) Bild: http://shop.ullihome.de/shop/showdetail?Id=1039_3.0 Dein Quarz wird schon nicht defekt sein, aber ich habe hier immer ein paar Standardbauteile (Widerstände, Transistoren, Kondensatoren ... )
Der Quarz geht. Wie ich oben schrieb konnte ich ihn in der Zwischenzeit testen. Ich bin mitlerweile Pleite und kurz vor einem Nervenzusammenbruch. Was ich bräuchte wäre die Plantine vom fischl Usbasp. Die von Chritian Ulrich ist mit SMD das übersteigt meine Fähigkeiten. Dennoch danke für den Tipp. Ich bin pleite, genervt und lasse es sein. Ich kann keinen Fehler finden. Die Lötstellen sind alle ok, mit internen Takt arbeitet der Atmega8 problemlos auf der Platine, alle Widerstäne sind korrekt (nachgemessen), der Quarz funktioniert, alles richtig gepolt eingelötet und so weiter. Das einzigste was ich nicht überprüfen kann sind die 2 Zenerdioden und die Kondensatoren. Die Kondensatoren am Quarz hab ich sogar gegen neue getauscht. Naja ich hab die Schnauze voll und arbeite weiter wie in der Steinzeit mit meinem Serial Programmer. Falls Jemand dennoch eine Idee hat wie ich für max. 1,50 Euro den bestehenden Usbasp zum laufenbringen kann ist herzlich eingeladen mir seine Idee zusagen. Ansonsten bedanke ich mich bei allen die versucht haben mir zu helfen. MfG Lister
Hast du das mal mit dem 3.3V Festspannungsregler probiert? Billige Variante: Du nimmst einen BC547C und einen Poti (10k bis 100k). BC547C: - Kollektor an 5V - Emitter an 3.3V Ausgang - Basis an die Mittelanzapfung des Potis/Trimmers - (optional) zwischen Basis und GND einen kleinen Kondensator Trimmer/Poti: - einen äußeren Pin an +5V und den anderen an GND Du kannst auch Kupferlackdraht oder dünne Kabel (ich habe noch 40 Polige IDE Festplattenkabel) nehmen um die Verbindung zu erstellen. Erst auf 3.3V einstellen, dann die Z-Dioden weglassen, die Widerstände kannst du da lassen. Du kannst auch noch mal die Widerstände (68 Ohm) in der Schaltung nachmessen. Du kannst auch noch die schwarzen Striche auf die Platine zeichnen, das geht auch mit Bleistift.
Ich hab einen Lm317 als einstellbare Spannungsquelle, aber ich hab jetzt mal eine dumme Frage. Wenn ich jetzt mal rein technisch alles vom Board entfernen würde bis auf die Stromleitungen sowie die Programmierleitungen (miso, mosi ect.) und den Quarz sammt Kondensatoren, dann wäre das doch eigentlich eine minimal Schaltung für einen AVR oder? Dann sollte sich doch der Avr ohne Probleme mit dem Quarz Programmieren lassen bzw. mit dem Quarz laufen oder? Mit den 3,3 Volt habe ich es nicht versucht und habe nun auch keinen Atmega mehr zum testen. *Nachtrag: Mir ist gerade aufgefallen das meine Zenerdiode, in der nähe des Quarzes die, evtl. zu nah dran sitzt und sowieso eher nach an den UBS Ausgang gehört?
Richte dich da nach: http://www.workinprogress.ca/wp-content/uploads/vusb_schematic.jpg Vielleicht wäre ein fliegender Aufbau für dich besser, also alle Bauteile passend auf eine Platine legen, GND der Bauelemente die GND haben mit der Platine verbinden und alles andere als Freiluftverdrahtung. Hast du mal einen Oszillator an XTal_1 gehängt?
Ja das mit dem fliegendem Aufbau wäre ne Idee wenn meine Steckplatine größer wäre. Ja ich habe an XTal_1 einen 1Mhz Oszillator gehängt, aber leider nichts gebracht.
Erstmal möchte ich mich bei Allen bedanken die versucht haben mir zu helfen. Das Problem ist gelöst. Und wie? Ich hab einfach einen anderen Programmer genommen. Was etwas kurios ist. Mein aller erster Serialbrenner hat bis jetzt immer alles einwandfrei gebrannt und auch die Fuses zufriedenstellend eingestellt. Nur bei dieser Schaltung des Usbasp wohl nicht ganz so einwandfrei. Mit einem etwas aufwendigerem Serialprogrammer (den mir Jemand geschenkt hat, vielen vielen Dank an der Stelle nochmal) habe ich das Selbe wie vorher schon 100.000 mal mit meinem alten Serial gemacht. Das Programm drauf und Fuses gesetzt und TADA es funktioniert. Ich muss sagen mir ist es echt egal warum es mit einem anderen Programmer ohne Probleme geht und mit dem anderen nicht. Ich hab nun einen super Serial Programmer und meinen Usbasp, von daher bin ich nun zufrieden :) MfG Lister
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.