Hallo, nach mehreren kleinen Projekten mit AVR Prozessoren in fertig gekaufter Grundschaltung wollte ich nun mal einen atmega32u4 (der mit USB) auf einem Breakout Board zum Laufen bringen, d.h. 1) er sollte mit 8 MHz schwingen mit dem internen Oszillator 2) er solte sich beim Anschluß an einen PC als unbekanntes USB device melden. Alles weitere dann mit FLIP. Aber er scheint gar nicht anzuschwingen. Während bei einem fertigen Board mit 16 MHz Takt gleich nach dem Einschalten der Stromversorgung auf Kurzwelle 16 MHz ein Trägersignal zu hören ist, höre ich bei meiner eigenen Schaltung bei 8 MHz nichts. Ich könnte mir jetzt einen Oszi kaufen und das Ergebnis bestätigen, scheue jedoch das Invest, weil ich nicht glaube, dass ich den dann in den nä. 12 Monaten nochmal brauchen kann. Weiterhin habe ich folgendes geprüft: - Die Checkliste AVR (http://www.mikrocontroller.net/articles/AVR_Checkliste) hier aus der Site wurde abgearbeitet, soweit zutreffend - alle Spannungsversorgungsanschlüsse am Chip (Vcc, AVCC, GND) sorgfältig angeschlossen, - Abblockkondensator 100nF Keramik direkt am Chip, sowie weitere in den Zuleitungen - Grundschaltung entspricht den Anforderungen - Stromverbrauch des Atmega32u4: 10 mA bei 5V, bei RESET gegen GND 9mA, d.h. bei RESET tut sich etwas - Spannungsversorgung über Labornetzteil mit Strombegrenzung Meine Einschätzung: Selbst wenn die Grundschaltung bzgl USB nicht ganz der empfohlenen Art entsprechen würde, so müsste der Prozessor mit dem internen Oszillator wenigsten anschwingen, oder? Wie könnte man noch prüfen, ob der AVR schwingt? und Habt Ihr eine Idee, wie man weiter vorgehen könnte? besten Dank für Tipps NewBie20140506
Hallo, da verwende ich manchmal ein Kurzwellen Radio. Viel Erfolg JB
Vielleicht mal einen Programmier-Adapter dran anschliessen und benutzen?
NewBie schrub: >Ich könnte mir jetzt einen Oszi kaufen und das Ergebnis bestätigen, >scheue jedoch das Invest, weil ich nicht glaube, dass ich den dann in >den nä. 12 Monaten nochmal brauchen kann. Einen Oszi kann man immer gebrauchen, bei jedem Wetter. >Wie könnte man noch prüfen, ob der AVR schwingt? Kommst Du noch mittels Programmiergerät auf den Kontroller "drauf"? Falls ja, dann muß irgendjemand den Takt erzeugen, sonst kämst Du nicht dran. Du kannst dann anhand der gesetzten Fusebits sehen, ob der Takt intern erzeugt wird, oder ob er den Quarz draußen dran benutzt. Mach doch dann probeweise einen Leuchtidioten mit Vorwiderstand an einen der Portpins und laß ihn blinken. Da siehst Du ja mit bloßem Auge, ob der Takt der erwartete ist. MfG Paul
:
Bearbeitet durch User
Hallo NewBie20140506, Du musst immer einen 16MHz Quarz verwenden/ verbauen, steht so im Datenblatt. Sonst kommst Du per USB-Bootlader nicht an den atMega32U4 - das ist der Defaultmode. Verwendest Du den "Zugang" per ISP, dann ist auch ein Quarz+ 2Cs anzuschließen und noch einige Klimmzüge mit den Fuses notwendig, um den HWD-Bootloader zu deaktivieren. Wieso stören Dich die 16MHz ? Dort liegt doch kein AFU Band. Sonst verbaue einen CLC-Filter für Gleichtakt- und einen für Gegentaktstörungen. Was das ist ? --> www.dg0sa.de
:
Bearbeitet durch User
NewBie20140506 schrieb: > 1) er sollte mit 8 MHz schwingen mit dem internen Oszillator > 2) er solte sich beim Anschluß an einen PC als unbekanntes USB device > melden. Alles weitere dann mit FLIP. USB läuft meist mit 12MHz-Quarz. Mit internem Oszillator, ohne Quarz, möglich??? Wenn ein noch so primitives Programm läuft (LED-blink) braucht es den Takt dazu. Oszi ist nicht unbedingt nötig, um rauszukriegen, ob Takt da ist. Bei laufendem Programm an die Quarzanschlüsse tasten (mit Pfote an Messpitze) der Quarz hört vor Schreck auf zu schwingen, das zeigt ob der Quarz dran beteiligt ist. im oberen Schaltbild ist anscheinend ein Keramikresonator gemeint. Mit einem Quarz braucht man noch zwei 22pF-Kondensatoren für die Schwingschaltung an X1 und X2, siehe Datenblatt. Da Du andre Kontroller hast, mit denen an einem Pin Takt ausgeben, den als externen Takt an Deinen atmega32U4 weitergeben. Also mit Fremdtakt erst mal klären obs am Takt liegt. Da Du eine funktionierende Schaltung hast, dort den Quarz anschließen, evtl. dazu nötige fuses einstellen, gehts dann? Schon mal geschaut, ob Die fuses überhaupt für Quarz passen?
Ach ja, hier noch ein Nachtrag, wie man es richtig macht: Atmega32U4-Breakout-Board http://dokuwiki.ehajo.de/bausaetze:display-adapter
Immer dieses Rumraten! der atMega32u4 läuft per Default nur mit einem 16MHt Quarz und unterstützt dadurch den HWD USB Bootloader. Ist halt anders, als die normalen atMega - RTFM .
1 | Um den Chip in den Bootloader zu bekommen müssen vier Pins überbrückt werden. |
2 | * HWB-Pin (PE2) gegen GND brücken und gebrückt lassen |
3 | * Reset-Pin kurz gegen GND brücken und somit einen Reset auslösen |
4 | * Chip startet im Bootloader und wird als Atmega32U4 angezeigt |
Dank an alle, ich habe - während ich auf Eure Antworten gewartet habe - noch ein wenig an der Schaltung gearbeitet, aber keinen Erfolg gehabt. Die Stromaufnahme der Schaltung schwankte je nach dem, wo ich meine Hand hielt, ohne je ein metalliasches Teil zu berühren, also kapazitive Effekte. Das bedeutet, dass da schon etwas schwingt, aber ungleichmäßig und ungewollt. Ich glaube, dass der Hinweis von der Küste (Uwe S.) der am meisten zielführende ist, also ich meine jetzt nich RTFM (der auch :-)) sondern der auf Seite 28 des ATMEGA32u4 Handbuches: 6.2.1 Default Clock Source ATmega16U4 and ATmega32U4 The device is shipped with Low Power Crystal Oscillator (8.0MHz-16MHz) enabled and with the fuse CKDIV8 programmed, resulting in 1.0MHz system clock with an 8 MHz crystal. (...) Der Chip wird mit einer Einstellung ausgeliefert, die an XTAL1/2 einen Quarz zzgl. Beschaltung erwartet. Und weiter schließe ich aus Uwe S. Bemerkung, dass es ein 16 MHz Quarz sein muß wegen der USB Taktung. Ich werde also einen 16 MHz Quarz anschließen und weiter testen. PS: der Grund den Quarz wegzulassen war, dass es dann drei Bauteile weniger sind und weil es in meiner Anwendung nicht auf zeitliche Konstanz und nicht auf übermäßige Geschwindigkeit ankommen wird. Naja, dazugelernt. Beste Grüße aus Mitteldeutschland NewBie20140506 PS Die Idee mit dem externen Takt fand ich auch gut, wäre dann der nächste Schritt, wenn das mit dem Quarz allein nicht klappt. ...Aber an die Fuses zur Einstellung von external Clock komme ich ja nur, wenn der Quarz schwingt... trotzdem Dank!
Die Atmel-Controller mit USB-Controller laufen mit 8 und 16MHz an. Ohne den Quarz kommst du auch nicht per ISP auf den Chip drauf um ihn auf den internen Quarz umzuprogrammieren. Das hat Atmel ganz toll gemacht. Du kannst ihn dann aber (wenn der Chip mal anläuft) per FLIP und USB programmieren.
Hi! Feedback: Nach dem Anschluß eines Keramik Resonators mit 16 MHz lief der Prozessor, und ich konnte per FLIP auf ihn zugreifen und erste compilierte Programme laufen lassen, indem ich das beim Kompilieren erzeugte *.hex File mit dem Bootloader hochgeladen habe. Steht zwar gelegentlich hier im Formu, aber zur Hilfe für andere: Um den Chip in den Bootmodus zu bekommen, muß man den PIN PE2 (HWB), HWB - HardWareBoot auf Masse setzen, dann den Chip mit Reset kurz zurücksetzen. Alles weiter dann mit Flip. Leider klappt das Hochladen eines HEX Files (d.h. des kompilierten Codes) nur beim ersten Mal. Danach meldet FLIP Device Protection Set, ich habe mich so beholfen, dass ich den ganzen Flash Speicher mit FLIP gelöscht habe und dann erst das neue Programm geladen habe. Ist sicher nicht im Sinne des Erfinders.. aber es funktioniert. Dank an Alle für die Unterstützung. PS Es gibt es neues Problem, dass ich gerne unter "Fuse Bits lesen/ setzen beim atmega32u4 ohne Programmer?" diskutieren möchte.
Guten Morgen, NewBie20140506 schrieb: > PS Es gibt es neues Problem, dass ich gerne unter "Fuse Bits lesen/ > setzen beim atmega32u4 ohne Programmer?" diskutieren möchte. Ein ISP Programmer ist dein Freund. http://www.ehajo.de/baus%C3%A4tze/programmieradapter
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.