minimales atmega-setup bzw. wie debugge ich?

hi leute

ich habe ein paar von diesen atmega-on-a-breadboard-sets ergattert und eines erfolgreich auf dem breadboard verdrahtet.. die spannungsversorgung und den programmer nehme ich vom arduino-board, aus welchem ich den atmega-chip entfernt habe.. funktioniert super..

nun habe ich mir ein zweites set geschnappt und dieses auf einem prototyping-board exakt so verlötet wie ich es auf dem breadboard habe.. nix geht.. IDE meldet :

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x93

.. da es mein erster versuch war, dachte ich, ich habe vielleicht was falsch gemacht oder verbraten.. also schnappte ich mir ein anderes prototyping board (eines wo die leitenden stellen immer 3 löcher umfassen) und das ganze in gößter sorgfalt nochmal..

doch schon wieder:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x93

jetzt steh ich auf dem schlauch und weiss nicht weiter.. bevor ich noch weitere teile zerstöre.. habe ich was wesentliches übersehen? ..

gibt es ein minimales setup was ich irgendwie testen kann? .. ich habe die spannung gemessen pin 7, 21,22 .. alle so 4,9V .. was kann ich noch tun um zu debuggen?

Schau mal hier: Gammon Forum : Electronics : Microprocessors : How to make an Arduino-compatible minimal board

uxomm:
Schau mal hier: Gammon Forum : Electronics : Microprocessors : How to make an Arduino-compatible minimal board

hey, danke ich werds mal ausprobieren.. aber das schaut mal garnicht danach aus was z.b. hier gezeigt wird:


genauso habe ich es nämlich gemacht

Was mir da auffällt: es fehlen die 2 Keramik-Kondensatoren zwischen Vcc und GND: 100nF. Die sind wirklich wichtig und sollten nicht weggelassen werden.
Ich hab die früher auch oft weggelassen und mir so 20 Cent und 3 Minuten Lötzeit erspart, mir aber dadurch immer wieder "lustige, unberechenbare Fehler" eingehandelt :slight_smile:

die spannungsversorgung und den programmer nehme ich vom arduino-board, aus welchem ich den atmega-chip entfernt habe.

Verstehe ich jetzt nicht ganz.
Unter "Programmer" wird meist ein Isp-Programmer verstanden. So etwas kann man auch mit einem Arduino machen, dann wird aber der Atmega gebraucht ("Arduino as ISP"), den kannst du nicht entfernen.

Programmieren kann man auch mittels Bootloader, das würde mit entferntem Atmega gehen, dann braucht der Chip den du programmieren willst aber einen Bootloader. Da ist dann kein Programmer im Spiel, sondern "nur" ein USB-UART-Wandler. Dabei ist noch die Frage, wie der Reset ausgelöst wird. Entweder muss igendwie die Reset-Leitung mit dem Reset des Boards verbunden sein oder du drückst selbst den Reset-Knopf zum richtigen Zeitpunkt.

Was sind denn eigentlich "atmega-on-a-breadboard-sets"?
Hast du einen Link dazu?
Hab schon oft "nackte" Atmegas verwendet. Mit und ohne Bootloader, mit internem oder externem Tackt, mit 3 oder 5 Volt, mit 1 oder 8 oder 16 MHz. Aber so ein Set noch nie :slight_smile:

Wie uxomm schon schrieb, die Keramikkondensatoren 0,1 µF darfst du nicht vergessen.

So wie in diesem Bild habe ich lange meine Atmega328 geflasht und betrieben.
Per USB-SerialAdapter oder ISP.

Wichtig: Wenn du per USB-SerialAdapter flashst, dann braucht der Atmega328 zwingend einen Bootloader.

Diesen Aufbau nutze ich heute noch, um schnell mal etwas auszuprobieren.

AdmiralCrunch:
hey, danke ich werds mal ausprobieren.. aber das schaut mal garnicht danach aus was z.b. hier gezeigt wird:


genauso habe ich es nämlich gemacht

Was du da zeigst ist falsch.
Aref an Vcc...
BÖSE!
SEHR BÖSE!
Wirf das Tutorial weg, welches du da benutzt.
Leute, welche solche Fehler einbauen, den darfst du keine 2mm weit Vertrauen schenken.

Und die Abblockkondensatoren wurden ja schon genannt.

uxomm:
Was mir da auffällt: es fehlen die 2 Keramik-Kondensatoren zwischen Vcc und GND: 100nF. Die sind wirklich wichtig und sollten nicht weggelassen werden.
Ich hab die früher auch oft weggelassen und mir so 20 Cent und 3 Minuten Lötzeit erspart, mir aber dadurch immer wieder "lustige, unberechenbare Fehler" eingehandelt :slight_smile:
Verstehe ich jetzt nicht ganz.
Unter "Programmer" wird meist ein Isp-Programmer verstanden. So etwas kann man auch mit einem Arduino machen, dann wird aber der Atmega gebraucht ("Arduino as ISP"), den kannst du nicht entfernen.

das ist strange, weil ich ein paar tutorials ausprobiert habe und dies das einzige setup ist, was funktionierte.. aber gut, ich probiere das direkt mal aus.. :slight_smile:

uxomm:
Programmieren kann man auch mittels Bootloader, das würde mit entferntem Atmega gehen, dann braucht der Chip den du programmieren willst aber einen Bootloader. Da ist dann kein Programmer im Spiel, sondern "nur" ein USB-UART-Wandler. Dabei ist noch die Frage, wie der Reset ausgelöst wird. Entweder muss igendwie die Reset-Leitung mit dem Reset des Boards verbunden sein oder du drückst selbst den Reset-Knopf zum richtigen Zeitpunkt.

