Хочу продолжить тему больших интервалов времени (сутки и больше).
Начал я как и все - с программного ШИМ-регулятора с периодом 1 сек. Моя программа отрабатывала суточный цикл (9 часов), и на следующие сутки в нужное время не запускалась. Выяснил что проблема с таймером. Заменил таймер на описанный в примерах, по времени цикла. Заметного улучшения не заметил. Решил выяснить, что делается внутри контроллера. С трудом наладил связь по VCP USB (никак не мог понять, внешнее питание - это обязательный атрибут или можно без внешнего питания подать питание по USB). Когда связь появилась, то решил, что сейчас всё узнаю про точность хода таймера. Но тут меня постигла неудача. При отключении от USB что-то случилось с контроллером и при повторном подключении контроллер перестал определяться как COM-порт, а определяется как USB-устройство ввода. Причем на другом компьютере определения устройства аналогичное. Похоже что-то подгорело в драйвере и связи по USB мне уже не видать. (подскажите, диагностика и замена контроллера будет на платной основе, или можно будет сделать по гарантии?).
Далее относительно промежутков времени остается только теоретизировать.
В сутках 86400 сек. При потере 20 мс на каждой секунде, за сутки потеряется 0,02*86400=1728 сек или 28,8 мин. Если потери составят 50 мс на каждую секунду, то за сутки потеряется уже 72 минуты. В силу описанных выше условий не могу сказать, насколько у меня расходится суточный таймер и где и сколько мс теряется... Но по ощущениям теряется. Я начал данное исследование, чтобы понять, в чем именно причина. И причину не нашел, и контроллер подпортил...
Получается, что надо суметь определить погрешность суточного хода, и зная погрешность суточного хода необходимо программно ежедневно вносить коррекцию на эту погрешность суточного хода.
Автор, начавший данный пост, утверждал, что секунда в контроллере длиннее стандартной секунды. Я с ним согласен, но к сожалению привести конкретные цифры не могу.
Думаю, что в каждом конкретном случае это можно сделать только методом последовательных приближений.
Я надеюсь, что точность всё-таки достижима. Но не с первого раза. И обязательно сразу получайте обратную связь из контроллера в компьютер, чтобы точно видеть, насколько расходится суточный ход контроллера.
Прикладываю свой файл, может вдруг я зря грешу на таймер.
Контроллер CANNY 3 Tiny
Вложений в сообщении Аквариум-5.cfd 19.13 кб, скачивался 155 раз, последний раз 2021-04-11