p_v 0 2 сентября, 2018 Опубликовано 2 сентября, 2018 · Жалоба Делаем регулятор со стабилизацией оборотов для бормашинки через противо-ЭДС (бездатчиковый). В принципе все пашет, но хотелось бы сделать автонастройку, чтобы не подбирать вручную константы для каждого мотора. 1. Хочется сделать совсем в лоб, то есть подбирать коэффициенты регулятора до возникновения автоколебаний и т.п. Собственно вопрос - а как дешево и сердито эти автоколебания детектить? Желательно - с периодом. Пока из простого в голову пришел такой вариант. Подаем на мотор напряжение без ПИД-а, и считаем дисперсию вычисленной скорости (фактически - уровень шумов). Далее подключаем ПИД, и если дисперсия больше - значит есть автоколебания. Есть варианты получше? 2. AC-коллекторник неудобен тем, что у него нет тормоза. Поэтому, если я правильно понимаю, постоянная интегрирования будет зависеть не от времени разгона, а от времени торможения на холостых оборотах. При этом если бормашинкой начать что-нибудь точить, то появляется механический тормоз, и ПИД можно было бы сделать жестче. Но ведь никому не понравится, если на холостых оборотах девайс будет дергаться. Можно этот момент как-то обойти, чтобы регулировка была оптимальной в широком диапазоне нагрузок? PS. Вообще оно работает, и по ощущениям - на порядки лучше чем со стандартным диммером. Но раз уж полезли разбираться, хочется для себя понять все нюнсы. Исходники, алгоритмы и результаты измерений с графиками выкладываются тут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
@Ark 0 3 сентября, 2018 Опубликовано 3 сентября, 2018 (изменено) · Жалоба Делаем регулятор со стабилизацией оборотов для бормашинки через противо-ЭДС (бездатчиковый). В принципе все пашет, но хотелось бы сделать автонастройку, чтобы не подбирать вручную константы для каждого мотора. 1)Настраивать регулятор под каждый конкретный экземпляр двигателя, как правило, нет необходимости. Достаточно один раз найти нужные настройки и использовать их для всей серии. 2)В данном случае, из ПИД-регулятора можно исключить Д-компоненту. ПИ-регулятора будет достаточно. 3)Пример алгоритма полуавтоматической настройки ПИ-регулятора можете посмотреть в этом документе (раздел 2.7.2 стр 18): http://ellab.ru/assets/files/%D0%A0%D0%AD_AWD17_v0.1.pdf 4)По моим данным, оптимальные коэффициенты регулятора зависят не столько от нагрузки, сколько от текущего значения задаваемой скорости. А еще, от скорости работы петли обратной связи. В данном случае - от частоты измерения противо-ЭДС. Чем выше частоту удастся использовать, тем лучшего результата регулирования можно добиться. 5)Вот еще ссылка для вас: http://ellab.ru/serijnaya-produkcziya/borm...lkix-rabot.html Изменено 3 сентября, 2018 пользователем @Ark Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 3 сентября, 2018 Опубликовано 3 сентября, 2018 · Жалоба 1)Настраивать регулятор под каждый конкретный экземпляр двигателя, как правило, нет необходимости. Достаточно один раз найти нужные настройки и использовать их для всей серии. Вряд ли. PID надо перестраивать даже при изменении характера нагрузки. Лучше использовать ADRC, там всего один параметр. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
amaora 20 3 сентября, 2018 Опубликовано 3 сентября, 2018 · Жалоба Наибольшее быстродействие в широком диапазоне нагрузок дает релейное управление, то есть пропорциональный коэффициент должен быть большим насколько это возможно, чтобы регулятор всегда был в насыщении. Но если где-то инерционность или задержки, то чистое релейное управление будет приводить к колебаниями. А шум в измерении скорости будет проходить обратно в управление. Поэтому нужна линейная область и дополнительное слагаемое которое будет медленно подстраиваться и выводить невязку в 0. Какие измерения такое и управление. Для упрощения настройки надо приближать регулятор к релейному путем обеспечения качественных измерений и правильно используя его выходной сигнал. Если у вас пропорциональный коэффициент надо менять под каждый двигатель и еще дифференциальный нужен, то что-то не так и регулятор похоже берет на себя еще и функции наблюдателя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 3 сентября, 2018 Опубликовано 3 сентября, 2018 · Жалоба Самое правильное - управлять моментом, который квадратично зависит от тока. Сначала сделать такое. Без линеаризации тут плохо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
p_v 0 4 сентября, 2018 Опубликовано 4 сентября, 2018 (изменено) · Жалоба А про алгоритм детектора автоколебаний какие-нибудь идеи есть? Лучше использовать ADRC, там всего один параметр. Спасибо. Ни разу не сталкивался. Почитаю. Самое правильное - управлять моментом, который квадратично зависит от тока. Сначала сделать такое. Без линеаризации тут плохо. Без линеаризации чего именно и зачем управлять моментом если юзеры хотят управлять оборотами? Изменено 4 сентября, 2018 пользователем p_v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
p_v 0 10 ноября, 2018 Опубликовано 10 ноября, 2018 · Жалоба На случай если кому понадобится, сделали тупо подбором, методом половинного деления. Т.к. каждый шаг ~2 сек, и всего их около 6, то усложнять смысла нет. P - подбираем по отсутствию автоколебаний. Сначала меряем дисперсию шума, и потом смотрим, чтобы она не росла. I - т.к. автоколебаний не вызвать, то подбираем по отсутствию перерегулирования. Меняем скорость с 0.3 до 0.4 и смотрим чтобы не "заносило". Начальное значение I определяем по времени разгона-останова (больше быть точно не может). Ссылка на исходники в первом посте, если кому надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quarz 0 14 ноября, 2018 Опубликовано 14 ноября, 2018 · Жалоба On 9/3/2018 at 3:03 PM, Tanya said: Самое правильное - управлять моментом, который квадратично зависит от тока. Сначала сделать такое. Без линеаризации тут плохо. Разве не линейно? В формуле силы ампера ток в первой степени Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tanya 4 15 ноября, 2018 Опубликовано 15 ноября, 2018 · Жалоба Двигатель с последовательным возбуждением. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
p_v 0 11 мая, 2020 Опубликовано 11 мая, 2020 · Жалоба On 9/3/2018 at 3:03 PM, Tanya said: Самое правильное - управлять моментом, который квадратично зависит от тока. Сначала сделать такое. Без линеаризации тут плохо. Теоретически, если есть двумерная табличка F(скорость, момент) => фаза триака, то когда юзер жмет на бормашинку, будет чистая обратная связь по моменту (и обороты не будут падать). Но проблема в том, что нет возможности сделать стенд, чтобы обмерить мотор во всех режимах. Поэтому хотелось бы так: Взять обычный ПИД по скорости (который работает, но медленный). Базовые параметры, при которых система не возбудится, есть (выше описывал). На ходу, по мере работы отстраивать табличку. В качестве критерия что даные годятся для таблички - стабильность скорости при стабильной нагрузке (разброс момента и разброс скорости меньше XX %). Вы случайно не знаете название подобных адаптивных систем? Никак не могу найти грамотных теоретических выкладок и формализованных алгоритмов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться