Close

Problémy se startem Ethernet Shieldu W5100 + řešení

Řešení problémů s Arduino Ethernet Shieldem

Mezi poměrně časté dotazy, se kterými se na nás obracíte, jsou různé problémy s Ethernet shieldem. Je to totiž docela komplexní zařízení, ve kterém se toho může dost pokazit. Když se k tomu přimíchají různé klony, které třeba nepoužívají stejné komponenty jako originální shield, nebo jsou prostě nekvalitní, může být řešení problému občas docela obtížné. Jsem proto rád, když se problém povede vyřešit. O jednom takovém problému s Ethernet shieldem nám napsal náš čtenář Martin Benda.


Asi jako většina jsem si s Arduinem začal hrát s blikáním LEDek, zápisem a čtením na analogové a digitální porty. Poté jsem začal připojovat různé sensory a řešit konektivitu do sítě a logování.

První teploměry a tlakoměry po drobných potížích fungovaly včetně zápisu na Google nebo do lokální SQL databáze. Po výpadku elektřiny nebo po startu se mi ale zařízení odmítala připojovat do sítě. Při měření teploty to moc nevadilo, ve chvíli, kdy jsem tím začal hlídat hladinu v bazénu a vypínat/zapínat čerpadlo, to začal být již problém.

Konkrétně jsem měl Arduino Mega na kterém byl připojen Ethernet Shield W5100, ale stejná chyba byla i s UNO – vše koupeno v Číne. Když se ukázalo, že i třetí MEGA a třetí shield v libovolné kombinaci se chovají stejně = po zapnutí se napoprvé nerozběhnou, došlo mi, že asi nebude chyba na mé straně 😉

Jak se to projevovalo?

Vůbec nezáleželo na tom, zda a jaký kód byl v Arduinu nahrán. W5100 má na sobě několik LED diod (TX, RX, COLL FULLD, 100M, LINK a PWR). Pokud se projevuje ona chyba, tak svítí pouze PWR a LINK (při připojeném i odpojeném ethernet kabelu).  Ve chvíli, kdy jsem Arduino s W5100 připojil k PC, vše se rozeběhlo, jak mělo. Pokud jsem ale Arduino připojil jen přes napájení nebo přes nabíječku USB, pak nenaběhlo. Musel jsem zmáčknout reset a poté bylo vše již OK.

Způsobeno to bylo pravděpodobně tím (znalci mi prominou můj laický pohled), že W5100 startuje pomaleji (nebo rychleji??) než vlastní Arduino a prostě se při bootu správně nepotkají.

Co s tím?

Zkoušel jsem různá softwarová řešení, ale bez úspěchu, protože vše se dělo ještě před tím, než Arduino začalo zpracovávat můj kód. Varianta resetovat Arduino pomocí relé a jiného Arduina bez ethernetu sice fungovala, ale to bylo už opravdu překombinované.

Strýček Google mi nakonec napověděl, že pomůže správně připojený kondenzátor. Zkoušel jsem několik variant a nakonec zafungovala ta, kdy se na dva piny tlačítka RESET připojil keramický kondenzátor o kapacitě 100nF. Stejnou funkci pak má, když dám tento kondík mezi RESET a Gnd.

Řešení problémů s Arduino Ethernet Shieldem - Připojený kondenzátor

Připojený konedenzátor

Nakonec jsem je přiletoval na tyto piny zespodu shieldu a problém byl (doufám) vyřešen.

Řešení problémů s Arduino Ethernet Shieldem - Kondenzátor připojený zespod

Kondenzátor zespodu


Děkujeme za zajímavé postřehy 🙂

Zbyšek Voda

6 Comments on “Problémy se startem Ethernet Shieldu W5100 + řešení

Johny
4.3.2019 at 18:59

Vážený páni, skúšal som to a zaručene to N E F U N G U J E !!!

je to SHIT !!!

BorgMcz
8.2.2017 at 21:26

Na stejný problém jsem také narazil, dělal mi to tedy jen klon, originál fungoval vždy dobře.
Nakonec jsem to vyřešil napojením resetu na shieldu na vlastní pin Arduina a resetuji přímo pinem podle potřeby.
Podrobnější popis jsem sepsal v tomto článku:
http://www.dccmm.cz/index.php/dcc-modely/jak-na-ovladani-dcc-kolejiste-tabletem-za-pomoci-arduina/2

honza.ringo@gmail.com
6.2.2017 at 8:47

Kvůli tomuto chybějícímu kondenzátoru jsem zanevřel na Arduino a přešel na NodeMcu. Teď potřebují víc výstupů než má NodeMcu a tak Arduinu dám možná ještě šanci (i když PCF 8574 je už na cestě) 🙂

rteppp
5.2.2017 at 8:48

Dobrý renonc.
Kondenzátor na fotografii označený 104 má kapacitu 100nF, nikolivěk 100pF.

Oldřich Horáček
9.2.2017 at 7:53
posjirka
4.2.2017 at 21:01

jeden malý kondenzátor a co to nadělá problémů. díky za návod, určitě bude pro spoustu lidí užitečný a ušetří jim probdělé noci.

Napsat komentář