Ein paar Anmerkungen zum kleinen Mega 2560 Pro

Hallo,
heute keine Frage, sondern nur ein paar Erfahrungen zum Mega 2560 Pro.
Ich hatte ein Projekt, wo ich mehrere serielle Ein-/Ausgänge brauchte, und so fiel meine Wahl auf den Arduino Mega 2560. Gleichzeitig suchte ich aber auch nach einem Board mit kleinem Formfaktor, da ich nicht soviel Platz in meinem Gehäuse hatte. Da entdeckte ich den Arduino Mega Pro, der weniger als halb so groß ist wie der 2560 R3. Der Mega Pro hat einen USB-micro-Anschluss. Beim Anschluss an den PC soll (unter Linux) nicht ein Port "ACM0" gewählt werden, der erscheint hier auch nicht, sondern wie bei anderen USB-Geräten auch, USB0. Allerdings erscheinen nach dem Laden des Programms stets Fehlermeldungen, die mich sehr irritierten:

avrdude: verification error, first mismatch at byte 0x0d6c[color=#222222][/color][color=#222222][/color]
         0x60 != 0xe0[color=#222222][/color][color=#222222][/color]
avrdude: verification error; content mismatch

Die Tipps dazu waren leider nicht zielführend. Ich habe das dann erst mal auf sich beruhen lassen, zumal mir der chinesische Händler auch nicht weiterhelfen konnte.
Jetzt habe ich mir das Board nochmal vorgenommen und gemerkt, dass ich die Fehlermeldungen ignorieren kann. Trotz der gegenteiligen Meldung wurde der Sketch sehr wohl hochgeladen und funktionierte auch.
Aber es gibt weitere Probleme: da sind zum einen die doppelten Stiftreihen (die Stifte muss man selbst einlöten): dank der gedrängten Geometrie gibt es keine andere Lösung. Aber so kann man nicht auf einem Breadboard arbeiten. Zweitens der USB-Anschluss: er ist sehr fragil auf das Bord gelötet. Da ich den Fehler gemacht habe und auch die Programmentwicklung mit diesem Board durchführe, wurde der Stecker relativ oft ein- und ausgesteckt, mittlerweile besteht er nur noch aus Wackelkontakt. Ich werde hier wohl noch einen neuen Stecker einlöten, was für Grobmotoriker eine ziemliche Herausforderung ist.
Wenn man diese beiden Nachteile berücksichtigt, kann man gut mit dem kleinen Arduino arbeiten. Künftig würde ich anders vorgehen: Das Projekt incl. Programm auf einem R3 entwickeln und erst, wenn alles soweit fertig ist, das Programm auf den Pro laden. Man sollte auch Projekte vermeiden, die im späteren Betrieb den USB-Port nutzen (oder von vornherein eine stabile USB-Buchse im Gehäuse vorsehen und die mit dem USB-Anschluss auf dem Board verbinden).

Da ichdas goodie gerade hier habe und ab morgen wieder damit arbeite...
Es ist vollkommen unklar aus welcher Quelle Du den hast. Die ist nämlich geheim. Ich weiss. Datenschutz.
Ebenfalls ist vollkommen unklar über welchen Zeitraum und unter welchen Bedingungen Du den betrieben hast/betreibst.

r_a_mueller:
Allerdings erscheinen nach dem Laden des Programms stets Fehlermeldungen, die mich sehr irritierten:

avrdude: verification error, first mismatch at byte 0x0d6c[color=#222222][/color][color=#222222][/color]

0x60 != 0xe0
avrdude: verification error; content mismatch

Das kann ich nicht bestätigen und denke auch, das es sich hierbei um einen Einzelfall handelt.
Aus der IDE den BASIC-BLINK-Sketch hochgeladen:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801 (probably m2560)
avrdude: reading input file "/tmp/arduino_build_597157/Blink.ino.hex"
avrdude: writing flash (1460 bytes):

Writing | ################################################## | 100% 0.24s

avrdude: 1460 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_597157/Blink.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_597157/Blink.ino.hex:
avrdude: input file /tmp/arduino_build_597157/Blink.ino.hex contains 1460 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.19s

avrdude: verifying ...
avrdude: 1460 bytes of flash verified

avrdude done.  Thank you.

Aber es gibt weitere Probleme: da sind zum einen die doppelten Stiftreihen (die Stifte muss man selbst einlöten): dank der gedrängten Geometrie gibt es keine andere Lösung.

Wenn Du was kleines willst, bekommst was Kleines.
Ich versteh den Vorwurf nicht.
Auf dem ARDUINO MEGA 2560 R3 ist die Buchenleiste GENAU im selben Rastermaß.
Mehr noch: Wegen der BUCHSENLEISTEN geht der ARDUINO MEGA nicht auf einem Steckbrett aufzutackern.

Zweitens der USB-Anschluss: er ist sehr fragil auf das Bord gelötet. Da ich den Fehler gemacht habe und auch die Programmentwicklung mit diesem Board durchführe, wurde der Stecker relativ oft ein- und ausgesteckt, mittlerweile besteht er nur noch aus Wackelkontakt.

Was ist denn das für eine Aussage?
Buchse hinüber? Lötstellen ausgehebelt? Kalte Lötstellen? Mangelhafte Federkontakte?
Mal drüber nachgedacht beim Verkäufer nachzufragen?

Ich empfinde Deinen Post als Frust ablassend, weil Du nicht in der Lage warst, Dich angemessen zu dem von Dir gezahlten Preis für das Produkt einzusetzen.

Und ja! Ich habe auch einen Kritikpunkt an MEINEM Pro: Der ist aus einem Nutzen ausgesägt und an einer Seite nicht sauber entgratet.

Denke drüber nach.

Projekte können auf Steckbrett nicht dauerhaft funktionieren. Es bietet sich also an, ein Entwicklungssystem mit Steckbrett für die Entwicklung zu nutzen, und erst wenn der Code funktioniert, auf ein endgültiges System umzusteigen, mit PCB oder anderem kontaktsicherem Aufbau. Die USB-Buchse wird dann während der Entwicklung geschont, schließlich hat der Mega noch weitere Serial Anschlüsse, so daß USB zum Programmieren nicht umgestöpselt werden muß.

Einen Mega für viele direkte LED, Schalter und Sensor-Anschlüsse zu benutzen, halte ich für unpraktisch. So ein Kabelverhau läßt sich mit Schieberegistern oder Port-Expandern deutlich lichten.

Also...

zum Mega 2560 Pro.
Erstmal, ist das kein Arduino Produkt.
Zudem hat es die gleichen Nachteile, wie der Originale.
Es sind nicht alle Pins herausgeführt.

Die Alternative:
http://www.inhaos.com/product_info.php?products_id=118

Da ist auch keine USB Buchse dran, welche abbrechen kann.
Wird manchmal/oft mit Adapterkabel geliefert.

Hier mal so ein Beispiel:

combie:
Die Alternative:
Everything done inhouse

Wobei man der Beschreibung nicht unbedingt vertrauen sollte :wink:

DC Current per I/O Pin 40 mA

Ich habe einen bei ali nach Deinem damiligen Hinweis geordert (link auf der Herstellerseite) - das Adapterkabel war mit bei.

my_xy_projekt:
Es ist vollkommen unklar aus welcher Quelle Du den hast. Die ist nämlich geheim. Ich weiss. Datenschutz.

Unsinn. Man könnte ja auch fragen, welcher Händler das war. Tut mir leid, dass ich den leider nicht genannt habe: Eiechip Official Store über Aliexpress.

my_xy_projekt:
Das kann ich nicht bestätigen und denke auch, das es sich hierbei um einen Einzelfall handelt.

Da ich nur einen hatte kann ich natürlich auch nur über einen Einzelfall berichten. Gut, wenn das eine Ausnahme war.

my_xy_projekt:
Wenn Du was kleines willst, bekommst was Kleines.
Ich versteh den Vorwurf nicht.
Auf dem ARDUINO MEGA 2560 R3 ist die Buchenleiste GENAU im selben Rastermaß.

Welcher Vorwurf? Dass es nicht anders geht, steht deutlich da. Dass der R3 nicht auf ein Steckbrett kann, ist ja klar. Aber bei den kleinen Boards mit Stiftleisten ist das der erste Gedanke. Geht halt hier nicht.

my_xy_projekt:
Ich empfinde Deinen Post als Frust ablassend, weil Du nicht in der Lage warst, Dich angemessen zu dem von Dir gezahlten Preis für das Produkt einzusetzen.

Woher weißt Du, wozu ich in der Lage bin und wozu nicht? In einem Forum kann man über seine Erfahrungen berichten und auch, welche Fehler man gemacht hat, vielleicht hilft das einem anderen. Mein Fehler war, wie ich auch geschrieben habe, mit dem Board das Projekt zu entwickeln statt mit etwas mechanisch mehr robustem. Dass ich nicht bedacht hatte, dass micro-USB-Buchsen, die nur angelötet sind, etwas spuchtig sind. Na und? Da steckt nix von Frust drin oder von "nicht in der Lage sein".

combie:
Die Alternative:
Everything done inhouse

Da ist auch keine USB Buchse dran, welche abbrechen kann.
Wird manchmal/oft mit Adapterkabel geliefert.

Nur zur Diskussionskultur: Sowas finde ich einen konstruktiven Beitrag. Hier wird meiner Entscheidung, das Mega Pro Board zu verwenden, eine Alternative gegenüber gestellt.

Hallo,

@ TO:
die Meldungen sind seltsam. Nur wenn du flashen kannst kann es auch nicht an den Rechten unter Linux liegen.
Gib mal bitte die gesamten Meldungen beim flashen aus?

In der IDE alle Ausgaben einschalten.
Datei > Voreinstellungen >

  • Ausführliche Ausgabe während > beide Haken rein
  • Compilerwarnungen > "ALLE"
    Zeilennummern und Codefaltung sind auch hilfreich.
    Speichern beim Überprüfen und Hochladen würde ich abschalten.

Wegen USB Buchse. Ich vermeide das Kabel an der Microbuchse ein/auszustecken. Ich ziehe immer die andere Kabelseite am PC raus.

my_xy_projekt:
Wobei man der Beschreibung nicht unbedingt vertrauen sollte :wink:

DC Current per I/O Pin 40 mA

Was ist denn an der Angabe falsch?

Absolute Maximum Ratings
DC Current per I/O Pin ................................................ 40.0mA
DC Current VCC and GND Pins................................. 200.0mA

ATmega640/1280/2560:
1.)The sum of all IOL, for ports J0-J7, A0-A7, G2 should not exceed 200mA.
2.)The sum of all IOL, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA.
3.)The sum of all IOL, for ports G3-G4, B0-B7, H0-B7 should not exceed 200mA.
4.)The sum of all IOL, for ports E0-E7, G5 should not exceed 100mA.
5.)The sum of all IOL, for ports F0-F7, K0-K7 should not exceed 100mA.
If IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greater
than the listed test condition.

Zusätzlich gibt es noch einen Maximalstrom pro Port,
aber das sind doch alles Parameter des Atmel Chips.

Bei Ali ist das günstiger (dauerte ungefähr drei Wochen).

Im Moment haben die kein Bundle mit dem Adapter, den muss man dazu bestellen, oder einen vorhanden nutzen.
Bei dem aktuellen Preis dort würde ich einen anderen nutzen oder einen woanders kaufen.

Whandall:
Was ist denn an der Angabe falsch?

Zusätzlich gibt es noch einen Maximalstrom pro Port,
aber das sind doch alles Parameter des Atmel Chips.

Der Maximalstrom für Portgruppen ist essentiell.

Die Angabe ist nicht falsch, sondern irreführend.
Da steht ja auch nicht das der mit 6V betrieben werden kann.
Es stehen nicht auf jedem PIN 40mA zur Verfügung. Da steht weder was von Maximum, noch von Summen.

Wenn Du das Maximum auf den 16 PINs F0-F7/K0-K7 ausreizen willst, dann sind nur 2 PIN nutzbar.
Bei C0-C7/D0-D7/L0-L7/G0-G1 sind es 26 PIN, von denen 5 mit 40mA genutzt werden könnten, die anderen 21 müssten liegen bleiben.
Es kommt dazu, das VCC/GND jeweils nur 200mA kann.
Und zusätzlich die *Note unter 31. (Seite 355)

