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

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

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

Энкодер я использовал ВЕ178А5 1000имп./об., общераспространенный энкодер. Потом детектор

направления(учетверитель) я там мельком прочитал, что у вас пропускает импульсы или еще что-то,

это тоже не хорошо. Представь, резкий разгон или реверс, а он у вас не считает и все, обратной

связи нет. А схема очень простого, но очень хорошего делается на трех лог. элементах. И еще,

здесь правильно было замечено, люфтов двигатель-датчик не должно быть. Стабильность

нормальная, испытывал на небольшом ЧПУ станке. Формула управления стандартная общепринятая.

И дополнительно обратные связи по току(на АЦП) для ограничения, для время-ток и максимальный ток.

А также защита по превышении скорости, время-скорость. И еще что-то не помню. Делал на Atmega16

(сейчас отличные микроконтроллеры есть dsPIC фирмы Microchip: 16р. ШИМ 4 канала, входной

аппаратный детектор направления с буферным счетчиком и отличная система команд(и не дорого)).

Входные цепи для дататчика и задания делал аппаратно.Т.е. Энкодер-учетверитель-реверсивные

счетчики-регистр->МК. И задание тоже ЧПУ(выдавал частоту т.е. как на управление шаговым двигателем) реверсивные счетчики-регистры->МК. А потом вычислялось разность этих данных и

так далее.

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


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

Iptash, спасибо за информацию!

2 all:

увеличил частоту шима до 31250 Гц. Вроде чуть лучше стало. Ну и пожалуй нашлось одно упущение, на которое раньше внимание не обратил: низкая частота, на которой были проблемы, является наименьшей частотой, на которой способен вращаться двигатель. Т.е. уже ниже ротор останавливается, даже без нагрузки. Естественно запаса не было. Чуть поднял выше планку наименьшей частоты привода, стало значительно лучше. Время отклика уменьшилось. Замеры не производил. Тут у нас уже вечер, домой хочется) Еще, может быть, попробую увеличить разрядность шима до 10 бит. Уважаемая Tanya говорила, что это может помочь. Токовое управление сейчас городить сложно. Хочется обойтись тем, что уже сделал. Но все советы, изложенные здесь это задел на будущее. Тема электропривода мне интересна, да и поле деятельности есть. Так что в будущих конструкциях (надеюсь они будут) буду делать грамотнее.

 

PhX, книгу Чаликина взял в нашей библиотеке. Информации для размышления много. Но плохо воспринимается мной. Возможно из за того, что мало примеров. Чувствую всю необходимую информацию придется собирать по крупицам из инета, книг, из советов и тп...

 

Спасибо Вам всем!!!

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


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

увеличил частоту шима до 31250 Гц. Вроде чуть лучше стало...

Еще, может быть, попробую увеличить разрядность шима до 10 бит. Уважаемая Tanya говорила, что это может помочь...

К нам как то с лекцией приезжали Московские друзья, помоему с приводной техники. Так вот

они говорили, что они практическим путем установили, что оптимальная частота ШИМ это 4000Гц.

Увеличев частоту вы уменьшили КПД двигателя и динамические характеристики всего привода в целом.

Вот вы как бы и "притупили" привод и прикратились колебания. Но боюсь, что это ложный путь.

Разрядность ШИМ тоже не маловажная вещь.

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


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

2 all:

увеличил частоту шима до 31250 Гц. Вроде чуть лучше стало.

 

Было когда-то вот такое

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


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

А схема очень простого, но очень хорошего делается на трех лог. элементах...

Я здесь оговорился. Не трех лог. элементах, а трех лог. микросхемах.

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


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

_Pasha, спасибо! Верну назад) Блин, все-таки как же мало у меня знаний! И литературы полно, английский не пугает, а все равно грабли, грабли и еще раз грабли... И microchip'овские доки читал, они много полезного по схемотехнике дали. И еще что-то... но все равно не сложилось четкого представления... Может быть есть какие-нить аппликейшены, где привод рассматривается на должном уровне именно с программной стороны (алгоритм и тп)?

Или нужно именно по кусочкам собирать все?

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


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

DSP Servo Control With the MC68HC16Z1.

Algorithms for Industrial Manipulators.

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

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


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

А чего у них D-звено из другой бочки получает входные данные ? :wacko:

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

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


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

Обратите внимание, интегральная составляющая регулятора включается при малых скоростях. Имхо, весьма удачное решение! Возьмите на карандаш!

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


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

А чего у них D-звено из другой бочки получает входные данные ? :wacko:
Чтобы не заводился привод, там усреднение есть.

_Pasha, я только разместил объяву. :biggrin:

На этом этапе считаю преждевременной возню с регуляторами,

поскольку не получена передаточнае функция разомкнутой системы.

Типа отклик на ед. воздействие. Там может оказаться такое, что никакой

регулятор не поможет. Если мощности двигателя достаточно, в механике отсутствуют

люфты, избыточное трение и гибкие мех. связи, то обычно хватает простого

PID регулятора и двух контуров ОС - по моменту и положению.

Далее на него наворачивается подчинённость и пр. перекрёстные связи.

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

контроллер не успевает, то чем регулировать?

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

усилитель без смещения и мертвой зоны. Где-то так.

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

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


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

На этом этапе считаю преждевременной возню с регуляторами,

поскольку не получена передаточнае функция разомкнутой системы.

Типа отклик на ед. воздействие.

Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить? :)

Если мощности двигателя достаточно, в механике отсутствуют

