Еще немного математики по калибровке

github.com/speedcontrols/ac_sc_grinder/…/doc

Обновил подробности про калибровке параметров моторов. Сейчас калибруется все, кроме ПИД-а. С ним надеюсь что на неделе тоже закончим. А пока резюме по той практике, которая фигово вписывается в теорию.

Сопротивление и индуктивность мотора

Во-первых, когда мотор остановлен, можно легко насытить железки тестовым импульсом. В итоге мы подаем только 10% от полупериода синусоиды.

Во-вторых, вычисляемые R и L зависят от длины поданного импульса (смотрите по выложенным файлам с выборками). Сопротивление на минимальном импульсе в полтора раза больше чем на максимальном. Придумать правдоподобную модель сходу не получилось (одному аллаху известно, что там со щетками). В итоге просто используем результаты с 10% импульса.

Нормализация скорости

Значение скорости ОЧЕНЬ шумное.

  • Есть шумы в пределах одного периода. Давятся медианным фильтром длины 32. Увеличение до 64 картину особо не меняет.
  • Результат между разными периодами синусоиды тоже сильно скачет. Обычно это давит медленный ПИД и инерция мотора. Но при калибровке надо об этом позаботиться отдельно - собрать данные с разных периодов сети, и тоже взять медиану.

И еще, в прошлый раз я писал про управление триаком, когда ток запаздывает относительно напряжения. К измерялкам это относится в полном объеме - если на полной скорости прихватить данные с хвоста предыдущей полуволны, будет “пичалька”. Мы поступили очень просто - добавили проверку, чтобы измерялка игнорировала первые 25% синусоиды (1/2 полупериода). Обычно сдвиг фазы не больше 10%, так что решение вполне надежное.

Пока всё. Как пойдут дела с ПИД-ом даже загадывать не возьмусь. У верен что сделаем, но не знаю как именно. На практике обычно лезут такие нюансы, что любая фантази пассует 😃. Сначала выставим коэффициенты вручную, а потом будем смотреть, какие формулы дадут что-то похожее.

  • 500