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
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?
Ich habe den Schaltplan ergänzt. Ich verwende nur die Standardbeschaltung laut Schaltplan => interner Taktgeber
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
Das werde ich mal versuchen! Könnte ich diese Programmierung irgendwie löschen?
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.
Schau dir mal die Anschlussbelegung von deinem ISP an und vergleiche die mal hiermit: http://www.kreatives-chaos.com/images/150.jpg
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.
Seht ihr das nicht? Wenn es so angeschlossen ist, wie in der Zeichnung, dann ist + u. - vertauscht.
Jo... jetzt wo du es sagst :D Das ist halt der Mist, wenn man vom Standart abweicht.
Bei deinem Schaltplan im ersten Posting ist GND auf Pin2 und VTG auf Pin6 - also getauscht zu dem mysmartUSB.
Da ist sowieso... alles spiegelverkehrt in deiner Zeichnung.
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.
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.
Die Pinnummern im Inneren Deines ISP-Steckers stimmen nicht mit den Pinnummern außen überein.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.