Arduino Software hängt sich auf

Hallo.

Ich stehe echt vor einem Rätsel. Ich habe mir vor einigen Wochen einen Arduino Leonardo zugelegt. Mit diesem konnte ich auch perfekt arbeiten. Nur seit einigen Tagen hängt sich die Software einfach auf, sobald ich den Arduino Leonardo mit dem PC verbinde. Ich versteh das nicht. Entweder ich schließe den Leonardo an, während die Software läuft -> Die Arduino Software hängt sich auf. Schließe ich den Leonardo erst an und starte dann erst die Arduino Software, dann brauch sie lange zum Laden und wenn sie dann mal fertig ist mit starten, dann gibt sie mir einen Fehler: "an error has occurred while startin the software" oder so ähnlich. Schließe ich aber meinen Arduino Uno oder meinen Arduino Mega an, so funktioniert wieder alles wie es sein soll. Woran kann das liegen? der Leonardo ist glaube ich nicht kaputt, da der Sketch, der da noch drauf ist, noch Läuft wenn ich den Leonardo mit dem PC verbinde.

Meine Vermutung ist, dass es villeicht irgendwas damit zutuhen hat, dass der Leonardo im gegensatz zu anderen Arduino boards eine seperate USB Schnittstelle hat. Villeicht gibt es da irgendwie ein Problem. Kein Ahnung.

Bitte um hilfe, ich habe auch schon bereits andere Arduino Versionen heruntergeladen. Doch auch diese hängen sich auf.

Mfg

Der Leonardo funktioniert anders als der UNO, da die USB Schnittstelle Teil des Controllers selbst ist. Der UNO/Mega verwendet dagegen einen separaten Co-Prozessor für die USB/seriell Wandlung.

HelishCoffe:
Meine Vermutung ist, dass es villeicht irgendwas damit zutuhen hat, dass der Leonardo im gegensatz zu anderen Arduino boards eine seperate USB Schnittstelle hat. Villeicht gibt es da irgendwie ein Problem. Kein Ahnung.

Ja klar hängt es damit zusammen und Du hast beim Programmieren Deines Sketches für den Leonardo garantiert irgendwelche Dinge aus diesem Leitfaden NICHT beachtet:
http://arduino.cc/de/Guide/ArduinoLeonardoMicro

So oft wie man hier im Forum immer liest, dass bei jemandem ein Leonardo oder Micro "plötzlich" nicht mehr funktionieren will, muß es haufenweise Noobs geben, die an den USB-Funktionen des Boards rummachen (z.B. mit einer Emulation für Tastatur und Maus experimentieren), die in dem oben genannten Leitfaden geposteten "Tipps und Tricks für das Programmieren des Leonardo und Micro" entweder nicht verstehen, vollkommen mißverstehen oder einfach in den Wind schlagen, dann irgendwas auf das Board laden - und schwupps funktioniert es mit dem USB nicht mehr, einen neuen Sketch auf das Board hochzuladen.

Am besten besorgt sich jeder Noob, der mit den USB-Funktionen eines Leonardo experimentieren möchte, gleich auch noch einen ISP-Programmer, so dass das Board immer noch über den ISP-Programmer mit neuer Software befüllt werden kann, wenn es über USB nicht mehr funktioniert. Ich bin mir nicht ganz sicher, aber eventuell reicht auch ein UNO mit dem Sketch "Arduino as ISP" als Ersatz-ISP Programmer.

Und die Noobs, die überhaupt nicht mit den USB-Funktionen experimentieren möchten, besorgen sich lieber ein anderes Board wie das UNO oder MEGA oder Nano und NICHT Leonardo oder Micro.

Hallo,
"mit dem PC verbinde"
ich darf davon ausgehen, das es sich um eine DOSe handelt- und nicht um einen Macintosh?

