Forum: Mikrocontroller und Digitale Elektronik Mega2560-Board: Wo ist der Fehler?


von Ralph E. (marph)


Angehängte Dateien:

Lesenswert?

Ich habe diese Schaltung nachgebaut und das erste Mal den Mega gelötet.
Wenn ich den Mega über einen Arduino Uno mit einem Bootloader oder mit 
einem Sketch versorgen will, kann keine Verbindung aufgebaut werden.

Nun habe ich ganz schön mit dem Lötkolben am Chip geackert. Habe zwar 
darauf geachtet, dass er nicht zu heiß wird, aber das war meine erste 
100pin-Chip-Löt-Erfahrung.

Kann es eventuell an der Schaltung liegen?

Was kann ich noch liefern, damit mich jemand bei der Fehlersuche 
unterstützen kann?

von Karl M. (Gast)


Lesenswert?

hi,

zeig bitte mal Bilder.

Hast du einen isp Programmer und hast das Datenblatt studiert, wie sich 
ein leer AVR verhält?

von Karl M. (Gast)


Lesenswert?

Ralph E. schrieb:
> un habe ich ganz schön mit dem Lötkolben am Chip geackert.

Was soll das bedeuten?

ich ziehe mit einem Lötkolben und 3,2 mm Meißelspitze über alle 
Pins(-Reihen) jeweils eine Zinnschlange und entferne sie anschließend 
wieder.

Dann alles mit 100% Ethanol und Bürste reinigen, Sichtkontrolle, 
Macro-Fotos, Durchklingen bei Bedarf und evtl. Nachlöten.

Anschließend alles nochmals mit 100% Ethanol und Bürste reinigen.

Das Löten dauert pro Seite ca. 5 Sekunden.

von Karl M. (Gast)


Lesenswert?

Dann beschalte ich das Board nach Atmel AVR Vorgabe, setze einige Config 
Bits (FuseBits) und Programmiere je nach dem einene Bootloader und 
direkt das Anwenderprogramm darauf.

Anderenfalls muss man sich anhand der Atmel Application Notes und des 
Datenblattes Gedanken über eine Ist-Soll Fehlersuche machen.

Davon ist aber in deinem Beitrag nichts zu lesen!

1) Testaufbau
2) Soll - Verhalten
3) Ist - Verhalten
4) Schlussfolgerungen

I.A.
Überprüft man die Versorgungsspannung: Liegt sie an allen notwendigen 
Pins an ?
Welche Spannung(en) messe ich?
Frage: Ist = Soll?

usw.

von Stefan F. (Gast)


Lesenswert?

Karl M. schrieb:
> ich ziehe mit einem Lötkolben und 3,2 mm Meißelspitze über alle
> Pins(-Reihen) jeweils eine Zinnschlange und entferne sie anschließend
> wieder.

Der Teil "und entferne sie anschliessend wieder" interessiert mich. Ich 
kenne zwei Methoden:

a) Entlötlitze mit dem Lötkolben drauf drücken. Ist thermisch 
problematisch, man (ich) verbiegt sich dabei oft einzelne Pins.

b) Entlötpumpe mit Feder und Kolben. Auch damti verbiegt man sich oft 
einzelne Pins.

Wie kann man das besser machen?

> Das Löten dauert pro Seite ca. 5 Sekunden.

Für dich. Ich brauche 5 Minuten. Das erinnert mich an den Maler, der ein 
ganze Haus an einem Tag tapeziert hat. Übung macht den Meister, stimmt 
heute immer noch.

von Arduinator (Gast)


Lesenswert?

Ralph E. schrieb:
> Wenn ich den Mega über einen Arduino Uno mit einem Bootloader oder mit
> einem Sketch versorgen will

... klappt das natürlicherweise erst mal nicht da der Controller
noch keinen Bootloader in sich trägt und die Fuses dafür vielleicht
erst richtig gesetzt werden müssen.

Dazu braucht es erst mal die ISP-Schnittstelle und einen ISP-
Programmer, bei der du noch mehr Leitungen anschliessen musst.

Ein Datenblatt lesen hilft!

von Stefan F. (Gast)


Lesenswert?

Arduinator schrieb:
> klappt das natürlicherweise erst mal nicht

Er meint damit sicher den Arduino-ISP Sketch. Damit klappt das schon.

Mit dem Bootloader kann man keinen Bootloader flashen, das hat der TO 
sicher schon bemerkt. An seinem Schaltplan kann man auch schön sehen, 
dass er einen ISP Anschluss dazu vorgesehen hat.

von g457 (Gast)


Lesenswert?

> An seinem Schaltplan kann man auch schön sehen, dass er einen ISP
> Anschluss dazu vorgesehen hat.

Jaaber unvollständig wie es scheint. So wird das nix.

von Stefan F. (Gast)


Lesenswert?