люфты, избыточное трение и гибкие мех. связи, то обычно хватает простого

PID регулятора и двух контуров ОС - по моменту и положению.

Мощности достаточно. Манипулятор заводского производства, не самопал :) Люфты есть, ибо передачи цилиндрические косозубые и винт-гайка. Гибкие механические связи отсутствуют.

двух контуров ОС - по моменту и положению.

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

 

 

evgeny_ch и _Pasha отдельный респект!!!

Вы прямо живые энциклопедии!!!)

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


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

Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить? :)

...

Вам нужно в режиме без ОС осуществлять пуск-стоп (реверс) привода, и одновременно смотреть

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

Мощности достаточно. Манипулятор заводского производства, не самопал :) Люфты есть, ибо передачи цилиндрические косозубые и винт-гайка. Гибкие механические связи отсутствуют.
Люфт образует гистерезис для

ОС, поэтому ваш регулятор будет выдавать полное управляющее воздействие на привод, с

последущим колебательным процессом после начала движения (выборки люфта).

Поэтому передачи сервоприводов либо отсутствуют, либо безлюфтовые.

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

Ток нужно мерять всегда, поскольку привод манипуляторов не работает со 100% загрузкой, и его можно форсировать, получая при этом лучшее быстродействие и производительность. Защита от какого-то сигнала должна срабатывать.

Как пример можно привести регулирование момента закручивания винтов сборочным манипулятором, там осуществляется прямое управление моментом.

Разрешающая способность энкодера будет определять точность позиционирования и качество регулирования.

Обычно принимается 5-10 дискрет энкодера на одну дискрету координаты.

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

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


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

Не ругайтесь сильно, но как ее получить? Данных для расчета практически нет. Ну двигатель известен. А звенья манипулятора уже готовые. На них нет ни чертежей, ни какой другой документации. А без этих данных не приведенный момент инерции посчитать, ничего не сделать... Брать штангель, весы и вручную мерить? :)

Осваивайте моделировалки - vissim или лучше simulink матлабовский, поскольку если Вы планируете занималься в дальнейшем САУ приводов хорошая моделировалка это второй инструмент после хорошей головы. =)

Идентификация линейных звеньев (гистерезисом пока принебрежем, до него еще докатимся, потом) проводится так: на вход механики подается тестовый сигнал (момент(ток)), обычно это синусойды с разной частотой, либо множество ступенек. Для каждого тестового сигнала снимается отклик (положение с энкодера, скорость тахогенератора и.т.п). В моделировалке на основании информации о передаточных функциях мех. звеньев привода (из Чиликина) подбираются параметры этих передаточных функций, т.е. такие перед. функции, которые при аналогичных входных воздействиях дают аналогичные отклики.

 

p.s. Вы, кстати, какие требования к приводу предъявляете? Попробуйте сформулировать их как можно четче, а то у Вас задача уж очень расплывчатая.

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


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

Вам нужно в режиме без ОС осуществлять пуск-стоп (реверс) привода, и одновременно смотреть

сигнал на выходе схемы управления.

Т.е. разорвать ОС, например отключить энкодер и посмотреть выход СУ, т.е., например, ШИМ-> ток на двигателе?

Люфт образует гистерезис для

ОС, поэтому ваш регулятор будет выдавать полное управляющее воздействие на привод, с

последущим колебательным процессом после начала движения (выборки люфта).

Поэтому передачи сервоприводов либо отсутствуют, либо безлюфтовые.

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

Ток нужно мерять всегда, поскольку привод манипуляторов не работает со 100% загрузкой, и его можно форсировать, получая при этом лучшее быстродействие и производительность. Защита от какого-то сигнала должна срабатывать.

Как пример можно привести регулирование момента закручивания винтов сборочным манипулятором, там осуществляется прямое управление моментом.

Понятно. Значит будем измерять ток. Достаточно ли будет в разрыв двигателя включить резистор небольшого сопротивления (0.1 - 0.5 Ом) и с него ОУ брать значение тока? Схема управления двигателя мостовая, на базе L298.

Разрешающая способность энкодера будет определять точность позиционирования и качество регулирования.

Обычно принимается 5-10 дискрет энкодера на одну дискрету координаты.

Ага, понятно.

 

Осваивайте моделировалки - vissim или лучше simulink матлабовский, поскольку если Вы планируете занималься в дальнейшем САУ приводов хорошая моделировалка это второй инструмент после хорошей головы. =)

я за Simulink :a14:

Идентификация линейных звеньев (гистерезисом пока принебрежем, до него еще докатимся, потом) проводится так: на вход механики подается тестовый сигнал (момент(ток)), обычно это синусойды с разной частотой, либо множество ступенек. Для каждого тестового сигнала снимается отклик (положение с энкодера, скорость тахогенератора и.т.п). В моделировалке на основании информации о передаточных функциях мех. звеньев привода (из Чиликина) подбираются параметры этих передаточных функций, т.е. такие перед. функции, которые при аналогичных входных воздействиях дают аналогичные отклики.

Для коллекторника наверно нужно разные моменты подавать. Синусоиду он не пережует :)

Еще смущает слово подбирать, это значит подбирать вручную или процесс можно максимально автоматизировать? Просто сейчас подбор у меня ассоциируется ручным подбором коэффициентов.

p.s. Вы, кстати, какие требования к приводу предъявляете? Попробуйте сформулировать их как можно четче, а то у Вас задача уж очень расплывчатая.

Чуть чуть позже сформулирую!

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


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

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

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

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

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

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

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

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

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

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