Hallo! Ich habe eine Leiterplatte mit AtMega32U4 und schaffe es nicht in den Bootloader modus zu kommen. Windows erkennt kein neues Gerät. Woran könnte das liegen? Einen Verdacht habe ich schon, ich habe einen Quarz angeschlossen, und AFAIK müssen erst die fuse bits umgestellt werden, damit der auch verwendet wird. Aber müßte Windows den AtMega nicht trotzdem (also selbst mit aktiviertem internen Zeitgeber)als neues Gerät erkennen?
:
Bearbeitet durch User
Hi, Was für eine ominöse Leiterpalate ist das denn wo Windows einen AVR erkennen soll? Wie ist diese am PC angeschlossen? Gruß Andreas
Philipp K. schrieb: > Der TO meint bestimmt den integrierten DFU Bootloader. > > http://www.atmel.com/Images/doc7618.pdf Wußte gar nicht, daß die schon einen Bootloader drauf haben. TO: Ich denke mal, die fuses müssen erst umgestellt werden. Boot reset fuse und vermutlich auch der Takt. Bin jetzt aber zu faul das DB zu lesen. Das überlasse ich dann Dir. Gruß Andreas
Philipp K. schrieb: > Der TO meint bestimmt den integrierten DFU Bootloader. > > http://www.atmel.com/Images/doc7618.pdf Ganz genau! Und in dieser Application Note http://www.atmel.com/images/doc7769.pdf steht man soll den Pin "HWB" und den Pin "RST" nach Masse ziehen um in den bootloader modus zu kommen. Auch das habe ich versucht, leider ohne Erfolg. Ich habe schonmal die Spannung gemessen, die Schaltung hat korrekte Spannung (5.15 v von USB), also das ist schonmal in Ordnung. @Andreas Ja, die Leiterplatte ist über USB an den PC angeschlossen. Und ja, die AtMega32U4 kommen ab Werk mit einem Bootloader und auch die HWBE fuse ist per default enabled, d.h. mittels oben beschriebener Methode sollte man in den bootloader modus zu kommen. Ich habe den Quarz im Verdacht, kann der den AtMega hindern einen Mucks von sich zu geben? USB soll ja mit dem ungenauen internen Taktgeber nicht gut zusammenarbeiten ... Das ist auch der Grund weshalb ich überhaupt einen 16MhZ Quarz anschliessen muss ..
:
Bearbeitet durch User
Rein Schaltungstechnisch braucht es ja nur das die 22Ohm Widerstände am USB sitzen. Wenn dann BOOTRST stimmt sollte das schon klappen, ist bei mir schon etwas her. Oder versuchst ein Sprung vom ausführenden Programm in den Bootloader. Regular application execution: A jump or call from the user application program. This may be initiated by a trigger such as a command received via USB, USART or SPI and decoded by the application.
Hallo Phillip! Ja, so habe ich es auch in Erinnung, daß die beiden data line termination resistors genügen um Windows mitzuteilen "hier hängt ein Gerät am USB-Port!". Leider tut sich in Windows nix. Ich möchte nur in den bootloader modus um eine Firmware aufzuspielen.
:
Bearbeitet durch User
Frank K. schrieb: > Den ISP-Port hast Du nicht herausgeführt? Sehr dumm! Nett, dass du deinen Beitrag gleich selbst bewertest.
Bernd schrieb: > Frank K. schrieb: >> Den ISP-Port hast Du nicht herausgeführt? Sehr dumm! > > Nett, dass du deinen Beitrag gleich selbst bewertest. Nun falls das mit dem ISP stimmt, hat er schon recht. Allerdings sagt man ja landläufig es gibt keine guten oder schlechten (dummen) Entscheidungen. Alles was es gibt sind Konsequenzen.
:
Bearbeitet durch User
Also auf Werksseitige default Fuses kann man sich nicht verlassen. Diese Erfahrung habe ich schon mehrmals machen müssen.
Was für einen Quarz hast Du denn dran? Wenn Du keinen 8, oder 16MHz dran hast, dann löte den mal ab und versuchs nochmal.
Frank K. schrieb: > Den ISP-Port hast Du nicht herausgeführt? Sehr dumm! > > fchk Wieso? Wenn man den Die Beschaltung so aufsetzt wie das der USB Bootloader haben möchte, dann gibt es auch keine Probleme. Das Problem ist meistens der Quarz (wegen dem prescaler).
Bülent C. schrieb: > Was für einen Quarz hast Du denn dran? > Wenn Du keinen 8, oder 16MHz dran hast, dann löte den mal ab und > versuchs nochmal. Das bringt nichts. Wenn der auf externen Quarz steht und Du machst den weg, dann passiert nichts (und das meine ich auch so).
Andreas B. schrieb: > Bülent C. schrieb: >> Was für einen Quarz hast Du denn dran? >> Wenn Du keinen 8, oder 16MHz dran hast, dann löte den mal ab und >> versuchs nochmal. > > Das bringt nichts. Wenn der auf externen Quarz steht und Du machst den > weg, dann passiert nichts (und das meine ich auch so). Da wäre ich mir nicht so sicher. Der To hat nicht angegeben welchen ATmega32U4 er nutzt, denn es gibt welche die als default den internen Taktgeber nutzen. Ansonsten muss er einen 8 oder 16Mhz dran haben. Wenn das gegeben ist, dann hat er ein ganz anderes problem. ISP und Fuses sind erstmal unwichtige Themen!
Ist das ein Board was Du selbst gebaut hast oder ist das eins von den billigen China-Arduino-Pro-Micro-Clonen mit dem atmega32u4 oder sonst was von jemand anders gekauftes? Ich frage, weil auf besagte Pro-Micros ein anderer Bootloader draufgeflasht wurde und insofern vielleicht nicht klar ist, ob HWB wirklich das tut was es soll... Ansonsten wäre ein Schaltplan hilfreich. Viele Grüße, Simon
Bülent C. schrieb: > Andreas B. schrieb: >> Bülent C. schrieb: >>> Was für einen Quarz hast Du denn dran? >>> Wenn Du keinen 8, oder 16MHz dran hast, dann löte den mal ab und >>> versuchs nochmal. >> >> Das bringt nichts. Wenn der auf externen Quarz steht und Du machst den >> weg, dann passiert nichts (und das meine ich auch so). > > Da wäre ich mir nicht so sicher. Der To hat nicht angegeben welchen > ATmega32U4 er nutzt, denn es gibt welche die als default den internen > Taktgeber nutzen. Dann stört der Quarz aber auch nicht. Was default fuses betrifft, habe ich schon weiter oben meine Anmerkung dazu gemacht. > Ansonsten muss er einen 8 oder 16Mhz dran haben. Wenn das gegeben ist, > dann hat er ein ganz anderes problem. 8 Mhz macht der interne Oszillator auch. > ISP und Fuses sind erstmal unwichtige Themen! Nein, denn genau so stellt man ein, ob ein Quarz dranhängt oder der interne RC Oszillator verwendet wird. Gruß Andreas
Hallo! langsam, langsam, so schnelle komme ich kaum mit. zum Thema ISP: through hole pads für ISP habe ich schon, leider noch keinen ISP programmer, bis ich den bekomme kann noch dauern! Zum Thema Quarz: ich habe einen 16Mhz Quarz dran zum Thema PCB: die habe ich selbst geschustert, qualität ist in ordnung denke ich zum thema clock fuse: wenn ich mich nicht arg irre, dann ist beim AtMega32u4 per default der internen zeitgeber aktiviert, was ja auch sinn ergibt. Soll ich den Quarz mal ablöten wie Bülent vorschlägt? Klingt mir plausibel, ausprobieren kann ich es ja mal!
:
Bearbeitet durch User
Andreas B. schrieb: > Dann stört der Quarz aber auch nicht. > Was default fuses betrifft, habe ich schon weiter oben meine Anmerkung > dazu gemacht. Richtig, dann weist er aber das er so einen uC besitzt, welches als Default den internen verwendet. Andreas B. schrieb: > 8 Mhz macht der interne Oszillator auch. EBEN! Und wenn einen uC hat der als default einen externen taktgeber hat, bringt der interne 8MHz nichts, wenn er einen 12MHz dran hat! Andreas B. schrieb: > Nein, denn genau so stellt man ein, ob ein Quarz dranhängt oder der > interne RC Oszillator verwendet wird. Ja, wenn man was anderes beschaltet als der default es hergibt. Im Idealfall hält man sich an die Default's.
Claudio S. schrieb: > Soll ich den Quarz mal ablöten wie Bülent vorschlägt? Klingt mir > plausibel, ausprobieren kann ich es ja mal! Wenn schon ein 16MHz dran hängt, hast Du ein anderes Problem!
Bülent C. schrieb: > > Ja, wenn man was anderes beschaltet als der default es hergibt. Im > Idealfall hält man sich an die Default's. Und genau die stimmen eben nicht immer.
Oh man, endlose Diskussionen, ohne wirklich Fortschritte erzielen zu können! Simon B. schrieb: > Ansonsten wäre ein Schaltplan hilfreich. Der Schaltplan ist das allererste, was ich im ersten Posting erwarten würde, das ist doch die Basis! Und Fotos der Platine gleich dazu posten. Alles andere ist doch nur runstochern im Nebel...
Guten Tag, ich verwende mehrfach das Atmega32U4 Breakout-Board von Hannes. http://www.ehajo.de/boards/atmega32u4-breakout-board.html http://dokuwiki.ehajo.de/bausaetze:display-adapter Der auf LOW zu legende Pin für den HW-Bootloader ist im Datenblatt des Atmega32U4 beschrieben. /Hannes hat das nun auch in seinem Wiki hinterlegt:/ /Um den Chip in den Bootloader zu bekommen müssen vier Pins überbrückt werden./ /HWB-Pin (PE2) gegen GND brücken und gebrückt lassen/ Reset-Pin kurz gegen GND brücken und somit einen Reset auslösen Chip startet im Bootloader und wird als Atmega32U4 angezeigt Der Quarz und somit der AVR µC Takt muss zwingend 16MHz betragen, sonst funktioniert USB und somit der Bootloader nicht. *USB Clock – clk USB* /The USB hardware module needs for a 48 MHz clock. This clock is generated from the on-chip PLL./ /The output of the PLL passes through the PLL Postcaler where the frequency can be either divided by 2 or directly connected to the clk USB signal./ Die Testplatinen Atmega32U4 waren noch mit 8MHz bestückt. Ich habe den Atmel Bootloader auf meinen Boards gegen einen anderen (aus dem Lufa Prohjekt) ausgetauscht, da ich zu dieser Zeit unter Linux keinen Zugriff auf einen Client hatte.
Hier ist der Schaltplan im Anhang als PNG. @Karl. M. Ja, ich habe das bei Hajo auch gelesen. Was muss ich nun tun?
:
Bearbeitet durch User
R1 und R2 sollten 22Ohm sein. Passen die C's für den Quarz, 10nF kommt mir wenig vor?
Aus Paranoiagründen würde ich dem Reset einen Pullup spendieren. Und steht da "220" bei den USB-Serienwiderständen? Das dürfen nur 22 Ohm sein. Oder ist das ein etwas undeutliches "22Ω" ? Viele Grüße, Simon
Hallo, bei SMD Widerständen gilt: 22,0 Ω = 220 Ω = 22 * 10⁰ Ω = 22 * 1 Ω ! Ok?
:
Bearbeitet durch User
Uwe S. schrieb: > bei SMD Widerständen gilt: 22,0Ω = 220 = 22 * 10⁰ = 22 * 1 ! Achso. Und dass das SMD-Widerstände sind erkennt man daran, dass im Schaltplan keine Farbstreifen eingezeichnet sind, richtig? Grüße, Simon
Hallo! Die data line termination resistors sind 22 Ohm. Vielleicht sollte ich das "O" für Ohm besser weg lassen, weil es mit einer Null verwechselt wird. OK. Die Kondensatoren sind 10 Picofarad für den Quarz. Ansonsten 1 Microfarad und 0.1 Microfarad. Habe da das Zeichen "µ" genommen. Die Grundschaltung mitsamt allen Werten für Widerstände und Kondensatoren habe ich komplett übernommen von dem bekannten Mikrocontroller-Board "Teensy2.0".
:
Bearbeitet durch User
Claudio S. schrieb: > Hier ist der Schaltplan im Anhang als PNG. > > @Karl. M. Ja, ich habe das bei Hajo auch gelesen. Was muss ich nun tun? Dir ist klar, das Deine Schaltung immmer in den USB Bootloader gehen würde, oder?
Claudio S. schrieb: > Hallo! Die data line termination resistors sind 22 Ohm. Vielleicht > sollte ich das "O" für Ohm besser weg lassen, weil es mit einer Null > verwechselt wird. OK. > > Die Kondensatoren sind 10 Picofarad für den Quarz. Ansonsten 1 > Microfarad und 0.1 Microfarad. Habe da das Zeichen "µ" genommen. > > Die Grundschaltung mitsamt allen Werten für Widerstände und > Kondensatoren habe ich komplett übernommen von dem bekannten > Mikrocontroller-Board "Teensy2.0". Wie lautet die genaue Bezeichnung vom Quarz?
Claudio, ob Du nun 10pF - 27pF für die Quarzbürde benötigst hängt von deinem Quarz und den internen Kapazitäten des 32U4 ab. Schwingt der Quarz ?
Bülent C. schrieb: > Dir ist klar, das Deine Schaltung immmer in den USB Bootloader gehen > würde, oder? Hallo Bülent. Ist mir leider nicht klar, woran liegt das? Der Quarz ist der hier: http://www.mouser.de/ProductDetail/ABRACON/ABL-16000MHZ-B2/?qs=%2fha2pyFaduhWDOxvOfdZuHIW%2fCAw6yjrzrIvW8EcuFcg%252bAF73ia6%252bA%3d%3d Uwe S. schrieb: > Schwingt der Quarz ? Kann ich nicht sagen.
:
Bearbeitet durch User
Claudio S. schrieb: > Bülent C. schrieb: >> Dir ist klar, das Deine Schaltung immmer in den USB Bootloader gehen >> würde, oder? > > Hallo Bülent. Ist mir leider nicht klar, woran liegt das? Der Quarz ist > der hier: > http://www.mouser.de/ProductDetail/ABRACON/ABL-16000MHZ-B2/?qs=%2fha2pyFaduhWDOxvOfdZuHIW%2fCAw6yjrzrIvW8EcuFcg%252bAF73ia6%252bA%3d%3d > > Uwe S. schrieb: >> Schwingt der Quarz ? > Kann ich nicht sagen. Nun da ist ein Widerstand nach Masse (GND) eingezeichnet. So viel solltest Du schon Wissen.
Bülent, du meinst HWB mit 1k nach Masse? Ja, aber das ist hier auch so: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/Arduino/Boards/Teensyschematic2.gif Soweit ich das verstehe muß HWB und RST auf Masse gezogen werden um in den Bootloader zu kommen. HWB auf Masse tut da noch nix, oder?
:
Bearbeitet durch User
Ich habe den HWB Widerstand mal ausgelötet. Jetzt floated HWB, aber das hat das Problem auch nicht gelöst. Auch das Auslöten vom Quarz nicht.
Claudio S. schrieb: > Ich habe den HWB Widerstand mal ausgelötet. Jetzt floated HWB, aber das > hat das Problem auch nicht gelöst. Auch das Auslöten vom Quarz nicht. Sind ja noch ein paar Bauteile übrig zum auslöten. Immer weiter machen!
Claudio S. schrieb: > Bülent, du meinst HWB mit 1k nach Masse? Ja, aber das ist hier > auch so: > http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev... > Soweit ich das verstehe muß HWB und RST auf Masse gezogen werden um in > den Bootloader zu kommen. HWB auf Masse tut da noch nix, oder? Traue nicht jeder Schaltung die Du irgendwo im Internet findest. Ziehe HWB mit 10k auf High und setzte einen 100nF Kerko nach Masse. Dann packst Du noch einen taster oder Jumper dazu, welches es dann auf Masse zieht. Das gleiche machst Du am besten mit Reset auch, aber idealerweiser mit einem Taster.
Claudio S. schrieb: > Ich habe den HWB Widerstand mal ausgelötet. Jetzt floated HWB, > aber das > hat das Problem auch nicht gelöst. Auch das Auslöten vom Quarz nicht. Ich hatte Dir doch gesagt, das Dein Problem nicht beim Quarz liegt. 16MHz passt
:
Bearbeitet durch User
Claudio S. schrieb: > Bülent C. schrieb: >> Dir ist klar, das Deine Schaltung immmer in den USB Bootloader gehen >> würde, oder? > > Hallo Bülent. Ist mir leider nicht klar, woran liegt das? Der Quarz ist > der hier: > http://www.mouser.de/ProductDetail/ABRACON/ABL-160... > > Uwe S. schrieb: >> Schwingt der Quarz ? > Kann ich nicht sagen. Dann tausche mal die 10pF gegen 20-22pF aus.
Hallo Claudio, vielleicht hilft es. Hier meine Beschaltung welche funktioniert. Allerdings auf einem U2 (das dürfte aber beim U4 nicht anders sein). Grüsse, René
Hallo Bülent. Du hast recht, auf High ziehen wäre wohl besser. Allerdings wird RST und HWB durch einen internen Pull-Up auch hochgezogen, das geht zur Not auch. Bei einem Bekannten funktioniert es und er hat HWB floaten gelassen. (Aber ansonsten hat er auch nicht viel mehr Ahnung wie ich, also fragen kann ich den nix). Die 22pF muß ich erst besorgen bei Conrad Elektronik. Aber danke erstmal, hast mir schon einige wichtige Anstöße gegeben..
:
Bearbeitet durch User
Du könntest testweise mal jeweils einen 10pF huckepack drauflöten, also zwei übereinander.
@Uwe Das ist mal ne pfiffige Idee. Habe auch von den 10pF noch ein paar hier rumliegen.
:
Bearbeitet durch User
Leider wird der Chip auch mit den Huckepack-Kondensatoren nicht erkannt :-(
Wird nichts erkannt, also auch kein fehlerhaftes Gerät im Geräte Manager? Wenn dem sso ist, prüfe mal ob die 5v vorliegen und ob du irgendwo vielleicht einen kurzen hast? BTW, hhattest du den Quarz wieder angelötet?
Ja, Quarz ist wieder dran. Es wird auch kein fehlerhaftes Gerät erkannt. Die 5v Spannung hat er überall dort wo ich Stichproben gemacht habe. Müssten nach Adam Riese nicht schon die beiden 22 Ohm Widerstände an den USB data lines ausreichen, damit ein neues Gerät erkannt wird, ganz egal ob da noch ein AtMega32U4 dranhängt oder nicht? Das verstehe ich nicht ...
:
Bearbeitet durch User
Poste auch mal dein Layout. Und ein scharfes Foto von der Platine.
Hallo Claudio, schau dir mal den Schaltplan des Boards für das Atmeg32U4 Breakoutboard bei Watterott an: http://www.watterott.com/de/ATMEGA8U2-Breakout Ich habe damit mit vor Monaten mal gearbeitet und das Problem war, es gibt einen Bootloader aber leider sind die Fuses falsch gesetzt (Ich glaube auch nicht das der LUFA Bottloader drauf war). Ich kam um einen ISP Programmer nicht herum. Fuses korrigiert und es lief. Gruß, R.
ich würde einfach mal so einen 5€ USBasp Programmer besorgen und die Fuses checken.. Sind dann halt nur 5€ und 4 Strippen um die Fuses einzustellen oder zu lesen.
Hallo! Danke für die Tipps, genau das werde ich machen, ich muß darauf warten, daß der ISP programmer hier ankommt, denn sonst kann ich keine fuses setzen. Übrigens, auf dem Schaltplan von dem Waterott-Board sind 8pF am Quarz, und HWB ist direkt an Masse angeschlossen. Ich dachte das soll nicht? http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev/AVR/32U4_Breakout-v11.pdf
:
Bearbeitet durch User
Claudio S. schrieb: > Es wird auch kein fehlerhaftes Gerät erkannt Schonmal anderen USB Port probiert? Oder Kabel, sofern ueber ein Kabel angeschlossen wird.
Ja, habe es an verschiedene Ports, Kabel, und auch verschiedene Betriebssystem angeschlossen.
Guten Morgen, Claudio S. schrieb: > > Übrigens, auf dem Schaltplan von dem Waterott-Board sind 8pF am Quarz, > und HWB ist direkt an Masse angeschlossen. Ich dachte das soll nicht? > http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Dev... Und ? kennst Du deren Quarz und die internen Kapazitäten. Wenn nicht, dann ist das kein Grund.
Noch eine Nebenfrage, zu den Data lines. Welche Spannung müßte da idealerweise drauf sein, wenn alles läuft? Ich habe jetzt 1.37v auf D+ und 0v auf D- ...
:
Bearbeitet durch User
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.