Hallo zusammen
Kann mir hier bitte jemand helfen, bin Neuling und habe Probleme mit der
Programmierung eines Artuino Mini Pro. Mit einem Artuino Mega 2560 habe
ich erste Erfahrungen gemacht und hatte keinerlei Probleme. Nun habe ich
ein Mini Pro geschenkt bekommen, habe einen Serial TTL Adapter besorgt
und wollte das Board damit programmieren. Leider kann ich machen was ich
will, das Ding blinkt munter vor sich hin mit der werkstelligen
Standartblinkerei.
Habe es ohne die DTR - RST Verbindung probiert und die Resettaste
betätigt in verschiedenen Variationen. Hat nichts verändert. Irgendwie
kennen sich die Beiden überhaupt nicht.
Im Computer ist bei den angemeldeten Geräten der FT232RL vorhanden.
Besten Dank für eure Hilfe.
Markus
Verbunden habe ich:
Adapter - Mini
RX - TX
TX - RX
5V
GND
DTR - RST
Port und Boards wurden korrekt angewählt.
Nach jedem Upload erscheint die selbe Nachricht in oranger Schrift:
Der Sketch verwendet 3.494 Bytes (24%) des Programmspeicherplatzes. Das
Maximum sind 14.336 Bytes.
Globale Variablen verwenden 17 Bytes (1%) des dynamischen Speichers,
1.007 Bytes für lokale Variablen verbleiben. Das Maximum sind 1.024
Bytes.
processing.app.debug.RunnerException
at
cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(Seri
alUploader.java:179)
at cc.arduino.UploaderUtils.upload(UploaderUtils.java:78)
at processing.app.Sketch.upload(Sketch.java:1178)
at processing.app.Sketch.exportApplet(Sketch.java:1152)
at processing.app.Sketch.exportApplet(Sketch.java:1124)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2417)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at java.lang.String.replace(String.java:2240)
at
processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.
java:97)
at
processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.
java:89)
at
processing.app.helpers.StringReplacer.formatAndSplit(StringReplacer.java
:37)
at
cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(Seri
alUploader.java:174)
... 6 more
Sorry Wolfgang, es ist natürlich ein Pro Mini 5V.
Axel, GND ist verbunden, sonst würde die werkseitig installierte
Blinkerei nich funktionieren (habs trotzdem kontrolliert).
Eingestellt habe ich:
Board = Arduino Pro or Pro Mini (habe auch Artuino Mini probiert).
Prozessor = ATmeg 168 (5v, 16 MHz)
Programer = AVRISPmkII (habe alle in der Liste probiert, keine
Reaktion)
Port = Com8 (vom Computer bestimmt)
Was ist "IDE", wo kontrolliert man das?
Markus schrieb:> Prozessor = ATmeg 168 (5v, 16 MHz)
Und der Prozessor ist auf deinem Board auch drauf?
Meist wird dort inzwischen der ATmega 328P verwendet.
Markus schrieb:> Was ist "IDE", wo kontrolliert man das?
IDE bedeutet Integrierte Entwicklungsumgebung.
Wenn du das Programmiertool von Arduino nutzt, welche Version hat es?
Markus schrieb:> Adapter - Mini> RX - TX> TX - RX> 5V> GND> DTR - RST
Bei meinem Adapter muss TX mit TX und RX mit RX verbunden werden. Aber
die Beschriftung der Teile variiert, da hilft oft nur ausprobieren.
Hmm.
Ja, bitte mal Rx+Tx tauschen.
Dann muss man noch zum Upload kurz die Resettaste auf dem Arduino Board
drücken und wenn Upload als Meldung erscheint loslassen. Nur nach einem
Reset lauscht der Bootloader für kurze Zeit für mögliche Updates der
Firmware - danach spingt es die sonst geladene Firmware an (im
Auslieferungzustand das Blinkprogramm).
Bei einigen Clonen aus China ist noch gar kein Bootloader drauf.
Wenn das der Fall ist, muss man diesen erst mit einem AVR Programmer
drauf flashen! Ansonsten kann ein serielles flashen aus der Arduino IDE
nicht funktionieren.
Peter
DokuLeseVerweigerer schrieb:> Peter S. schrieb:>> Ja, bitte mal Rx+Tx tauschen.> Bedenklicher Tipp...
Wo hast du da Bedenken?
Kann man uebrigens einfach feststellen, ob das richtig verbunden ist:
Das eingebaute Arduino-Terminal oeffnen, lostippen und gucken, welche
LED am Arduino blinkt.
> Die Fehlermeldung sieht mir eher wie ein Java oder Betriebssystem Fehler> aus.
Nun, da warten wir noch auf die Version seiner Entwicklungsumgebung.
DokuLeseVerweigerer schrieb:> Die Fehlermeldung sieht mir eher wie ein Java oder Betriebssystem Fehler> aus.
Gut möglich.
Man sollte möglichst die neueste Version (akt. 1.6.7) mit dem
Windows-Installer installieren. Dann sollte sowas nicht auftreten.
So nun funzsts, bin happy!
Habe es mal auf dem anderen Compi unter win7 versucht, die Verbindung
DTR - RST entfernt und nach etwas Spielen mit dem Resetknopf hat es
funktioniert. Es braucht ein paar Durchläufe bis man den richtigen Punkt
erwischt mit dem Resetloslasse sonst erscheint die Meldung. "Fehler beim
Upload...).
Die Verbindungen waren übrigens korrekt (> RX - TX > TX - RX.
Was muss ich nun machen, dass die Sache auch unter Win 10 auf dem
anderen Compi läuft?
Gruss und Danke allen, die sich hier beteiligt haben.
Markus
.....und noch eine Erfolgsmeldung: Mit der Vorgängerversion 1.6.6
funktioniert es auch unter Win10.
Habe bisher mit der neusten Version 1.6.8 Hourly Build erfolglos
probiert.
SloJo schrieb:> DokuLeseVerweigerer schrieb:>> Peter S. schrieb:>>> Ja, bitte mal Rx+Tx tauschen.>> Bedenklicher Tipp...>> Wo hast du da Bedenken?
Üblicherweise, insbesondere bei CMOS Ausgangsstufen, versucht man es zu
vermeiden, zwei Ausgänge mit möglicherweise verschiedenem Pegel (z.B.
+5V und Gnd) direkt zu verbinden.
In Fachkreisen wird das oft als Kurzschluss bezeichnet :-(
Hallo,
Du hast völlig Recht mit dem Hinweis. Allerdings begrenzen die
CMOS-Stufen bei den üblichen ICs auch den Strom. Das geht ohne Schaden
einige Zeit gut, da erstmal nur die Verlustleitung das Problem ist.
Dazu kommt, daß TxD auf beiden Seiten solange auf H ist, wie nichts über
den UART gesendet wird. Die Verlustleistung ebschränkt sich also auf den
Übertragunszeitraum. Bisher hat bei mir kein CI ein wirkliches Problem
damit gehabt. Wenn man was sendet und nichts ankommt und vertauscht auch
nicht, liegt der Fehler woanders und man sollte eben statt 20 Versuchen
erstmal über weitere mögliche Ursachen nachdenken.
Ist wie mit Sicherungen: eine kann auch durch Alter oder Zufall defekt
sein. Wenn die neue auch sofort durchbrennt, macht es wenig Sinn, noch 5
Stück zu probieren und zu hoffen, daß der Fehler von selber
verschwindet.
Gruß aus Berlin
Michael
Michael U. schrieb:> Allerdings begrenzen die CMOS-Stufen bei den üblichen ICs auch den Strom.> Das geht ohne Schaden einige Zeit gut, da erstmal nur die Verlustleitung> das Problem ist.
... und das versuche jetzt mal mit den Grenzwerten im Datenblatt in
Einklang zu bringen :-(
Hallo,
werde ich jetzt nicht wirklich.
Nehmen wir an, ich verbinde die TXD eines AVR und eines
FTDI232/CH340/CP2102
miteinenander. Dann drücke ich Reset am AVR/ESP, um meinen Teststring zu
übertargen oder was auch immer. Für genau die Zeit der Übertragung und
darin die Zeit der 1-Bits (Low-Pegel) tritt der "Kurzschluß" auf. Der
maximal gelieferte Strom über beide Ausgänge dürfte nichtmal die 40mA
eines AVR überschreiten, die FTDI sind mit 24mA angegebn, die CP2102
sind mit 25mA bei 1V Ulow angegebn. Es wird also nicht viel mehr
fließen, weil die L-Spannung ansteigt und die H-Spannung abfällt.
Dieser Wert fleiß aber nur in der Low-Phase zeitlich je nach Baudrate.
Ausgangskennlinienfelder gibt es bei Digital-ICs selnten bis garnicht,
etwas Schätzung bleibt also.
Es ist eben kein Kurzschluß im üblichen Sinn, es kann eine Überlastung
sein, aber selbst da schätze ich die Höhe recht gering ein.
Gruß aus berlin
Michael
Vielleicht nochmal zum Arduino Pro Mini..
Ich habe einen FT232 Adapter mit einer Buchsenleiste am Ende, so brauch
ich demMini nur einen kleinen PinHeader verpassen und kann so jederzeit
zwischen vielen boards Plug&Play wechseln.
Andersrum würde das auch klappen, das man sich ne Leiste Buchsen
bestellt und die am Mini anlötet.. fast alle Adapter sind Pin
Kompatibel.
http://www.ebay.de/itm/181863534850
Philipp K. schrieb:> .. fast alle Adapter sind Pin> Kompatibel.
und ich erwische genau solche 6 Pin Header welche es nicht sind!
wurden als USB TTL beworben was stimmt, aber mit V5 V3,3 und VCC dafür
fehlt DTR für den Reset und die Belegung ist auch falsch!
Michael U. schrieb:> Es ist eben kein Kurzschluß im üblichen Sinn, es kann eine Überlastung> sein, aber selbst da schätze ich die Höhe recht gering ein.
So schwierig ist das doch nicht, einen Widerstand in die Leitung zu
hängen, der den Strom in jedem Fall auf einen unbedenklichen Wert
begrenzt ;-)