Hallo, ich habe vor 2 Wochen mit dem Programmieren von Mikrocontrollern angefangen und habe mir auch ein Lernbuch zugelegt. Erstmal mein Equipment: ATtiny45 / ATmega88PA (beschriebenes Problem tritt bei beiden Controllern auf) Programmer: mySmartUSB light Atmel Studio 7.0 / Atmel Studio 6.2 (Problem tritt in beiden Versionen auf) Natürlich habe ich auch den notwendigen Treiber für den Programmer installiert. Als erstes Projekt wollte ich ein Blinklicht programmieren. (Schaltung siehe Bild "Breadboard". 22kOhm Pull-Up Widerstand beim Reset-Pin. Der Rest sollte klar und erkennbar sein.) Der ATtiny45 ist richtig angeschlossen und wird somit von Atmel Studio erkannt. Der Code ist auch sicher richtig (siehe Bild "Code"). Wenn ich nun das Programm starte, blinkt jedoch die LED 2 mal und dann ist Ende. Sie blinkt 2 mal eher schnell. Wenn ich die Verzögerung im Code jedoch auf andere Werte ändere (z.B. 10 sec) blinkt die LED wieder 2 mal gleich schnell wie zuvor. Wenn ich in anderen Programmen (Zusatzsoftware vom mySmartUSB light) den Flash vom Controller lesen will oder irgendwas mit ihm mache, blinkt die LED wieder 2 mal. Also bei jedem Lese- und Schreibvorgang des Controllers blinkt die LED 2 mal. Wieso? Ich finde den Fehler einfach nicht! Ich denke mittlerweile, dass der Programmer kaputt ist. Ich habe auch den ATmega88PA probiert -> selbes Ergebnis. Ich habe ein Blinklicht in Bascom AVR programmiert -> selbes Ergebnis. Es passiert nichts anderes mehr, als dass die LED 2 mal blinkt. (Natürlich kann ich einen falschen Pin ansteuern und dann blinkt die LED natürlich nicht 2 mal) Ich habe noch 2 Screenshots von den Fuses und vom Tool angehängt. Die Controller laufen auf 8 MHz Takt. Das Fusebit CKDIV8 wurde deaktiviert, so wie es in meinem Lernbuch steht. Im Toolchain -> Symbols ist die CPU-Frequenz der Headerdatei noch mitgeteilt worden, dass der Controller auf 8 MHz läuft. (Sonst würden die 500 ms im _delay_ms in Wirklichkeit natürlich deutlich schneller sein als 500 ms). Kurz zusammengefasst: Ich habe echt keine Ahnung mehr, warum die LED immer nur 2 mal irgendwie blinkt. Ich mache alles gleich wie alle anderen aber es funktioniert einfach nicht. Ich hoffe ihr findet den Fehler, weil ich habe ihn innerhalb von 2 Wochen nicht gefunden. Wie gesagt, mittlerweile glaube ich, dass der mySmartUSB light einen Fehler hat.
Ein Programmieradapter ist erstmal nicht dazu gedacht, die Schaltung zu versorgen. Wenn er's trotzdem macht, ist das sozusagen nicht ganz in Ordnung. Ich könnte mir vorstellen, dass der SmartUSB light die Spannungsversorgung zum Programmieren einschaltet, danach wird programmiert und die Versorgung wieder gekappt (??) Während die Versorgungsspannung zusammenbricht, versucht der Contoller noch zweimal zu starten. Also mal 'ne eigene Spannungsversorgung anschließen (4V..5V).
Kannst du mal die Spannung bzw. den Strom am Tiny messen? Ggf. würden Abblockkondensatoren helfen. Besser wäre eine Eigenversorgung wie von Ralf G. vorgeschlagen. Ganz andere Frage: Gibt es eine Fehlermeldung oder einen Fatalerror?
Es fehlt ein Stützkondensator direkt am µC. Auch wenn es vielleicht nicht die Fehlerursache ist, diese Möglichkeit sollte man aber erst einmal ausschließen.
Danke für die Antwort Ralf G. Klingt erstmal plausibel. Ich habe so eine externe 5V Versorgung schon einmal ausprobiert, bzw. es ist nicht wirklich dazu gekommen: Ich habe die beiden Kabel VTG und GND vom mySmartUSB light ganz weggelassen und das Breadboard extern mit 5V versorgt. Jedoch wurden so die Controller nirgends erkannt erkannt! (Dazu wollte ich eigentlich einen 2. Thread aufmachen weil das ist eigentlich ein anderes Thema, aber egal). Also müssen die VTG und GND Kabel vom Programmer auch immer verbunden sein?
Hi >Also müssen die VTG und GND Kabel vom Programmer auch immer verbunden >sein? Zumindest GND. Das muss immer verbunden sein. MfG Spess
H. E. schrieb: > Ganz andere Frage: Gibt es eine Fehlermeldung oder einen Fatalerror? Nein es gibt keinen einzige Fehlermeldung. Meint ihr mit dem Stützkondensator einen 100nF Kondensator zwischen VCC und GND?
Christoph schrieb: > Also müssen die VTG und GND Kabel vom Programmer auch immer verbunden > sein? Normalerweise stellt ein Programmer anhand der Spannung an VTG seinen Ausgangspegel entsprechend ein.
Christoph schrieb: > H. E. schrieb: >> Ganz andere Frage: Gibt es eine Fehlermeldung oder einen Fatalerror? > > Nein es gibt keinen einzige Fehlermeldung. > > > Meint ihr mit dem Stützkondensator einen 100nF Kondensator zwischen VCC > und GND? Ja. Interessanter Artikel für dich: http://rn-wissen.de/wiki/index.php?title=Abblockkondensator :-)
Ok, nach 2 Wochen habe ich den Fehler endlich gefunden bzw. ihr und nicht ich ^^ Rafl. G hatte vollkommen recht. Der Programmer ist nicht dazu gedacht die Schaltung zu versorgen. Der hat sich, wie du gesagt hast, immer irgendwie neu gestartet. Mit der externen Spannungsquelle klappt alles bestens! Danke!! Danke auch für den Tipp mit dem Kondensator! Werde ich ab jetzt machen.
Christoph schrieb: > Ok, nach 2 Wochen habe ich den Fehler endlich gefunden bzw. ihr und > nicht ich ^^ > > Rafl. G hatte vollkommen recht. Der Programmer ist nicht dazu gedacht > die Schaltung zu versorgen. Der hat sich, wie du gesagt hast, immer > irgendwie neu gestartet. > Mit der externen Spannungsquelle klappt alles bestens! Danke!! > > Danke auch für den Tipp mit dem Kondensator! Werde ich ab jetzt machen. Hast du uns noch ein Foto vom Ergebnis? :-)
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.