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

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

ЭДС (E=Ke*w) - расчетная величина. Отсюда и все проблемы.

U=E+I*R+L*dI/dt

R - меняется от температуры,

составляющую L*dI/dt учитывать достаточно сложно.

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

Ладно, значит этот метод отпадает. Будем пробывать и далее энкодером измерять.

Я выделил два метода измерения угловой скорости с помощью энкодера:

1. Измеряется количество импульсов энкодера за еденицу времени, в моем случае за 50 мс, отсюда и запаздывание. Этот способ хорош тем, что зависимость угловой скорости от количества импульсов строго линейна, соответственно погрешность измерений минимальная. Но для энкодера, у которого импульсов на оборот мало, нужно либо увеличивать время измерений, для снижения погрешности, но это приведет к огромному запаздыванию; либо увеличивать разрешение энкодера, а время измерения уменьшить для снижения запаздывания.

2. Измерять период между импульсами энкодера. Метод хорош тем, что время отклика минимально (выше писал, что менее 7 мс), но возрастает погрешность из за параболической (обратной) зависимости угловой скорости от периода между импульсами энкодера. Это приводит к неустойчивой работе регулятора.

 

Вполне возможно, что второй способ я реализовал криво. Это еще толком не выяснено. Радует одно, что в этом случае хоть и регулятор сбоит, но время отклика очень мало. Сбои регулятора, как я уверен, только из за погрешностей измерений вторым способом, потому что при первом способе таких сбоев нет. Но увеличивается время отклика.

 

З.Ы. Мне немного неловко оперировать здесь совими мыслями, ведь это всем известные прописные истины. Но я прохожу этот путь, потому что мне интересно работать над своим приводом. И я верю, что он заработает согласно тому, как я задумал. И это осуществится благодаря Вашим консультациям, уважаемые специалисты! Спасибо!

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


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

З.Ы. Мне немного неловко оперировать здесь совими мыслями, ведь это всем известные прописные истины. Но я прохожу этот путь, потому что мне интересно работать над своим приводом. И я верю, что он заработает согласно тому, как я задумал. И это осуществится благодаря Вашим консультациям, уважаемые специалисты! Спасибо!

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

Если момент пропорционален току... минус момент трения, то ток будет задавать ускорение, а интеграл (лучше аналоговый интегратор) будет давать приращение момента импульса... скорости. Это лучше, чем управлять вслепую и ждать сигнала рассогласования.. задержка меньше будет... Типа... так...

На интегратор поступает управляющее воздействие. Туда же с обратным знаком сила тока через обмотку. Компаратор (или АЦП контроллера), наблюдающий за интегратором включает-выключает мотор. Шим сам собой получается...такой, какой надо.

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


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

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

Если момент пропорционален току... минус момент трения, то ток будет задавать ускорение, а интеграл (лучше аналоговый интегратор) будет давать приращение момента импульса... скорости. Это лучше, чем управлять вслепую и ждать сигнала рассогласования.. задержка меньше будет... Типа... так...

На интегратор поступает управляющее воздействие. Туда же с обратным знаком сила тока через обмотку. Компаратор (или АЦП контроллера), наблюдающий за интегратором включает-выключает мотор. Шим сам собой получается...такой, какой надо.

Я верно понимаю, что это что-то типа электронной релейной схемы? Таким образом, например, работают регуляторы напряжения, у которых есть опора на делителях, а внутри компаратор, который выход с опорой сравнивает и дает PWM на выходе. Быстродействие, конечно, огромное. Чтож, подумаю над этим вариантом! Благодарю за совет!

:bb-offtopic: Если бесплатный совет такой великолепный, то какой бы был за деньги?))))

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


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

Чтож, подумаю над этим вариантом! Благодарю за совет!

:bb-offtopic: Если бесплатный совет такой великолепный, то какой бы был за деньги?))))

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

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


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

Выкладываю пару графиков.

Каждый график иллюстрирует работу привода при минимальной и при максимальной скорости. Из графиков четко видно, что на минимальной скорости есть запаздываение, причем существенное.

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

post-8125-1227944190_thumb.jpg

post-8125-1227944207_thumb.jpg

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


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

Выкладываю пару графиков.

