Moin zusammen! Mir fiel leider kein besserer Titel ein, deswegen habe ich das gleich selber nach 'Offtopic' verschoben. Mir gingen bislang ja diese ganzen Arduino-bashing-threads am Arsch vorbei, soll doch Arduino so eine tolle Plattform sein, um auch bislang desinteressierte -insbesondere junge- Menschen für die spannenende Wunderwelt der Mikroprozessorei zu begeistern, was ich durchaus befürworte. OK, daß Steckmodule heute 'Shields' heissen und Programmfragmente 'Sketches', damit kann ich ja leben. Sprache ist stetigem Wandel unterworfen, und der 'Negerkuß' meiner Kindheit wird heute auch anders genannt. Warum man heute Schaltpläne durch bunte Bilder, auf denen bunte Drähte in Steckbretter gesteckt werden, ersetzt, was meiner Meinung nach dem Verständnis des ganzen nicht förderlich ist, aber dafür dem dressierten Affen erlaubt, ein Erfolgserlebnis zu haben, verstehe ich ja noch. Bei einer Frustrationstoleranz von genau 0 ('Haben sie ihr Kind heute schon gelobt?') muß man mit den armen Seelchen feinfühlig umgehen, damit sie nicht gleich wieder den Spaß an der Elektronik verlieren und doch lieber Jura oder BWL studieren. Kann ich ja alles noch irgendwie nachvollziehen. Aber WARUM wird ein Arduino jedes mal, wenn man sich mit einem Terminal auf den eigebauten USB-seriell-Konverter mit einem Terminal verbindet, resetet??? Die haben da überall extra einen Kondensator (siehe Bild) eingebaut, damit der Prozessor beim Herstellen einer seriellen Verbindung zurückgesetzt wird! Ja voll Supa! Und wenn man den nicht gleich weggeflasht hat, meldet sich zuerst der Bootloader. Wenn man sich seriell darauf verbindet. Na gut, sich seriell auf irgendwelche Geräte zu verbinden ist old-fashioned. Aber manchmal ist das eben das einfachste Mittel der Wahl! Ganz ohne WLAN- Ethernet oder Bluetoth-Shield kann ich mit dem Prozessor kommunizieren. An der Konsole. HA, da bin ich auf den Punkt gekommen, dazu muß man Lesen und Schreiben können... So! Dem langen Gegreine ein Ende: Wenn man bei den ganz billigen Arduino-V3-Clones aus China den Bootloader wegflasht, das 'Boot reset vecor enabled' Bit löscht UND diesen bekloppten Kondensator zwischen DTR und 'Reset' auslötet, bekommt man für billig Geld echt brauchbare Bastlerhardware. Was ich am Ende nicht verstehe ist, warum man diesen Kondensator eingebaut hat! Mit einer entsprechenden Codesequenz lässt sich ein ATMega sowas von resetten. Und die Schwachmaten löten da extra einen Kondensator ein!!! Wie doof ist das denn?
Baku M. schrieb: > Mit einer entsprechenden Codesequenz lässt sich ein ATMega sowas von > resetten. Und die Schwachmaten löten da extra einen Kondensator ein!!! Der Kondensator ist für diejenigen, die mit einer "entsprechenden Codesequenz" nichts anfangen können und die Schlauen brauchen eben nur den Kondensator rauskneifen. Das ist für alle Beteiligten der einfachere Weg.
Dirk J. schrieb: > Der Kondensator ist für diejenigen, die mit einer "entsprechenden > Codesequenz" nichts anfangen können und die Schlauen brauchen eben nur > den Kondensator rauskneifen. Das ist für alle Beteiligten der einfachere > Weg. Ja, da wirst du Recht haben... IdS! Baku
Wann passiert der Reset? Beim anstecken an USB oder beim öffnen des Ports? Du kannst das DTR Signal doch per Terminal steuern. Was passiert wenn du es vor dem verbinden auf High schaltest? Dann sollte kein Reset ausgelöst werden, man hätte aber den Vorteil dass man per USB einen Reset auslösen kann wenn nötig.
Der Arduino wird vom DTR in Reset gezogen, damit der Bootloader von der IDE aus gestartet werden kann. Kondensator rauslöten funktioniert, macht aber mit dem Bootloader Ärger, da der eine halbe Sekunde timeout hat. Du könntest aber auch DTR am Terminal ausschalten.
wenn du die 'flow control' auf 'none' stellst, sollte er die anderen (außer RX, TX) Leitungen brav in Ruhe lassen
Vlad T. schrieb: > wenn du die 'flow control' auf 'none' stellst, sollte er die anderen > (außer RX, TX) Leitungen brav in Ruhe lassen Flasch :-) DTR signalisiert die Betriebsbereitschaft des Endgerätes. Wenn 'flow control' ausgeschaltet ist, werden DTR und RTS dauerhaft aktiv geschaltet (z.B. um einem Modem zu signalisieren, daß es jetzt loslegen kann), sobald die Schnittstelle geöffnet wird. Wenn 'flow control' eingeschaltet ist, werden -je nach Implementierung- die Steuersignale benutzt, um dem Sender zu signalisieren, daß er mal ne Pause machen soll, weil der Empfänger mit der Verarbeitung der Empfangsdaten nicht weiterkommt, dafür werden aber üblicherweise RTS/CTS benutzt, gelegentlich auch DTR/DSR. Das wäre dann natürlich völlig Panne, weil jedesmal der Arduino resettet wird... Eine Terminalsoftware müsste schon ganz bewusst DTR nicht setzen, wenn sie gestartet wird. Also: Kondensator raus und gut :-) Es grüßt Baku
Baku M. schrieb: > Eine Terminalsoftware müsste schon ganz bewusst DTR nicht setzen, wenn > sie gestartet wird. Also: Kondensator raus und gut :-) Geht bei HTerm, aber man kann es nur bei geöffneter Verbindung umstellen. Bleibt dann aber auch nach dem Disconnect erhalten.
Ich hatte bisher dasselbe Problem, wenn ich ein terminal zu unserem 3D-Drucker (Arduino Mega 2560) öffnen wollte: unnötiger Reset (Da ich da keine große Arbeit investieren wollte und wir sonst keinen Arduino nutzen, hatte ich das Problem bisher nicht weiter verfolgt.) Habe ich das jetzt richtig verstanden: Kondensator rausnehmen reicht? oder ist der neue Bootloader zwingend?
Chris D. schrieb: > Habe ich das jetzt richtig verstanden: Kondensator rausnehmen reicht? > oder ist der neue Bootloader zwingend? Bei meinem 2560-Board steckt der noch drin. Hat mich bisher nicht gestört. Aber aus meinem Uno habe ich den rausgenommen, weil sonst dW nicht funktioniert. Der macht dann auch keinen automatischen Reset mehr. mfg.
Chris D. schrieb: > Habe ich das jetzt richtig verstanden: Kondensator rausnehmen reicht? > oder ist der neue Bootloader zwingend? Kondensator raus reicht, aber dann musst du zum flashen über den Bootloader von Hand resetten und innerhalb einer halben Sekunde die Übertragung starten. Sollte der Bootloader also häufiger benutzt werden, wäre es ratsam, den timeout zu erhöhen.
Jan H. schrieb: > Chris D. schrieb: >> Habe ich das jetzt richtig verstanden: Kondensator rausnehmen reicht? >> oder ist der neue Bootloader zwingend? > > Kondensator raus reicht, aber dann musst du zum flashen über den > Bootloader von Hand resetten und innerhalb einer halben Sekunde die > Übertragung starten. Sollte der Bootloader also häufiger benutzt werden, > wäre es ratsam, den timeout zu erhöhen. Ah ok, alles klar. Ich hab gerade nochmal im originalen MEGA2560-Schaltplan geguckt. Dort findet sich hinter dem Kondensator sogar eine Lötbrücke "Reset-En", die allerdings selbst wieder dauerhaft gebrückt wurde - warum auch immer. Ich nutze hier gerne CuteCom. Leider scheint dort die Möglichkeit der DTR-Deaktivierung zu fehlen.
Chris D. schrieb: > Dort findet sich hinter dem Kondensator sogar eine Lötbrücke "Reset-En", > die allerdings selbst wieder dauerhaft gebrückt wurde - warum auch > immer. Wenn's vom Abstand her passt, könnte man ja dort einen Jumper oder kleinen Schalter einlöten, dann kann man den automatischen Reset umschaltbar machen.
Jan H. schrieb: > Chris D. schrieb: >> Dort findet sich hinter dem Kondensator sogar eine Lötbrücke "Reset-En", >> die allerdings selbst wieder dauerhaft gebrückt wurde - warum auch >> immer. > > Wenn's vom Abstand her passt, könnte man ja dort einen Jumper oder > kleinen Schalter einlöten, dann kann man den automatischen Reset > umschaltbar machen. Ja, das werde ich auch tun - der Jumper ist ein wenig "Gepfriemel", aber es sollte gehen. Die Brücke ist übrigens deswegen im Schaltplan gebrückt, weil man offenbar die sonst nötige Zinnperle einsparen wollte (sie dürfte bei maschineller Lötung schwierig bis unmöglich sein). Man muss also nur die dünne Leitung zwischen der Brücke mit einem scharfen Messer kappen :-)
bitte nicht immer alle arduino in einen Hut werfen der Leonardo (und alle klone mit ATmega32u4 ) z.b. resetten überhaupt nicht und: http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection steht da nicht alles ;-)
@Robert: Besten Dank für den Link - das wird ja immer einfacher ;-)
Robert L. schrieb: > http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection > steht da nicht alles ;-) Au Ja! Da weiß ja jemand ganz genau, was er macht (und bestätigt damit den Ruf der Arduino-Gemeinde...): "120 is hard to find so just combine resistors. Don't go below 110 ohms or above 124 ohms..." Also: Einfach rauslöten, den Kondensator. Wenn man löten kann... Den Bootloader wegschmeißen und durch einen anderen oder ISP ersetzen... u.s.w. :-) IdS, Baku
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.