Forum: Mikrocontroller und Digitale Elektronik Atmega32 mit Arduino IDE und USBasp programmieren


von Markus (Gast)


Lesenswert?

Hallo,

ich würde gerne meinen Atmega 32 mit der Arduino IDE über einen USBasp 
programmieren. Hab schon meine Atmega 8 so programmiert, was eigentlich 
auch angenehm funktioniert hat.
Das Problem:
Der Atmega 32 ist kein vorinstalliertes Board. Ich muss ihn im 
Boardverwalter irgendwie hinzufügen.

Was ich probiert habe, um es selbst zu lösen:
Erstmal nachgeschaut wie ich denn so ein Board hinzufüge. Hab mich dann 
an diesen Instructables Article gehalten 
(https://www.instructables.com/id/Using-Atmega32-with-Arduino-IDE/)
Also zuerst die ZIP File runtergeladen, extrahiert. Dann die Infos für 
den Atmega32 in der Arduino Boards Datei unten drangehängt (einfach 
reinkopieren?). Dann noch im variants Ordner von Arduino einen für den 
Atmega 32 erstellt und die pins_arduino datei reingemacht. Dann die 
Arduino IDE neu gestartet. Hat an sich funktioniert, ich kann jetzt im 
schonmal den Atmega 32 bei den Boards auswählen.
Gut, dann also ein kurzes Blink example geschrieben und versucht 
hochzuladen. Folgende Fehlermeldungen beim kompilieren:

Warning: Board arduino:avr:mega32-16 doesn't define a 'build.board' 
preference. Auto-set to: AVR_MEGA32-16
Warning: Board arduino:avr:mega32-1 doesn't define a 'build.board' 
preference. Auto-set to: AVR_MEGA32-1
Warning: Board arduino:avr:mega32-8 doesn't define a 'build.board' 
preference. Auto-set to: AVR_MEGA32-8

kompilieren tuts aber anscheinend, da

Der Sketch verwendet 834 Bytes (2%) des Programmspeicherplatzes. Das 
Maximum sind 32000 Bytes.
Globale Variablen verwenden 9 Bytes des dynamischen Speichers.

Dann kommt:

Fehler beim Hochladen: Konfigurationsparameter 'upload.tool' fehlt

Hab n bisschen im Internet dann rumgeschaut. Anscheinend sind die Infos 
über den Atmega32 aus dem Instructables für die Boards.txt Datei 
veraltet und müssten noch leicht modifiziert werden, aber dazu bin ich 
alleine nicht in der Lage.

Vielleicht kann mir ja jemand helfen

von Einer K. (Gast)


Lesenswert?

Hier findest du die  Spezifikation, wie man eigene Boards erstellen 
kann.
https://arduino.github.io/arduino-cli/platform-specification/

'upload.tool' dürfte auch bei dir der AVRdude sein.
Und einen Boardbezeichner wird du ja wohl vergeben können.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

gibt es schon fertig.  :-)

Mach deine .zip Geschichte erstmal rückgängig.
Dann lieste dir das durch und hälst dich an die Beschreibung. Ganz easy.
https://github.com/MCUdude/MightyCore
Du kannst dir auch eine Portable IDE einrichten. Meinetwegen für jeden 
Controller eine Eigene.
https://www.arduino.cc/en/Guide/PortableIDE

von Markus (Gast)


Lesenswert?

Das ging ja wieder fix mit den Antworten. Vielen Dank schon mal.

Arduino Fanboy D. schrieb:
> Hier findest du die  Spezifikation, wie man eigene Boards erstellen
> kann.

Werde ich mir auch mal anschauen.

Veit D. schrieb:
> https://www.arduino.cc/en/Guide/PortableIDE

Genau sowas habe ich gesucht.
Also alles entsprechend ausgewählt, externe 8 Mhz. Jetzt die Frage: 
USBasp(MightyCore) oder USBasp slow (MightyCore)?. Funktioniert auf 
jeden Fall bei beiden nicht.

avrdude: warning: cannot set sck period. please check for usbasp 
firmware update.

Also, laut arduino IDE ist das Hochladen trotzdem abgeschlossen, aber 
der mc tut nicht was er soll.

 Ich vermute, dass ich irgendwo was falsch verkabelt habe. Bin alles mim 
Durchgangsprüfer durch und es sieht jetzt so aus. Wenn ich den USBasp 
verbinde, ist ein kurzschluss zwischen RESET und GND. Wenn ich ihn nicht 
verbinde, weder auf meiner Platine noch auf dem USBasp. Ist das normal, 
oder stimmt was an meine Platinen/Programmer Schnittstelle nicht?

von Markus (Gast)


Lesenswert?

Hab glaube den Übeltäter gefunde. Mein Pull up Widerstand ist zwischen 
GND und RESET und nicht zwischen VCC und RESET.

von Auf die Dauer hilft nur Pauer (Gast)


Lesenswert?

Markus schrieb:
> Ist das normal,
> oder stimmt was an meine Platinen/Programmer Schnittstelle nicht?

Ja, das ist normal, wenn die Verdrahtung nicht stimmt.
:)

Du brauchst einen Brenner mit stärkeren Treibern und ein separates 
Netzteil, das mehr als 5 Ampere liefern können muss. Da kann man dann 
hören , was nicht stimmt.

von Markus (Gast)


Lesenswert?

Markus schrieb:
> Hab glaube den Übeltäter gefunde. Mein Pull up Widerstand ist zwischen
> GND und RESET und nicht zwischen VCC und RESET.

Ne, war schon richtig verkabelt :/

von Markus (Gast)


Lesenswert?

Muss ich AVCC auch irgendwie anschließen? Man hat mir mal gesagt, das 
sein nicht nötig.

von Markus (Gast)


Lesenswert?

Auf die Dauer hilft nur Pauer schrieb:
> Du brauchst einen Brenner mit stärkeren Treibern und ein separates
> Netzteil, das mehr als 5 Ampere liefern können muss. Da kann man dann
> hören , was nicht stimmt.

Theoretisch ja, aber der Druchgang besteht nur, wenn der USBasp mit dem 
mc verbunden ist und auch Strom an ist. Wenn der USBasp an den mc 
angeschlossen ist aber nicht an den Laptop ist keine Kurzschluss. :/

von Veit D. (devil-elec)


Lesenswert?

Hallo,

AVCC gehört auch angeschlossen. Wenn du keine analogen Messungen machst, 
reicht hart auf VCC klemmen. Ansonsten mindestens Abblockkondensator, 
den würde ich persönlich immer rantüteln, noch besser mit zusätzlichen 
10µH Filter laut AppNote bzw. Manual. Zumindestens kleiner Ferritbead.

von Markus (Gast)


Lesenswert?

ok, dann werde ich das später noch verlöten. Kondensator ist schon dran, 
Induktivität jetzt nciht, aber das wird dneke ich nicht nötig sein.

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
Noch kein Account? Hier anmelden.