Перейти к содержанию
    

Алгоритм позиционирования

В одной из модификаций UHU сервоконтроллера цепь токозащиты сделана двойной. Slow & Fast Limit.

post-25455-1233815448_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может имеет смысл рганизоватьсочетание токограничения с аврийным отключением, причем максимально тупым, например снятием питания через контакты реле? Конечно если это допустимо по условия м работы механизма.

Так мы сейчас этим и занимаемся :rolleyes: А старая СУ уже как 1.5 года на помойке лежит... Тема-то моя нанешняя и другие не зря создана... Вот только замахнулся я сразу на многое :maniac:

 

В одной из модификаций UHU сервоконтроллера цепь токозащиты сделана двойной. Slow & Fast Limit.

И за это спасибо! Я тоже зареглен на cnczone.com. Великолепный форум!!!

 

Удалось решить проблему провала скорости при прикладывании нагрузки к валу двигателя на низких скоростях. Вернее провалы есть... но теперь на них можно не обращать внимания... Просто период вызова сервоцикла уменьшил с 3 мс до 500 мкс. Энкодер 27 имп/об. От мышки. Конечно, если поставить нормальный, хотя бы импульсов 200 - 500, то и время реакции должно еще более снизится (ИМХО).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смех сквозь слезы. Читаю ветку Художника

 

В идеале сервоцикл на каждом импульсе енкодера, при 3000об/мин для енкодера 2000cpr это 100кГц или 10мксек.

 

А теперь рассуждаем логически. Сервоцикл привязан к частоте ШИМ, а не к частоте сканирования энкодера и в течение периода ШИМ мы вообще не можем воздействовать на процесс. Зачем тогда этот цирк?

 

