|
Алгоритм позиционирования, при использовании энкодера 45 имп/об |
|
|
|
Nov 20 2008, 07:03
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Здравствуйте! Тема перекочевала отсюда.В моем приводе это вопрос позиционирования встал ребром. По началу я не считал эту задачу сложной, но теперь понял, что все не так просто... Застабилизировать скорость, когда вал должен просто вращаться, оказалось делом не сложным. PI регулятор работает. Но вот вопрос позиционирования раскусить не могу... то, что смог реализовать работает с затухающими колебаниями относительно точки, в которую приводу нужно уйти. Привожу код, который сможет пояснить суть алгоритма. Но общий принцип такой: берется рассогласованиее по координатам, которое домножается на некоторой коэффициент posTolPGain (пропорциональная часть), получаем скорость, на которой приказываем приводу двигаться. По мере приближения к заданной точке, рассогласование будет уменьшаться, пока не достигнет того минимума, при котором привод останавливается. Остается некоторая ошибка. Эта ошибка (ее величина определяется переменной posTolerance), компенсируется следующей ступенью пропорционального регулятора, у которого коэффициент posTolPGain1, который много больше, чем posTolPGain, в силу малости ошибки. Перввая ступень регулятора работает великолепно, но всегда остается ошибка. Вторая ступень дает колебания. Будут ли они затухающими, или нет, зависит от posTolPGain1, но они есть всегда... Мне не приходит идея, что делать? Использовать еще и интегральную составляющую для устранения ошибки позиционирования? Но это уже будет целых два ПИ-регулятора со своими коэффициентами... многовато их получается... Есть ли какие-нибудь идей у уважаемых профессионалов? Спасибо! Да, датчик обратной связи - энкодер. Больше ничего нет..., и добалять нельзя. Привода аппаратно готов и какой бы ущербный он не был, придется придумывать, как реализовать позиционирование на энкодере. Код /* This function must be called every 5 ms in Position Mode IN: pos - desired position OUT: servo result codes */ uint8_t TServoControl::positionModeProcess(int16_t pos) { int32_t pos_tolerance = pos - getPosition(); int32_t dp = pos_tolerance; if(dp < 0) dp*= -1L; if(dp > posTolerance) { int32_t vel = ((pos - getPosition()) * posTolPGain) / 128L; if(vel > 0) { if(vel > velocityLimit) vel = velocityLimit; } else if(vel < 0) { if(vel < -velocityLimit) vel = -velocityLimit; } velocityModeProcess(vel); } else { int16_t s_pwm = pos_tolerance * posTolPGain1 / 128L; if(s_pwm > 0) setServoMode(SERVO_POS_VELOCITY_MODE); else if(s_pwm < 0) { setServoMode(SERVO_NEG_VELOCITY_MODE); s_pwm*= -1; } if(s_pwm > 250L) s_pwm = 250; if(s_pwm) setPWM((uint8_t)s_pwm); else setServoMode(SERVO_FAST_STOP_MODE); } return SERVO_OK_RESULT; } Требования не высокие: нужно просто перемещаться из текущей точки в заданную. Ускорение и максимальная скорость, до которой разгоняемя - задаются. Погрешность допустима.. ну сколько, даже не знаю как выразить. Ну вал двигателя может провернуться или не довернуться процентов на 20 - 40 от того значения, которое соответсвует заданной координате. Извините за доморощенные термины. Ну вот, пока вроде все.
--------------------
Выбор.
|
|
|
|
|
Nov 20 2008, 08:02
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 20 2008, 10:03)  Здравствуйте!
Требования не высокие: нужно просто перемещаться из текущей точки в заданную. Ускорение и максимальная скорость, до которой разгоняемя - задаются. Погрешность допустима.. ну сколько, даже не знаю как выразить. Ну вал двигателя может провернуться или не довернуться процентов на 20 - 40 от того значения, которое соответсвует заданной координате. Извините за доморощенные термины. Ну вот, пока вроде все. А в чем же проблема? Вы должны посчитать зависимость позиция(время).А потом придерживаться этого курса. Например, исходя из постоянной мощности, скорость будет пропорциональна корню из времени, позиция - времени в степени 3/2. Это при разгоне и торможении. В зависимости от длины перемещения возможны случаи как с участком, проходимым с постоянной скоростью, если максимальная скорость ограничена, так и без оного. Возможно, что торможение может быть более быстрым... Это зависит от механики.
|
|
|
|
|
Nov 20 2008, 08:51
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(Tanya @ Nov 20 2008, 16:02)  А в чем же проблема? Вы должны посчитать зависимость позиция(время).А потом придерживаться этого курса. Например, исходя из постоянной мощности, скорость будет пропорциональна корню из времени, позиция - времени в степени 3/2. Это при разгоне и торможении. В зависимости от длины перемещения возможны случаи как с участком, проходимым с постоянной скоростью, если максимальная скорость ограничена, так и без оного. Возможно, что торможение может быть более быстрым... Это зависит от механики. Думаю, что в динамичной системе, не стоит уповать на какое-либо постоянство. К сожалению, практика это доказывает. Поэтому и пытаюсь прикрутить П-регулятор. Причем изобретаю велосипед: ставлю двухступенчатый. Т.к. в первой ступени будет либо недобег (низкий проп. коэффициент), либо перебег с возможными колебаниями. Вторая ступень ошибку устраняет. Может быть я Вас неверно понимаю, если что, не ругайте сильно) Я еще пока только начинающий. Цитата(_Pasha @ Nov 20 2008, 16:11)  1) Похоже, что надо PID вместо PI. Множитель дифференциальной части должен быть равен примерно 0,5 от множителя пропорциональной. Ага, прихожу к тому же. Только Вы еще Д-составляющую предлагаете. В данном случае она будет работать, если мы решим сорвать привод с установившейся точки? Цитата(_Pasha @ Nov 20 2008, 16:11)  2) В microchip были аппликухи про серваки. Они у них замечательные, но не очень приспособленные к жизни. Хотя многое я позаимствовал у них.
--------------------
Выбор.
|
|
|
|
|
Nov 20 2008, 09:03
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 20 2008, 11:51)  Думаю, что в динамичной системе, не стоит уповать на какое-либо постоянство. К сожалению, практика это доказывает. Поэтому и пытаюсь прикрутить П-регулятор. Причем изобретаю велосипед: ставлю двухступенчатый. Т.к. в первой ступени будет либо недобег (низкий проп. коэффициент), либо перебег с возможными колебаниями. Вторая ступень ошибку устраняет. Может быть я Вас неверно понимаю, если что, не ругайте сильно) Я еще пока только начинающий. Да, выразилась туманно. Естественно, без регулятора не работает. Он подразумевался. Совет был в том, чтобы правильно выбрать траекторию. Ваша система эквивалентна заряду емкости до нужного значения напряжения от регулируемого источника через индуктивность и резистор. Если резистор маленький и/или меняется неконтролируемым образом (трение), то без колебаний трудно, если хочется побыстрее приехать... Добавление в систему управления дифференциального члена эквивалентно созданию искусственного трения.
|
|
|
|
|
Nov 20 2008, 14:07
|

Знающий
   
Группа: Свой
Сообщений: 540
Регистрация: 19-04-08
Из: Москва
Пользователь №: 36 913

