Если честно я не понял до конца что такое ПИД и с чем его едят, поэтому туплю. http://ru.scribd.c …/doc/87128636/20080211 вот по этой ссылке дрифт регулируется с помощью ПИ-контроллера. Просто уже голова пухнет от этого всего.
Пробовал брать среднее - дрифт всё равно колбасит и часы также.
Вообще дрифт вычисляется так:
t1 - t10 = d1 (интервал времени который прошел на эталоне) t2-t20 = d2 (интервал который прошел на моих часах)
drift = (d2 - d1)
умножаю на константу (поделив на интервал d1), чтобы перевести в мой hardware in(de)crement unit (у меня этот дрифт каждый 25МГц-овый цикл суммируется, т.е. каждые 40ns).
Т.е. дрифт опускается до диапазона -10000 до 10000 (иногда выпрыгивает из этого диапазона).
Условия в принципе не меняются так чтобы так сильно колбасило (контроллер на столе, сеть напрямую к мастеру, т.е. ничего вроде не мешает). Может быть что-то нужно другое применить, вообще не соображу..