Mir ist im Schaltplan etwas aufgefallen:
Die Labels TX0 und RX0 an J19 enden in der Luft, es gibt kein Gegenstück 
am Mikrocontroller.

von Arduinator (Gast)


Lesenswert?

Stefanus F. schrieb:
> das hat der TO
> sicher schon bemerkt.

Das bezweifle ich denn er hat im Schaltplan keine Vorkehrungen
getroffen jemals über ISP etwas hineingebrannt zu haben.

Somit ist der Chip jungfäulich, zumindest was seine inneren
Werte betrifft (und soweit der Chip nicht geröstet ist).

von Wolfgang (Gast)


Lesenswert?

Ralph E. schrieb:
> Kann es eventuell an der Schaltung liegen?

Ja, zur ISP Schnittstelle gehört neben der SPI Schnittstelle noch ein 
Zugriff auf den Reset-Pin.

Der I2C-Schnittstelle sollte man noch Pull-Ups spendieren.

von Stefan F. (Gast)


Lesenswert?

Wolfgang schrieb:
> Ja, zur ISP Schnittstelle gehört neben der SPI Schnittstelle noch ein
> Zugriff auf den Reset-Pin.

Stimmt, das habe ich übersehen. Der ist ja nur indirekt (durch den 
Kondensator) am DTR Anschluss erreichbar, das reicht nicht.

von Falk B. (falk)


Lesenswert?

Stefanus F. schrieb:
> Karl M. schrieb:
>> ich ziehe mit einem Lötkolben und 3,2 mm Meißelspitze über alle
>> Pins(-Reihen) jeweils eine Zinnschlange

OK.

>>und entferne sie anschließend
>> wieder.

Nicht OK.

> Der Teil "und entferne sie anschliessend wieder" interessiert mich. Ich
> kenne zwei Methoden:
>
> a) Entlötlitze mit dem Lötkolben drauf drücken. Ist thermisch
> problematisch, man (ich) verbiegt sich dabei oft einzelne Pins.
>
> b) Entlötpumpe mit Feder und Kolben. Auch damti verbiegt man sich oft
> einzelne Pins.

Nicht sinnvoll.

> Wie kann man das besser machen?

Wie es die Profis machen. Nennt sich neudeutsch Drag Soldering.

https://www.mikrocontroller.net/articles/SMD_L%C3%B6ten#Links

https://www.youtube.com/watch?v=5uiroWBkdFY

von neuer PIC Freund (Gast)


Lesenswert?

Vielleicht geht der TO auch mit einer waschechten RS-232 ans Werk, und 
über VIN bekommt der AVR amtliche 14.5V ab.

Eine reguläre Spannungsversorgung wäre zu empfehlen.

von my2ct (Gast)


Lesenswert?

Falk B. schrieb:
> Youtube-Video "Professional SMT Soldering:   Hand Soldering Techniques -
> Surface Mount"

Was soll die Fummelei an den Einzelpins ab 01:20.
Bei 01:46 gehts mit dem Thema erst richtig los ...

von Falk B. (falk)


Lesenswert?

Ralph E. schrieb:
> Ich habe diese Schaltung nachgebaut und das erste Mal den Mega gelötet.

Und schon beim Schaltplan gescheitert. SO zeichnet man keine 
Schaltpläne, auch wenn das viele Hipster-Maker so machen.

Schaltplan richtig zeichnen

> Wenn ich den Mega über einen Arduino Uno mit einem Bootloader oder mit
> einem Sketch versorgen will, kann keine Verbindung aufgebaut werden.

Was hast du denn wie GENAU angeschlossen? Weißt du WIRKLICH, wie das 
Arduino-Bootloaderkonzept funktioniert?


> Nun habe ich ganz schön mit dem Lötkolben am Chip geackert. Habe zwar
> darauf geachtet, dass er nicht zu heiß wird, aber das war meine erste
> 100pin-Chip-Löt-Erfahrung.
>
> Kann es eventuell an der Schaltung liegen?

Ja. Du hast das Prinzip nicht verstanden, siehe oben.
Schau dir mal den Arduino Mega256 an, dort sind 2 AVRs drauf. Der 
eigentliche ATmega2560 und ein kleiner ATmega16U2. Dieser ist ein 
Wandler von USB auf UART. Dieser UART geht dann an den ATmega2560. Der 
braucht aber einmalig eine Programmierung des Bootloaders über das 
klassische ISP-Interface.

An Stelle des ATmega16U2 kann man fast jeden beliebigen USB-UART Wandler 
nehmen, auch so ein Kabel von FTDI oder sonstwas. Die Arduino-Software 
"sieht" nur den virtuellen COM-Port und den Bootloader auf deinem großen 
AVR. Man kann praktisch auch einen old school RS232-Port mit 
anschließender Pegelwandlung auf 5V nehmen, siehe MAX232. Ist aber im 
Jahr 2019 alles andere als sinnvoll, denn echte RS232-Ports sind auf 
aktuellen PCs praktisch ausgestorben.