vielleicht drücke ich mich falsch aus, bin noch ziemlich neu was das angeht .. ich meinte, dass ich den code über das original-arduino-board auf den atmega schickte.. ich verdrahte TX/RX und natürlich den Reset an das board (ohne den Chip)

uxomm:
Was sind denn eigentlich "atmega-on-a-breadboard-sets"?
Hast du einen Link dazu?
Hab schon oft "nackte" Atmegas verwendet. Mit und ohne Bootloader, mit internem oder externem Tackt, mit 3 oder 5 Volt, mit 1 oder 8 oder 16 MHz. Aber so ein Set noch nie :slight_smile:

also ich habe die hier:
https://www.amazon.de/gp/product/B00OZGWCWE/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

HotSystems:
Wie uxomm schon schrieb, die Keramikkondensatoren 0,1 µF darfst du nicht vergessen.

So wie in diesem Bild habe ich lange meine Atmega328 geflasht und betrieben.
Per USB-SerialAdapter oder ISP.

Wichtig: Wenn du per USB-SerialAdapter flashst, dann braucht der Atmega328 zwingend einen Bootloader.

Diesen Aufbau nutze ich heute noch, um schnell mal etwas auszuprobieren.

sauber :slight_smile: ..ich checks mal aus.. vielen dank

combie:
Was du da zeigst ist falsch.
Aref an Vcc...
BÖSE!
SEHR BÖSE!
Wirf das Tutorial weg, welches du da benutzt.
Leute, welche solche Fehler einbauen, den darfst du keine 2mm weit Vertrauen schenken.

Und die Abblockkondensatoren wurden ja schon genannt.

lieben dank.. ich probier es aus :slight_smile:

also ich habe die hier:
https://www.amazon.de/gp/product/B00OZGWCWE/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Sieht doch ok aus:
scheinen 222pF Kondensatoren für den Quarz und 2100nF Keramik-Kondensatoren für die Vcc Pins dabei zu sein.
(und zusätzlich Elkos für den 7805-Regler)

Viel Spass damit!

Und laut Produktbeschreibung sollte auf dem ATmega auch ein Bootloader drauf sein.

uxomm:
Und laut Produktbeschreibung sollte auf dem ATmega auch ein Bootloader drauf sein.

Leider kann man sich da nicht mehr drauf verlassen.

Aber das kann der TO leicht prüfen, indem er den Atmega328 auf den Uno steckt und versucht ihn zu flashen.

Ein einfaches "Blinken" flashen und wieder auf das Steckbrett setzen, dann sollte er da auch blinken, wenn eine Led an D13 angeschlossen ist.

ahoy hoy :slight_smile:

also ich habe jetzt einen weiteren versuch gestartet.. diesmal habe ich aber wirklich alle komponenten frei auf dem prototyping board, verbunden mit diesen female-steckern.. habe dann die geschichte verdrahtet, und zack.. funktioniert :))

ok, die geschichte mit dem female-steckern an allen komponenten ist vielleicht ein bissl bescheuert aber es funktioniert erstmal .. aber ich frage mich..verbraucht das konstrukt so mehr strom, als wenn ich es so nah an einander, sprich kompakt verlöten würde?.. ich meine, wenn man platinen professionell herstellt, ist man doch auch immer bemüht so platzsparend wie möglich zu sein.. macht das sinn oder ist das egal?

AdmiralCrunch:
ok, die geschichte mit dem female-steckern an allen komponenten ist vielleicht ein bissl bescheuert aber es funktioniert erstmal .. aber ich frage mich..verbraucht das konstrukt so mehr strom, als wenn ich es so nah an einander, sprich kompakt verlöten würde?.. ich meine, wenn man platinen professionell herstellt, ist man doch auch immer bemüht so platzsparend wie möglich zu sein.. macht das sinn oder ist das egal?h

Professionelle Platinen werden platzsparend gebaut, weil das billiger ist. Jeder Quadratmillimeter Platine kostet. Auch dürfen bei hohen Frequenzen die Leiterbahnen nicht zu lang werden. Im Arduino-Bereich müssen die Leiterbahnlängen eher wegen der Störfestigkeit beachtet werden. Für den Stromverbrauch ist die Größe der Schaltung erstmal egal, solange die Kabel nicht zig Meter lang werden.

Theseus:
Professionelle Platinen werden platzsparend gebaut, weil das billiger ist. Jeder Quadratmillimeter Platine kostet. Auch dürfen bei hohen Frequenzen die Leiterbahnen nicht zu lang werden. Im Arduino-Bereich müssen die Leiterbahnlängen eher wegen der Störfestigkeit beachtet werden. Für den Stromverbrauch ist die Größe der Schaltung erstmal egal, solange die Kabel nicht zig Meter lang werden.

ah, oki :slight_smile: danke für die erklärung :slight_smile:

ich meine, wenn man platinen professionell herstellt, ist man doch auch immer bemüht so platzsparend wie möglich zu sein.. macht das sinn oder ist das egal?

-->Wichtiger als Platzersparnis ist Funktionalität. Sind die falschen Leiterbahnen zu dicht können diese wie eine Kapazität wirken, man hat also unabsichtlich einen Tiefpass in der Schaltung. Dies ist bei Computerplatinen wichtig, mich würde mal interessieren inwiefern dies auch bei Platinen für Arduino-Anwendungen zu beachten ist ....