Forum: Mikrocontroller und Digitale Elektronik Arduino Mega 2560 R3 - läuft das stabil?


von Rudolph (Gast)


Lesenswert?

Ich soll in einem Projekt ein Mega 2560 R3 benutzen: 
http://arduino.cc/en/Main/ArduinoBoardMega2560

Nachdem ich das Referenz-Design in EAGLE geöffnet habe, frage ich mich 
allerdings, ob die das Ernst meinen und ob das Ding überhaupt stabil 
läuft wenn man als erste Aktion den Bootloader killt und direkt in C 
darauf programmiert.

- 351 Fehler im DRC, eine offene Luftlinie
- zwei 100nF für fünf VCC Anschlüsse von denen C6 nur bedingt was macht 
und C5 einfach nur sinnlos angebunden ist
- C3 zur Stabilisierung von ARef ist einige cm und zwei VIAs vom Pin weg
- statt Quarz ist da ein Keramik-Resonator dran der unnötig weit weg vom 
Controller sitzt und dessen GND-Anschluss unmotiviert an das umliegende 
GND-Polygon angeschlossen ist
- ISP Leitungen sinnlos um das halbe Board gewickelt und die abgehenden 
SPI-Leitungen haben keine Widerstände

Ich hoffe gerade, dass die Boards die ich dann in ein paar Tagen 
erhalten werden nicht so aussehen.

Ich will damit zwei Motor-Treiber ansteuern, das braucht zwei PWMs bis 
20kHz, ein paar Ausgänge, ein paar Eingänge, zwei ADCs.
Und irgendwie ist mir bei der Planung der Pins etwas flau im Magen mit 
dem Board auf dem Bildschirm.

von Amateur (Gast)


Lesenswert?

Bootloader (killen) und programmieren haben nicht sehr viel miteinander 
zu tun.
Der Bootloader sollte, aufgrund der Häufigkeit der Anwendung praktisch 
fehlerfrei sein.

Trifft das aber auf dein Programm nicht zu, so ist es völlig egal, wie 
es in den Flash-Speicher gekommen ist.

Da der Bootloader im Normalbetrieb auch nicht am Programmlauf beteiligt 
ist ist die Frage: "Läuft das stabil" - Unsinn.

von npn (Gast)


Lesenswert?

Amateur schrieb:
> Bootloader (killen) und programmieren haben nicht sehr viel
> miteinander
> zu tun.
> Der Bootloader sollte, aufgrund der Häufigkeit der Anwendung praktisch
> fehlerfrei sein.
Er will direkt programmieren (mit C) und den Arduino-Bootlader NICHT 
benutzen. Deswegen
>> "wenn man als erste Aktion den Bootloader killt und direkt in C
>> darauf programmiert."
>
> Trifft das aber auf dein Programm nicht zu, so ist es völlig egal, wie
> es in den Flash-Speicher gekommen ist.
>
> Da der Bootloader im Normalbetrieb auch nicht am Programmlauf beteiligt
> ist ist die Frage: "Läuft das stabil" - Unsinn.

Hast du den Beitrag eigentlich gelesen? Die Punkte, die er alle 
angeführt hat? Hier geht es um die Platine und nicht um seine 
Programmierfähigkeiten.

von Harald (Gast)


Lesenswert?

Ja, und was für eine Platine meint er?
Wenn er sich den Arduino Mega besorgt - ja der läuft.
Wenn er sich selbst was bastelt - ja kümmer dich drum, dass es läuft.

von npn (Gast)


Lesenswert?

Harald schrieb:
> Ja, und was für eine Platine meint er?
Die, die er verlinkt hat.
http://arduino.cc/en/Main/ArduinoBoardMega2560
> Wenn er sich den Arduino Mega besorgt - ja der läuft.
> Wenn er sich selbst was bastelt - ja kümmer dich drum, dass es läuft.
Er hat das Reference Design im Eagle geöffnet und nix selber gebastelt.

Liest denn hier keiner mal, was geschrieben wird?

von Amateur (Gast)


Lesenswert?

@EnnPehEnn
Da die Foren nicht alle vollgestopft sind mit Posts wie "Meine 
Arduino-Hardware macht Probleme" - ich selber vier verschiedene 
verwendet habe - gehe ich mal davon aus, dass die Dinger "laufen".

Natürlich schließt das nicht aus, dass beim "Arduino Mega 2560 R3", den 
ich nicht kenne, alles ganz anders ist.

von Rudolph (Gast)


Lesenswert?

Läuft ja wieder echt trollig heute.

von Harald (Gast)


Lesenswert?

