реклама на сайте
подробности

 
 
> Сервопривод на коллекторном моторе., Нуждаюсь в практических советах о методах реализации.
IgorTT
сообщение Mar 7 2014, 15:15
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 14-05-10
Пользователь №: 57 261



Добрый день.
Сразу хочу сказать что опыта работы с подобными проектами ранее не имел вообще. (ТАУ)
Да и в программировании я особо не силен (если откровенно).
Решил попробовать реализовать управление, неким сервоприводом своими силами, но увы, оказалось знаний катастрофически не хватает.
А понимание того что ТАУ надо было все таки учить в институте пришло только сейчас.
Хочу сразу сказать что этот проект не коммерческий, а носит только образовательный характер. И большое желание реализовать его правильно.
Лирическое вступление окончено теперь о ТЗ.
Есть некий механизм (исполнения сименс) представленный на фото1.
Прикрепленное изображение

Коллекторный мотор постоянного тока на 12вольт (см. пдфку)
Прикрепленный файл  DC_Motor_31_x_75_1.13.021.6XX.pdf ( 394.76 килобайт ) Кол-во скачиваний: 361

Трехступенчатый шестеренчатый редуктор передаточным соотношением 2:1.
Прикрепленное изображение

На выходном валу сидит червячная пара (ходовой винт + ходовая гайка).
Ходовая гайка посредством пальца *тягает за собой* поворотный рычаг (поступательное движение переходит во вращательно) на оси вращения рычага с одной стороны приклеен круговой магнит (для холла)
Прикрепленное изображение

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

Прикрепленное изображение

выглядит как сегмент шестерни, который фиксируется пластинчатой пружиной с роликом на конце. фото пружины нет.
хочу сказать что пружина очень жесткая.
Основная задача этого механизма переключение (вращение вала) кулисы выбора передач АКПП.
Выходной вал совершает вращение в диапазоне 0 - 58 гр. (регулируемая величина угол поворота) измеряется датчиком холла.
Всего есть четыре точки (угла), перемещении происходит из одной точки в любую из трёх оставшихся. Совершать эти перемещения необходимо очень быстро.

Трудность с которой я столкнулся это быстро остановиться в заданной точке без недолёта или перелёта. Я попытался реализовать подобие ПИ регулятора и настроил его таким образом, что доход до точки становился вялым и не всегда точка остонова была в разрешенных воротах. При условии когда возникало внешнее воздействие (легкое удержание пальцем) у системы был недолёт, остановка, и только потом интегральная часть наращивала воздействие. Для каждого из рабочих перемещений (а их 9ть) были подобраны Кр и Кд, одним из минусов считаю напряжение с датчика холла, оно не линейно. Решив реализовать правильное определения угла (требуются операции с плавающей точкой и double ) понял что 8 битного пика мало. Решил взять 16 бит пик. А также стал вопрос что надо попросить помощи на форуме. Для выбора правильного метода управления.
На фото видна родная плата управления я решил её оставить, выпаял аккуратно родной ST10F269-T3. На переходнике впаял туда свой пик.
На родной плате есть возможность управлять двигателем (Н-мост), измерять ток мотора, напряжение противо-эдс и угол поворота.
Также прилагаю осциллограмму тока и скорости мотора на которой видно как происходит огибание зубов.
Прикрепленное изображение

Прошу прошение за сыр бор в объяснениях о механизме полагаю всё можно скомпенсировать фотографиями sm.gif
Всем откликнувшимся спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
IgorTT
сообщение Mar 11 2014, 06:06
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 14-05-10
Пользователь №: 57 261



Добрый день.
amaora спасибо за ответ.
Не знаю правильно ли я вас понял .
Пропорциональную часть берем с большим запасом, что бы по мере приближения к цели (уменьшение ошибки) воздействие не сводилось к нулю. Правильно?
По поводу дифф. части у меня немного непонимание. Я начал разбираться с управлением прочитав вот эту статью:
http://we.easyelectronics.ru/Theory/pid-re...-praktikov.html
Используя вот эти формулы:
u(t) = P (t) + I (t) + D (t);
P (t) = Kp * e (t);
I (t) = I (t — 1) + Ki * e (t);
D (t) = Kd * {e (t) — e (t — 1)};
В моем понимании дифф. часть (не накапливается как интегральная ) а воспроизводит как бы *тормозящий эффект* на суммарное воздействие.
Правильно ли я понимаю?
И еще вопросик,а как правильно выбрать (рассчитать, подобрать) момент начала торможения?
Из вашего совета я понял что тормозить надо противовключением?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 19:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01476 секунд с 7
ELECTRONIX ©2004-2016