von Arduinator (Gast)


Lesenswert?

neuer PIC Freund schrieb im Beitrag #5702684:
> Eine reguläre Spannungsversorgung wäre zu empfehlen.

Yes.

Der Schaltplan suggeriert auch dass die Abblock-Kondensatoren
nicht dort sind wo sie hingehören.

Das wird noch lustig hier ....

... wenn wir vielleicht eines Tages den Aufbau sehen ...

Ich meine schon ein altbekannes Muster zu erkennen: der TO setzt
einmal einen Beitrag und lässt nie wieder was von sich hören.

Und die Forums-Gemeinde prügelt sich um die Details des Problems
die nicht offengelegt sind.

von Stefan F. (Gast)


Lesenswert?

Der TO war gestern bis nach Mitternacht wach. Er schläft vermutlich 
noch.

von Johannes S. (Gast)


Lesenswert?

Stefanus F. schrieb:
> a) Entlötlitze mit dem Lötkolben drauf drücken. Ist thermisch
> problematisch, man (ich) verbiegt sich dabei oft einzelne Pins.

Auch bei Profis bleiben mal Brücken, meine Erfahrung:
- schmale Entlötlitze (0,8 mm mit Flussmittel von Kontakt Chemie) 
benutzen
- nie quer zu den Pins ziehen! Ein paar Sekunden erhitzen und dann vom 
IC weg ziehen. Bei quer kann die Litze an einem Pin hängenbleiben und 
dann verbiegt man ihn sofort.
- Drag soldering: nur 1 Tropfen Lötzinn auf die Spitze, Lötzinn nicht 
mitführen. Dafür vorher genug Flussmittel auf die Platine aufbringen. 
Nur einmal draggen, danach vom IC wegarbeiten wenn nötig.

von Wolfgang (Gast)


Lesenswert?

Johannes S. schrieb:
> Nur einmal draggen, danach vom IC wegarbeiten wenn nötig.

... und beim Draggen die Lötspitze leicht ankippen, so dass der mit 
Lötzinn gefüllte Spalt auf der vom Package abgewandten Seite liegt.

von Crazy Harry (crazy_h)


Lesenswert?

Both the Flash and EEPROM memory arrays can be programmed using a serial 
programming bus while RESET is pulled to GND. The serial programming 
interface consists of pins SCK, PDI (input) and PDO (output). After 
RESET is set low, the Programming Enable instruction needs to be 
executed first before program/erase operations can beexecuted. NOTE, in 
Table 30-15 on page 339, the pin mapping for serial programming is 
listed. Not all packages use the SPI pins dedicated for the internal 
Serial Peripheral Interface - SPI.

Könnte das der Fall sein? Ich hatte einmal einen Atmel, der nur via JTAG 
zu programmieren war.

von Ralph E. (marph)


Angehängte Dateien:

Lesenswert?

Nein, ich verdrücke mich natürlich nicht. Ich will das Problem ja lösen.
Nachdem ich hier alles gelesen habe, denke ich, dass ich wohl 50% falsch 
gemacht habe (wenn das reicht).

Ziel war eigentlich den Mega in ein Breakout-Board zu löten, um mich 
dann langsam an das Ausprobieren mit Zusatzschaltungen aufzumachen.

Einige davon funktionieren gut: USB2serial mit CH340G, Entstörung 
Schalter, Transistor-Pins für Canon (Auslöser/Scharfstellen), MosFet für 
das Heizen von Drucker-Extrudern und PWM-Ansteuerung von 2pol-Lüfter 
(12V).

Anbei mal das komplette Breakout-Board, PCB und Fotos vom Löten. Ich hab 
die Pins alle angesehen und denke, dass ich einen verbogenen Pin habe 
(Snap_005.jpg), der aber noch kein Problem darstellt, oder?

Stromversorgung liefert zur Zeit noch ein Labornetzteil, weil ich die 
24V zu 5V-Schaltung speziell beim Thema "Drossel" noch nicht kapiere und 
das Board soll später mit 24V versorgt werden, da noch sechs 
TMC2208-Treiber mit Protektoren (a la Watterott) mit rauf sollen.

Mit dem mega steh ich noch am Anfang, dass weiß ich und deshalb suche 
ich mir ja Hilfe hier. Danke für die Links. Auch das Schaltplan-zeichnen 
werde ich verbessern.

Die immer wiederkehrenden Vorwürfe "lies doch mal das Datenblatt" stehen 
hier ja im ganzen Forum sehr oft. Natürlich habe ich soviel gelesen wie 
es ging. "Ging" bedeutet, dass an vielen Stellen das Grundverständnis 
fehlte. Da bin ich dann hier und anderswo auf die Suche in 
deutschsprachigen Foren gegangen und hab es dann einfach mal 
ausprobiert. Das Thema MOSfet hat es ja auch in sich mit den Kurven.

