Не работает ethernet shield w5100

Форум arduino.ua

#1 2017-11-10 12:01:26

Проблемы с W5100

Здравствуйте, уважаемые форумчане!
Столкнулся с такой проблемой:
Имеется Arduino Uno, Ethernet Shield W5100 и датчик освещенности(измерения люксов), и 8 релейный модуль.
В общем задача такова: Arduino шлёт моему серверу сигнал на получение ответа, включать ли ей то или иное реле. Далее ардуина принимает ответ, если 1, зажигает реле, если 0 ничего не делает, параллельно она отправляет на мой сайт значения с датчика освещенности. Всё вроде бы работает, НО. Шилд со временем подвисает и не пингуется. Помогает ему лишь перезагрузка всей системы. В общем мне нужно узнать, в чем может быть проблема, в самом шилде или же в программе, сразу скажу ардуина и шилд не оригинальные, код программы ниже. Буду благодарен за ответы по делу. Спасибо.

Остання редакція VaDoSiQ (2017-11-10 12:04:07)

#2 2017-11-12 23:53:13

Re: Проблемы с W5100

Мой опыт работы с W5100 говорит о том, что зависания для нее обычное дело. Используйте Watchdog и сбрасывайте его если есть соединение.

#3 2017-11-13 02:02:56

Re: Проблемы с W5100

Мой опыт работы с W5100 говорит о том, что зависания для нее обычное дело. Используйте Watchdog и сбрасывайте его если есть соединение.

Читайте также:  Mikrotik маршрут не работает

Я извиняюсь, можно подробнее? Про Watchdog я читал. Как аппаратно перезагрузить шилд? Я так понимаю ножку ресет на шилде, нужно выбрасывать?

#4 2017-12-19 22:26:11

Re: Проблемы с W5100

Была такая же беда, — часто подвисал сервер на W5100. Сервер имел выход в inet. Заметил, что с inet’а шло много левых запросов на 80 порт. Поменял порт на сервере, на отличный от 80, и все наладилось.
W5100 зависает, если на нее идет много запросов

#5 2018-03-17 13:05:04

Re: Проблемы с W5100

В своей конструкции с Arduino Uno, Ethernet Shield W5100 проблему зависаний решил так:
резет шилда — отрезал ногу разьема на шилде (нужно в двух местах собственно резет и его дубль на ISP колодке).
Резет завел от одного из выходов УНО и делаю его программно, в секции сетап скетча.
Если случается зависание — резет этого бутерброда через Watchdog.
Можно принудительно резетить это все через определенное время, я сделал это раз в сутки, просто без причин. Можно через 2 мин (видел описание подобной конструкции)

#6 2018-04-02 21:13:58

Re: Проблемы с W5100

Мой опыт работы с W5100 говорит о том, что зависания для нее обычное дело.

Проблемы с W5100 и как с ними борются описаны здесь: Ethernet Shield на W5100.
Может поможет? . если не боитесь паяльника

P.S. А ресетить часто сетевую плату — дело дурное.

#7 2018-04-02 21:34:46

Re: Проблемы с W5100

Мой опыт работы с W5100 говорит о том, что зависания для нее обычное дело.

Проблемы с W5100 и как с ними борются описаны здесь: Ethernet Shield на W5100.
Может поможет? . если не боитесь паяльника

P.S. А ресетить часто сетевую плату — дело дурное.

Дурное дело — давать советы, когда ты не в теме ))
В приведенной статье — исправление ошибки монтажа (если она есть — 510 ом вместо 49,9 по даташиту).
Из-за этого плата не работает с длинными (5м уже длинный) кабелями и капризна с разными роутерами/комутаторами.
Но если уж заработала, то работает.
А зависает она по причине перегрузки микроконтроллера W5100 и тут паяльник можно. (гусары молчать!)
Увы, перезапуск зависшей платы (шилда) — только через ресет.
Куча проектов, где авторы жалуются на такую «особенность» W5100. Погуглите.
Вот один из них.
цитата:
«Необходимо учитывать следующее. Веб — сервер на Arduino не использует многопользовательскую мультипрограммную операционную систему. Поэтому при обращении одного клиента передача данных будет идти только к нему. Второй клиент начнет получать данные только после закрытия соединения с первым клиентом. Поэтому большая HTML страница должна быть разбита на маленькие, которые быстро загружаются и сервер закрывает соединение. Благодаря этому может появиться возможность обращению к серверу 2-3 клиентов почти одновременно. Примерно через 10-15 минут интенсивного обращения к серверу он зависает (по опыту виснет Ethernet Shield W5100).»