Was macht denn die IDE, wenn keiner der Arduino angeschlossen ist? Hast Du denn die richtige Schnittstelle in der IDE- und den richtigen
Arduino ausgewählt?
Was sagt denn der GeräteManager zu den angeschlossenen Arduino´s?
Wenn es vorher lief und jetzt ohne ersichtlichen Grund nicht mehr, dann würde ich ganz fest an ein Problem mit den USB-Treibenr glauben.
Gruß und Glück
Andreas
P.S. das ist aber alles- wie sagt man hier doch im Forum? Glas-Kugel-Lesen...
Wir wissen z.B. nicht was für eine IDE, welches BetriebsSystem, welche USB-Treiber u.s.w.

jurs:

HelishCoffe:
Meine Vermutung ist, dass es villeicht irgendwas damit zutuhen hat, dass der Leonardo im gegensatz zu anderen Arduino boards eine seperate USB Schnittstelle hat. Villeicht gibt es da irgendwie ein Problem. Kein Ahnung.

Ja klar hängt es damit zusammen und Du hast beim Programmieren Deines Sketches für den Leonardo garantiert irgendwelche Dinge aus diesem Leitfaden NICHT beachtet:
http://arduino.cc/de/Guide/ArduinoLeonardoMicro

So oft wie man hier im Forum immer liest, dass bei jemandem ein Leonardo oder Micro "plötzlich" nicht mehr funktionieren will, muß es haufenweise Noobs geben, die an den USB-Funktionen des Boards rummachen (z.B. mit einer Emulation für Tastatur und Maus experimentieren), die in dem oben genannten Leitfaden geposteten "Tipps und Tricks für das Programmieren des Leonardo und Micro" entweder nicht verstehen, vollkommen mißverstehen oder einfach in den Wind schlagen, dann irgendwas auf das Board laden - und schwupps funktioniert es mit dem USB nicht mehr, einen neuen Sketch auf das Board hochzuladen.

Am besten besorgt sich jeder Noob, der mit den USB-Funktionen eines Leonardo experimentieren möchte, gleich auch noch einen ISP-Programmer, so dass das Board immer noch über den ISP-Programmer mit neuer Software befüllt werden kann, wenn es über USB nicht mehr funktioniert. Ich bin mir nicht ganz sicher, aber eventuell reicht auch ein UNO mit dem Sketch "Arduino as ISP" als Ersatz-ISP Programmer.

Und die Noobs, die überhaupt nicht mit den USB-Funktionen experimentieren möchten, besorgen sich lieber ein anderes Board wie das UNO oder MEGA oder Nano und NICHT Leonardo oder Micro.

Ich habe weder irgendwelche USB-Funktionen in meinem Sketch etc. benutzt, noch irgendwas verändert. Ich habe lediglich einen Sketch hochgeladen, mit dem ich ein paar Servo ansteuern kann. Das ist ja das Problem, dass ich nichts an diesen Funktionen verändert habe.

SkobyMobil:
Hallo,
"mit dem PC verbinde"
ich darf davon ausgehen, das es sich um eine DOSe handelt- und nicht um einen Macintosh?

Was macht denn die IDE, wenn keiner der Arduino angeschlossen ist? Hast Du denn die richtige Schnittstelle in der IDE- und den richtigen
Arduino ausgewählt?
Was sagt denn der GeräteManager zu den angeschlossenen Arduino´s?
Wenn es vorher lief und jetzt ohne ersichtlichen Grund nicht mehr, dann würde ich ganz fest an ein Problem mit den USB-Treibenr glauben.
Gruß und Glück
Andreas
P.S. das ist aber alles- wie sagt man hier doch im Forum? Glas-Kugel-Lesen...
Wir wissen z.B. nicht was für eine IDE, welches BetriebsSystem, welche USB-Treiber u.s.w.

Ich benutze Windows 7 mit der Arduino Version 1.0.5
Ich habe den richtigen Arduino ausgewählt und wird im Gertätemanager wie jeder andere Arduin auch als COM-Schnittstelle erkannt.

HelishCoffe:
Ich habe lediglich einen Sketch hochgeladen, mit dem ich ein paar Servo ansteuern kann. Das ist ja das Problem, dass ich nichts an diesen Funktionen verändert habe.

