PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino Ethernet Schild Verkabelung zu Arduino Mega 2560



Andi#87
20.10.2021, 20:12
Hallo,

ich möchte ein (original) Arduino Ethernet-Shield (V.5, mit SD-Card-Slot) mit dem normalen Arduino MEGA 2560 verbinden. Der verwendete Sketch funktioniert problemlos, wenn ich beide Boards direkt über die Header-Pinleisten zusammenstecke. Nun möchte bzw. kann ich das so nicht in einem bestimmten Gehäuse übereinander einbauen (geringe Bauhöhe), weshalb ich beide Boards nebeneinandersetzen möchte. Ich habe folgende Pins zwischen beiden Boards verbunden:

alle 6 Pins des ICSP-Header direkt

siehe: http://shieldlist.org/arduino/ethernet-v5

5VDC
GND / GND / GND
A0 / A1
D10 / D11 / D12 / D13
D4

Das sind insgesamt 17 Kabelverbindungen.
Trotzdem funktioniert der Sketch dann nicht mehr. Eine Verpolung, falschen Pin gesteckt o.ä. kann ich nach mehrfacher Überprüfung ausschliessen. Die Pin des ICSP-Header liegen ja am MEGA auch noch mal an 51 / 52 / 53 (SCK, MISO, MOSI) an. Das sind aber dieselben Kontakte, habe das mit dem Durchgangsprüfer geprüft.
Was mache ich noch falsch, da es nach wie vor nicht funktioniert, wenn ich die beiden Boards nicht direkt übereinanderstecke, sondern eben nebeneinander per Kabel? Was habe ich übersehen? Die Kabel sind in Ordnung, auch das habe ich überprüft, da ist kein Kontaktproblem oder Wackelkontakt. Bin grad ratlos, was da noch nicht richtig ist...


Andi

Rabenauge
20.10.2021, 20:24
Hast du Pin 53 als Ausgang deklariert?

Andi#87
20.10.2021, 21:38
Ich hab den Sketch nicht geschrieben, aber was ich daraus ersehe, so wird Pin53 nicht aufgeführt.
Welche Bedeutung hat das? Wenn ich beide Boards direkt zusammen stecke, dann funktioniert es. Daraus schliesse ich, dass zumindest Pin53 "irgendwie" aktiv ist (was ich mangels speziellerer Kenntnisse der Programmiersprache nicht herauslesen kann). Hab ich da einen Denkfehler?

Allerdings ist Pin53 auf dem Ethernet-Board überhaupt nicht (mechanisch) vorhanden (Pin53 gibt es nur auf dem MEGA 2560 Board), welchen Einfluss hat dann Pin53 überhaupt auf das Ethernet-Board? Selbst im übereinandergesteckten Zustand wird Pin53 des MEGA 2560 also garnicht benutzt vom Ethernet-Board. Und trotzdem funktioniert der Sketch im direkt übereinandergesteckten Verbund.

Zitat aus "shieldlist.org":
"On the Mega, the hardware SS pin, D53, is not used to select either the W5100 or the SD card, but it must be kept as an output or the SPI interface won't work."

???

Andi

Rabenauge
21.10.2021, 11:23
Der letzte Satz sagt doch alles. Das kannst du einfach mal glauben...

Andi#87
21.10.2021, 11:39
Genau das ist es ja, worüber ich stolpere. Offenbar ist Pin53 in meinem Sketch als Ausgang bereits aktiv, sonst würde es nicht funktionieren, wenn ich beide Boards direkt übereinander gesteckt habe. Aber dieser letzte Satz sagt nichts dazu, welche Pin dann letztendlich miteinander verbunden werden müssen zwischen beiden Boards, wenn ich sie nebeneinander per Steck-Kabel verbinden möchte. Dieser Satz sagt "nur", dass Pin53 (in dem Code) aktiv sein soll (was er ja vermutlich in meinem Sketch ist aus schon genannten Gründen). Pin53 gibt es mechanisch nicht auf dem Ethernet-Shield. Ich weiss halt nicht, welche Pin noch verbunden werden müssen, damit dieser Pin53 auch wirksam wird...


Andi

Rabenauge
21.10.2021, 13:58
Das steht alles unter deinem Link.
Wenns dann nicht funktioniert, wird die Ursache ne andere sein....
Allerdings hatte ich es auch schon, dass diese Shields schlampig oder nur teilweise dokumentiert waren- einer der Gründe, wieso ich schon lange keine mehr benutze...

Andi#87
21.10.2021, 14:59
"Das steht alles unter deinem Link."
Eben, und das habe ich ja alles erfüllt. Das Board selbst ist ja auch in Ordnung, wie gesagt funktioniert es ja im direkt gesteckten Zustand. Das ist ja genau das, was mich irritiert.

"...wieso ich schon lange keine mehr benutze..."
Ähm, wie machst Du das dann? Manche Sachen gehen nur über Netzwerk. Dazu benötigt man eine RJ45-Schnittstelle, den diese Ethernet-Boards ja zur Verfügung stellen. Gibt es denn da eine Alternative?

Andi

Rabenauge
21.10.2021, 21:16
Nein, ich benutze nix, was ein Kabel-Netzwerk bräuchte.
Wenn ich Netzwerk brauche, dann nehm ich kurzerhand WLAN.
Würde mich aber doch wundern, wenn es da kein Breakout-Board gäbe.
Aber ich hab da dunkel in Erinnerung, dass das alte Motor-Shield (so ein Ding hab ich irgendwo) mitm Mega _auch nicht lief_.
Obwohl angeblich alles Pinkompatibel ist->denkste.

Andi#87
22.10.2021, 11:23
Ich habe eine interessante Entdeckung gemacht: Habe das Ethernet-Shield komplett 1:1 mit dem Arduino MEGA mit ca. 15cm Steck-Kabeln verkabelt (also jeden PIN verbunden, so als wäre es direkt aufgesteckt), und... es funktioniert nicht.
Stecke ich es dann jedoch wieder direkt auf den MEGA (also ohne Kabel), funktioniert es. Da liegt also das Problem an einer anderen Ecke, die ich zwar im Moment noch nicht wirklich verstehe (weil 15cm Kabel jetzt nun nicht wirklich einen riesigen Widerstand darstellen), aber es ist, wie es ist.
Ich habe dann als Alternative ein kleines W5500er Ethernetboard angesteckt (mit denselben 15cm Kabeln, dabei 7 notwendige Pin verbunden), und es funktioniert auf Anhieb.
Interessante Entdeckung. Vielleicht hilft es dem einen oder anderen, falls er ähnliche Anwendungen hat und ähnliche Probleme feststellt und ebenso ratlos ist, wie ich...

@Rabenauge: danke für Deine Antworten und Tips.


Andi