my_xy_projekt:
Die Angabe ist nicht falsch, sondern irreführend.

Wie ich schon sagte, bitte bei Atmel beschweren.

@Doc_Arduino: Zur Fehlermeldung:
(Die gesamte Ausgabe ist so lang, dass sie nicht in diese Nachricht passt. Deshalb im Anhang…)
Die beiden letzten Zeilen der Meldung lassen doch vermuten, dass da gar nichts hochgeladen wurde? Trotzdem, der Sketch ist auf dem Mega gelandet und tut, was er soll.
Deswegen ignoriere ich diese Fehlermeldung.

avrdude.txt (58.6 KB)

r_a_mueller:
Die beiden letzten Zeilen der Meldung lassen doch vermuten, dass da gar nichts hochgeladen wurde? Trotzdem, der Sketch ist auf dem Mega gelandet und tut, was er soll.
Deswegen ignoriere ich diese Fehlermeldung.

Falsch.

Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9801 (probably m2560)

Da liest er die Signatur des Mikrokontrollers.

Writing | ################################################## | 100% 6.47s
avrdude: 41294 bytes of flash written

Da schreibt er die Daten auf den Kontroller.
Dann liest er nochmal die Daten vom Kontroller und vergleicht diese mit dem was sich noch auf Deinem Computer befindet:

Reading | ################################################## | 100% 5.00s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x426c
         0x91 != 0xd1
avrdude: verification error; content mismatch

Da findet er eine falsche programmierte Zelle im Flash. Das heißt Dein Kontroller ist beschädigt.
Das Dein Sketch funktioniert ist Zufall. Wenn Du was anderes drauf machst, kann es sein es macht gar nix.

Gruß, Jürgen

Danke für die Analyse. Klingt ja nicht sehr beruhigend. Kann man da etwas machen, außer, den Mega wegzuwerfen?

Katsumi_S:
Da findet er eine falsche programmierte Zelle im Flash. Das heißt Dein Kontroller ist beschädigt.
Das Dein Sketch funktioniert ist Zufall. Wenn Du was anderes drauf machst, kann es sein es macht gar nix.

Ich habe eine ganze Reihe verschiedener Programme aus der Beispiel-Sammlung ausprobiert, alle funktionieren. Auch Glück?
Gruß,
-richard

Mit oder ohne Fehlermeldung beim Verifizieren?

2 willkürliche Beispiele:
Blink:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x046c
         0x00 != 0x80
avrdude: verification error; content mismatch

avrdude done.  Thank you.

ds3231:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x036c
         0x0b != 0x8b
avrdude: verification error; content mismatch

avrdude done.  Thank you.

Aber die Sketche funktionieren trotzdem...

Das ist ein Problem mit der Datenübertragung, oder das Flash ist kaputt!

Lass doch mal den verify mehrfach einzeln durchlaufen, immer mit der gleichen Hex, ohne das ganze andere Gedöns.
Wenn sich die Adresse dauernd ändert, ist es eher die Übertragung.
Sind es immer die gleichen Adressen, eher das Flash.

r_a_mueller:
2 willkürliche Beispiele:

0x00 != 0x80
0x0b != 0x8b

Wie versorgst Du das Board?

Entweder über USB oder über einen LiPo-Akku mit Spannungswandler auf 5,0 V. Fehler tritt in beiden Fällen auf.

combie:
Lass doch mal den verify mehrfach einzeln durchlaufen, immer mit der gleichen Hex, ohne das ganze andere Gedöns.
Wenn sich die Adresse dauernd ändert, ist es eher die Übertragung.
Sind es immer die gleichen Adressen, eher das Flash.

Versteh ich leider nicht so ganz. Der erste Button in der IDE, der oft "Kompilieren" genannt wird, ist ja der "verify"-Button, so viel ich weiß. Da taucht aber nichts von hex auf. Tut mir leid,da steh ich auf dem Schlauch... ;-(