Forum: Mikrocontroller und Digitale Elektronik Programmierung von Atmega328 mit mySmartUSB light nicht möglich


von Thomas P. (ghost_2303)


Angehängte Dateien:

Lesenswert?

Hy Leute,

Ich möchte gerne einen Atmega328 mit dem mySmartUSB light programmieren. 
Dazu habe ich ein eigenes Programmierboard gelötet. Die Pinbelegung und 
Polarität habe ich bereits mehrmals kontrolliert und diese stimmt.
Ich kann bei Verwendung des myAVR Prog-Tools keinen Controller finden. 
Fuses auslesen und schreiben funktioniert daraufhin natürlich auch 
nicht.
Ich habe bis jetzt Atmega32 und Attiny44 programmiert und hatte keine 
Probleme.

Da ich keine Erfahrung mit Arduino-Boards habe:
Im Artikel des Online-Händlers ist angegeben, dass diese µC einen 
Arduino-Bootloader besitzen, kann dies ein Grund für die Fehlfunktion 
sein?


Vielen Dank im Voraus!

Mfg Thomas P.

: Bearbeitet durch User
von Jan H. (jan_m_h)


Lesenswert?

Beschaltung des Boards einstellen, meine Glaskugel ist grade trübe. Aber 
wenn der Atmega vorprogrammiert ist für Arduino, dann wird er auch die 
Fuses vom Arduino haben. Hast du einen Quartz dran?

von Thomas P. (ghost_2303)


Lesenswert?

Ich habe den Schaltplan ergänzt.
Ich verwende nur die Standardbeschaltung laut Schaltplan => interner 
Taktgeber

von Jan H. (jan_m_h)


Lesenswert?

Thomas P. schrieb:
> interner Taktgeber

Der Chip ist aber vorprogrammiert als Ersatzteil (?) für einen Arduino, 
richtig?
Dann ist er auf einen Quartz oder Keramikoszillator eingestellt. Also 
brauchst du einen solchen. Frequenz ist fast egal, sollte nur 4 mal 
höher sein als die des ISP und unter der Obergrenze des Atmegas

von Thomas P. (ghost_2303)


Lesenswert?

Das werde ich mal versuchen!
Könnte ich diese Programmierung irgendwie löschen?

von Jan H. (jan_m_h)


Lesenswert?

Thomas P. schrieb:
> Könnte ich diese Programmierung irgendwie löschen?

Ja, Fuses auf interne Taktquelle umstellen. Siehe AVR Fuses Dazu 
muss der Chip aber eine Taktquelle haben. Ausnahme:  high voltage 
parallel programming, das geht immer.

von F. F. (foldi)


Lesenswert?

Schau dir mal die Anschlussbelegung von deinem ISP an und vergleiche die 
mal hiermit: http://www.kreatives-chaos.com/images/150.jpg

von _Gast (Gast)


Lesenswert?

Jan H. schrieb:
> Der Chip ist aber vorprogrammiert als Ersatzteil (?) für einen Arduino,
> richtig?
> Dann ist er auf einen Quartz oder Keramikoszillator eingestellt. Also
> brauchst du einen solchen. Frequenz ist fast egal, sollte nur 4 mal
> höher sein als die des ISP und unter der Obergrenze des Atmegas

Das wird wahrscheinlich das Problem sein.

Thomas P. schrieb:
> Ich habe bis jetzt Atmega32 und Attiny44 programmiert und hatte keine
> Probleme.

Wenn du noch einen 'Attiny44' übrig hast, programmiere ihn mit einem 
einfachen Programm (z.B. LED Blinken), setze ihn auf 8 MHz internen Osz. 
und setze die CKout-Fuse (Erklärung im Datenblatt, verbunden mit PB3). 
PB3 des 44 mit Xtal 1 (PB6) des vorprogrammierten 328 verbinden, beide 
natürlich auf den gleichen Gnd und du hast einen ATtiny 44 Taktgenerator 
als Starthilfe für deinen 328.

Dann die Clockfuses des 328 mit dem Programmer auf internen Takt 
umstellen und den 44er entfernen, dann kannst du den 328 wieder mit 
interner Clock programmieren.

Bootloaderfuses auf dem 328 solltest du, wenn du keinen Bootloader 
benutzt, auch gleich ändern.

von F. F. (foldi)


Lesenswert?

Seht ihr das nicht? Wenn es so angeschlossen ist, wie in der Zeichnung, 
dann ist + u. - vertauscht.

von Draco (Gast)


Lesenswert?

Jo... jetzt wo du es sagst :D Das ist halt der Mist, wenn man vom 
Standart abweicht.

von Thomas P. (ghost_2303)


Angehängte Dateien:

Lesenswert?

Wo ist die Polarität falsch?!

von Draco (Gast)


Lesenswert?

Bei deinem Schaltplan im ersten Posting ist GND auf Pin2 und VTG auf 
Pin6 - also getauscht zu dem mysmartUSB.

von Draco (Gast)


Lesenswert?

Da ist sowieso... alles spiegelverkehrt in deiner Zeichnung.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Thomas P. schrieb:
> Wo ist die Polarität falsch?!

In Deinem Schaltbild zu Deinem ersten Posting. Dort ist Pin2 an GND, 
Pin6 an +5V.

Frage: Warum kaufst Du ATmega328 mit vorprogrammierten 
Arduino-Bootloader, wenn Du den gar nicht willst? Die Dinger sind doch 
i.a. teurer als die nackten ATmegas.

von Thomas P. (ghost_2303)


Lesenswert?

Die waren günstiger als die normalen Atmegas.
Die Spannung kann nicht das Problem sein, da ich alle Pins durchgemessen 
habe und auch die Spannung am µC korrekt ist.

von mikro23 (Gast)


Lesenswert?

Die Pinnummern im Inneren Deines ISP-Steckers stimmen nicht mit den 
Pinnummern außen überein.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Schließe an Deine ISP-Schaltung noch einen Quarz und 2x22pF Kerkos an 
und es wird funktionieren. Es liegt definitiv daran, dass bei Arduinos 
die Fuses auf Quarzbetrieb umgestellt werden - wie schon von meinen 
Vorrednern bereits festgestellt.

P.S.
guloshop.de: 328er kosten dort 1,95 EUR. Ich kann mir nicht vorstellen, 
dass Du die Arduino-Bootloader-328er billiger bekommen hast. Wenn doch, 
wo?

von Thomas P. (ghost_2303)


Lesenswert?

Danke an die Antwort des Gastes vom 04.08.2015 um 01:00!

Ich habe den CKOUT-Pin des ATtiny44 an den XTAL1 des ATmega328 
angeschlossen und konnte dadurch die Low-Fuses umschreiben. Nun erkennt 
das myAVR-ProgTool den ATmega328 und ich kann ihn programmieren!

Vielen Dank für die Hilfe!

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.