Ich möchte mich da aber durchboxen und irgendwann eine funktionierende 
Platine haben.

Nachtrag:
Platine ist von Aisler. Die Bauelemente alle von Reichelt, also nicht 
aus China oder so. Wie man oben sieht, hatte ich die Schottky-Dioden 
vergessen zu bestellen; daher die Drahtbrücke.
Auf dem PCB ist unten links noch eine LED-Schaltung für das Testen der 
Funktion der einzelnen Pins und rechts eine für einen Schalter. Mit 
diesen beiden wollte ich dann Output und Input der Pins testen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Ralph E. schrieb:
> Ziel war eigentlich den Mega in ein Breakout-Board zu löten, um mich
> dann langsam an das Ausprobieren mit Zusatzschaltungen aufzumachen.

Das sieht man. Ärgere dich nicht, wenn du den Preis dieses 
Breakout-Boardes siehst: 
https://de.aliexpress.com/item/MEGA2560-PRO-EMBED-Micro-USB-Adapter-Entwicklung-Bord-CH340G-ATMEGA2560-16AU-f-r-Arduino-ATmega2560-Expansion/32968615346.html

Du hast vergessen, auf unsere Rückfrage einzugehen, wie du den Chip 
programmieren wolltest. Über welche Schnittstelle mit welchem Adapter 
und welcher Software?

Du hast was vom Arduino UNO geschrieben, aber das lässt noch zu viel 
Freiraum für Interpretationen. Denn das Arduino UNO Board kannst du als 
USB-UART Adapter oder als ISP Programmieradapter "missbrauchen".

Um mit der Arduno IDE den seriellen Bootloader in den ATmega2560 zu 
installieren, brauchst du einen ISP Programmieradapter (oder einen 
Arduino UNO mit ISP Sketch). Danach kannst du den Bootloader über die 
serielle Schnittstelle benutzen.

War das soweit klar?

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

preview image for PCB.pdf
PCB.pdf | anzeigen
7,01 MB, 0 Downloads

Da ist beim Drucken was schief gegangen, du hast ein tierisch 
hochauflösendes Bild anstatt einer echten Vektorgrafik in deinem PDF 
drin. Siehe Anhang, das ist ein Zoom auf die obere, linke Ecke. Siehe 
Bildformate.

von Ralph E. (marph)


Lesenswert?

Dann noch zu den Fragen:

Ja, ich habe diverse USBasp und auch Arduino's hier. Zum Programmieren 
des Chips gäbe es also hoffentlich die geeignete Hardware.

Flussmittel: FL 22-YL (Gel) und Flussmittel-Stift (diese Edding-Dinger 
von Stannol) Gelötet habe ich den Chip mit Hilfe des Gels und einer 
80W-digitalen Lötstation, aber mit einer feinen Spitze; wenig Lötzinn 
drauf und dann Quer entlang.   Das funktionierte nicht wie erwartet, so 
dass ich da öfter rübergehen musste. Deswegen mein Hinweis, dass ich da 
handwerkliche Fehler gemacht habe und Sorge habe, dass der Chip zu heiss 
wurde.

Entlötlitze habe ich auch probiert. Derer habe ich 2 verschiedene 
bestellt: Einmal Kupferfarbend, einmal Stahlfarbend. Beides war 
irgendwie keine gute Sache. Ich würde das gerne ohne "anschließendes 
Entfernen" hinbekommen.

@Wolfgang: "Der I2C-Schnittstelle sollte man noch Pull-Ups spendieren."
Oh ok, da forsche ich nach. Hatte das überall nur so gesehen.

@Johannes: Ja, so zu löten hätte ich auch ein besseres Gefühl, als das 
raufschmatzen und mit Entlötlitze wieder abnehmen. Ich habe noch zwei 
Platine/Versuche hier. wenn es also die Schaltung zulässt, dass mein 
Breaktout-Platinchen funktionieren könnte, dann probiere ich es beim 2. 
Versuch mal so.

@Arduinator: "Der Schaltplan suggeriert auch dass die 
Abblock-Kondensatoren
nicht dort sind wo sie hingehören."
Oops? Echt jetzt? Ich dachte diese Kondensatoren sollen an alle 
5V/GND-Pins? Und zwar nicht durch Via's und so nah dran wie möglich. Wo 
habe ich da was falsch gemacht?

von Alex W. (a20q90)


Lesenswert?

Um dein Board zum Laufen zu bringen benötigst du ja erst noch einen 
Bootloader der Arduino-Kompatibel ist. Den musst du mit einem ISP 
einprogrammieren. Dein ISP hast du aber nicht angeschlossen. Die Pins 
sind frei...

PS: MOSI und MISO sind NICHT für ISP!

von Falk B. (falk)


Lesenswert?