|
Цитата(haker_fox @ Nov 20 2008, 12:16)  Вы выразились вполне ясно, просто мой уровень компетенции еще не вырос до нужного значения) На счет зарядки конденсатора - хорошая аналогия! Чтож, буду эксперементировать с регулятором ПИ(Д) по положению. А может стоит перед экспериментами поизучать описания и структурные схемы промышленных приводов позиционирования? Неплохая документация у Сименса (серия SIMOTION) , Омрон-Яскава, Бекхофф и многих других. На сайте Техаса http://focus.ti.com/docs/solution/folders/print/195.htmlhttp://focus.ti.com/dsp/docs/dspplatformsc...0&tabId=518 Скачайте и поставьте систему и библиотеку TIDKS для разных типов двигателей. Там есть описания и исходники и учебные работы . Есть библиотека псевдоплавающих вычислений для регуляторов. По регуляторам в журнале СТА http://www.cta.ru/ за последние два года был ряд хороших статей с практическими советами.
|
|
|
|
|
Nov 21 2008, 04:32
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Попробуйте так: В контур скорости поставьте ПИ регулятор, а в контур положения П. Должно заработать нормально. Цитата Блин!) Еще одна неприятность выяснилась: появляются лишние импульсы от энкодера, если его резко повращать "туда-сюда". Если вращение идет плавно, все ок! Ну не дают денег на промышленный энкодер, пришлось ставить оптрон из мышки..., а они там, видимо, не очень по точности... А у Вас не те же проблемы что и у меня были =)
Эскизы прикрепленных изображений
--------------------
Если все, то не я...
|
|
|
|
|
Nov 21 2008, 05:06
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(PhX @ Nov 21 2008, 12:32)  Попробуйте так: В контур скорости поставьте ПИ регулятор, а в контур положения П. Должно заработать нормально. Я именно так вчера и проэксперементировал! Да. работает, 1 колебание есть и затихает. Но скорость позиционирования не удовлетворяет. Да и при рывке привода с установившейся координаты проходит достаточно много времени (2 сек примерно), пока он вернет все на свои места. Цитата(PhX @ Nov 21 2008, 12:32)  А у Вас не те же проблемы что и у меня были =) Да похоже, что нет. Ведь у меня аппаратная обработка фаз энкодера на триггерах... Нда... нужно смотреть....
--------------------
Выбор.
|
|
|
|
|
Nov 21 2008, 05:45
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(haker_fox @ Nov 21 2008, 09:06)  Но скорость позиционирования не удовлетворяет. А что предпологается позиционировать-то (крутить двигателем). Есть такие важные понятия как приведенный момент инерции и жескость механических связей... от них многое зависит...  А еще есть такой параметр kФ, который также во многом определяет быстродействие. А еще есть максимальный ток якоря... Который лучше бы не превышать... Если хочется не просто позиционировать, а позиционировать быстро ИМХО эти праметры нужно знать.
--------------------
Если все, то не я...
|
|
|
|
|
Nov 21 2008, 06:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134

