Заметил косяк, функция изменения шима чаще чем в секунду работает нестабильно при граничных условиях.
Буду думать как обойти. Проблема в точном измерении миллисекунд. В часах DS1307 есть возможность это обойти, но не распаяны необходимые выводы на шилде
P.S. Хотя может дело в точности float на ардуино. В общем буду думать, если не найду решения, что временно уберу эту функцию