Go Down

Topic: Kann ich ein ATMega32 mit dem Arduino UNO bootloaden und programmieren? (Read 5802 times) previous topic - next topic

Theseus

Hier geht es um den Bootloader für die größeren DIP-Atmegas: Arduino support for ATmega16, ATmega164, ATmega32, ATmega324, ATmega644, ATmega1284
Nochmals: Wenn ich hier die Links verfolge, komme ich auf die nötigen Boards TXTs und Cores für die 40pin ATmegas. (https://github.com/mcudude/MightyCore)

Die musst du noch in deine IDE einbinden.

Ich habe einfach mal die Standard IDE-Dateien gegen die Dateien ausgetauscht (vorher Sicherheitskopie) und schon kannte die IDE den ATmega32. Man muss etwas feinfühliger vorgehen, damit sie nicht die normalen Arduinos dabei vergisst.

xJan45x

Nochmals: Wenn ich hier die Links verfolge, komme ich auf die nötigen Boards TXTs und Cores für die 40pin ATmegas. (https://github.com/mcudude/MightyCore)

Die musst du noch in deine IDE einbinden.

Ich habe einfach mal die Standard IDE-Dateien gegen die Dateien ausgetauscht (vorher Sicherheitskopie) und schon kannte die IDE den ATmega32. Man muss etwas feinfühliger vorgehen, damit sie nicht die normalen Arduinos dabei vergisst.
Hallo nochmal!

Ich habe nun in meiner IDE die ganzen Boards. Ich hätte noch 3 Fragen wäre echt cool wenn du mir da auch nochmal helfen könntes:
1) Muss ich denn Atmega32 genauso anschließen wie auf diesen Bild?:
http://fritzing.org/media/fritzing-repo/projects/t/the-atmega32l-programming-the-beast/images/Atmega32lProgramming.png

2) Muss das Arduino ISP Sketch auf denn Atmega328p geladen werden der auf denn UNO im Sockel sitzt?

3) Muss man das in etwa so machen:
- UNO Board auswählen und AVRISP mkII und richtigen Port
- Arduino ISP Sketch auf denn Atmega328p(Der auf dem Sockel des UNO ist, Oder muss garkein Sektch hochgeladen werden? Und somit auch kein Prozessor im Sockel des UNOs stecken) hochladen
- RESET, MOSI, MISO und SCK anschließen an denn Atmega32.
- Board auf ATMega32 wählen und Clock auf 16 Mhz external(BOD 2.7V)
- Und dann Burn Bootloader

Mfg jan.

combie

Wer seine Meinung nie zurückzieht, liebt sich selbst mehr als die Wahrheit.

Quelle: Joseph Joubert

Theseus

Das ISP-Sketch kommt auf den 328 des Unos. Der wird mit dem Atmega32 verbunden. Der Uno arbeitet dann als ISP-Programmierer.

Ob die gezeichnenete Grafik richtig ist, weiß ich nicht. Aber solange man keine Kurzschlüsse baut oder völlig abwegige Pins verbindet, kann nicht viel kaputt gehen- es funktioniert höchstens nicht.
Vom Eindruck her, würden mir Abblockkondensatoren fehlen. Falls der 32 nicht auf internen 8Mhz-Oszillator steht und so weiterhin laufen soll, fehlt ein Quarz. Ich würde mich an Schaltungen für den Stand-Alone 328 orientieren (Beispiel).

xJan45x

Das ISP-Sketch kommt auf den 328 des Unos. Der wird mit dem Atmega32 verbunden. Der Uno arbeitet dann als ISP-Programmierer.

Ob die gezeichnenete Grafik richtig ist, weiß ich nicht. Aber solange man keine Kurzschlüsse baut oder völlig abwegige Pins verbindet, kann nicht viel kaputt gehen- es funktioniert höchstens nicht.
Vom Eindruck her, würden mir Abblockkondensatoren fehlen. Falls der 32 nicht auf internen 8Mhz-Oszillator steht und so weiterhin laufen soll, fehlt ein Quarz. Ich würde mich an Schaltungen für den Stand-Alone 328 orientieren (Beispiel).
OKay danke.
Ich wiederhole nochmal nur damit ich das auch richtig verstehe.

Auf das UNO Board kommt ein ATMega328P auf diesen Lade ich das Arduino ISP Sketch.

Dann stelle ich auf "Arduino as ISP" und das Board auf "ATMega32" und denn Clock auf "16 mhz external"

Schließe alle Kabel an(Also, 13, 12, 11 und 10 und diese dann an SCK, MISO, MOSI, RESET)

Brenne denn Bootloader

Und der Atmega328p der auf dem UNO Board ist, ist so zu sagen nur der "Treiber" für das ISP also wenn ich Burnbooter mache wird am Atmega328p nix geändert oder so, oder?

Ich sage schon mal vielen Dank Theseus!

Theseus

So sollte es gehen.

Ja, der Uno bleibt vollkommen im Orginalzustand. Er ist der Programmer zwischen PC und Atmega32.

Wenn du häufiger einen Programmer brauchst, ist einer wie der UsbAsp ganz praktisch.

xJan45x

Jo danke. Werde ich nachher mal ausprobieren. Poste dann mein Ergebnis

xJan45x

Erfolg!

Es hat funktioniert. Falls es jemand intessiert hier ist meine Anleitung wie ich es gemacht habe:

1) AtMega32 auf ein Breadboard aufbauen und anschließen(SCK, MISO, MOSI, RESET, Externer Quarz, Stromversorgung)
2)AtMega328P auf denn UNO setzten
3) Arduino IDE starten
4) Arduino auf "Arduino/Genuino UNO" einstellen und AVRISP mkII und Port wählen
5) ArduinoISP öffnen(Beispiele -> Arduino ISP -> Arduino ISP) und hochladen
6) UNO Board vom Computer trennen
7) Kabel anschließen (+5 Volt -> Acc, Avcc, 0 Volt -> GND, AGND, RESET an RESET, MOSI an Pin 11(Arduino), MISO an Pin 12(Arduino) und SCK an Pin 13 am Arduino Board
8) Board anschließen
9) Arduino auf ATMega32 stellen und richtigen Taktfreuqenz wählen(Bei mir external 16 mhz) und "Arduino as ISP" auswählen
10) Bootloader brennen

11) Ein test Programm hochladen(Ich habe dieses in Ateml Studio programmiert da ich die Arduino IDE zuim programmieren nicht nutze

Mfg Jan

Theseus

Erfolg!

Es hat funktioniert. Falls es jemand intessiert hier ist meine Anleitung wie ich es gemacht habe:
Danke für den Bericht. Dann werde ich mir bei Bedarf auch 40-Pin Atmegas zulegen. Deshalb interessierte mich das Thema so.

Ich sage schon mal vielen Dank Theseus!
Würde mich über etwas Karma freuen ;)

agmue

Erfolg!
Glückwunsch und danke für die Rückmeldung  :)

Bei 4. ist "und AVRISP mkII" m. E. nicht notwendig.
Wahnsinn und Verstand trennt nur eine dünne Wand. (Daniel Düsentrieb)

xJan45x

Okay danke euch allen.

Ausprobieren ist natürlich, auf eigene Gefahr. Es hat bei mir so funktioniert. Es sollte aber auch bei euch funktionieren.

Mfg Jan :)

skorpi080

Atmega 324 und 1284P hab ich auch über Arduino IDE programmiert, allerdings mit einem USBasp Sketche hochgeladen weils einfach einfacher ist.
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Go Up