Ralph E. schrieb:
> Dann noch zu den Fragen:
>
> Ja, ich habe diverse USBasp und auch Arduino's hier. Zum Programmieren
> des Chips gäbe es also hoffentlich die geeignete Hardware.
>
> Flussmittel: FL 22-YL (Gel) und Flussmittel-Stift (diese Edding-Dinger
> von Stannol)

OK.

> Gelötet habe ich den Chip mit Hilfe des Gels und einer
> 80W-digitalen Lötstation, aber mit einer feinen Spitze;

Nicht OK. Man braucht eine eher breitere Spitze. Ich löte seit Jahren 
mit einer 45° angeschrägten Spitze mit 3,2mm Durchmesser alles von 0,5mm 
Pitch SMD bis 1,5mm^2 Kabeln. Geht super.

> wenig Lötzinn
> drauf und dann Quer entlang.   Das funktionierte nicht wie erwartet, so
> dass ich da öfter rübergehen musste. Deswegen mein Hinweis, dass ich da
> handwerkliche Fehler gemacht habe und Sorge habe, dass der Chip zu heiss
> wurde.

Keine Sorge, heutige ICs bekommt man thermisch kaum kaputt.

> Entlötlitze habe ich auch probiert. Derer habe ich 2 verschiedene
> bestellt: Einmal Kupferfarbend,

Blank.

> einmal Stahlfarbend.

Verzinnt.

> Beides war
> irgendwie keine gute Sache. Ich würde das gerne ohne "anschließendes
> Entfernen" hinbekommen.

Geht auch, man braucht nur ausreichend Flußmittel. Wenn Brücken bleiben, 
mit einer rereinigeten Spitze ohne Lötzinn nochmal drüber gehen, dann 
zieht man die Brücken weg. GGf muß man das mehrfach machen, es geht 
damit aber ohne Litze.

> Oops? Echt jetzt? Ich dachte diese Kondensatoren sollen an alle
> 5V/GND-Pins?

Sicher.

> Und zwar nicht durch Via's und so nah dran wie möglich. Wo
> habe ich da was falsch gemacht?

Gar nicht, die Platzierung und Kontaktierung is OK.

Es fehlen aber immer noch viele Antworten auf unsere Fragen.

von Ralph E. (marph)


Lesenswert?

Stefanus F. schrieb:
> Ralph E. schrieb:
>> Ziel war eigentlich den Mega in ein Breakout-Board zu löten, um mich
>> dann langsam an das Ausprobieren mit Zusatzschaltungen aufzumachen.
>
> Das sieht man. Ärgere dich nicht, wenn du den Preis dieses
> Breakout-Boardes siehst:
> 
https://de.aliexpress.com/item/MEGA2560-PRO-EMBED-Micro-USB-Adapter-Entwicklung-Bord-CH340G-ATMEGA2560-16AU-f-r-Arduino-ATmega2560-Expansion/32968615346.html
>
> Du hast vergessen, auf unsere Rückfrage einzugehen, wie du den Chip
> programmieren wolltest. Über welche Schnittstelle mit welchem Adapter
> und welcher Software?
>
> Um mit der Arduno IDE den seriellen Bootloader in den ATmega2560 zu
> installieren, brauchst du einen ISP Programmieradapter (oder einen
> Arduino UNO mit ISP Sketch). Danach kannst du den Bootloader über die
> serielle Schnittstelle benutzen.
>
> War das soweit klar?

Ja gut gefragt :-) Danke.
Ja, ich wollte genau das tun: Arduino Uno mit ISP-Sketch. So hatte ich 
es auch anfangs probiert.
Auch auf Kommandozeilen-Ebene mit AVRdude gibt es Fehlermeldung, dass 
die ID nicht korrekt ist. 0xffffff ist falsch. Hatte dann mal Miso und 
Mosi vertauscht (war schon zu spät gestern nacht) und da meckert er, 
dass die ID 0x0000000 falsch ist.

von Ralph E. (marph)


Lesenswert?

Ralph E. schrieb:
>> Das sieht man. Ärgere dich nicht, wenn du den Preis dieses
>> Breakout-Boardes siehst:
>>
> 
https://de.aliexpress.com/item/MEGA2560-PRO-EMBED-Micro-USB-Adapter-Entwicklung-Bord-CH340G-ATMEGA2560-16AU-f-r-Arduino-ATmega2560-Expansion/32968615346.html

Habe ich 3 Stück hier zu liegen, allerdings nutzen diese Boards nicht 
alle Pins. Mein Ziel war es alle Pins zu nutzen. Daher wollte ich SPÄTER 
auch den MegaCore-Bootloader raufbringen. Dazu habe ich auch ein 
verbessertes PIN-Layout schon erstellt, was gut funktioniert. Der Mega 
hat ja 100 Pins und ich will sie alle ;-)

von Falk B. (falk)


Lesenswert?