|
Цитата(haker_fox @ Nov 20 2008, 10:03)  В моем приводе это вопрос позиционирования встал ребром. По началу я не считал эту задачу сложной, но теперь понял, что все не так просто... Застабилизировать скорость, когда вал должен просто вращаться, оказалось делом не сложным. PI регулятор работает. Но вот вопрос позиционирования раскусить не могу... то, что смог реализовать работает с затухающими колебаниями относительно точки, в которую приводу нужно уйти. Сначала нужно конкретизировать задачу. Что требуется просто позиционирование или полноценный серво (следящий) привод. 1. Позиционирование. На станочном обоудовании обычно осуществляется следующим образом. Двигатель работает на штатной скорости, на определенном растоянии от заданной точки скорость ступенчато снижается и на малой скорости подходит к заданной позиции. В прецезинных системах ступеней торможения может быть несколько. При таком алгоритме упрощаются требования к электроприводу. 2. В случае слежения простым ПИД регулятором не обойдешся. Слишком много в системе элементов с разными постояными времени. Момент инерции двигателя,механической нагрузки, влияние люфтов, трения. Приходится применять регуляторы с много-петлевой обратной связью. Обычно по току, скорости, плюс по Отклонению кординаты, зачастую нелинейные. Все зависит от механических параметров системы и требуемой точности. В вашем случае мне кажется наиболее приемлем первый метод.
|
|
|
|
|
Nov 21 2008, 06:52
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(haker_fox @ Nov 21 2008, 08:51)  ПИ-регулятор принципиально дает перерегулирование. Добавление скоростной компенсации к П-регулятору тоже дает перерегулирование. Способы устранения перерегулирования: - задатчики интенсивности - П-регулятор - адаптивный регулятор.
|
|
|
|
|
Nov 21 2008, 06:56
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата Позиционировать нужно манипулятор. Три оси... Цитата(MaslovVG @ Nov 21 2008, 10:41)  ...Слишком много в системе элементов с разными постояными времени. Момент инерции двигателя,механической нагрузки, влияние люфтов, трения. Приходится применять регуляторы с много-петлевой обратной связью. Обычно по току, скорости, плюс по Отклонению кординаты, зачастую нелинейные. Все зависит от механических параметров системы и требуемой точности. Это как раз ваш случай. Пока с регуляторами точностью и быстродействием особо не заморачивайтесь. Пусть хоть как-то стабильно заработает. Дальше видно будет. Ограничение по току в первую очередь предусмотрите, а то сожжоте обмотки и все.
--------------------
Если все, то не я...
|
|
|
|
|
Nov 21 2008, 07:15
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(alexander55 @ Nov 21 2008, 09:52)  ПИ-регулятор принципиально дает перерегулирование. Добавление скоростной компенсации к П-регулятору тоже дает перерегулирование. ПИ-регулятор не дает принципиально перерегулирования. Добавление скоростной компенсации к П-регулятору тоже не дает перерегулирование.
|
|
|
|
|
Nov 21 2008, 07:23
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(PhX @ Nov 21 2008, 07:32)  Попробуйте так: В контур скорости поставьте ПИ регулятор, а в контур положения П. Должно заработать нормально. Правильное решение. При наличии люфта в механике ПИ-регулятор в контуре положения будет качать. При наличии люфта надо подходить к точке позиционирования с выбранным люфтом и апериодически. Это возможно только с П-регулятом в контуре положения. Цитата(Tanya @ Nov 21 2008, 10:15)  ПИ-регулятор не дает принципиально перерегулирования. Добавление скоростной компенсации к П-регулятору тоже не дает перерегулирование.
|
|
|
|
|
Nov 21 2008, 07:36
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(alexander55 @ Nov 21 2008, 15:23)  Правильное решение. При наличии люфта в механике ПИ-регулятор в контуре положения будет качать. При наличии люфта надо подходить к точке позиционирования с выбранным люфтом и апериодически. Это возможно только с П-регулятом в контуре положения.  Если привод "пришел" в нужную точку и застабилизировлся в ней, то при попытки отклонить его от этой точки, будет ли он "сопротивляться", те создавать момент на валу, противостоящий отклонению? Ведь ошибка будет не очень большой в этом случае и понадобиться большой П-коэффициент, чтобы усилить ошибку и создать достаточный для сопротивления момент. Вместе с тем, такой большой коэффициент будет приводить к колебаниям, относительно заданной координаты, когда привод "приходит" в нее "издалека", по инерции проскакивает, затем возвращается, а большой П-коэффициент будет только способствовать автоколебаниям. Снвоа напрашивается двуступенчатый контур П-регулятора по положению. Один с относительно небольшим коэффициентом, призван привести привод в заданную точку с 1 - 2 колебаниями. Второй влкючается в работу, когда ошибка позиционирования станет приемлимой после работы первой ступени, и призван обеспечить многократное увеличение момента при попытке дистабилизировать привод... Уф... простите за туманное изложение мысле... просто с приводами раньше не работал... год назад начал, но, как видите, пока еще не много достиг... Спасибо Вам за все советы!!!
--------------------
Выбор.
|
|
|
|
|
Nov 21 2008, 07:43
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(alexander55 @ Nov 21 2008, 10:23)  Правильное решение. При наличии люфта в механике ПИ-регулятор в контуре положения будет качать. При наличии люфта надо подходить к точке позиционирования с выбранным люфтом и апериодически. Это возможно только с П-регулятом в контуре положения.  Тогда уж и без люфта будет качать... Все, что Вы пишите справедливо только для случая, когда стационарное выходное воздействие строго равно нулю, что бывает... иногда... не спорю. А в общем случае нет.
|
|
|
|
|
Nov 21 2008, 07:50
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(Tanya @ Nov 21 2008, 10:43)  Тогда уж и без люфта будет качать... Затухающе, а с люфтом постоянно - устойчивые незатухающие колебания. Цитата(Tanya @ Nov 21 2008, 10:43)  Все, что Вы пишите справедливо только для случая, когда стационарное выходное воздействие строго равно нулю, что бывает... иногда... не спорю. А в общем случае нет. Введением ПИ-регулятора астатизм разомкнутой системы становится равным 2, с П-регулятором - 1.
|
|
|
|
|
Nov 21 2008, 07:53
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 21 2008, 10:36)  Если привод "пришел" в нужную точку и застабилизировлся в ней, то при попытки отклонить его от этой точки, будет ли он "сопротивляться", те создавать момент на валу, противостоящий отклонению? Ведь ошибка будет не очень большой в этом случае и понадобиться большой П-коэффициент, чтобы усилить ошибку и создать достаточный для сопротивления момент. Вместе с тем, такой большой коэффициент будет приводить к колебаниям, относительно заданной координаты, когда привод "приходит" в нее "издалека", по инерции проскакивает, затем возвращается, а большой П-коэффициент будет только способствовать автоколебаниям. Снвоа напрашивается двуступенчатый контур П-регулятора по положению. Один с относительно небольшим коэффициентом, призван привести привод в заданную точку с 1 - 2 колебаниями. Второй влкючается в работу, когда ошибка позиционирования станет приемлимой после работы первой ступени, и призван обеспечить многократное увеличение момента при попытке дистабилизировать привод... Уф... простите за туманное изложение мысле... просто с приводами раньше не работал... год назад начал, но, как видите, пока еще не много достиг... Спасибо Вам за все советы!!! Нет, ТАК ничего не нужно перестраивать, - правильно настроенный регулятор предназначен для устранения малых отклонений в квазистационарном режиме. Поэтому-то проще всего "вести" систему по правильной фазовой траектории...плавненько так... и не перестраивать ничего. То, что пишет alexander55 применимо в некотрых случаях... Например, если червячная передача, или система перемещается строго горизонтально...
|
|
|
|
|
Nov 21 2008, 08:41
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(PhX @ Nov 21 2008, 15:51)  Такой вопрос: Вы пока отдельно движком крутите или с подключенной механикой? И так и так. Но в основном отлаживаюсь на отдельном двигателе. Когда есть результаты, подключаю привод к манипулятору. Цитата(Tanya @ Nov 21 2008, 15:53)  Нет, ТАК ничего не нужно перестраивать, - правильно настроенный регулятор предназначен для устранения малых отклонений в квазистационарном режиме. Поэтому-то проще всего "вести" систему по правильной фазовой траектории...плавненько так... и не перестраивать ничего. То, что пишет alexander55 применимо в некотрых случаях... Например, если червячная передача, или система перемещается строго горизонтально... К сожалению, не совсем понял, о чем говорится( Как вести систему, да еще плавно, если рассогласование координат по мере приближения к заданной точке уменьшается, следовательно и уменьшается выходной сигнал с П-регулятора, в точку привод выйдет на почти нулевой скорости. И, если даже погрешность будет нулевой, то что его заставит противостоять попытке вывести привод из заданной точки? Ведь по какой причине он плавно (на небольой скорости) пришел в эту точку, также плавно он и будет сопротивляться, что не приемлимо... Цитата(alexander55 @ Nov 21 2008, 15:55)  Уточню вопрос. Где стоит датчик положения на валу двигателя или на валу механизма ? На двух звеньях датчик стоит на ходовом валу механизма, передаточное отношения зубчатой передачи от двигателя к валу -1. На одном звене вал двигателя через шестерню передает движение ходовому валу, и через еще одну шестерню от двигателя на датчик.
--------------------
Выбор.
|
|
|
|
|
Nov 21 2008, 08:44
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(Tanya @ Nov 21 2008, 10:58)  Потому что в замкнутой системе получится ПФ - с ПИ - колебательное звено - с П - апериодическое звено. Извините, срочно надо выезжать на объект.
|
|
|
|
|
Nov 21 2008, 09:02
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 21 2008, 11:39)  К сожалению, не совсем понял, о чем говорится( Как вести систему, да еще плавно, если рассогласование координат по мере приближения к заданной точке уменьшается, следовательно и уменьшается выходной сигнал с П-регулятора, в точку привод выйдет на почти нулевой скорости. И, если даже погрешность будет нулевой, то что его заставит противостоять попытке вывести привод из заданной точки? Ведь по какой причине он плавно (на небольой скорости) пришел в эту точку, также плавно он и будет сопротивляться, что не приемлимо... Поясню. Регулятор не должен знать, что мы плавно-плавно движемся. Для него все должно быть квазистационарно. Представьте себе график - по одной оси координата, по другой - скорость. Это и будет фазовое пространство. Линия, выходящая из некоторой точки на оси абсцисс (положение) и приходящая на эту же ось, будет задавать движение из одной точки в другую с нулевой начальной и конечной скоростями. Если правильно вести систему по такой правильной (допустимой) траектории, то мы не превысим максимальной скорости, ускорения... и все нам с рук сойдет... гладко. Для этого мы должны запрограммировать задатчики перемещения и, возможно, скорости. Т.е. регулятор должен отрабатывать отклонения текущих значений от заданных... тоже текущих... по программе. Цитата(alexander55 @ Nov 21 2008, 11:44)  Потому что в замкнутой системе получится ПФ - с ПИ - колебательное звено - с П - апериодическое звено. Извините, срочно надо выезжать на объект. В замкнутой системе получится произведение... И какое оно будет? Зависит от управляемого объекта .... Осторожнее там... на объекте.... берегите себя...
|
|
|
|
|
Nov 21 2008, 09:08
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(haker_fox @ Nov 21 2008, 12:41)  Существенно ли меняется момент инеции приведенный к валу исполнительного двигателя в завичимости от углов поворота остальных осей? Если существенно, то вам придется усложнять систему управления или снижать требования по скорости. Вообще в манипуляторах рацональнее использовать систему управления, которая позволяет реализовать трапецеидальный закон изменения скорости с ограничением рывка и ускорения.
--------------------
Если все, то не я...
|
|
|
|
|
Nov 21 2008, 11:17
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(Tanya @ Nov 21 2008, 14:57)  Почитайте... симулятор... мозги... железо... если плохо - повторить цикл. +1 Как бы я поступил на вашем месте: 1. Взял бы хорошую книгу по приводу. Можно даже для техникумов, для начала. (забыл к сожалению авторов...  ) 2. Прочитал бы про электропривод с подчиненным регулированием координат. 3. Провел идентификацию механики и двигателя (приняв систему одномассовой) 4. Загнал бы в симулятор аля MatLab simulink. 5. После получения удовлетворительных результатов занялся программированием МК. Просто так не бывает, чтобы и точно и просто и быстро. Приходится чем-то жертвовать.
--------------------
Если все, то не я...
|
|
|
|
|
Nov 21 2008, 13:37
|

Знающий
   
Группа: Свой
Сообщений: 540
Регистрация: 19-04-08
Из: Москва
Пользователь №: 36 913

|
Цитата(PhX @ Nov 21 2008, 14:17)  +1 Как бы я поступил на вашем месте: 1. Взял бы хорошую книгу по приводу. Можно даже для техникумов, для начала. (забыл к сожалению авторов...  ) 2. Прочитал бы про электропривод с подчиненным регулированием координат. 3. Провел идентификацию механики и двигателя (приняв систему одномассовой) 4. Загнал бы в симулятор аля MatLab simulink. 5. После получения удовлетворительных результатов занялся программированием МК. Просто так не бывает, чтобы и точно и просто и быстро. Приходится чем-то жертвовать. 1.Литературы на тему приводов в сети - воз и малая тележка и даже на русском. Не мешало бы начать со старого толстого учебника по ТАУ. 2.Раздобыл бы коллкторный мотор с уже установленным в нем энкодером с модулем не меньше 500. Начинать лучше с коллекторного - на первых порах не придется разбиратсья с векторным управлением. 3.Контроллер , который будет управлять мотором , должен иметь такой размер памяти , который позволил бы писать логи переменных привода (фиксируется в реальном времени ). По этим данным с помощью например LABVIEW можно построить фазовые диаграммы, оценить реакцию на "одиночный импульс" и т.д. 4. По началу экспериментировать лучше на моторе без исполнительного механизма. Если привод выйдет из под контроля не придется шар-винтовую пару рихтовать молотком .
|
|
|
|
|
Nov 21 2008, 15:45
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Цитата Чем ступенчатое проще бесступенчатого? На самом деле... тоже... многоступенчатого. Ну вообще то проще и существенно Всего то надо 2-3 ступени торможения организовать и никакого перерегулирования! Точность думаю устроит за глаза и за уши, учитывая, что используется такой грубый датчик. У меня на больших станках при помощи такого алгоритма точность получалась порядка 5микрон(c микронным датчиком), и в люфтах система чувствовала себя вполне хорошо  . Сделать нормальную систему управления c замкнутой обратной связью, которая работает в люфтах с одним датчиком обратной связи по положению и не разбивает механику очень непросто. Назовите например хотя бы одну систему ЧПУ, которая умеет это делать. Кстати если ваша механика ещё и подклинивать изредка будет, то думаю вам ещё не один год понадобиться для завершения этого проекта.
|
|
|
|
|
Nov 22 2008, 06:25
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(haker_fox @ Nov 22 2008, 08:57)  ... По-моему, в моем приводе есть грубые ошибки, в частности измерение скорости ведется только каждые 50 мс, т.е. ОГРОМНЕЙШЕЕ запаздываение, тогда как даже с таким грубым энкодером, как у меня, скорость можно получать за время меньшее, чем 0.007 с. В общем надо подумать! Еще раз большое спасибо! Вы встали на верный путь. Надо уменьшать время расчёта упр. воздействия на двигатель. Неплохо смотреть ФЧХ всего привода. Заодно поичитайте, что такое Jerk. Коли тут упоминают CNC, есть повод добавить упреждающее регулирование.
Сообщение отредактировал evgeny_ch - Nov 22 2008, 07:03
--------------------
Quo vadis?
|
|
|
|
|
Nov 26 2008, 16:12
|

Местный
  
Группа: Свой
Сообщений: 457
Регистрация: 7-06-07
Из: Минск
Пользователь №: 28 262

|
haker_fox, для понимания "почему так все работает" и "в чем причина переколебаний" будет очень полезна любая литература по устойчивости систем с отрицательной обратной связью. Согласен с dpss: Цитата Типовая система позиционирования обычно содержит три контура управления - по скорости , по полoжению, по току вложенные один в другой...
--------------------
Человек учится говорить два года, а молчать - всю жизнь
|
|
|
|
|
Nov 27 2008, 05:57
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(haker_fox @ Nov 26 2008, 17:30)  Какие могут быть подводные камни с измерением противоЭДС? ЭДС (E=Ke*w) - расчетная величина. Отсюда и все проблемы. U=E+I*R+L*dI/dt R - меняется от температуры, составляющую L*dI/dt учитывать достаточно сложно. Но в контурных системах есть некоторое упрощение из-за наличия датчика положения (не требуется выдерживать точно угловую скорость двигателя, т.к. "вытягивание" производится за счет датчика положения).
|
|
|
|
|
Nov 27 2008, 06:43
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(alexander55 @ Nov 27 2008, 13:57)  ЭДС (E=Ke*w) - расчетная величина. Отсюда и все проблемы. U=E+I*R+L*dI/dt R - меняется от температуры, составляющую L*dI/dt учитывать достаточно сложно. Но в контурных системах есть некоторое упрощение из-за наличия датчика положения (не требуется выдерживать точно угловую скорость двигателя, т.к. "вытягивание" производится за счет датчика положения). Ладно, значит этот метод отпадает. Будем пробывать и далее энкодером измерять. Я выделил два метода измерения угловой скорости с помощью энкодера: 1. Измеряется количество импульсов энкодера за еденицу времени, в моем случае за 50 мс, отсюда и запаздывание. Этот способ хорош тем, что зависимость угловой скорости от количества импульсов строго линейна, соответственно погрешность измерений минимальная. Но для энкодера, у которого импульсов на оборот мало, нужно либо увеличивать время измерений, для снижения погрешности, но это приведет к огромному запаздыванию; либо увеличивать разрешение энкодера, а время измерения уменьшить для снижения запаздывания. 2. Измерять период между импульсами энкодера. Метод хорош тем, что время отклика минимально (выше писал, что менее 7 мс), но возрастает погрешность из за параболической (обратной) зависимости угловой скорости от периода между импульсами энкодера. Это приводит к неустойчивой работе регулятора. Вполне возможно, что второй способ я реализовал криво. Это еще толком не выяснено. Радует одно, что в этом случае хоть и регулятор сбоит, но время отклика очень мало. Сбои регулятора, как я уверен, только из за погрешностей измерений вторым способом, потому что при первом способе таких сбоев нет. Но увеличивается время отклика. З.Ы. Мне немного неловко оперировать здесь совими мыслями, ведь это всем известные прописные истины. Но я прохожу этот путь, потому что мне интересно работать над своим приводом. И я верю, что он заработает согласно тому, как я задумал. И это осуществится благодаря Вашим консультациям, уважаемые специалисты! Спасибо!
--------------------
Выбор.
|
|
|
|
|
Nov 27 2008, 09:47
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 27 2008, 09:43)  З.Ы. Мне немного неловко оперировать здесь совими мыслями, ведь это всем известные прописные истины. Но я прохожу этот путь, потому что мне интересно работать над своим приводом. И я верю, что он заработает согласно тому, как я задумал. И это осуществится благодаря Вашим консультациям, уважаемые специалисты! Спасибо! Еще бесплатный совет... Заведите обратную связь по току через обмотку. Если момент пропорционален току... минус момент трения, то ток будет задавать ускорение, а интеграл (лучше аналоговый интегратор) будет давать приращение момента импульса... скорости. Это лучше, чем управлять вслепую и ждать сигнала рассогласования.. задержка меньше будет... Типа... так... На интегратор поступает управляющее воздействие. Туда же с обратным знаком сила тока через обмотку. Компаратор (или АЦП контроллера), наблюдающий за интегратором включает-выключает мотор. Шим сам собой получается...такой, какой надо.
|
|
|
|
|
Nov 27 2008, 10:34
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(Tanya @ Nov 27 2008, 17:47)  Еще бесплатный совет... Заведите обратную связь по току через обмотку. Если момент пропорционален току... минус момент трения, то ток будет задавать ускорение, а интеграл (лучше аналоговый интегратор) будет давать приращение момента импульса... скорости. Это лучше, чем управлять вслепую и ждать сигнала рассогласования.. задержка меньше будет... Типа... так... На интегратор поступает управляющее воздействие. Туда же с обратным знаком сила тока через обмотку. Компаратор (или АЦП контроллера), наблюдающий за интегратором включает-выключает мотор. Шим сам собой получается...такой, какой надо. Я верно понимаю, что это что-то типа электронной релейной схемы? Таким образом, например, работают регуляторы напряжения, у которых есть опора на делителях, а внутри компаратор, который выход с опорой сравнивает и дает PWM на выходе. Быстродействие, конечно, огромное. Чтож, подумаю над этим вариантом! Благодарю за совет!  Если бесплатный совет такой великолепный, то какой бы был за деньги?))))
--------------------
Выбор.
|
|
|
|
|
Nov 29 2008, 08:18
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(haker_fox @ Nov 29 2008, 11:37)  Выкладываю пару графиков. Каждый график иллюстрирует работу привода при минимальной и при максимальной скорости. Из графиков четко видно, что на минимальной скорости есть запаздываение, причем существенное. Откуда оно берется, для меня пока загадка. Придется далее анализировать систему. Это зависимости чего от чего?
--------------------
Если все, то не я...
|
|
|
|
|
Nov 29 2008, 09:56
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(PhX @ Nov 29 2008, 16:18)  Это зависимости чего от чего? Ось абцисс - время. Ось ординат - угловая скорость на валу двигателя, сейчас на нем закреплен и энкодер. Да, и еще: у меня 8-разрядный PWM. Сейчас снял характеристику зависимости угловой скорости вала двигателя от значения в регистре PWM. Вот что получилось (прикрепленный рисунок). По-моему разрешающая способность такого решения низка, может быть использовать 16-разрядный PWM? Может быть это улучшит работу привода...
Эскизы прикрепленных изображений
--------------------
Выбор.
|
|
|
|
|
Nov 29 2008, 10:12
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 29 2008, 12:56)  Ось абцисс - время. Ось ординат - угловая скорость на валу двигателя, сейчас на нем закреплен и энкодер.
Да, и еще: у меня 8-разрядный PWM. Сейчас снял характеристику зависимости угловой скорости вала двигателя от значения в регистре PWM. Вот что получилось (прикрепленный рисунок). По-моему разрешающая способность такого решения низка, может быть использовать 16-разрядный PWM? Может быть это улучшит работу привода... Заведите обратную связь по скорости не с энкодера, а с двигателя... Для малых скоростей, само собой, разрядности маловато. Или напряжение уменьшить, либо разрядность повысить. Но и это будет не лучшим решением. Какая у Вас частота ШИМа? Кроме всего прочего, Если управлять напряжением, а не током, то противоэдс мешает. Еще подумайте над тем, что в стационарном режиме почти все управляющее воздействие живет в интегральном члене. Оцените потребную разрядность вычислений. Я, лично, люблю аналоговые интеграторы...
|
|
|
|
|
Nov 29 2008, 10:21
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(Tanya @ Nov 29 2008, 18:12)  Какая у Вас частота ШИМа? 4096 Гц Цитата(Tanya @ Nov 29 2008, 18:12)  Кроме всего прочего, Если управлять напряжением, а не током, то противоэдс мешает. Гм, но ведь согласно закону Ома ток будет пропорционален напряжению, значит, управляя напряжением, мы также будем управлять и током, или я что-то путаю? Цитата(Tanya @ Nov 29 2008, 18:12)  Я, лично, люблю аналоговые интеграторы... Из за их быстродействия? Но ведь придется городить управление с цифрового МК для аналогового интегратора... а это лишние звенья в цепи...
--------------------
Выбор.
|
|
|
|
|
Nov 29 2008, 10:23
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
1. Управляйте ТОКОМ. Заведите ос. по току и регулируйте его пропорциональным регулятором. 2. Сделайте токоограничение. 3. Давайте проведем идентификацию двигателя (с.м. приложеный файл) Для определения коэффициентов проделайте по 5-10 аналогичных опытов для определения каждого значения. Затем усредните результат.
Эскизы прикрепленных изображений
--------------------
Если все, то не я...
|
|
|
|
|
Nov 29 2008, 11:24
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(haker_fox @ Nov 29 2008, 13:28)  З.Ы. Все равно не понятно, почему именно по току нужно управлять... ведь ток и напряжение взаимосвязаны... ток будем мерить шунтом, через падение напряжения... Потому, что двигатель немного отличается от резистора... Еще подумайте на тему... Если обратная связь по току, то стабилизируется (контролируется) момент - вторая производная от положения, если по интегралу тока (заряду), то получается управление по скорости - первой производной... Чтобы позиционироваться точно, чем легче управлять...? А аналоговый интегратор чем хорош... - разрядностью... динамическим диапазоном... его тоже можно ШИМом подкармливать... И сигнал с двигателя интегрироваться будет намного лучше, чем контроллером. Но если Вы не умеете их готовить, то и не беритесь...
|
|
|
|
|
Dec 2 2008, 05:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Цитата(haker_fox @ Dec 2 2008, 04:03)  У меня время тика 3 мс. Отладочная консоль на RS232, коэффициенты могу легко изменять. Можно чуть подробнее по Вашему приводу, ну хотя бы разрашение энкодера в имп. на оборот? Как со стабильностью? Энкодер я использовал ВЕ178А5 1000имп./об., общераспространенный энкодер. Потом детектор направления(учетверитель) я там мельком прочитал, что у вас пропускает импульсы или еще что-то, это тоже не хорошо. Представь, резкий разгон или реверс, а он у вас не считает и все, обратной связи нет. А схема очень простого, но очень хорошего делается на трех лог. элементах. И еще, здесь правильно было замечено, люфтов двигатель-датчик не должно быть. Стабильность нормальная, испытывал на небольшом ЧПУ станке. Формула управления стандартная общепринятая. И дополнительно обратные связи по току(на АЦП) для ограничения, для время-ток и максимальный ток. А также защита по превышении скорости, время-скорость. И еще что-то не помню. Делал на Atmega16 (сейчас отличные микроконтроллеры есть dsPIC фирмы Microchip: 16р. ШИМ 4 канала, входной аппаратный детектор направления с буферным счетчиком и отличная система команд(и не дорого)). Входные цепи для дататчика и задания делал аппаратно.Т.е. Энкодер-учетверитель-реверсивные счетчики-регистр->МК. И задание тоже ЧПУ(выдавал частоту т.е. как на управление шаговым двигателем) реверсивные счетчики-регистры->МК. А потом вычислялось разность этих данных и так далее.
|
|
|
|
|
Dec 2 2008, 10:40
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Iptash, спасибо за информацию! 2 all: увеличил частоту шима до 31250 Гц. Вроде чуть лучше стало. Ну и пожалуй нашлось одно упущение, на которое раньше внимание не обратил: низкая частота, на которой были проблемы, является наименьшей частотой, на которой способен вращаться двигатель. Т.е. уже ниже ротор останавливается, даже без нагрузки. Естественно запаса не было. Чуть поднял выше планку наименьшей частоты привода, стало значительно лучше. Время отклика уменьшилось. Замеры не производил. Тут у нас уже вечер, домой хочется) Еще, может быть, попробую увеличить разрядность шима до 10 бит. Уважаемая Tanya говорила, что это может помочь. Токовое управление сейчас городить сложно. Хочется обойтись тем, что уже сделал. Но все советы, изложенные здесь это задел на будущее. Тема электропривода мне интересна, да и поле деятельности есть. Так что в будущих конструкциях (надеюсь они будут) буду делать грамотнее.
PhX, книгу Чаликина взял в нашей библиотеке. Информации для размышления много. Но плохо воспринимается мной. Возможно из за того, что мало примеров. Чувствую всю необходимую информацию придется собирать по крупицам из инета, книг, из советов и тп...
Спасибо Вам всем!!!
--------------------
Выбор.
|
|
|
|
|
Dec 2 2008, 11:12
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Цитата(haker_fox @ Dec 2 2008, 13:40)  увеличил частоту шима до 31250 Гц. Вроде чуть лучше стало... Еще, может быть, попробую увеличить разрядность шима до 10 бит. Уважаемая Tanya говорила, что это может помочь... К нам как то с лекцией приезжали Московские друзья, помоему с приводной техники. Так вот они говорили, что они практическим путем установили, что оптимальная частота ШИМ это 4000Гц. Увеличев частоту вы уменьшили КПД двигателя и динамические характеристики всего привода в целом. Вот вы как бы и "притупили" привод и прикратились колебания. Но боюсь, что это ложный путь. Разрядность ШИМ тоже не маловажная вещь.
|
|
|
|
|
Dec 2 2008, 14:31
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(Pasha @ Dec 2 2008, 17:11)  А чего у них D-звено из другой бочки получает входные данные ?  Чтобы не заводился привод, там усреднение есть. _Pasha, я только разместил объяву.  На этом этапе считаю преждевременной возню с регуляторами, поскольку не получена передаточнае функция разомкнутой системы. Типа отклик на ед. воздействие. Там может оказаться такое, что никакой регулятор не поможет. Если мощности двигателя достаточно, в механике отсутствуют люфты, избыточное трение и гибкие мех. связи, то обычно хватает простого PID регулятора и двух контуров ОС - по моменту и положению. Далее на него наворачивается подчинённость и пр. перекрёстные связи. Если механика никудышная, а привод недостаточен по тяг. усилию, контроллер не успевает, то чем регулировать? Нагрузочная характеристика должна быть гладкой, усилитель без смещения и мертвой зоны. Где-то так.
Сообщение отредактировал evgeny_ch - Dec 2 2008, 14:56
--------------------
Quo vadis?
|
|
|
|
|
Dec 3 2008, 01:58
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(evgeny_ch @ Dec 2 2008, 22:31)  На этом этапе считаю преждевременной возню с регуляторами, поскольку не получена передаточнае функция разомкнутой системы. Типа отклик на ед. воздействие. Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить? Цитата(evgeny_ch @ Dec 2 2008, 22:31)  Если мощности двигателя достаточно, в механике отсутствуют люфты, избыточное трение и гибкие мех. связи, то обычно хватает простого PID регулятора и двух контуров ОС - по моменту и положению. Мощности достаточно. Манипулятор заводского производства, не самопал  Люфты есть, ибо передачи цилиндрические косозубые и винт-гайка. Гибкие механические связи отсутствуют. Цитата(evgeny_ch @ Dec 2 2008, 22:31)  двух контуров ОС - по моменту и положению. Раз по моменту, значит все-таки ток мерить нужно..., верно? Как не хотелось, а, видимо придется... Для связи по положению хватит такого "грубого" энкодера, как у меня? evgeny_ch и _Pasha отдельный респект!!! Вы прямо живые энциклопедии!!!)
--------------------
Выбор.
|
|
|
|
|
Dec 3 2008, 03:33
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(haker_fox @ Dec 3 2008, 05:58)  Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить? ... Вам нужно в режиме без ОС осуществлять пуск-стоп (реверс) привода, и одновременно смотреть сигнал на выходе схемы управления. Потом анализировать результат. Цитата Мощности достаточно. Манипулятор заводского производства, не самопал  Люфты есть, ибо передачи цилиндрические косозубые и винт-гайка. Гибкие механические связи отсутствуют. Люфт образует гистерезис для ОС, поэтому ваш регулятор будет выдавать полное управляющее воздействие на привод, с последущим колебательным процессом после начала движения (выборки люфта). Поэтому передачи сервоприводов либо отсутствуют, либо безлюфтовые. Цитата Раз по моменту, значит все-таки ток мерить нужно..., верно? Как не хотелось, а, видимо придется... Для связи по положению хватит такого "грубого" энкодера, как у меня? Ток нужно мерять всегда, поскольку привод манипуляторов не работает со 100% загрузкой, и его можно форсировать, получая при этом лучшее быстродействие и производительность. Защита от какого-то сигнала должна срабатывать. Как пример можно привести регулирование момента закручивания винтов сборочным манипулятором, там осуществляется прямое управление моментом. Разрешающая способность энкодера будет определять точность позиционирования и качество регулирования. Обычно принимается 5-10 дискрет энкодера на одну дискрету координаты.
Сообщение отредактировал evgeny_ch - Dec 3 2008, 03:39
--------------------
Quo vadis?
|
|
|
|
|
Dec 3 2008, 04:11
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(haker_fox @ Dec 3 2008, 05:58)  Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить?  Осваивайте моделировалки - vissim или лучше simulink матлабовский, поскольку если Вы планируете занималься в дальнейшем САУ приводов хорошая моделировалка это второй инструмент после хорошей головы. =) Идентификация линейных звеньев (гистерезисом пока принебрежем, до него еще докатимся, потом) проводится так: на вход механики подается тестовый сигнал (момент(ток)), обычно это синусойды с разной частотой, либо множество ступенек. Для каждого тестового сигнала снимается отклик (положение с энкодера, скорость тахогенератора и.т.п). В моделировалке на основании информации о передаточных функциях мех. звеньев привода (из Чиликина) подбираются параметры этих передаточных функций, т.е. такие перед. функции, которые при аналогичных входных воздействиях дают аналогичные отклики. p.s. Вы, кстати, какие требования к приводу предъявляете? Попробуйте сформулировать их как можно четче, а то у Вас задача уж очень расплывчатая.
--------------------
Если все, то не я...
|
|
|
|
|
Dec 3 2008, 05:35
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(evgeny_ch @ Dec 3 2008, 11:33)  Вам нужно в режиме без ОС осуществлять пуск-стоп (реверс) привода, и одновременно смотреть сигнал на выходе схемы управления. Т.е. разорвать ОС, например отключить энкодер и посмотреть выход СУ, т.е., например, ШИМ-> ток на двигателе? Цитата(evgeny_ch @ Dec 3 2008, 11:33)  Люфт образует гистерезис для ОС, поэтому ваш регулятор будет выдавать полное управляющее воздействие на привод, с последущим колебательным процессом после начала движения (выборки люфта). Поэтому передачи сервоприводов либо отсутствуют, либо безлюфтовые. Но если энкодер посадить на вал двигателя, то люфтами можно прнебречь, они лишь скажутся на точности позиционирования звена. Цитата(evgeny_ch @ Dec 3 2008, 11:33)  Ток нужно мерять всегда, поскольку привод манипуляторов не работает со 100% загрузкой, и его можно форсировать, получая при этом лучшее быстродействие и производительность. Защита от какого-то сигнала должна срабатывать. Как пример можно привести регулирование момента закручивания винтов сборочным манипулятором, там осуществляется прямое управление моментом. Понятно. Значит будем измерять ток. Достаточно ли будет в разрыв двигателя включить резистор небольшого сопротивления (0.1 - 0.5 Ом) и с него ОУ брать значение тока? Схема управления двигателя мостовая, на базе L298. Цитата(evgeny_ch @ Dec 3 2008, 11:33)  Разрешающая способность энкодера будет определять точность позиционирования и качество регулирования. Обычно принимается 5-10 дискрет энкодера на одну дискрету координаты. Ага, понятно. Цитата(PhX @ Dec 3 2008, 12:11)  Осваивайте моделировалки - vissim или лучше simulink матлабовский, поскольку если Вы планируете занималься в дальнейшем САУ приводов хорошая моделировалка это второй инструмент после хорошей головы. =) я за Simulink Цитата(PhX @ Dec 3 2008, 12:11)  Идентификация линейных звеньев (гистерезисом пока принебрежем, до него еще докатимся, потом) проводится так: на вход механики подается тестовый сигнал (момент(ток)), обычно это синусойды с разной частотой, либо множество ступенек. Для каждого тестового сигнала снимается отклик (положение с энкодера, скорость тахогенератора и.т.п). В моделировалке на основании информации о передаточных функциях мех. звеньев привода (из Чиликина) подбираются параметры этих передаточных функций, т.е. такие перед. функции, которые при аналогичных входных воздействиях дают аналогичные отклики. Для коллекторника наверно нужно разные моменты подавать. Синусоиду он не пережует Еще смущает слово подбирать, это значит подбирать вручную или процесс можно максимально автоматизировать? Просто сейчас подбор у меня ассоциируется ручным подбором коэффициентов. Цитата(PhX @ Dec 3 2008, 12:11)  p.s. Вы, кстати, какие требования к приводу предъявляете? Попробуйте сформулировать их как можно четче, а то у Вас задача уж очень расплывчатая. Чуть чуть позже сформулирую!
--------------------
Выбор.
|
|
|
|
|
Dec 3 2008, 05:45
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(haker_fox @ Dec 3 2008, 04:58)  Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить?  Для определения электромагнитной постоянной (L/R) (лучший метод экспериментальный)- двигатель зажимают (чтобы не ерзал). Подают ступеньки и по осцилоскопу смотрят переходный процесс. Время до 0.65 от установившегося значения тока и есть постоянная времени. Электромеханическую постоянную можно посчитать, но это не очень актуально, т.к. настройка привода будет компромисной с учетом механики (люфты, ограниченная жесткость). Дело в том, что механика - это не просто интегратор от скорости в положение, а гораздо круче, чем даже модель двигателя.
|
|
|
|
|
Dec 3 2008, 06:05
|

