LINUX.ORG.RU

Посоветуйте алгоритм детектирования автоколебаний

 ,


1

1

Есть P-регулятор для моторчика, и датчик скорости. Надо примерно на средних оборотах автоматически подбирать максимально возможное значение P «пока не задергается».

Ну то то половинным делением подбираем - понятно. Однако вопрос, как проверить наличие колебаний, желательно без магических констант, и максимально быстро.

Существуют ли какие-то проверенные алгоритмы? (налисапедить-то можно, но хотелось бы разобраться, и не гулять по граблям).

★★★★★

По датчику скорости? Смотри реализацию поиска детонации по датчику положения распредвала - там как раз определение равномерности вращения под управляемой мощностью по датчику вращения Исходники на какой-нить сквирт есть в инете, не уверен правда что он это умеет

rukez ★★★★
()
Ответ на: комментарий от rukez

Глубоко черпнул :). Меня интересуют теоретические варианты «вообще».

Написать скользящий фильтр, который будет чекать что отклонение от среднего не больше 5-10% - много ума не надо. Но есть подозрение что современная наука шагнула в своем безумии дальше.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

так тебе не чистое среднее же надо - тебе надо знать обороты в момент времени А (текущее время), планируемые обороты в момент времени Б (ты же не держишь их постоянными а увеличиваешь?) и определить неравномерность и динамику их роста между А и Б

Дельта между А и Б зависит от инертности мотора или средства измерения (для датчиков на шкиве это минимум время пролёта двух зубьев на валу)

Твоя задача на 100% перекликается с вот тем, что я выше написал - ибо это есть в практически любом современной ЭСУД, другое дело что исходники в открытом доступе есть всего под несколько и сквирт первый который пришёл в голову, но повторюсь что я не в курсе сделали там это или нет, 10 лет назад этого не было а больше я это не трогал :-)

rukez ★★★★
()

Существуют ли какие-то проверенные алгоритмы?

Можно применять методы ММА ©, SSA ©, или классический анализ плотности спектральных компонент типа в таблице 1 (PDF) ©.

quickquest ★★★★★
()
Ответ на: комментарий от rukez

По-моему ты не так понял, либо я плохо объяснил. Я не кручу обороты. Я кручу коэффициент усиления в регуляторе, чтобы его настроить. Чем больше коэффициент усиления - тем жестче он держит скорость при нагрузке. Но если выкрутить слишком сильно - начнутся автоколебания. Вот по ними и ловится граница.

Vit ★★★★★
() автор топика
Ответ на: комментарий от quickquest

Большое спасибо. Именно про это спрашивал.

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.