Witam.
Urządzenie: sterownik 'termostat' - pomiar temp. za pomocą 3 czujników LM35, w zależności od temp. wysterowanie 5 kanałów PWM (1 sprzętowy + 4 programowe), wyświetlanie aktualnych danych na graficznym lcd.
Program napisałem i testowałem na zestawie ATB z mikrokontrolerem Atmega16 taktowanym częstotliwością 16 MHz. Długość kabli do czujników które są w docelowym układzie i mierzą temp. to ok 0,5m.
Program działa więc przyszedł czas na płytkę.
Powstał taki oto stwór:
Schemat

PCB

No i tu są już problemy. Po podłączeniu się programatorem wbudowanym w ATB i próbie wgrania programu z poziomu Eclipse - brak komunikacji, podobnie w przypadku MkAVRCalculator i chociażby próbie odczytania danych procesora.
Za którymś tam razem w końcu załapie, uda się wgrać program... sterownik potrafi działać przez dzień czasu dobrze, po czym w jakimś losowym momencie znowu wszystko się wysypuje. Wyłączenie i włączenie zasilania nie pomaga - brak jakichkolwiek efektów działania uC na wyświetlaczu.
Podmieniałem już uC na inny egzemplarz - to samo. Czy to rzeczywiście jest wina płytki ? Różne płytki już robiłem do rożnych urządzeń ale czy ta jest naprawdę tak spartolona, że nawet komunikacja z uC ma prawo padać ?

Z góry dzięki za jakąkolwiek pomoc.