Na was will er? Wissen ob eine etablierte Schaltung lauft? Das routing 
neu  machen und nachbauen? Btw der original arduino mega hat einen quarz 
drauf...

von Harald (Gast)


Lesenswert?

Und vor allem. Was hat das routing mit dem bootloader zu tun. Und was 
hat der bootloader mit dem programmieren in c zu tun. Was ist die Frage?

von Rudolph (Gast)


Lesenswert?

Hmm, vielleicht sollte ich das nächste Mal langsamer tippen?

von npn (Gast)


Lesenswert?

Mag ja sein, daß er läuft. Nachdem ich das Layout angesehen habe, bin 
ich aber der Meinung, daß das eher Zufall ist. Darüber können auch die 
schön parallel verlegten Leiterzüge nicht hinwegtäuschen. Sieht 
natürlich sehr professionell aus (auf den ersten Blick). Aber die 
angesprochenen Punkte sind wirklich zu kritisieren. Bis auf die 351 
Fehler, das sind zum größten Teil Abstandsfehler, die am Mega2560 
auftreten, weil die Design-Rules nicht auf den kleinen Pitch 
konfiguriert sind. Die Luftlinie ist in der Tat vorhanden. Und auch der 
weit entfernte C an Aref. Mir gefällt das Layout jedenfalls auch nicht. 
Da würde ich noch ein paar Stunden reinstecken, wenn ich es bauen müßte.
Aber wie gesagt, es scheint zufälligerweise zu laufen, was solls...

von Bernhard F. (bernhard_fr)


Angehängte Dateien:

Lesenswert?

Rudolph schrieb:
> Ich soll in einem Projekt ein Mega 2560 R3 benutzen:
> http://arduino.cc/en/Main/ArduinoBoardMega2560

Wer zwingt dich denn zu sowas?

> Nachdem ich das Referenz-Design in EAGLE geöffnet habe, frage ich mich
> allerdings, ob die das Ernst meinen und ob das Ding überhaupt stabil
> läuft wenn man als erste Aktion den Bootloader killt und direkt in C
> darauf programmiert.

Klar tut es das, du wärst nicht der erste, der das so macht.

Kleiner Tipp: wenn du eh an den Fuses rumänderst um den Bootloader 
restlos loszuwerden schau sie dir alle an.
Brownout z.B. steht nur auf 2,7 V. Das würde ich bei 8MHz ja noch 
verstehen aber bei 16 MHz?!

> - 351 Fehler im DRC, eine offene Luftlinie

Ich halte einen Mega2560 RC3 in den Händen. Auf der Platine ist das Pad 
mit der Luftlinie ordnungsgemäß angebunden. siehe Bild

Die 351 Fehler sind nicht kritisch, hast du sie dir mal angesehen?

Clearance-Fehler an den Pins des Mega2560? DRC falsch eingestellt...
Drill-Distance-Fehler? DRC falsch eingestellt...
Width Fehler überwiegend an der +5V Leitung? Nur eine Netzklasse für 
Versorgungsspannung definiert... und der kleine 16U2 braucht nun 
wirklich keine 30 mil an der Versorgung...


> SPI-Leitungen haben keine Widerstände

Falls du dir eine eigene Adapterplatine (neudeutsch: "Shield") baust, 
ist es ja kein Problem Serienwiderstände mal eben mit draufzusetzen. 
Ermöglicht dir sogar den Spaß Wellenwiderstände konkret zu berechnen und 
entsprechend Werte auszuwählen falls du so hardcore drauf bist.

> Ich hoffe gerade, dass die Boards die ich dann in ein paar Tagen
> erhalten werden nicht so aussehen.

Wenn es originale Arduinos sind anscheinend mit kleinen Änderungen 
(siehe oben) wohl doch.

> Ich will damit zwei Motor-Treiber ansteuern, das braucht zwei PWMs bis
> 20kHz, ein paar Ausgänge, ein paar Eingänge, zwei ADCs.
> Und irgendwie ist mir bei der Planung der Pins etwas flau im Magen mit
> dem Board auf dem Bildschirm.

Wird funktionieren...


Edit: Achso ja und nen Quartz ist da auch drauf an besagter Stelle aus 
dem Layout, aber davon mach ich jetzt nicht auch noch nen Bild...

: Bearbeitet durch User
von Oliver (Gast)


Lesenswert?

Rudolph schrieb:
> <snip>...<snip>

Er schrieb nichts dazu:

Rudolph schrieb:
> - zwei 100nF für fünf VCC Anschlüsse von denen C6 nur bedingt was macht
> und C5 einfach nur sinnlos angebunden ist


