Go Down

Topic: neue Ethernet Shields mit eigenartigen Verhalten (Read 6668 times) previous topic - next topic

COOL

Hallo @pylon,
ich verwende die neueste IDE (1.0.1) für MAC und auch für Windows. Habe natürlich auch mit älteren getestet. Ich wäre dankbar, wenn du mir den Link für so einen Umbau geben könntest. Per Software müsste man normalerweise zusätzlich einen Port opfern, der dann den Reset ausführt. Besser wäre natürlich eine Hardwareänderung, die ich gerne einbauen würde.
Du wirst es nicht glauben, aber ich habe vorhin und das ist wirklich nicht zu erklären, eine Ausgabe der Spannungswerte im Monitor und auf der Website bewundern können. Dann habe ich das Ding angefasst, um einen Widerstand zu verändern und aus der Traum - nichts geht mehr ?!?
Also dann lieber die Hardwarelösung.

pylon

Das tönt hingegen nicht mehr nach Reset-Problem. Kannst Du uns mitteilen, wo Du die Dinger jeweils anfasst, damit sich was ändert? Vielleicht finden wir ja dann über den sensitiven Bereich heraus, welche Komponente die Probleme verursacht.

Beim Reset-Problem würde ich erwarten, dass das Board nicht funktioniert bis Du es so berührt hast, dass evtl. ein Reset ausgelöst wurde, ohne den Arduino mitzuziehen und ab da es dann funktionieren würde. Dass es hingegen funktioniert und nach der Berührung nicht mehr, deutet auf viel grundsätzlichere Probleme hin.

COOL

Das mit dem Anfassen war vorher, wo ich noch nicht die Testtools hatte, sondern die vollständigen Sketche geladen hatte. Funktioniert hat es dann meistens, wenn ich den Controller berührt bzw. gedrückt habe. Jetzt, liegt das Teil vor mir auf dem Tisch und funktioniert nach meinen Testreihen ohne Probleme auch mit Monitor, jedoch eine Webseite kann ich nur durch Zufall aufbauen. Wenn es dann läuft, bleibt es auch so, verändere ich die Lage, bzw. fasse ich es an, dann geht es bis zum nächsten Zufall nicht mehr. Kabel sind erneut und getauscht worden und es tritt bei beiden Konstellationen auf.

pylon

Verstehe ich das richtig? Egal, wo oder wie die Dinger anfasst, sie reagieren darauf? Als es ging, hast Du keinen Chip direct berührt oder eine Leitung, sondern nur die Ecke der Platine (oder so)? Wenn dem so ist, denke ich, dass wir die Übung abbrechen sollten und Du Dir besser ein Original-Arduino-Shield kaufst. Mit diesen (ich habe 4 Stück davon im Einsatz) hatte ich noch kein einziges Hardware-Problem. Hier würde ich auf schlechte Lötstellen, Wackelkontakte oder ähnliches tippen und sowas zu suchen und zu beheben ist die paar Dollar Aufpreis definitiv nicht wert.

COOL

Damit da kein falscher Gedanke aufkommt. Ich habe schon einen Webserver mit dem AVR-IO Board von Pollin zum Laufen gebracht, alles kein Problem. Das Arduino-Board, bzw. das Ethernet-Board raubt mir meinen Verstand, da ich es einfach nicht wahr haben will, dass die Dinger defekt sind. Ich habe ja alles redundant aufgebaut und dass jetzt alles defekt sein soll, will mir nicht in den Kopf. Es liegt an keinerlei Kabel, Programm oder kalte Lötstellen. Ich habe etwas übersehen - aber was. Sind es die veralteten Duamilanove-Boards oder der fehlende Reset-Chip. Hier läuft bestimmt ein Timing ab, was ganz kurz vor dem Kippen steht, wo ggf. schon eine Veränderung eines Schwingkreises (haben wir hier ja genug) das Ganze zum Kippen bringt.
Die IP wird korrekt dem Ethernet-Shield übergeben, dann sollte es auch laufen. Macht es ja auch (Protokoll auf dem Monitor) das ist Fakt. NUR das HTML-Geraffel läuft nicht.
Eine HTML-Ausgabe kann klappen, oder auch nicht. Durch das nackte Anfassen oder ein Hochheben der Platine (nicht wie am Anfang, wo gar nichts ging und nur bei Druck auf dem Controller eine Funktion war) kann, muss aber nicht, kann die HTML-Ausgabe gestört werden.
Es würde mich wirklich freuen, auch wenn es vielleicht nicht deinen Vorstellungen entspricht, dass du mir den Link für einen Umbau der Resetführung mitteilst.
Ich will nichts unversucht lassen, bevor ich das Teil in die Tonne werfe.
Gruß Gerd

pylon

Wie Du willst, es ist Deine Zeit.

Ich würde den Test-Sketch mal so anpassen, dass er das Setzen und Auslesen der IP mehrfach (10-20 mal) macht und jeweils überprüft, ob er die gesetzte IP auch wieder zurückkriegt. Damit kannst Du die SPI-Kommunikation einigermassen zuverlässig überprüfen.

