MEGA2560 mit USB-Serial Adapter flashen

Hi, und erstmal schöne Weihnachten an alle.

Ich steh irgendwie wie der Ochs vorm Berg auf dem Schlauch.

Ich habe (hatte) in meiner Poolsteuerung einen MEGA2560 (clone mit CH340G) provisorisch am laufen. Angeschlossen war er u.a. über einen seriellen Deviceserver. Besagter Deviceserver war mit TX/RX/DTR an den MEGA angeschlossen, und ist im Prinzip nur eine Remote serielle Schnittstelle. Alles lief einwandfrei, serielle Ausgaben und Flashen.

Nun gab es eine kleine Havarie und der MEGA ist hinüber. Neuen dran, meiner Meinung nach baugleich, dann ging die serielle Ausgabe noch, aber Flashen war nix mehr.

Also alles ausgebaut, am Basteltisch zusammengesteckt, und tatsächlich, er flashte nicht mehr über seriell en Adapter. Über den eingebauten USB Port geht alles. Andere USB-seriel Adapter getestet, auch nix. Manueller Reset, auch nichts.

Irgendjemand ne Idee? CH340 Chip rauslöten? Aber wieso ging es vorher, an dem jetzt kaputten MEGA?

Der Sketch verwendet 2538 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes.
Globale Variablen verwenden 341 Bytes (4%) des dynamischen Speichers, 7851 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes.
C:\Program Files (x86)\arduino-1.8.6\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\arduino-1.8.6\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM1 -b115200 -D -Uflash:w:C:\Users\rm\AppData\Local\Temp\arduino_build_367815/sketch_dec23a.ino.hex:i 

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Program Files (x86)\arduino-1.8.6\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM1
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

Bist du sicher, dass es Com1 ist ? Das ist sehr unwahrscheinlich.

Ja, bin ich 100%. Ich hab die hw uart von com1 auf com12 gelegt, und die remote com auf com1. Wie gesagt, es hat so jahrelang funktioniert.

Der einzige Austausch war der MEGA. Und theoretisch sollte es ja auch gar nicht gehen, dass man einen 2. seriell Adapter parallel zum ch340 anschließt. Ich brauche das aber so.

Vielleicht war ja der alte Mega toleranter. Aber die Widerstände sind die gleichen. Die R3 und R4 haben 49,9 Ohm (Denke wenigstens, dass das R3 und R4 sind). Erscheint mir sehr wenig für Override durch den 2. Adapter Schematic 2560 ch340

Gehimmelt nicht. Eher geflutet. Ein Tropfenauffangblech ist von der Decke gerostet und draufgeflogen. Das war dummerweise mit etwas Salzwasser gefüllt.

Der Device Server ist ein DS1 von Perle. Aber wie gesagt, es geht bei dem neuen auch nicht mit anderen usb-serial Adaptern. Wenn ich anstatt Arduino am DS1 einfach nur rx/tx brücke, funktioniert das Echo. Also von daher alles ok.

Ich hab jetzt mal an der Platine nachgemessen, zwischen ch340 und 2560 sind 50 Ohm Widerstände. Im Referenzlayout sind zwischen Atmega16au und 2560 1k. Vielleicht wäre das ja ein Ansatz. Ich habe es auch schon mit einem weiteren baugleichen Mega2560 versucht, gleiches Ergebnis.

Werde später mal das Oszi dranhängen, Pegel anschauen.

Ja, 50R halte ich auch für zu wenig.

1k ist erheblich plausibler

Ich hab nun die Pegel gemessen, und wie bereits gedacht, der usb-seriell Adapter bekommt seinen TX Pegel nicht auf LOW. Und bei angeschlossenem usb-seriell Adapter bekommt auch der ch340 seinen Sendepegel nicht auf LOW. Hab dann die beiden smd 50R gegen 1k getauscht, und nun geht es wie vorher.

Was ich aber immer noch nicht verstanden habe, ist, warum es mit dem havarierten Mega ging, der genau die gleichen 50R smd drauf hat.

ElEspanol: Was ich aber immer noch nicht verstanden habe, ist, warum es mit dem havarierten Mega ging, der genau die gleichen 50R smd drauf hat.

Möglich wären Bauteiletoleranzen. Mit einer Worst-Case-Rechnung könntest Du herausfinden, ob dies eine Erklärung sein könnte.

Oder freue Dich einfach, daß Du eine Lösung gefunden hast :)

Keine großen Toleranzen, +/- 1 Ohm.

Lösung ist gerade in weitere Ferne gerückt. Nun spinnt durch das viele Herumprobieren der Deviceserver.