Arduino + Ethernet shield

Dobry wieczór,

Mam problem z elementami jak w temacie. Problem polega na tym, że Ethernet od czasu do czasu gubi adres IP. Układ składa się z Arduino UNO + płytki ethernet W5100 + guzika i przekaźnika. Zasilanie UNO i płytki eth z jednego silacza, przekaźnika z innego. Adres IP pobierany z DHCP (lub na definiowany w kodzie - nie ma różnicy). UNO i eth coś tam robią, a guzikiem wywoływane jest przerwanie inicjujące zadziałanie przekaźnika. I niby wszystko jest OK tylko co któreś tam przerwanie płytka eth traci adres IP. Czasem pierwsze naciśniecie guzika i płytka ma adres 0.0.0.0, a czasem dopiero dziesiąte. Pomiędzy kolejnymi naciśnięciami guzika najkrótszy możliwy czas to 3 minuty. Przekaźnik podłączony przez tranzystor więc nie ma mowy o przeciążeniu pinu UNO. Zresztą dla testów odłączyłem przekaźnik zupełnie - nic to jednak nie zmieniło. Oba zasilacze ze sporym zapasem mocy więc to też raczej nie będzie przyczyna utraty IP. Co ważne chyba, to od momentu kiedy płytka straci adres IP nie można nic zrobić poza wyłączeniem zasilania lub ponownym wgraniem programu. Nie działa ani Ethernet.begin() ani Ethernet.maintain()

Pytanie do bardziej doświadczonych - czy znacie jakąś sztuczkę programową żeby płytka eth znów dostała IP? Googlownica wykazuje że prawdopodobnie jedynym rozwiązaniem jest reset płytki eth bez resetu Arduino. Rad bym jednak poznać inne rozwiązanie.

Pomożecie? Z góry dziękuję.

Reply to
Michal M. Lechanski
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.