Auch einen Test wert: Hänge mal ein Scope an die Stromversorgung (3V3) nach dem Spannungsregler. Wie stabil ist die Spannung? Nach dem Aufwand zu urteilen, den sich Arduino mit der Stromversorgung beim R6 des Ethernet Shields gegeben haben, dürfte eine stabile Spannung sehr wichtig sein.

Die Resetleitung kannst Du so modifizieren: Kappe den Reset-Pin am Shield (also die Reset-Verbindung vom Shield zum Arduino), ziehe die Reset-Leitung mit einem 10k Widerstand zu 3V3 hoch und dann noch auf einen der GPIOs (also Pin 2-9). Im setup() musst Du dann diesen Pin kurz (delay(1) reicht) nach LOW ziehen. Aber wie bereits ausgeführt: Ich glaube nicht, dass das was bringen wird.

COOL

So, nun ist Schluss !
Ich habe noch ein Ethernet-Board umgebaut, so wie @pylon es gepostet hat. Es hatten sich keine erwähnenswerte Änderungen ergeben. Zusätzlich habe ich das 2. Ethernet.Board vom Arduino abgenommen und eine Verbindung mit Drähten vorgenommen. Anfangs wollte ich schon jubeln, aber leider klappte es dann doch wieder sporadisch nicht.
Irgendwann muss dann mal Schluss sein, obwohl das eine ganz unzufriedene Situation ist.

Ich möchte mich bei allen nochmals recht herzlich bedanken, dass ihr so lange die Geduld aufgebracht habt, um mit mir den "Übeltäter" zu finden.

Jetzt ist Schluss!

Bitte schliessen !

Gruß Gerd

Rainerg

Nö, ned schliessen  :smiley-eek:

Ich habe das Selbe Problem und komme auch nicht weiter.
Mein Shield habe ich von ebay und ist ebenfalls aus (glaube) Korea. Der Hersteller ist jedenfalls HanRun.
Dachte mir auch "Die Dinger werden ja eh alle Fernost produziert, da is es ja egal was ich mir kaufe!" aber diese Entscheidung bereue ich jetzt schon.  :smiley-mr-green:


Also Anschluss und Webinterface funktionieren bei meinem auch nur sporadisch...
Hab das Teil schon richtig fest mit meinem Duemilanove (2009) verpresst ;) (Handfest) was dann mal geholfen hatte, dann habe ich ein paar Steckverbindungen angebracht und danach ging wieder nichts mehr.

Beim anderen mal hatte ich Poldis Webserver zum laufen gebracht und auch schön übers Webinterface ne LED schalten können aber nachdem ich meinen Arduino+Ethernetshield dann (wegen Platzmangel auf Schreibtisch) zur Seite räumte blieb wieder alles stehen und ich konnte keine Verbindung mehr zum Webserver aufbauen.
Reset und Ab/Anstecken brachten da auch nichts...

Was ich aber noch mitbekommen hatte, war der Fehlercode, den mir die Arduino-Software zu diesem Zeitpunkt ausspuckte.


_____________
Ohne LED


at gnu.io.RXTXPort.eventLoop(Native Method)
   at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
Error inside Serial.serialEvent()
java.io.IOException: Bad file descriptor in nativeavailable
...

_____________


Mit LED an Anschluss 4


at gnu.io.RXTXPort.eventLoop(Native Method)
   at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
Error inside Serial.serialEvent()
java.io.IOException: Bad file descriptor in nativeavailable
   at gnu.io.RXTXPort.nativeavailable(Native Method)
   at gnu.io.RXTXPort$SerialInputStream.available(RXTXPort.java:1532)
   at processing.app.Serial.serialEvent(Serial.java:215)
   at gnu.io.RXTXPort.sendEvent(RXTXPort.java:732)
   at gnu.io.RXTXPort.eventLoop(Native Method)
   at gnu.io.RXTXPort$MonitorThread.run(RXTXPort.java:1575)
Error inside Serial.serialEvent()
java.io.IOException: Bad file descriptor in nativeavailable
...


jeweils ca. 999999x fortlaufen :)
_____________



Hoffe da kennt sich jemand mehr aus wie ich (was nicht sonderlich schwer ist ;)) und kann mir bzw. uns bei diesem Problem weiterhelfen.

fs007

Hallo zusammen,

auch ich habe (bereits vor ein paar Wochen) ein solches "HanRun" Shield bei Ebay für € 12,70 gekauft.

Die Reset-Problematik konnte ich mit einer ähnlichen Methode wie von Pylon beschrieben überwinden, allerdings benötigt der W5100 meines Wissens ein LOW-Signal auf der Resetleitung von 250 (!) ms.

Das Board läuft bei mir seit Wochen einwandfrei im Standalone-Betrieb.