Und da hätte ich dann doch Bedenken, daß das so stabil läuft.

Oliver

von Rudolph (Gast)


Lesenswert?

Bernhard F. schrieb:
> Wer zwingt dich denn zu sowas?

Zeitdruck, nicht meine Schuld oder die von meinem Projektleiter, aber 
ich habe leider nichts passendes "in der Schublade" -> ganz oben auf der 
To-Do Liste.

>> ob das Ding überhaupt stabil
>> läuft wenn man als erste Aktion den Bootloader killt und direkt in C
>> darauf programmiert.
>
> Klar tut es das, du wärst nicht der erste, der das so macht.

Oh, dass es grundsätzlich geht ist klar, ich meinte mehr so ob mir das 
Ding nicht abschmiert wenn ich auch nur ansatzweise versuche die 
Fähigkeiten des Controllers auszunutzen.

> Kleiner Tipp: wenn du eh an den Fuses rumänderst um den Bootloader
> restlos loszuwerden schau sie dir alle an.
> Brownout z.B. steht nur auf 2,7 V. Das würde ich bei 8MHz ja noch
> verstehen aber bei 16 MHz?!

Ja, okay. :-)
Und JTAG einschalten.

>> - 351 Fehler im DRC, eine offene Luftlinie
>
> Ich halte einen Mega2560 RC3 in den Händen. Auf der Platine ist das Pad
> mit der Luftlinie ordnungsgemäß angebunden. siehe Bild

Die beiden Kondensatoren oben Links sind im Referenzdesign auch nicht 
da.

> Die 351 Fehler sind nicht kritisch, hast du sie dir mal angesehen?

Ja, hab ich, das war ja auch ohne Bewertung und ich wollte nur andeuten, 
mit wieviel Hingabe das Board erstellt wurde.
Die Fehler im ERC habe ich ja nichtmal erwähnt. :-)

>> SPI-Leitungen haben keine Widerstände
>
> Falls du dir eine eigene Adapterplatine (neudeutsch: "Shield") baust,
> ist es ja kein Problem Serienwiderstände mal eben mit draufzusetzen.
> Ermöglicht dir sogar den Spaß Wellenwiderstände konkret zu berechnen und
> entsprechend Werte auszuwählen falls du so hardcore drauf bist.

Ja gut, das fällt eigentlich eher unter System-bedingtes Problem,
genauso wie ja auch Null Schutz der Pins vorgesehen ist.

>> Ich hoffe gerade, dass die Boards die ich dann in ein paar Tagen
>> erhalten werden nicht so aussehen.
>
> Wenn es originale Arduinos sind anscheinend mit kleinen Änderungen
> (siehe oben) wohl doch.

Kleine Änderungen bedeuten wenigstens, dass es jemanden kümmert.

>> Ich will damit zwei Motor-Treiber ansteuern, das braucht zwei PWMs bis
>> 20kHz, ein paar Ausgänge, ein paar Eingänge, zwei ADCs.
>> Und irgendwie ist mir bei der Planung der Pins etwas flau im Magen mit
>> dem Board auf dem Bildschirm.
>
> Wird funktionieren...

Dann aber Respekt an Atmel...

von Rudolph (Gast)


Lesenswert?

Bernhard F. schrieb:
> Edit: Achso ja und nen Quartz ist da auch drauf an besagter Stelle aus
> dem Layout, aber davon mach ich jetzt nicht auch noch nen Bild...

In Deinem Bild sieht man doch den Resonator.

Auf den USB-Teil bin ich nichtmal eingangen, der kann auch zufällig vom 
Board fallen für meine Anwendung. :-)
Aber 22pF sagen eigentlich schon alles, dazu die lausige GND-Anbindung.

von Bernhard F. (bernhard_fr)


Angehängte Dateien:

Lesenswert?

Rudolph schrieb:
> Und JTAG einschalten.

Hab dir da noch was angehangen, was ich dafür mal schnell 
zusammengetippt hab. Ich hatte nur einen JTAG ICE MK II mit dem 10 Pin 
Anschluss ohne Adapter zur Verfügung. Ist aber kompatibel zum JTAG ICE 
3. Nicht schön, aber selten. Vieleicht erspaart dir die 2. Hälfte vom 
PDF 5 Minuten Datenblätter wälzen.


Rudolph schrieb:
> In Deinem Bild sieht man doch den Resonator.

Notiz an mich: Denken vor dem Posten...

Dem kleinen 16u2 haben sie den Quarz auf dem Board spendiert. Hab mich 
zwar noch gewundert, warum der so weit vom großen Mega ist aber ja jetzt 
merk ich es selbst...