Du kannst ja mal den Sketch posten, den Du als letztes auf den Leonardo hochgeladen hast.
Eventuell kann sich das dann jemand erklären oder es nachvollziehen, wieso der Leonardo danach nicht mehr an der Arduino-Software funktioniert.

Zur Wiederbelebung des Boards würde ich mich allerdings mit dem Gedanken anfreunden, dass Du den nächsten Sketch nun über den 6-pin ICSP-Anschluss hochladen mußt und nicht über USB.

Hallo,
"Das ist ja das Problem, dass ich nichts an diesen Funktionen verändert habe. "
Nein, Du nicht- aber Dein System?
Wir wissen immer noch nicht, ob die IDE ohne angeschlossenen Arduino ohne Probleme läuft.
Also, IDE ohne Sketch starten- läuft? Gut!
Sketch in IDE laden- läuft? Gut!
Sketch überprüfen- läuft ohne Fehler? Gut!

Mach doch einmal einen Schritt nach dem anderen! Du bist hier auf Fehlersuche- und nicht in der Eisdiele.
Gruß und Spaß
Andreas

Alsoo...
Die IDE Läuft ohne Probleme, wenn ich keinen Arduino angeschlossen habe.
Ebenso kann ich ohne Probleme Sketches Laden/Speichern kompilieren etc.
Also: Die IDE läuft immer wie sie laufen soll, sobald der Leonardo nicht angeschlossen ist.

Den SKetch kann ich im Moment nicht zeigen. Ich werde mir mal in den nächsten Tagen einen Isp programmer besorgen, da es mit "Arduino as ISP" nicht zu funktionieren scheint.

Danke für eure hilfe.

Natürlich geht die IDE ohne Board. Das Problem ist folgendes:
Auf dem Leonardo läuft die USB Kommunikation auf dem gleichen Prozessor wie das Hauptprogramm. Wenn du also etwas programmiert hast, das nur noch USB macht (z.B. zu schnelle Ausgaben) und keine Zeit mehr für den Rest lässt, kann man das Board nicht mehr ansprechen.

HelishCoffe:
...da es mit "Arduino as ISP" nicht zu funktionieren scheint.

Hast Du bei der Verkabelung berücksichtigt, dass die SPI-Pins beim Leonardo NICHT identisch sind mit den Pins am UNO?
Nur für den UNO gilt: 11 (MOSI), 12 (MISO), 13 (SCK).

Beim Leonardo sind die SPI-Pins nicht mal auf digitale Pins herausgeführt, sondern nur am SPI-Header verfügbar.

D.h. wenn Du Dir dieses Bild als Vorbild für die Verkabelung nimmst:

dann dürfen die SPI-Pins nicht an 11, 12, 13 des zu programmierenden Leonardo angeschlossen werden, sondern müssen an MOSI, MISO, SCK des ISP-Headers am Leonardo angeschlossen werden.
Hab's zwar nicht getestet, aber ich sehe momentan nicht, wieso das nicht funktionieren sollte.

Hat vielleicht schon mal jemand der anderen Mitleser getestet, ob man mit einem UNO as ISP einen Leonardo als Target neu programmieren kann oder nicht?

Hallo,
d.h. wenn ich einen Sketch mit "schneller" Ausgabe über USB habe (z.B. an den
seriellen Monitor) dann komme ich an den Arduino nicht mehr ran?

Gibt es da keinen Trick mit der ResetTaste, war da nicht etwas mit "Brücke"
löten?
Gruß und Dank
Andreas

Serielle Ausgabe ist wohl nicht so sehr das Problem. Das war schlecht formuliert. Der Leonardo kann zwar den seriellen Puffer schneller vollschreiben, aber das ist immer noch relativ langsam ingesamt. Wenn das zu schnell geht, kommt der serielle Monitor ins schwitzen, aber der Controller muss dabei nicht blockieren.

Wovor aber ausdrücklich gewarnt wird ist den Controller ständig als Maus oder Tastatur laufen zu lassen.