Местный
  
Группа: Свой
Сообщений: 473
Регистрация: 10-09-06
Из: Тольятти. Самарская обл.
Пользователь №: 20 249

|
Цитата(alexander55 @ Dec 3 2008, 09:45)  Для определения электромагнитной постоянной (L/R) (лучший метод экспериментальный)- двигатель зажимают (чтобы не ерзал). Подают ступеньки и по осцилоскопу смотрят переходный процесс. Время до 0.65 от установившегося значения тока и есть постоянная времени. Ну если использовать замкнутый контур тока, с достаточно большим коэффициентом усиления, задумоваться о электромагнитной постоянной практически не придется. Цитата(alexander55 @ Dec 3 2008, 09:45)  Электромеханическую постоянную можно посчитать, но это не очень актуально, т.к. настройка привода будет компромисной с учетом механики (люфты, ограниченная жесткость). Дело в том, что механика - это не просто интегратор от скорости в положение, а гораздо круче, чем даже модель двигателя.  Механика, это в первом приближении, тупо J(dw/dt), для многих случаев. Для других случаев это две массы с упругой связью. Далее добавляем гистерезис... Для очень точных систем нелинейное трение... А если сложнее, то проще механику поменять, чтобы описывалать первым или вторым случаем. Тут пока нужно рассматривать первый случай.
--------------------
Если все, то не я...
|
|
|
|
|
Dec 3 2008, 06:33
|
Бывалый
    
Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615