Alex W. schrieb:
> Um dein Board zum Laufen zu bringen benötigst du ja erst noch einen
> Bootloader der Arduino-Kompatibel ist. Den musst du mit einem ISP
> einprogrammieren. Dein ISP hast du aber nicht angeschlossen. Die Pins
> sind frei...
>
> PS: MOSI und MISO sind NICHT für ISP!

Hehehe, das ist eine böse Falle bei einigen AVRs ;-)

Darum auch meine Empfehlung, sich am Schaltplan des ArduinoMEGA2560 zu 
orientieren, denn der funktioniert.

https://store.arduino.cc/arduino-mega-2560-rev3

von Ralph E. (marph)


Lesenswert?

Falk B. schrieb:
> preview image for PCB.pdf
> PCB.pdf | anzeigen
> 7,01 MB, 0 Downloads
>
> Da ist beim Drucken was schief gegangen, du hast ein tierisch
> hochauflösendes Bild anstatt einer echten Vektorgrafik in deinem PDF
> drin. Siehe Anhang, das ist ein Zoom auf die obere, linke Ecke. Siehe
> Bildformate.

Mist. Sollte ich es löschen, damit es keinen Stress gibt mit dem Forum?

von Stefan F. (Gast)


Angehängte Dateien:

Lesenswert?

Alex W. schrieb:
> MOSI und MISO sind NICHT für ISP!

Doch, die selben Pins sind für die ISP Schnittstelle.

von Falk B. (falk)


Lesenswert?

Ralph E. schrieb:

> Mist. Sollte ich es löschen, damit es keinen Stress gibt mit dem Forum?

Kannst du nicht löschen, bestenfalls einen Moderator darum bitten. Keine 
Sorge, hier gab es schon deutlich größere Datenkatastrophen ;-)

von Alex W. (a20q90)


Lesenswert?

Zudem bezweifel ich dass die Größe des C's am Reset klein genug ist um 
bei ISP nicht zu stören, aber groß genug um bei Bootloadermodus mittels 
DTR noch zu funktionieren...

von Stefan F. (Gast)


Lesenswert?

Alex W. schrieb:
> Zudem bezweifel ich dass die Größe des C's am Reset klein genug
> ist um
> bei ISP nicht zu stören, aber groß genug um bei Bootloadermodus mittels
> DTR noch zu funktionieren...

0,1µF sind kein Problem.

Ich habe mal bei einem alten Pollin Board 100µF auf 10µF reduzieren 
müssen.

von Ralph E. (marph)


Lesenswert?

Falk B. schrieb:
> Es fehlen aber immer noch viele Antworten auf unsere Fragen.

Wenn ich alles durchlese fehlen die Antworten auf die Fragen von Karl 
und Deine: "Was hast du denn wie GENAU angeschlossen? Weißt du WIRKLICH, 
wie das
Arduino-Bootloaderkonzept funktioniert?"

@Karl:
Das was ich messen kann sieht so aus, das Masse und 5V überall da 
anliegen, wo die Pins des Mega auch GND und 5V ausweisen. Kann ich noch 
an anderen stellen etwas messen um Leben oder Tot des Mega 
herauszufinden?

@Falk:
WIRKLICH weiss ich das nicht: Ich habe nach dem Löten gleich probiert 
den Mega via Arduino Uno als ISP anzusprechen, um überhaupt erstmal 
Zugang zum Chip zu bekommen. Dann wäre die Auseinandersetzung mit den 
Fuses, Bootloader etc. gekommen.
Aber ich bekomme ja keinen Kontakt hin, was zu der ersten Frage führt: 
Alles richtig verkabelt?
Das ist ja auch der Bestandteil der Fehlermeldung, dass ich die 
Verkabelung double-checken soll. Und ich habe gecheckt, gesucht und alle 
Varianten ausprobiert, die ich so im Netz gefunden habe. Immer mit dem 
Ziel über die ISP-Verbindung Kontakt herzustellen.

Angeschlossen habe ich die ISP vom Uno an
Unten links die Pins an meinem PCB an J17
52SPI-SCK
51SPI-MOSI
50SPI-MISO
5V
GND

Dann oben links noch an J19 "DTR".

von Alex W. (a20q90)


Lesenswert?

Ralph E. schrieb:
> Dann oben links noch an J19 "DTR".

Wenn du einen ISP-Programmer benutzt, schliese es an RST direkt an.

von Ralph E. (marph)


Lesenswert?

Alex W. schrieb:
> Ralph E. schrieb:
>> Dann oben links noch an J19 "DTR".
>
> Wenn du einen ISP-Programmer benutzt, schliese es an RST direkt an.

Also den PullUp und den 0.1uF auslöten und dann direkt an den RST?

von Alex W. (a20q90)


Lesenswert?