Da kann man ja fast nen LKW zwischen Resonator und Mega parken so viel 
Platz ist da...
Wah hör auf... ich will da nicht drüber Nachdenken... es läuft...

von Kaj (Gast)


Lesenswert?

Rudolph schrieb:
>>> ob das Ding überhaupt stabil
>>> läuft wenn man als erste Aktion den Bootloader killt und direkt in C
>>> darauf programmiert.
>>
>> Klar tut es das, du wärst nicht der erste, der das so macht.
>
> Oh, dass es grundsätzlich geht ist klar, ich meinte mehr so ob mir das
> Ding nicht abschmiert wenn ich auch nur ansatzweise versuche die
> Fähigkeiten des Controllers auszunutzen.
Wie gesagt: Du bist nicht der erst der das so macht.
Aber du wärst wohl der erste bei dem das Ding abschmiert...
Ich benutze neben den Orginalen Arduino-Mega2560 auch china-clone davon, 
und selbst die funktionieren.

Nur damit du ne vorstellung hast was ich damit mache:
Alle 4 usart "gleichzeitig" bedienen: senden und empfangen interrupt 
getrieben (3x 9k6, 1x 38k4)
Dazu noch 4 Timerinterrupts
2x pinchange intrrupt
1x ext. Interrupt, ausgelöst durch Tastendruck
und noch n bisschen mehr, wie crc-berechnung, in den eeprom schreiben 
/daraus lesen usw... und ja: das ist ein Programm!

Jaja, is noch nicht wirklich "super-duper-mega-hyper-advanced", fällt 
für mich trotzdem in die Kategorie: "ansatzweise versuche die 
Fähigkeiten des Controllers auszunutzen". Und das ganze mach ich da 
sogar noch in Krüppel C/C++ Misch-Masch... und du wirst es nicht 
glauben, aber das Ding läuft stabieler als ne Oma mit Krückstock ;)

von Hans M. (Gast)


Lesenswert?

Schau Dich mal hier um:
http://www.chip45.com/categories/avr_mikrocontroller_module_boards.php
hab davon immer ein paar in der Schublade, wenn ich mal ganz schnell was 
spezialisiertes brauch.

