виснет Ethernet Shield W5500
- Войдите на сайт для отправки комментариев
Сб, 07/11/2015 - 23:02
привет всем! помогите советом, не работает seeedовский шилд W5500 вернее работает иногда после ресет 1-2 минуты, причем если включить только его одного к роутеру то работает значительно дольше 5 мин. потом тоже зависает. стоит это чудо верхом на Mega 2560. проект и скетч аНДruino home automation
зависает именно шилд, проподает connect, роутер не видит, на пинги не отвечает, мега продолжает нормально работать.
изначально есть косяк что шилд не запускается если на mega питание только 12В, он начинает работать только при подключенном USB, подключал и одновременно и от разных источников вроде как питание не причем.
В чем может быть причина?
Греется сильно?
Уверены, что питаете правильно?
На сайте производителя, в описании ничего нету на этот счет?
Программные проблемы исключили?
Спасибо за интерес к моей проблеме!
греется сильно сама микросхема 5500, приклеил на нее радиатор но результат :(
питание сейчас осуществляется от БРП 12В 8А с двумя аккумуляторами по 2,1А от него же понижающий адаптер на 5В для USB в параллель (почему этот пирог не работает только от 12В?) также ситуация не меняется и от питания от компьютера по USB и от стабилизированного БП + компьютер.
у производителя сказано Not supports IP Fragmentation, грешу именно на это т.к. если исключить из сети все компьютеры, ТВ, IP камеры и т.д. работает дольше и стабильнее но в итоге все равно зависает.
Нашел в другой ветке:
[/quote]
С тем, что тут не настоящая сетевая карта, а действующая модель. Поскольку у нее нет апаратного MAC-адреса, то ей приходится обрабатывать весь мусор, летающий по сети, а не только те пакеты, которые предназначены непосредственно для нее.
[/quote]
может это мой случай? готов купить другой Shield но какой?
в программировании я вообще пока не какой :( к сожалению
Я уверен, что w5500 - это всетаки улучшенная версия w5100/5200, поэтому наверняка все в ней есть и все она поддерживает.
Может для правильной работы этому чипу нужны еще какие-либо телодвижения, кроме тех, которые делает стандартная библиотека Ethernet? Почему не взяли дешевый w5100?
Схема питания осталась для меня загадкой.
У производителя прямо так и сказано в спецификации что она не поддерживает http://www.seeedstudio.com/depot/W5500-Ethernet-Shield-p-2433.html?cPath=19_20
Написал в поддержку разработчику андруино, может подскажет что за движения надо делать. скетч ведь от туда.
w5100 и не взял из за надежд в улучшенной w5500 в избежании проблем но похоже переплатил напрасно и НЕ скупой тоже будет платить дважды )))
схема питания если как то коротко то - от одного источника запитано и в джек 12В и в usb 5В одновременно, если иначе запитать - только от usb сильно греется а если только от джека то Ethernet-Shield не заводится, на плате диоды загораются а rx tx нет.
w5100 вроде прекрасно справлялся со своими обязанностями. Нынче эра беспроводного интернета. Как по мне - туда и нужно инвестировать. А для проводного доступа, как я уже сказал, есть проверенные решения.
Я думаю, что баги, которые вы имеете, можно рещить программно. Вот только не знаю, насколько быстро их решат, ибо - эра беспроводного интернета.
Тема старая, но отпишусь.
Есть у меня шилд на чипе W5500. Общаюсь с ним по UDP. Никогда не зависал. http://goo.gl/SSpKWB
Греется до 45. Эксплуатируется постоянно. Попробуй сменить шилд.
Вопрос про сброс W5500
На пин Reset можно подавать 5 Вольт?
Пин Reset на этой плате подтянут к +3,3 Вольт
В даташите нашла только о времени сброса
http://wizwiki.net/wiki/lib/exe/fetch.php/products:w5500:w5500_ds_v109e.pdf
Если Reset подтянут к +3.3В, то подача +5В ничего не даст. Исходя из этого очевидно, что нужно подавать низкий уровень.
Я имею ввиду осуществлять сброс с порта ардуино, LOW сброс, HIGH (+5) норма
Раз он подтянут к 3.3V, то его нужно садить на землю. pinMode(...,INPUT) - отпускает вход к 3.3V, pinMode(...,OUTPUT) позволяет притянуть его к земле.
А зачем хардварный Reset? Мне ни разу не потребовался пока что.
Из datasheet: RSTn - Pull-up - Reset (Active low) RESET should be held low at least 500 us for W5500 reset.
Поняла. Спасибо.
По дефолту резет подтянут к 3.3V. Т.е. запущен по умолчанию. Для сброса нужно к земле тянуть. В своё время даже преразвёл его полностью отказавшись от шилда запаивая его прямо на плату без всяких соплей.
схема не вставляется в виде картинки и так и этак.
https://disk.yandex.ru/i/vg5zBOEoXBMV2Q
P.S. Есть у этого шилда (или библиотеки) есть проблема. Если обмениваться по UDP (про TCP не знаю) и долго шилд не получает данные, то он их может и не получать даже если появится источник. Если нет данных, то я его аппаратно перезагружаю раз в 5 мин. И уже несколько лет с десяток устройств так пашут.
в предпросмотре всё ок, а по факту уже фиг
Del
схема не вставляется в виде картинки и так и этак.
https://disk.yandex.ru/i/vg5zBOEoXBMV2Q
P.S. Есть у этого шилда (или библиотеки) есть проблема. Если обмениваться по UDP (про TCP не знаю) и долго шилд не получает данные, то он их может и не получать даже если появится источник. Если нет данных, то я его аппаратно перезагружаю раз в 5 мин. И уже несколько лет с десяток устройств так пашут.
Это проверенная схема? Рабочая?
На корпусе не совпадает распиновка по ключу
Да, это рабочая и проверенная схема.
у меня не осталось фотки рабочего устройства, но если надо, то могу дать разводку и печатную плату полностью в размерах с китайским шилдом в easyeda. Все компоненты RLC в корпусе 1206
Не совсем понял о каком ключе речь идёт... SCS
есть картинка разводки, но нет фотки готового изделия:
https://disk.yandex.ru/i/Prg6wpqePUiagQ
есть фотки этой схемы в разводке реальных устройств Mega 2560 + w5500:
с экраном
https://disk.yandex.ru/i/u1MHdmKOb1ZVmg
снят экран, а сетевой разъём на обратной стороне
https://disk.yandex.ru/i/yrzyzX_uKT5CWg
ещё устройство:
https://disk.yandex.ru/i/lH-xm8mCx5evWg
ещё устройство:
https://disk.yandex.ru/i/JpJ4FGBSPDP5wQ
Есть ещё куча устройств, но фотки надо искать.
Я потом увидела, что контакты зеркально просто
А IP адрес статический был или по DHCP получали, когда проблема проявлялась?
У меня несколько Leonardo ETH и Мег с W5500 работают очень давно ни разу не было проблем, но у меня с mqtt, а он по TCP работает.
Если адрес получать по DHCP, нужно обязательно продлевать аренду, а я не видел, что кто-то это делает. Иначе после истечения срока аренды IP адрес может быть отдан другому устройству (если не зафиксирован), и появится второе устройство с таким же IP адресом. Вот тут то и начнутся проблемы.
Это первое, что было проверено. Информация не приходит даже в том случае если срок аренды Ip не истёк.
Я получаю Ip через DHCP, но Ip зафиксирован. Сейчас не могу вспомнить пингуется или нет устройство после того, как перестаёт принимать пакеты.
Вообще на китайском шилде убрали или заменили номиналы резисторов: убрали резисторы 33Ом, заменили резисторы 49.9Ом на 51Ом и т.д. Я предполагал, что именно в этом была проблема (убрали согласование и подавление отражённого сигнала), ещё было предположение, что это проблемы с питанием w5500 поэтому всю керамику по питанию я посадил на ноги w5500 и нормальный электролит воткнул (как это и должно быть), но как показали эксперименты это был ложный путь.
Сейчас посмотрел примеры с получением адреса по DHCP, те которые идут с Ethernet - есть продление аренды, а в тех, которые идут с Ethernet2 - нет продления аренды. Я начинал сразу W5500, поэтому разбирался по примерам от Ethernet2, ну и напоролся на эту проблему на работе.
А по надежности, пока отлаживался с оригинальной Leonardo ETH, замечал, что бывали случаи, когда W5500 впадал в ступор, и помогал либо аппаратный ресет, либо отключение питания. Поэтому на первом устройстве, которое стоит за 70км от города, сделал аппаратный сторожевой таймер на тиньке. Но за все время с 2017г. он ни разу не сработал. Устройство постоянно мониторится, потерю связи обнаруживал только один раз, когда меняли провода и сел аккумулятор. После этого я отказался от вотчдогов, и проблем пока не было.
Здравствуйте.
У меня в программе несколько видов RJ45 разъёмов на плату.
Посмотрите пожалуйста, верно ли я его подключила, распиновку.
Вроде правильно сделала
Вроде норм.
Но я очень рекомендую проверить сам компонент. Правильно ли у него подключены ноги (распиновка)
Я 2-а раза нарывался на такую фигню.
сам компонент разъёма делал явно не pro т.к. никто не показывает в разъёмах согласующие трансформаторы. Трансформаторы есть, а пины не подписаны... ппц.
R 49.9 можно заменить на 51 без проблем.
К чему эти оскорбления?
Зайдите в easyeda
Смотрите сколько разновидностей! И обозначения разные! А ещё трансформаторы везде нарисованы.
В чём здесь тупость?
Вроде норм.
Спасибо.
С TC, RC путаница у меня была.
К чему эти оскорбления?
Зайдите в easyeda
Смотрите сколько разновидностей! И обозначения разные! А ещё трансформаторы везде нарисованы.
В чём здесь тупость?
1)в этом нет никакой полезной информаци
2)это увеличивает размер схемы сокращая полезное пространство
представьте каждый разработчик начнёт расписывать внутренние кишки своих изделий...
3)не всё что нарисовано является истиной или делается профессионалами. в 99% могут быть нарисованы трансформаторы , а в 1% нет, но это не значит, что именно 99% решение нормальное. Более того тут дохрена копируется т.е. один раз нарисовали так и пошло поехало, меняется только название.
Здравствуйте.
При отключении кабеля или недоступности сервера получаю Connection failed и когда сервер становится доступен или кабель на месте, автоматически подключение к серверу не происходит, сброс W5500 а потом ардуины иногда помогает, но не всегда, полный сброс питания решает проблему.
Как решить проблему?
Делать .stop() в конце сеанса обмена с сервером, а не когда попало.
После отправки запроса на сервер?
Или клиент останавливать нужно когда !client.connect(server, 80) т.е .когда Connection failed
Давно я этой библиотеке внутрь не залезал. По-моему - если коннект не случился, то и закрывать нечего.
После отправки запроса на сервер?
на ESP делаю именно так, аптайм больше года
Исходя из примера получается что вот так. Если клиент к серверу не подключен, то стоп
Если желаете усложнений, то можно и так.
Почему усложнений?
Не получится так, что не все данные отправились а я остановила клиент?
А вы думаете, что от от 25 -й строки до 52-й прям полчаса пройдёт? Несколько миллисекунд онлайна ситуацию не изменят.
Пробуйте так, как написали. Мне кажется, что на стопе библиотека проверяет состояние сокета и ждёт некоторое время, если в TX-буфере что-то осталось.
Спасибо. Буду пробовать.
Почему вы от нас отвернулись на аватарке? :))
стройНЯШЕЧКА )))
Как я поняла, эти значения ставятся автоматически и указывать их необязательно?
И ещё
Чем отличаются эти два варианта назначения адресов?
И ещё, можно использовать F при отправке данных
Или это будет сказываться на быстродействие?
MAC адрес произвольный?
"В то время, как наши космические корабли бороздят просторы вселенной..."
Если готовы полагаться на волю автора библиотеки и не интересует ее переносимость, а так же код не будет далее поддерживаться - можете полностью аргументы функции begin() не писать, оставив дефолтовыми.
F() не снизит производительность драматически.
Произвольно MAC взять можно, но лучше применить "локально администрируемый MAC-адрес".
Два варианта назначения адреса отличаются местом применения, так же как вилка и ложка на столе.
С Новым годом =)))))
Вы про эти биты MAC адреса?
А про назначение адреса я не поняла, в библиотеке нашла
не поняла...
"В то время, как наши космические корабли бороздят просторы вселенной..."
Да да да)))) Есть минутка не сижу без дела)) С Новым годом)
По коду из моего #35 поста
При отправке POST Disconnecting не происходит
"В то время, как наши космические корабли бороздят просторы вселенной..."
Да да да)))) Есть минутка не сижу без дела)) С Новым годом)
С Новым годом!
русская гончая отличается нестомчивым характером )))
PS лису может гнать неделю, спокойно
PPS MAC наносят на плату обычно, его и надо прописывать