Ralph E. schrieb:
> Alex W. schrieb:
>> Ralph E. schrieb:
>>> Dann oben links noch an J19 "DTR".
>>
>> Wenn du einen ISP-Programmer benutzt, schliese es an RST direkt an.
>
> Also den PullUp und den 0.1uF auslöten und dann direkt an den RST?

PullUp drinn lassen, ggf den C auslöten, falls es nicht funktioniert.

von Alter Hase (Gast)


Lesenswert?

Da gibt es noch diese App Note als HW Design Hilfe:

https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591472

von Einer K. (Gast)


Lesenswert?

Alex W. schrieb:
> PullUp drinn lassen, ggf den C auslöten, falls es nicht funktioniert.

Funktioniert!
Entspricht der Schaltung des Arduino Mega.


Und dieses ist falsch:
Ralph E. schrieb:
> Dann oben links noch an J19 "DTR".
Der ISP Adapter, egal welcher, muss an Reset, nicht an DTR
DTR wird nur für den seriellen Upload über den Bootloader benötigt.
Und da auch nur für den automatischen Reset, geht auch ohne/manuell.


Auch hiervon war bisher noch nicht die Rede:
Wenn der UNO als ISP verwendet wird, dann braucht der (immer?) einen 
10µF Kondensator zwischen seinem Reset und GND um den DTR Impuls zu 
unterdrücken.

von Ralph E. (marph)


Lesenswert?

Alter Hase schrieb:
> Da gibt es noch diese App Note als HW Design Hilfe:
>
> https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591472

Danke und da drin steht etwas, was auf einen Fehler in meiner Schaltung 
hindeutet. Wie auch @Arduino Fan Boy D. vielleicht schon auf dem Schirm 
hatte

Ich hab zwar den PullUp richtig gesetzt, aber der C ist glaube ich 
falsch positioniert:

ext. RST --> C100nF --> RST am Arduino

Ich hätte doch das so machen müssen, oder?:

ext. RST -------------> RST am Arduino

Und dann den 100 nF zwischen RST und GND.

von Alter Hase (Gast)


Lesenswert?

Ralph E. schrieb:
> Alter Hase schrieb:
>> Da gibt es noch diese App Note als HW Design Hilfe:
>>
>> https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591472
>
> Danke und da drin steht etwas, was auf einen Fehler in meiner Schaltung
> hindeutet. Wie auch @Arduino Fan Boy D. vielleicht schon auf dem Schirm
> hatte
>
> Ich hab zwar den PullUp richtig gesetzt, aber der C ist glaube ich
> falsch positioniert:
>
> ext. RST --> C100nF --> RST am Arduino
>
> Ich hätte doch das so machen müssen, oder?:
>
> ext. RST -------------> RST am Arduino
>
> Und dann den 100 nF zwischen RST und GND.

Nicht ganz. Der C vom Reset zum DTR wird nur für das Restarten des 
Bootloaders gebraucht um einen kurzen Reset Impulse auszulösen. Nach 
Masse darf das C nicht geschaltet werden.

Beim ISP Betrieb muß der Reset Eingang dem ISP statisch zugänglich 
bleiben damit er den Reset zum ISP Datenaustausch permanent aktivieren 
kann. Beim ISP Betrieb sollte das RESET C am Besten nur einseitig frei 
in der Luft hängen.

Auch empfiehlt es sich beim Bord Layout die Standard 6 oder 10 Pin 
Belegung zu bewahren um Standard Werkzeuge ohne Umarbeiten anschließen 
zu können.

Vor ein paar Jahren entwickelte ich ein Mega2560 Design in der Firma. 
Die ISP Anschlüssen wurden standardmäßig ähnlich wie in der App Note 
beschrieben an einen 6-pin Pin Header gebracht und die ISP Verbindung 
mit einem AVR-ISP MKII funktionierte sofort nach dem ersten Einschalten 
ohne irgendwelche Probleme.

von Stefan F. (Gast)


Lesenswert?

Ralph E. schrieb:
> Ich hätte doch das so machen müssen, oder?:
>
> ext. RST -------------> RST am Arduino

Ja, das ist der Knackpunkt.

von Ralph E. (marph)


Lesenswert?

YEAAAAAH!

Er lebt!

Ich habe den 100nF am RST ausgelötet,
Drahtbrücke zwischen gemacht
Und dann zwischen Drahtbrücke und Ground einen 100 nF gesetzt.

Siehe da: Er redet mit mir.

von Ralph E. (marph)


Lesenswert?

Als "gelöst" kann ich den Thread nicht kennzeichnen, oder?

Ich nehme hier mal mit, dass ich:
- mich mit den Fuses auseinandersetzen sollte
- Schaltplan zeichnen verbessern
- mehr auf die ISP-Schnittstelle beim Layout achten sollte
- mir eine Meißelspitze für's Löten zulegen muss

Wenn Ihr noch mehr Tipps habt, dann bitte her damit.