Источник

Обзор Ethernet Shield W5100

Автор: Сергей · Опубликовано 29.11.2018 · Обновлено 13.04.2020

В этой статье рассмотрим Ethernet Shield W5100 с помощью которого можно подключить плату Arduino к интернету или локальной сети. Shield основан на чипе Wiznet W5100 с поддерживаемой скоростью передачи данных до 100 Мбит/с. Используют данный Shield совместно с Arduino можно организовать простой веб-сервер с доступом к этому серверу.

Технические параметры

► Напряжение питания: 5 В
► Внутренний буфер: 16 кбит
► Скорость подключения: 10 и 100 Мбит/с (RJ45)
► Разъем для карт памяти: micro-SD
► Габариты: 73 мм х 54 мм х 27 мм

Общие сведения

Чтобы подключить Ethernet Shield W5100 к Arduino (UNO или MEGA), предусмотрены длинные штыревые разъемы, так же поверх W5100 можно установить другие Shields. Для хранения больших файлов на плате установлен разъем micro-SD, для установки micro-SD карт. Плата Arduino взаимодействует как с W5100, так и с SD-картой, используя шину SPI (вывода 10, 11, 12 и 13 (UNO) и 50, 51 и 52 (MEGA), на обеих платах вывод 10 используется для выбора W5100 и вывод 4 для выбора SD-карты, эти вывода нельзя использовать (это надо учесть, при проектировании). Так-как W5100 и SD-карта используют одну шину SPI, одновременно может быть активно только одно устройство. Для подключения к маршрутизатору или компьютеру, установлен стандартный разъем RJ45. Кнопка RESET дублирует кнопку RESET на Arduino, который сбрасывает как W5100, так и плату Arduino.

Назначение светодиодов:
► PWR: указывает, что подано питание на плату.
► LINK: указывает наличие сетевого канала и мигает, когда экран передает или принимает данные
► FULLD: указывает, что сетевое соединение полнодуплексное
► 100M: указывает на наличие сетевого соединения 100 Мбит/с
► RX: мигает, когда экран получает данные
► TX: мигает, когда экран отправляет данные
► COLL: мигает, когда обнаруживаются сетевые конфликты

Помимо этих светодиодов, есть два светодиода, расположенные на гнезде RJ45, при подключении кабеля, один светится постоянно, а другой мигает в соответствии с потоком данных.

Принципиальную схема Ethernet Shield W5100 можно посмотреть ниже

Устранение проблемы c W5100

Существует проблема с некоторыми Ethernet Shield на базе W5100. Производитель поставил неправильную сборку их четырех резисторов, вместо 49,9 Ом установил 510 Ом. Из-за этого Shield W5100 нестабильно работает при подключении к роутеру или вовсе не работает c маршрутизатором (свичем). На данный момент, существует два варианта устранения данной проблемы:

► Первый вариант, просто заменить резисторную сборку на 51 Ом, но если у вас нету опыта в пайке SMD компонентов, лучше воспользоватся вторым способом.

► Второй способ, установить дополнительные резисторы на 100 Ом, между контактами 1 и 2, 3 и 6. Теперь W5100, будет работать более стабильнее.

Подключение W5100 к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Ethernet Shield W5100 x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
В качестве демонстрации, возьмем стандартный пример со среды разработки IDE Arduino. Для этого нам понадобится internet Shield W5100 и Arduino UNO R3 (устанавливаем Shield поверх Arduino). Как уже поняли библиотеку используем стандартную «Ethernet» дополнительно скачивать и устанавливать не нужно, загружаем скетч показанный ниже или в IDE Arduino заходим примеры «Файл» —> «Примеры» —> «Ethernet» —> «WebServer». Схема подключения показана ниже.

Источник

Arduino.ru

Ethernet модуль на W5100 — не могу запустить.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Имел ли кто-нибудь из присутствующих на форуме дело вот с таким

шилдом ?

Это не ENC28J60, это W5100 [в извращенной форме]. SS,MISO,MOSI,SCK,+5V,GND подключаю к Arduino Mega на 53,50,51,52, все, как указанно здесь http://arduino-info.wikispaces.com/Ethernet. Подаю питание, подключаю витую пару — светодиоды горят все, что должны гореть.

Запускаю пример из библиотеки Ethernet.

Ethernet.begin(mac,ip); Serial.println(Ethernet.localIP()); — выдает 0.0.0.0, иногда выдает бессмыслицу.

Про распиновку, проверку контактов, аппаратный SS на 53-ем пине Меги — не надо, интересуюсь лишь, работал ли кто именно с таким шилдом (хорошо бы, конечно, на Arduino Mega).

Заранее благодарен откликнувшимся.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

да, работал с таким, только плата — синего цвета.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Благодарю, ссылка полезная, взял оттуда функцию ресета шилда. На ресет реагирует адекватно, видно по светодиодам. Думаю, что сам шилд вполне работоспособен, просто я не могу до него достучаться. Скорее всего, стучусь не в те пины. Пытался проследить, на какие пины шлет команды стандартная библиотека в случае Меги, пока безрезультатно. Жаль, мои Уно и Нано все заняты работой, не хочется разбирать.

ustas, Вы его случайно не к Меге подключали ?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

А нужно ли варить кофе с целью погадать что у вас еще подключено на SPI и как настроена ваша сеть и пробовали ли вы выдать ему насильно IP?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Уже не нужно варить, уже не нужно гадать. Проблема решена.

Фраза «Arduino communicates with the shield using the SPI bus. This is on digital pins 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used as SS. On the Mega, the hardware SS pin, 53, is not used to select the W5100, but it must be kept as an output or the SPI interface won’t work.» была мною замечена еще вчера, но подключение SS к 10-му пину дало долгожданный результат только вкупе с ресеттингом шилда при старте скетча. Алилуйя ! Теперь буду испытывать новый шилд на стабильность работы, а затем переписывать скетч с enc28j60 на w5100.

Источник

Не работает ethernet shield w5100

Продолжаю рассказывать о случаях серийного брака в платах китайского производства и способах ремонта. На этот раз говорим про клон платы Arduino Ethernet Shield W5100.

Многие пользователи таких клонов (рис. 1) столкнулись с досадной проблемой: при подключении к некоторым роутерам или использовании длинного сетевого кабеля шилд не может установить соединение с роутером или связь работает неустойчиво, с большими потерями пакетов. При этом с другой моделью роутера этот же клон может работать стабильно.

Не буду томить вас интригой. Причина неполадок заключается в использовании неправильных согласующих резисторов в цепи линии Ethernet. Если мы посмотрим на схему шилда (рис. 2) то увидим, что в цепи согласования импеданса применяются резисторы R3, R4, R5, R6 сопротивлением 49,9 ом. На практике часто используют резисторы с номиналом 51 ом. Это нормально.

Теперь посмотрите на плату китайского клона (рис. 3). Китайские производители использовали сборку из четырех резисторов. Это было бы хорошее решение – удобно при монтаже – если бы китайцы установили деталь с правильным номиналом. Сопротивление 51 ом обозначается маркировкой 510. 51 – это базовый номинал, который умножается на 10 в степени, обозначаемой третьей цифрой. Десять в нулевой степени это единица: 51*1=51.

Рис. 3. Резисторная сборка с неправильным номиналом на плате шилда W5100

На плате установлена сборка с обозначением 511, что соответствует сопротивлению 51*10=510 ом. Иными словами, в цепи согласующего фильтра установлены резисторы с сопротивлением в десять раз больше расчетного номинала. Некоторые роутеры успешно справляются с таким рассогласованием линии, особенно если сетевой провод короткий. Но нет ничего хуже при отладке проекта, чем неполадка, которая проявляет себя непредсказуемо. Обычно это происходит в самый неподходящий момент. Стоит подключиться к другому роутеру или использовать плохой соединительный провод, и вы сойдете с ума в поисках ошибки в коде программы, хотя проблема исключительно аппаратная.

Самый простой способ ремонта – заменить резисторную сборку. В крайнем случае, можно использовать сборку с номиналом 47 или 68 ом (маркировка 470 и 680 соответственно). При наличии хорошего зрения и отсутствии тремора рук можно припаять на место сборки одиночные резисторы типоразмера 0402 с сопротивлением 51 ом.

Если неправильную сборку нечем заменить, а сетевой шилд работает нормально – ничего не меняйте. Просто имейте в виду возможную причину возникновения неполадок в будущем.

Другие статьи цикла про бракованные модули:

Источник

Arduino.ru

arduino mega+ethernet shield w5100 — не пингуется

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

наконец-то приехал шилд, «работающий» на ардуино мега)

установил, залил программку:

но не могу пингануть плату.

нахожусь с ней в одной подсети. вообще у меня dhcp поднят, назначил свободный IP.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

на Шилде мигает красным LINK, RX горит красным, иногда мигает красным TX

шилд подключил обычным пачкордом (бо о бз с бс з бк к), др конец в свиче.

Если подключаю этот пачкорд в системник — пингую его (второй комп).

плата не висит — выдает периодически TEST в монитор порта. Питание пока берез по USB.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

ваш скетч это вебсервер? Работает как вебсервер? Вероятно, он не обязан (не запрограммирован) отвечать на пинги.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

я ещё посмотрите на «бренндмауэр виндовс». Может он режет.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

не даст вам пинговать его. Потому что когда вы пингуете яндекс и у вас 80мс — это плохо, а у вас вообще 30000мс.

А в самой библиотеке есть обработка пингов — происходит во время обработки наличия подключения — «server.available();».

Плата у вас висит! — но когда отвисае выдает тест — но похоже время отвисания с приходом пинга не пересекается)))

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

что-то мне не нравится, как вы рассуждаете)))

если у устройства есть ip-адрес и он в сети, он должен быть доступен и пинговаться, не факт, что будет все отрабатывать из скейтча, но железо отвечать должно)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Уберите delay(30000);

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