Правильно ли я понимаю? Вот так, когда увидишь чушь, сказанную на весь мир, начинаешь сомневаться в себе :( 

 

ЗЫ А кто - нить баловался с адаптивным периодом сервоцикла?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное нужно умножить частоту шим на разрешение шим. Т.е. например 50кгц * 256 - выше этой частоты забираться смысла нет. Да и вообще для меня большой вопрос, нужно ли напрягаться и делать частоту энкодера выше частоты шим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 Да и вообще для меня большой вопрос, нужно ли напрягаться и делать частоту энкодера выше частоты шим.

В смысле - наоборот? частоту шим выше частоты энкодера ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, в смысле не гнаться за мега(кило)герцами. Успевает мега энкодер 100 кгц и 25 кгц шим обработать и хорошо, не успевает - да хоть бы и на 25 кгц энкодер поставить. По шим - тоже. Шим на 16 кгц (субъективно) вполне тихо работает, т.е. свист практически не слышен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смех сквозь слезы. Читаю ветку Художника

 

 

 

А теперь рассуждаем логически. Сервоцикл привязан к частоте ШИМ, а не к частоте сканирования энкодера и в течение периода ШИМ мы вообще не можем воздействовать на процесс. Зачем тогда этот цирк?

 

Правильно ли я понимаю? Вот так, когда увидишь чушь, сказанную на весь мир, начинаешь сомневаться в себе :( 

 

ЗЫ А кто - нить баловался с адаптивным периодом сервоцикла?

Кстати Художник неплохой, но технарь из него, как пуля...

Он практик и энтузиаст. :biggrin: Теперь о логике.

Сервоцикл должен быть связан с временем реакции на управляющее воздействие.

Дал полный ток двигателю, и посмотрел запаздывание системы. Вот на это время и надо

ориентироваться. Зачем вялому приводу большая скорость вычислений?

Где-то здесь писал, что при больших скоростях бесполезно пытаться регулировать

механизм (в следствие большой кинетической энергии) на каждом отсчёте изм. системы.

Т. е. время сервоцикла и дискрета энкодера связаны лишь опосредовано, через ошибку положения.

Удобнее обрабатывать аналоговые сигналы от преобразователя, это позволяет делать нужное

количество выборок в зависимости от скорости и не прегружать процессор.

Для сл. инкрементального энкодера проще иметь аппаратный (программный) счётчик

и считывать его по мере необходимости, пмсм. Это похоже на ваш адаптивный сервоцикл. :biggrin:

Интересным здесь является момент останова (удержания) привода в точке коорд. системы.

Здесь нужен адаптивный регулятор.

Совсем забыл, частота ШИМ выбирается исходя из RC электродвигателя,

а её диапазон изменения влияет лишь на точность поддержания тока (момента),

так что непонятно, как это связать с периодом сервоцикла (традиционное ы).

Изменено пользователем evgeny_ch

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зы: тут вообще дело в том, что шим может в каждом цикле измениться скажем от 0 до 255, а энкодер, если их циклы равны, только +-1. Видимо поэтому весьма желательно, чтобы импульсов с энкодера за один цикл шим поступало несколько больше, чем +-1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...Удалось решить проблему провала скорости при прикладывании нагрузки к валу двигателя на низких скоростях. Вернее провалы есть... но теперь на них можно не обращать внимания... Просто период вызова сервоцикла уменьшил с 3 мс до 500 мкс. Энкодер 27 имп/об. От мышки. Конечно, если поставить нормальный, хотя бы импульсов 200 - 500, то и время реакции должно еще более снизится (ИМХО).

На промышленных приводах есть компенсация скорости. Т.е. по простому если взять, то это допустим усилитель ошибки, который имеет не линейный

коэфициент усиления, у которого усиление малых сигналов огромно, больших сигналов мало. Т.е. на подачах ближе к нулю коэфициент усиления привода

максимальный, поэтому реакция круче. По мере увеличения подачи уменьшается усиление привода в целом.

Ну и конечно энкодер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

на 16 кгц ... свист практически не слышен.

 

Ну, это всего лишь один из факторов... Концептуально - гораздо важнее сохранить такую пропорцию: один период ШИМ - одна итерация PID, в крайнем случае, если не успевает обсчитать - линейно интерполировать соседние отсчеты. Стоять на месте оно не должно - хватит этих ступенек, нахавался вдоволь :( 

 

Здесь нужен адаптивный регулятор.

Приветствую Вас! Думал, что мой вопрос больше уходит в плоскость программистских упрощений. :) 

 

Адаптивный - в каком смысле? Что изменяется?

 

 

 

чтобы импульсов с энкодера за один цикл шим поступало несколько больше, чем +-1.

Дык совершенно ага! Думаю, везде так и делается.

 

То, что я сейчас строю:

 

 

частота опроса энкодера и step/dir  72 кГц

 

частота ШИМ 4/8/16/36 кГц (приблизительно)

 

Период сервоцикла соотв. 1000/250 мкс но есть проблемы, поскольку процессы генерации траекторий  иногда асинхронны по отношению к периоду ШИМ, т.е. проще говоря - не успевает обсчитать, особенно если сплайн в плавучке будет считаться за 50 мкс. Вот я и хочу выбрать для той же 36кГц - либо PID 8 разрядный, либо интерполяция.

 

Кстати, PID и так по входу ограничен, т.к. регистры положения у нас 32-разрядные, а операции - 16 разрядные. Это я к тому, что зона регулирования уже, чем возможный большой скачок

 

компенсация скорости.

Я даже больше скажу - если контур стабилизации скорости организовать по периоду прихода импульсов от энкодера - будет самое оно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

Приветствую Вас! Думал, что мой вопрос больше уходит в плоскость программистских упрощений. :) 

 

Адаптивный - в каком смысле? Что изменяется?

 

...

Привет. :biggrin:

Не совсем точно выразился.

Если уж совсем точно, то с переменной структурой.

Дело в том, что при движении часто не отслеживают траекторию точно, а задают диапазон ошибки

положения, и как следствие допустимо преререгулирование. Чтобы точно стоять на месте,

т. е. обеспечить достаточную жесткость механизма, нужна другая реакция (структура) регулятора, чем при движении.

Иначе при стоянке двигатель будет телепаться минимум дискрету энкодера в обе стороны.

Самый простой путь - увеличить дискретность энкодера, иначе приходится уменьшать коэффициент

усиления постоянного звена регулятора. Надеюсь, объяснил.

Теперь попытаюсь вспомнить (придумать) как отслеживать ошибку в дискрету изм. системы,

не теряя при этом момента привода, т. е. с максимальным усилением постоянного звена регулятора.

Изменено пользователем evgeny_ch

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пора тут модельки матлабовские выкладывать

Очень нужна программная модель ДПТ с инерционной нагрузкой или хотя бы источник, откуда выдрать контрольные примеры, чтоб числа сошлись. :)

 

 Надеюсь, объяснил.

Ага, спасибо. Кстати, есть еще такие вещи, как пусковой момент, и интегральное звено приснопамятного ПИД-алгоритма просто так не справится, надо как минимум два коэффициента - для старта и для работы

Самый простой путь - увеличить дискретность энкодера

 

Ну, если только для удержания, можно наеобмануть природу, введя ошибку не по положению, а по периоду следования импульсов с энкодера. Простейший ПИ-регулятор ,имхо, может справиться. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дык совершенно ага! Думаю, везде так и делается.

Если откинуть вопросы, связанные с разрешением, то танцевать, наверное, нужно от ускорения, которое может обеспечить привод при максимальном рассогласовании и оборотах за один цикл пвм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...