|
Цитата(PhX @ Dec 3 2008, 09:05)  Ну если использовать замкнутый контур тока, с достаточно большим коэффициентом усиления, задумоваться о электромагнитной постоянной практически не придется. Это так, но с устойчивостью контура тока могут быть проблемы (например, из-за нелинейностей в режиме прерывистых токов меняется передаточная функция с апериодической на пропорциональное звено). Не забываем про противоэдс, если ее не компенсируем. Цитата(PhX @ Dec 3 2008, 09:05)  Механика, это в первом приближении, тупо J(dw/dt), для многих случаев. Так. Цитата(PhX @ Dec 3 2008, 09:05)  Для других случаев это две массы с упругой связью. Могут быть и 3-х массовые и т.д. Цитата(PhX @ Dec 3 2008, 09:05)  Для других случаев это две массы с упругой связью. Далее добавляем гистерезис... Для очень точных систем нелинейное трение... А если сложнее, то проще механику поменять, чтобы описывалать первым или вторым случаем. Тут пока нужно рассматривать первый случай. Если интересно, могу накидать структуру.
|
|
|
|
|
Dec 5 2008, 07:38
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Как и обещал, формулирую требования к приводу: хотелось бы, чтобы привода работал в двух независимых друг от друга режимах, конечно только в одном из них в один момент времени. Режимы: 1. Только стабилизация угловой скорости, без привязки к координатам, например для стабилизации вращения шпиндельной головки. Там не нужно знать, сколько прошли, нужно поддерживать определенную угловую скорость. В этом режим должно задаваться желаемое ускорение (профиль трапезоидальный, как один из простых), и стабилизируемая скорость (ну это само собой). 2. Режим позиционирования. При вращении вала двигателя для достижения заданной координаты используется также режим 1 внутри этого (2) режима. Т.е. при перемещении в точку разгоняемся с заданным ускорением, достигаем какой-то заданной скорости, плавно тормозим и приходим в желаемую точку. Далее в этой точки стоим и не даем себя сдвинуть, те сопротивляемся возмущениям.
Ну вот примерно и все...
--------------------
Выбор.
|
|
|
|
|
Dec 5 2008, 08:27
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(haker_fox @ Dec 5 2008, 11:08)  Могу ли я применить для контроля тока (момента) схему дифференциального усилителя? Вот примерно, как на рисунке. Выход усилителя буду заводить на АЦП ATmega168. У Linear Technology есть более интересная схема, даёт больше функциональных возможностей. Ваша схема не позволит диагностировать состояние плеч моста.
--------------------
Quo vadis?
|
|
|
|
|
Dec 5 2008, 08:29
|

