Цитата(avartemiy @ Apr 21 2010, 12:13)

...Может ли измениться ROM в PIC18F4520-I/P от каких-то помех?...
Не исправляет ситуацию даже выключение питания на длительное время...
У 18-ой серии есть возможность перезаписывать программную память в процессе работы.
Если программу не писали вы, есть две возможности: Либо плохо написана программа (не исключена возможность случайной записи во FLASH), либо тот кто писал программу, поставил "time-bomb" - через некоторое время, программа "сбивается" и вы (по идее) должны ему позвонить, что бы он это исправил (за деньги, конечно). Во втором случае помогло бы перепрограммирование микроконтроллера (поскольку внешней памяти нет), если файл прошивки у вас имеется, конечно.
Если программу писали вы, второй возможности нету. (

, без обид!)
Попробуйте перепрограммировать PIC18F4520.
Ну и по схеме не видно что за блок питания там у вас. При включении двигателя возникает большой пусковой ток, превышающий номинальный в 10 - 20 раз...