von Rudolph (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe die Dinger seit gestern da und erstaunlicherweise laufen die 
erstmal.
Respekt an Atmel!

Bei der Versorgung haben wir uns gefragt warum die nur bis 12V 
funktionieren können soll.
Und dabei ist mir das Layout dazu aufgefallen, siehe Bild.

Das kann eigentlich garnicht funktionieren, der Regler muss eigentlich 
sofort anfangen zu schwingen und macht es erstaunlicherweise nicht.

Wieso? Weil "IC1" ein LDO ist der am Ausgang einen Low-ESR Kondensator 
von 33mR bis 2,2R mit mindestens 4,7µ braucht.
Blöderweise ist "PC2" nicht so angeordnet, dass der diese Funktion 
erfüllen könnte.

Und ja, das Design entspricht nicht ganz dem Referenz-Design aber der 
Part ist genauso ausgeführt.

Auf diesen Müll werde ich mich nie wieder einlassen.

von Jürgen S. (jurs)


Lesenswert?

Rudolph schrieb:
> Bei der Versorgung haben wir uns gefragt warum die nur bis 12V
> funktionieren können soll.

Die zulässige Verlustleistung des Spannungsreglers auf dem Board beträgt 
ca. 1 Watt, und die 12V-Angabe ist von den Arduino-Machern so 
spezifiziert, dass man am 5V-Pin des Boards noch etwas Strom entnehmen 
kann, ohne den Spannungsregler zu überhitzen.

Das nackte Board alleine zieht ca. 50 mA.

Falls Du am 5V-Pin (und auch am 3.3V-Pin) keinen zusätzlichen Strom 
entnehmen möchtest, kann die Spannung auch höher sein.

Bei beispielsweise 20V Eingangsspannung würde der Spannungsregler ja 15 
Volt verbraten müssen.

Nach der Formel P=U*I, bzw. I=P/U= 1 Watt / 15 Volt = 66,6 mA könntest 
Du also das nackte Board (ca. 50 mA) mit 20 Volt Eingangsspannung 
versorgen und noch zusätzlich 16 mA für irgendeinen angeschlossenen 
Sensor, ohne dass Du die 1-Watt Verlustleistung für den Spannungsregler 
überschreitest.

Die Arduino-Macher geben nur 12 Volt maximal an, damit man auch mal 100 
mA am 5V-Pin ziehen darf.

von Rudolph (Gast)


Lesenswert?

Das nen LDO Verlust-Leistung produziert war mir schon klar, wenn man 
weniger Strom braucht verträgt der auch mehr Spannung.

Aber wegen der Angabe, dass die Schaltung nur 12V verträgt musste ich 
genauer hinsehen und das war doch der Grund von meinem Post, das 
unglaublich schlechte Layout habe ich angeprangert.

Strom, ja, nackt hat das Board 76mA gezogen, jetzt gerade bin ich mit 
Programm auf 14mA runter.

Schön sehen die 5V auch nicht aus.

von Harald (Gast)


Lesenswert?

Ich verstehs noch immer nicht. Wenn dir der arduino mega zu schlecht ist 
mach dir dein Board doch selber!? Ich hatte jedenfalls noch nie Probleme 
damit. Und wozu sollte man 20V reinjagen wenns 7-9V auch tun?

von Rudolph (Gast)


Lesenswert?

Harald schrieb:
> Ich verstehs noch immer nicht.

Lesen würde helfen, steht alles schon oben.

> Und wozu sollte man 20V reinjagen wenns 7-9V auch tun?

Weil man sich das nicht immer aussuchen kann, der Aufbau wird von einer 
12V Batterie gespeist und da soll auch mal ein Ladegerät dran hängen 
können.
Da wären 12V Spannungsfest recht hinderlich.

Vor den Dingern kann man eigentlich nur warnen.

von Harald (Gast)


Lesenswert?

Naja, ich würde ein arduino Board auch nicht unbedingt in einem 
konkreten Projekt verbauen. Eher zum basteln und wenns was konkretes 
wird eine Platine nach meiner Vorstellung...

von Quack+ (Gast)


Lesenswert?

Rudolph schrieb:
> Lesen würde helfen, steht alles schon oben.

Wenn du dir deine Angeberei sparen wuerdest, wuerde das auch helfen. Du 
bist die gleiche Type wie cybloard: Immer schoen die Klappe aufreissen, 
aber selbst nichts bieten. Wenn du wirklich so toll bist: Fixe die 
Fehler im Design und gib's der Arduino-Community als deinen Beitrag. 
Aber du bist sicher auch einer von denen, die gerne von der Arbeit 
anderer profitieren, aber nichts zu zurueck geben?

von Rudolph (Gast)


Lesenswert?

Welche Angeberei denn?

Profit? Ja, eine Platine mit Controller drauf, deutlich weniger als ich 
erwartet habe, wenig mehr als ein Lochraster-Aufbau.
Und natürlich voll bezahlt als Original inklusive der nicht benötigten 
Software dazu.

Zurück gegeben habe ich genug indem ich hier auf die Defizite 
hingewiesen habe, wenn die nicht fähig sind mal ein Datenblatt 
aufzumachen, dann ist denen leider sowieso nicht zu helfen.
Wenn überhaupt müsste ich bis hierhin schon eine Rechnung ausstellen.

von Mark 99 (Gast)


Lesenswert?

Quack+ schrieb:
> Wenn du wirklich so toll bist: Fixe die
> Fehler im Design und gib's der Arduino-Community als deinen Beitrag.
> Aber du bist sicher auch einer von denen, die gerne von der Arbeit
> anderer profitieren, aber nichts zu zurueck geben?

Da würde er seine Zeit verschwenden. Die Arduino-Community ist ziemlich 
beratungsresistent.

An der Spitze Wichtigtuer die "Design" bei Louis Vuitton gelernt haben - 
die Art von Design, die nichts mit Elektronik zu tun hat. Die bekommen 
ja nicht mal zwei Header anständig ausgerichtet.

Auf der nächsten Ebene die Propagandisten und Abstauber, ebenfalls 
Wichtigtuer. Die helfen die Sau ständig weiterhin durchs Dorf zu 
treiben. Wie die sogenannten Journalisten von Make oder Bastelläden wie 
Adafruit.

Dann die kleineren Lichter, die im wahrsten Sinne des Wortes zeigen 
wollen was für Leuchten sie sind, indem sie ein paar LEDs blinken 
lassen.

Irgendwo ganz unten dann die bedingungslos Gläubigen, die an die 
Unfehlbarkeit ihrer Wichtigtuer glauben.

Denen kann man nicht mit fachlichen Informationen kommen. Besonders 
nicht in einer Community, die glaubt man müsse nichts richtig lernen und 
von der man sich als echter Ingenieur noch beschimpfen lassen muss.

von Heinz S. (Gast)


Lesenswert?

Am lautesten Motzen hier sowieso immer diejenigen, die noch nie im Leben 
Etwas auf die Reihe bekommen haben...

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
Noch kein Account? Hier anmelden.