Ich bin noch immer ratlos zur ersten Antwort von Karl, was den 
Soll/Ist-Abgleich angeht. Was wäre das für Sachen gewesen oder wo kann 
ich mich da schlau machen? Geht es um Testpoints zum messen und eine Art 
Checkliste?

von Ralph E. (marph)


Lesenswert?

Last but not least:

D A N K E für Eure Zeit

Und wie der Terminator sagte: I'll be back.... (das ist als Drohung zu 
verstehen ;-)

von Ralph E. (marph)


Lesenswert?

Atmega chip detector.
Written by Nick Gammon.
Version 1.20
Compiled on Jan 20 2019 at 18:13:32 with Arduino IDE 10805.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x98 0x01
Processor = ATmega2560
Flash memory size = 262144 bytes.
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD
Lock byte = 0xCF
Clock calibration = 0x55
Bootloader in use: Yes
EEPROM preserved through erase: No
Watchdog timer always on: No
Bootloader is 8192 bytes starting at 3E000

von Stefan F. (Gast)


Lesenswert?

Ralph E. schrieb:
> Ich nehme hier mal mit, dass ich:
> - mich mit den Fuses auseinandersetzen sollte

Macht Sinn. Wobei die Arduino IDE sich beim Flashen des Bootloaders 
automatisch darum kümmert.

Dennoch kann es hilfreich sein, zumindest zu wissen, was man durch die 
Fuses beeinflussen kann. Die Taktquelle ist natürlich offensichtlich. 
Interessanter könnte der Brown-Out Detektor sein, vor allem, wenn dein 
Sketch das EEprom nutzt, denn das reagiert oft mit Datenverlust wenn man 
bei instabiler Stromversorgung drauf zugreift.

von Falk B. (falk)


Lesenswert?

Ralph E. schrieb:
> Als "gelöst" kann ich den Thread nicht kennzeichnen, oder?
>
> Ich nehme hier mal mit, dass ich:
> - mich mit den Fuses auseinandersetzen sollte
> - Schaltplan zeichnen verbessern
> - mehr auf die ISP-Schnittstelle beim Layout achten sollte
> - mir eine Meißelspitze für's Löten zulegen muss

Nö, eine angeschrägte, auf neudeutsch hoof tip.

https://makezine.com/projects/skill-builder-soldering-iron-tips/

Rechts im Bild. Die mittlere, meißelförmige ist auch für viele Sachen 
nützlich. Die ganz dünne Spitze hab ich noch nie gebraucht.

von Ralph E. (marph)


Lesenswert?

Boah. Das Thema ist mit meinem Englisch schwer zu verstehen.

Derzeit sind die Fuses
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD

Jetzt vermute ich dass der Interner Quarz das sagen hat und würde 
natürlich gerne meinen externen 16Mhz-Quarz nutzen.

Nun muss ich aber auch etwas zu BOD sagen und verstehe nciht was das 
sein soll.
Weiterhin habe ich einen 16,0000-HC49U-S Standardquarz, Grundton, 
16,000000 MHz, dem zwei 22pf Kondensatoren zur Seite stehen.

Wenn ich das jetzt richtig verstehe, muss ich CKSEL 0111 setzen.
Da ich SUT nicht verstehe, habe ich im Netz gesehen, dass zwei Leute das 
auf SUT=01 (BOD enabled) gesetzt haben.

Spricht was dagegen, wenn ich das auch so mache?

Das würde dann folgende Fuses ergeben:
LFuse = 0xD7
HFuse = 0xD8
EFuse = 0xFD

von Ralph E. (marph)


Lesenswert?

Hier im Fuses-Artikel sehe ich schon, dass das nciht stimmen kann.

von Ralph E. (marph)


Lesenswert?

OK, nochmal nachgedacht und irgendwie sieht das doch jetzt schon passend 
aus.
Also wird doch jetzt schon der ext. Quarz genutzt, da die derzeitige 
Einstellung:
LFuse = 0xFF
HFuse = 0xD8
EFuse = 0xFD

CKSEL=1111
SUT=11

bedeutet.

Wenn ich das jetzt richtig verstehe, dann ist der Mega auf 8Mhz 
eingestellt und nutzt den Bootloader.

Wieso denn eigentlich nur 8Mhz? Wieso nicht 16Mhz?

von Stefan F. (Gast)


Lesenswert?

Der interne R/C Oszillator hat 8MHz.
Du hast ihn auf den externen Quarz eingestellt, wie viel MHz der hat, 
sollte drauf stehen.

Merke Dir mal diese nützliche Webseite: 
http://www.engbedded.com/fusecalc/

von Einer K. (Gast)


Lesenswert?

Ralph E. schrieb:
> Wieso denn eigentlich nur 8Mhz? Wieso nicht 16Mhz?
Noch mal aufmerksamer nachlesen!

Es sagt:
> Ab 8MHz

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.