Знающий
   
Группа: Свой
Сообщений: 540
Регистрация: 19-04-08
Из: Москва
Пользователь №: 36 913

|
Цитата(haker_fox @ Dec 5 2008, 10:08)  Могу ли я применить для контроля тока (момента) схему дифференциального усилителя? Вот примерно, как на рисунке. Выход усилителя буду заводить на АЦП ATmega168. Можно использовать готовые микросхемы усилители тока , например Analog Devices Если делать на "россыпи" ,то будет примерно так http://www.awenwen.com/gb/doc/DMC550.pdf
|
|
|
|
|
Dec 5 2008, 09:00
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(evgeny_ch @ Dec 5 2008, 16:27)  У Linear Technology есть более интересная схема, даёт больше функциональных возможностей. Ваша схема не позволит диагностировать состояние плеч моста. У меня монолитная L298. Не получится вклиниться в плечи мостов. Цитата(alexander55 @ Dec 5 2008, 15:33)  Можно. Подумайте насчет гальванических развязок (может они не нужны, а может нужны). Я думаю, что желательны.
--------------------
Выбор.
|
|
|
|
|
Dec 5 2008, 09:49
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(_Pasha @ Dec 5 2008, 12:32)  А какие преимущества у дифусилителя перед схемой измерения тока истока нижних транзисторов? упс, evgeny_ch опередил. PS: или перед ir2172Больше не буду. Токовые мониторы от TI. Products Tagged with current sensing. Должна быть возможность мерять ток, протекающий в источник, при работе двигателя в генераторном режиме . Что не исключает измерения тока в цепи "земли".
Сообщение отредактировал evgeny_ch - Dec 5 2008, 09:54
--------------------
Quo vadis?
|
|
|
|
|
Dec 5 2008, 10:35
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Цитата(haker_fox @ Dec 5 2008, 10:08)  Могу ли я применить для контроля тока (момента) схему дифференциального усилителя? Вот примерно, как на рисунке. Выход усилителя буду заводить на АЦП ATmega168. Мне кажется лучше ток "снимать" с шунта включенный по питанию, обычно в GND, во первых ты сразу контролируешь сквозной ток во вторых полярность выходного тока у тебя постоянный, независимо от вращения.
|
|
|
|
|
Dec 5 2008, 10:50
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
[color=#000000] Цитата(dpss @ Dec 5 2008, 13:50)  Нельзя ли по подробнее рассказать, как учитывается - компенсируется нелинейное трение в системе. Лучше иметь хорошую механику. Компенсируют, понятно, увеличением тока (момента), учитывают программно - наблюдателем и планировщиком траекторного движения. Статейки. NONLINEAR FRICTION PHENOMENA IN DIRECT-DRIVE ROBOTIC ARMS. Friction compensation. Observer-based nonlinear Compensation of Friction.
Сообщение отредактировал evgeny_ch - Dec 5 2008, 10:53
--------------------
Quo vadis?
|
|
|
|
|
Dec 5 2008, 14:23
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(PhX @ Dec 5 2008, 16:55)  Не всегда. Для придания жесткости руки роботов часто делают из монолитных болванок. Они получаются тяжеленные и момент инерции, ну сами понимаете... А машет такой робот лазером весом 1-2 кг. Если вместо болванок руку делать из алюминиевых прутов, то массово-инерционные свойства руки значительно улучшаются, но вот связи становятся гибкими... Вообщем однозначно сказать, что лучше нельзя. Можно. Удельная тяга должна быть максимально возможной. Для манипуляторов, естественно, находят компромисс между подвижной массой, жесткостью и тягой привода. По этой причине максимально достижимая точность у них ограничена, особенно у тех, что в угловых координатах. Для компенсации провисов и смещения центра массы используют алгоритмы обучения и автонастройки привода. Высокоточные координатные системы (станочные) стремятся сделать максимально жёской конструкции. Дискретность их перемещений достигает десятков нанометров, а у манипулаторов 0,05 - 0,1 мм. Гдето так.
--------------------
Quo vadis?
|
|
|
|
|
Dec 5 2008, 17:45
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Цитата Далее в этой точки стоим и не даем себя сдвинуть, те сопротивляемся возмущениям. Ну дык вы упоминали, что люфты есть. Попробуйте замерить люфт в нескольких точках сразу после включения установки и после того как механику погоняете часик другой в рабочем режиме. Люфты будут разные, а значит, замкнуть обратную связь можно только двумя способами: 1. Математически, учитывая, что люфт может быть разный на разных рабочих участках и что он будет изменяться при изменении температуры механики. 2. Практически, поставив линейный датчик непосредственно на подвижные части. Конечно если у вас все оси круговые или люфт меньше разрешающей способности вашего датчика, то это всё не актуально
|
|
|
|
|
Dec 22 2008, 10:13
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
Цитата(PhX @ Dec 16 2008, 15:26)  Да, стоящий ресурс!  Ага, стоящий) Все еще по нему занимаюсь. Цитата(alexander55 @ Nov 27 2008, 13:57)  ЭДС (E=Ke*w) - расчетная величина. Отсюда и все проблемы. U=E+I*R+L*dI/dt R - меняется от температуры, составляющую L*dI/dt учитывать достаточно сложно. Но в контурных системах есть некоторое упрощение из-за наличия датчика положения (не требуется выдерживать точно угловую скорость двигателя, т.к. "вытягивание" производится за счет датчика положения). Но учитывая, что такой метод все-таки встречается, хотелось бы примерно узнать, на какая максимальная погрешность может быть в измерении скорости при наихудших условиях? Я понимаю, что вопрос абстрактен и данных мало... если что, просьба сильно не ругаться. К сожалению, мало чего находится в гугле по запросу "sensorless control brushed dc motor"
--------------------
Выбор.
|
|
|
|
|
Dec 22 2008, 10:39
|

чукчхэшаражогрмонтажник
    
Группа: Участник
Сообщений: 1 852
Регистрация: 13-07-07
Из: Minsk
Пользователь №: 29 094

|
Цитата(haker_fox @ Dec 22 2008, 14:13)  Ага, стоящий) Все еще по нему занимаюсь. Но учитывая, что такой метод все-таки встречается, хотелось бы примерно узнать, на какая максимальная погрешность может быть в измерении скорости при наихудших условиях? Я понимаю, что вопрос абстрактен и данных мало... если что, просьба сильно не ругаться. К сожалению, мало чего находится в гугле по запросу "sensorless control brushed dc motor"  График посмотрите. Поиск попробуйте - temperature dependence back emf voltage DC brush motor.
--------------------
Quo vadis?
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|