Nachdem ich die Bilder in diesem Thread gesehen habe, habe ich mir die Pins des W5100 noch einmal angesehen und siehe da: es sind 8 (!) Lotbrücken zu erkennen. Ansonsten scheint mir die Qualität der Platine nicht schlecht (sind ja auch sonst keine Bauteile mit so kleinem Pinabstand drauf).
Erstaunlicherweise lauft das Board bei mir trotzdem absolut stabil und da ich bis vor ein paar Minuten von diesem Thread nichts wußte, habe ich vor ein paar Tagen noch ein weiteres geordert, daß wol demnächst eintreffen wird. Der Preis ist allerdings wohl unschlagbar; die Lotbrücken wird man beseitigen können.

COOL

Hallo @fs007,
es würde mich schon interessieren, wie du genau das Redet-Problem beseitigen konntest.
Was willst du mit "die Lotbrücken wird man beseitigen können" sagen ? Hast du irgend welche Lötbrücken entfernt ? Ich habe diese "Lötbrücken", die eigentlich keine sind, mal verfolgt, sie sind im Layout, sofern 2 PINs vom Controller zusammen liegen, ergibt sich folglich der Anschein einer Lötbrücke.

Gruß Gerd

fs007

Quote
es würde mich schon interessieren, wie du genau das Redet-Problem beseitigen konntest


1. Verbindung der Reset Leitung von MEGA-Board zum Ethernet shield trennen.
2. An einem Pin des Reset-Tasters auf dem shield kommt die Resetleitung an. Von dort einen Widerstand auf + (weiß nicht, ob diese billigen Boards schon einen Pullup haben, dann könnte man auf den Widerstand verzichten).
3. Von einem freien Pin des MEGA zur Sicherheit eine Diode (Wiznet arbeitet mit 3,3 V !) auf die Resetleitung des W5100 (am einfachsten wieder an den Resettaster).
4. Nun hat man es in der Hand, einen programmgesteuerten Reset des W5100 in void setup() auszuführen: o.g. PIN auf OUTPUT stellen, 250ms auf LOW ziehen, dann wieder auf Input (ohne PULLUP).

Bei mir funktioniert das bestens. Hat auch den positiven Nebeneffekt, daß der W5100 auch bei einem Watchdog Reset des MEGA ebenfalls resettet wird (was bei den Originalboards übrigens nicht erfolgt).

Die Lotbrücken zwischen den Pins des W5100 sind leider Realität. Kurioserweise sieht man sie bei genauem Hinsehen sogar auf den Werbefotos bei Ebay !!! Schau sie dir mal genau an.
Da allerdings die meisten Pins des W5100 ohnehin auf Ground gelegt sind, kann man (wie ich) Glück haben das es keine Auswirkung hat. Habe deshalb auch verzichtet, die Brücken zu entfernen.

Rainerg

Also ich (der von vor 4 Posts weiter oben) habe nun meinen Fehler beseitigen können.


(Is ned mein Board... nur damit ihr gleich wisst welche Pins ich meine)

Schuld bei mir waren die 6 ICSP-Pins auf der rechten Seite über dem SD-Slot. Diese sind an der Unterseite mit einer Kunststoffführung versehen. Diese habe ich abbekommen (da muss man relativ fest ziehen) und festgestellt das alle 6 zu kurz angelötet wurden. Dabei hatten nur die Spitzchen Kontakt und das auch nur wenn ich den Arduino+EthernetShield an dieser Stelle zusammendrückte.

Nun konnte ich die 6 etwas mit der Lötspitze erwärmen und herausziehen oder alle übrigen (26) Pins kürzen. Hatte mich dann für erstere Methode entschieden und nun läuft alles perfekt.


Meinem eBay-Verkäufer hatte ich dieses Problem auch geschildert aber ich hatte glücklicherweise einen der mir sofort das Geld zurückerstattet hatte und auch das EthernetShield nicht zurück wollte. War jetzt zwar ne lange Suche nach dem Fehler und n bisschen  Lötarbeit aber nun bin ich mehr als zufrieden.  XD

Hoffe dies Hilft euch auch weiter...


COOL

@Rainerg,

GANZ - GANZ  RECHT HERZLICHEN DANK !!!
Dein Hinweis war es !!!!
Nochmals DANKE !

fs007

Auf dem Bild von Rainerg sieht man übrigens 4 Lotbrücken auf der rechten Seite des W5100. Der Hersteller scheint wohl ein paar Probleme mit dem Löten zu haben; ansonsten sind die Shields nicht schlecht, vor allem für den Preis !

Rainerg

Das freut mich, dass ich dir damit helfen konnte...  ;)

Das Bild von oben habe ich bei google gefunden. Auf meinem HanRun Ethernet Shield sind übrigens wenn ich so drauf sehe wie beim anderen Bild 4 Lötbrücken unten am W5100 zu sehen und sonst nix. Wahrscheinlich is der Chip nur n Fake und das is ganz egal wo da gelötet wurde und wo nicht. ^^

Go Up