на Шилде мигает красным LINK, RX горит красным, иногда мигает красным TX

зеленый ON и 100М зеленый)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Тут delay вообще не должно быть -оно тормозит веб сервер .Поищите более нормальные примеры для данной библиотеке

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Значит у вас проблемы не с програмной частью.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

не с аппаратной?

при заливке скетча ошибок не вываливается.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я далеко не гуру, но обработки пинга не вижу. через веб заходить пробовали с последним скетчем?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

%) а что такое пинг по-вашему?

как же я зайду по вэбу, если узел IP недоступен?)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я занимаюсь схожей ерундой, только с ENC28J60. И именно так, что у меня девайс НЕ пингуется, но при этом через браузер страница открывается.

Если обычной PCI-сетевой карте подать питание — она не будет отвечать на пинги. Этим занимается софтовая часть — всякие ОС и бут-ромы

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

попробую черех хаб в сетевуху, без участия домена)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

%) а что такое пинг по-вашему?

А по вашему? Вы хотя-бы в википедию загляните ping — Википедия.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

А вообще со всеми этими шилдами в перваую очередь нужно проверять тестером питание.
Потом проверяете IP-шники. Вот это «192, 168, 2, 1» — вы откудато-то скопировали или сознательно написали?

Далее, проверяете подключение шилда. Открою вам тайну: ЛЮБОЙ шилд является «работающим с мегой» (из тех что работают с Uno/Nano и т.п.). Разница может быть только в том «можно просто нахлобучить» или «нужно подключать проводками».
Поэтому заверения продавца, особенно китайских, «совместимо с Mega» — не означает ничего. Это может означать как и «его просто нахлобучивать», так и «в принципе можно подключить». Так что берите схематику своего шилда и смотрите какие пины он использует де факто. Особенно если не видите у него снизу «мамы» для ICSP разъема у него на брюхе. Если «мамы нет» и при этом шилд короче самой меги — 99% что его нужно проводками подключать.

Так же, убедитесь, что пока шилд не заработал у вас к меге не подключено больше НИЧЕГО. Только шилд и сама мега. Ни единого лишнего проводка, резистора, модуля экрана, температурного датчика и т.д. и т.п.

Источник

Оцените статью