Hallo, folgende Beobachtung konnte ich an 3 Mega2560 Board (Originale) wiederholt testen und habe Stunden gebraucht was da passiert ist: Konfiguration: ich programmiere Ardus nur über einen Ubasp ISP, geht schneller und die USB ist frei für ein anderes terminal als diesen eingebauten Kram. USB Stecker 1: UBasp USB Stecker 2: USB Interface Sobald ich beide Stecker im USB Hub drin stecken habe (in genau der Sekunde) war es das! Der Arduino ist nicht mehr ansprechbar und nicht mehr programmierbar, weder über USB noch über ISP. Erst dachte ich sie wären kaptt und habe neue Megas eingelötet. Alle 3 Boards reagierten nicht mehr. Erst wenn ich ihm einen neuen Bootloader über den UsBasp verpasse tut er es wieder. Bis ich drauf kam vergingen einige Stunden Sucherei. Die Fuses hatten sich komplett zurück gesetzt. Ich weiss nicht genau, ob wirklich ein Bootloader übertragen wird in der IDE oder ob nur die Fuses gesetzt werden? Die beiden USB Stecker stecken im gleichen Hub, Spannungsunterschiede sind also nicht zu erwarten. Was passiert da? Gruss, Christian
Christian J. schrieb: > Der Arduino ist nicht mehr ansprechbar und nicht > mehr programmierbar, weder über USB noch über ISP. Christian J. schrieb: > Erst wenn ich ihm einen neuen Bootloader über den UsBasp verpasse tut er > es wieder. Das widerspricht sich aber gewaltig. Wenn der Controller über ISP programmiert wird, wird der gesamte Speicher, also auch der Bootloader gelöscht. Dass es nach dem Programmieren über ISP mit dem Bootloader nicht mehr geht, ist also völlig normal. Christian J. schrieb: > Die > Fuses hatten sich komplett zurück gesetzt. Ich weiss nicht genau, ob > wirklich ein Bootloader übertragen wird in der IDE oder ob nur die Fuses > gesetzt werden? Die Fuses setzen sich nicht selbständig zurück. Genauso werden sie beim Programmieren mit einem Hexfile nicht gesetzt. mfg.
:
Bearbeitet durch User
Thomas Eckmann schrieb: > Das widerspricht sich aber gewaltig. Du, es ist genauso wie ich sagte. Und es ist nicht erklärbar. Ich hatte das bei einem PIC auch schon mal, dass sich beim Ziehen des USB Steckers alles löschte. Der war wie frisch gewaschen. Ursache waren Spannungspitzen beim Ziehen des steckers. Erst neu programmieren von Fuses und Code behoben das Problem. >>Die Fuses setzen sich nicht selbständig zurück. Doch..... das haben sie getan! Indianer Ehrenwort. Da haben 2 Kollegen drüber gegrübelt, ich habe den Effekt mehrmals vorgeführt, da er reproduzierbar war und nicht sporadisch. Es stellt sich die Frage: Was passiert, wenn man "Bootloader programmieren" drückt in der Arduino IDE? Beim Attiny geht es sehr schnell (1s), bei Atmega2560 dauert es fast 10s. Ich muss es bei jedem frischen AVR machen, da ich die als chip nutze, also ohne das blaue Board.
Christian J. schrieb: > Du, es ist genauso wie ich sagte. Deine Beobachtungen kann ich nicht überprüfen. Aber du schreibst in einem Satz, dass sich der Controller über ISP nicht mehr anspechen lässt. Im übernächsten Satz verpasst du ihm einen neuen Bootloader. Über ISP. mfg.
:
Bearbeitet durch User
Thomas Eckmann schrieb: > Aber du schreibst in einem Satz, dass sich der Controller über ISP nicht > mehr anspechen lässt. Im übernächsten Satz verpasst du ihm einen neuen > Bootloader. Über ISP. Es lässt sich kein programm über ISP mehr einspielen, weil avrdude meldet, dass das Target nicht reagiert. Drücke ich aber auf "Bootloader" dann macht er es. Das ist ja auch ok, denn bei frischen Chips muss ich ja auch erst umstellen auf zb ext Quarz usw. Da meldet er auch dass er sie nicht programmieren kann frisch ab Werk. Testweise habe ich beide USB Geräte auch über einen USB Galvanik-Trenner angsteckt. Die Ursache habe ich in der beidseitigen Zuführung von 5V vermutet die sowohl über den Serial kommen als auch über den UsBasp.
Vielleicht ist die Resetbeschaltung Suboptimal und es kommt während dieses Resetvorgangs und etwas geklammert auf Mosi, Miso... zum Programmiervorgang. Hört sich fast wie Ponyprog an ;-) Resetbeschaltung wäre interessant.
:
Bearbeitet durch User
Christian J. schrieb: > Es lässt sich kein programm über ISP mehr einspielen, weil avrdude > meldet, dass das Target nicht reagiert. Drücke ich aber auf "Bootloader" > dann macht er es. Wo drückst du auf Bootloader? In der Arduino IDE? Und dann wird der Controller programmiert? Dann ist der Bootloader also drauf. > Das ist ja auch ok, denn bei frischen Chips muss ich > ja auch erst umstellen auf zb ext Quarz usw. Da meldet er auch dass er > sie nicht programmieren kann frisch ab Werk. Was ist OK? Dass man mit Avrdude nicht drauf zugreifen kann? Das ist nicht OK. Zum Einstellen der Fuses muss man drauf zugreifen können. Wenn man die Fuses verstellen kann, kann man auch Programmieren. Entweder machst du etwas komplett falsch oder dein Programmer ist für die Tonne. Christian J. schrieb: > Die Ursache habe ich in der beidseitigen Zuführung von 5V > vermutet die sowohl über den Serial kommen als auch über den UsBasp. Ist der Usbasp einer von diesen tollen Programmern, die die Zielschaltung mit Spannung versorgen? Da kommt sich natürlich etwas in die Quere, wenn die Schaltung über den USB noch zusätzlich versorgt wird. Die Spannungszuführung über den Programmer muss natürlich abgeschaltet sein, wenn das Board schon von anderer Seite versorgt wird. Lässt diese sich nicht abschalten, ist der Programmer nicht geeignet. Ich stehe auf dem Standpunkt, dass alles andere als ein original Atmel-Programmer sowieso nicht geeignet ist. Aber das ist nicht Thema dieses Threads. Mit einem AVRISP hättest du allerdings keine Probleme. Thomas O. schrieb: > Resetbeschaltung wäre interessant. Ja, die ist ein bisschen merkwürdig, weil über einen Impuls auf einer Steuerleitung der RS232 vom USB-Controller, der Controller resetted wird, damit er in den Bootloader geht. Das ist aber für ISP kein Problem, da der ISP-Programmer die Reset-Leitung permanent auf 0 hält. Zum Problem wird die Beschaltung erst z.B. beim Arduino Uno, wenn man über Debugwire debuggen will. mfg.
:
Bearbeitet durch User
ich vertrete die gleiche Meinung: Ein AVRISP und man hat viel weniger Probleme. Wenn aber die Reset Beschaltung nichts taugt weil diese evtl. nicht stabil gehalten wird oder während dessen Impulse auf die Programmierleitungen geraten kann das zu einem "Programmier-/Löschvorgang" führen. Mach mal ein paar Versuche um das ganze einzugrenzen. Wirst ja noch ein paar ATM2560 rumliegen haben ;-) oder diese per HV wieder zurücksetzen können.Hast du einen Logic Analyzer damit könntest du mal wärend des Abziehen des USB Kabels man die Pins abhörchen Reset und VCC würde ich mir mit einem Oszi ansehen. Der Fehler wird sich schon eingrenzen lassen. Und gib mal ein paar Infos rüber. Auch ein Bild deiner Platine usw. könnte dazu beitragen.
Hallo, das Problem liegt schon länger zuück und ist daher nicht mehr aktuell. An einem andereren rechner trat es nie auf. Ich vermute dass die Ursache wie beschrieben auf mangelhafte Hardware zurück geht. An einem Original Programmer tritt es ebenfalls nicht auf. Mich interessierte es nur, da dieses Problem eines der Sorte war, die ungelöst blieben und wo eine andere Hardware das Problem beseitigte. Ich hatte dieses Phönomen jedenfalls bei einem PIC programmer aus China auch mal......USB weg und er war tot, wie frisch gewaschen, da war nichts mehr drauf, alle Bits auf 0xff. Ich rief damals den Supporter von Microchip an und er vermutete (!), dass Stromspitzen, die über die internen Clamp Dioden laufen "seltsame Effekte" haben könnten. Daher sicherte ich Chips im Betrieb gegen solche mehr ab als eigentlich nötig, packte auch noch eine RC in die Versorgung mit rein. >Wenn man die Fuses verstellen kann, kann man auch Programmieren. Diese Aussage trifft zumindest für die Arduino IDE nicht zu. Der Programmiervorgang wird mit einem Fehler abgebrochen, wenn die Fuses nicht dem entsprechen was erwartet wird bei einem gekauften Board. Erst müssen die stimmen, dann klappt es. Dann kan man mit einem Testboard ausprobieren, wenn man die ISP direkt dran steckt an die paar Pins. Ein Programm einspielen wird mit no response from target beendet. Stellst du um auf Quarz und hat kein "Testbett" mit Quarz kannst du auhc nicht mehr zurück auf internen Takt stellen, zumindest nicht mit dem UsBasp Billigprogrammierer. Da jedoch vieles verborgn wird von dieser IDE lässt sich nicht nachvollziehen was die wirklich macht. Boatloader sind Programme, klar. Fuses sind Betriebsparameter. Ich brauche keinen Boatloader um mit der ISP zu zu programmieren, das kann der Chip allein.
Moment mal. Heute um 12:54 beschreibst Du ein Problem und bitetst um Hilfe. Nichtmal 5 Stunden später heisst es: das Problem liegt schon länger zuück und ist daher nicht mehr aktuell. Ich bin jetzt verärgert, ich helfe Dir heute nicht mehr!
Naja das sind eben Arduinouser, verwirrt bis zum geht nicht mehr ;)
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.