Каждый график иллюстрирует работу привода при минимальной и при максимальной скорости. Из графиков четко видно, что на минимальной скорости есть запаздываение, причем существенное.

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

Это зависимости чего от чего?

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


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

Это зависимости чего от чего?

Ось абцисс - время.

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

 

Да, и еще: у меня 8-разрядный PWM. Сейчас снял характеристику зависимости угловой скорости вала двигателя от значения в регистре PWM. Вот что получилось (прикрепленный рисунок). По-моему разрешающая способность такого решения низка, может быть использовать 16-разрядный PWM? Может быть это улучшит работу привода...

post-8125-1227952586_thumb.jpg

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


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

Ось абцисс - время.

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

 

Да, и еще: у меня 8-разрядный PWM. Сейчас снял характеристику зависимости угловой скорости вала двигателя от значения в регистре PWM. Вот что получилось (прикрепленный рисунок). По-моему разрешающая способность такого решения низка, может быть использовать 16-разрядный PWM? Может быть это улучшит работу привода...

Заведите обратную связь по скорости не с энкодера, а с двигателя... Для малых скоростей, само собой, разрядности маловато. Или напряжение уменьшить, либо разрядность повысить. Но и это будет не лучшим решением. Какая у Вас частота ШИМа? Кроме всего прочего, Если управлять напряжением, а не током, то противоэдс мешает. Еще подумайте над тем, что в стационарном режиме почти все управляющее воздействие живет в интегральном члене. Оцените потребную разрядность вычислений.

Я, лично, люблю аналоговые интеграторы...

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


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

Какая у Вас частота ШИМа?

4096 Гц

Кроме всего прочего, Если управлять напряжением, а не током, то противоэдс мешает.

Гм, но ведь согласно закону Ома ток будет пропорционален напряжению, значит, управляя напряжением, мы также будем управлять и током, или я что-то путаю?

Я, лично, люблю аналоговые интеграторы...

Из за их быстродействия? Но ведь придется городить управление с цифрового МК для аналогового интегратора... а это лишние звенья в цепи...

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


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

1. Управляйте ТОКОМ. Заведите ос. по току и регулируйте его пропорциональным регулятором.

2. Сделайте токоограничение.

3. Давайте проведем идентификацию двигателя (с.м. приложеный файл)

Для определения коэффициентов проделайте по 5-10 аналогичных опытов для определения каждого значения. Затем усредните результат.

post-20249-1227954237_thumb.jpg

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


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

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

Большое спасибо за помощь!!!

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

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


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

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

Потому, что двигатель немного отличается от резистора...

Еще подумайте на тему...

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

Чтобы позиционироваться точно, чем легче управлять...?

А аналоговый интегратор чем хорош... - разрядностью... динамическим диапазоном... его тоже можно ШИМом подкармливать...

И сигнал с двигателя интегрироваться будет намного лучше, чем контроллером. Но если Вы не умеете их готовить, то и не беритесь...

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


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

Залез в свой архив. Авторы лучших, ИМХО, учебников по приводу Чиликин М.Г. и Ключев В.И. поищите их на просторах Сети.

Очень советую - "Теория автоматизированного электропривода" М.Г. Чиликин В.И. Ключев А.С. Сандлер

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


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

"Жесткость" или точность привода зависит от многих факторов. Порой не обращаешь на мелочи,

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

или же "вялый" двигатель(у которого размагнитились магниты), или же просто с не соответствущими

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

Atmega16, я сразу же в схему включил 4кнопочки и ЖК дисплей для оперативного изменения

коэфициентов(можно и через COM все это делать). Время ТИКА управления, нормально это 1-5мсек..

Управление обыкновенное ПИД.

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


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

Я делал блок управления для коллекторного двигателя на

Atmega16, я сразу же в схему включил 4кнопочки и ЖК дисплей для оперативного изменения

коэфициентов(можно и через COM все это делать). Время ТИКА управления, нормально это 1-5мсек..

Управление обыкновенное ПИД.

У меня время тика 3 мс. Отладочная консоль на RS232, коэффициенты могу легко изменять. Можно чуть подробнее по Вашему приводу, ну хотя бы разрашение энкодера в имп. на оборот? Как со стабильностью?

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


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

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

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

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

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

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

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

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

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

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