roboforum.ru

Технический форум по робототехнике.


ПИД регулятор - PID алгоритм, энкодер и другая ОС

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

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение bolt » 16 фев 2009, 16:02

А чего вы в ПИД вцепились? Это один из способов отработки воздействия для следящих систем.
В зарядниках совсем другой алгоритм, который еще и от типа банок зависит. Ограничение тока по температуре используют если остро необходим скоростной заряд. Хар-ки батарейки при таком способе падают.
Отключение/снижение по температуре ключа/диодов скорее к защите зарядника относится.
Обычно алгоритм такой:
разряд до 0,8В на банку,
заряд стабильным или асимметричным током до порогового напряжения,
дозаряд небольшим током.

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

Зарядник для АКБ стоит в отдельную тему вынести. Я уже давно такой смастерить собираюсь :roll:
bolt
 
Сообщения: 281
Зарегистрирован: 01 дек 2008, 19:21

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение RoboTok » 16 фев 2009, 16:22

Короче я написал уже давно алгоритм заряда и заряжаю свои акки, но тут стукнула в голову идея ПИДа, но сейчас сделал как было...
Хотя посмотреть осциллографом стоит, хотя бы буду знать как оно там шевелится...
Аватара пользователя
RoboTok
 
Сообщения: 1060
Зарегистрирован: 04 фев 2008, 13:18
Откуда: Москва
прог. языки: PHP

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 24 май 2009, 20:45

Есть два шаговых движка в кардановой паре(без энкодера), реализовал микрошаговый режим и разгон/торможение.
На СОМ-порт ~50 раз/с приходят пакеты с текущми координатами(мышка, джойстик, др.).
Для слежения решил применить ПИД регулятор с логической обратной связью. На входе ПИД - ошибка позиционирования, на выходе - скорость движения.
Функции разгона/торможения сейчас выполняются после ПИД регулятора, соответственно вносят транспортную задержку которую и пытается скомпенсировать ПИД регулятор.

Собственно вопрос в выборе схемы, accel/deaccel после ПИД, или формирующий сглаж. фильтр перед ПИД?
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 24 май 2009, 20:48

ессно рампу (фильтр) ставить перед регулятором...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 24 май 2009, 21:13

Duhas писал(а):ессно рампу (фильтр) ставить перед регулятором...

Спасибо, я тоже так подумал.

Вопрос осложняется тем что целевой контроллер АТ89С51 :)
Если делать формирующий FIR - схавает память и ресурсы, IIR - нелинейная фаза.
Ассеl/deaccel после ПИД хавает мало ресурсов и имеет линейную фазу.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 24 май 2009, 21:17

ччто-то я вас не пойму.. опишите может задачу поконкретнее?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 24 май 2009, 21:24

Это привод главного зеркала световой машины(сканер), управление по протоколу DMX512.
Собственно задача чтобы зеркало адекватно повторяло движения мышки/джойстика в руке оператора.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 24 май 2009, 21:37

а зачем тогда ограничитель динамики?

протокол мне ничего не скажет )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 24 май 2009, 21:45

Ограничитель динамики нужен, двигатели маломощные(как от старых дисководов), нагрузка инерционная на валу без редуктора.
Максимальная скорость 2об/с, минимальная 0.5об/мин, разгон до макс. скорости за 100мс.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 24 май 2009, 21:50

тогда токоограничение ставить и все... имхо...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 24 май 2009, 22:03

Duhas писал(а):тогда токоограничение ставить и все... имхо...

У меня нет обратной сязи по току, двигатель напрямую управляется контроллером через Н-мост(L293D), ШИМ-програмный(16х микрошаговый режим).
В принципе динамические характеристики с ограничителем меня устраивают.
Нужно организовать режим слежения за генератором траектории.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 24 май 2009, 22:32

ну если нужно именно токовое ограничение то можно просто ограничивать вершину скважности... или длительность работы при превышении некоторой скважности...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Tonal » 25 май 2009, 01:28

Duhas писал(а):ну если нужно именно токовое ограничение то можно просто ограничивать вершину скважности... или длительность работы при превышении некоторой скважности...

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

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

Добавлено спустя 2 часа 46 минут 1 секунду:
Нашел интересную вычислительно эффективную реализацию рекурсивного скользящего среднего - CIC фильтр, подходит на роль формирующего фильтра с линейной фазой.
Цикл слежения работает на частоте 100гц, для формирования траектории разгона за 100мс достаточно 10-ти точек.

После этого возникла мысль, если есть сглаженная входная траектория ее же можно просто продиферинцировать и получить сразу скорость для двигателя?
Естественно этот вариант без обратной связи по положению, будет давать погрешность при позиционировании.
Вот и думаю целесообразно ли применения ПИД в данной ситуации, мне кажется что имея оценочную скорость со сглаженой траектории можно отказаться от Д-компоненты, и попробовать ПИ или П регулятор который будет вычислять поправку к оценочной скорости.
Tonal
 
Сообщения: 13
Зарегистрирован: 24 май 2009, 19:52
Откуда: Город

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение Duhas » 25 май 2009, 07:27

в последних постах я позабыл что у вас ШД ))

реализовать мне кажется лучше ПИД, а там подбирать коэффициенты... по идее задрав Д коэфф. можно сгладить переходный процесс..
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: ПИД регулятор - PID алгоритм, энкодер и другая ОС

Сообщение executer » 25 май 2009, 14:46

Наверно имелась ввиду время интегрирования И составляющей?
Как Д можно сгладить переходные процесс? разве что форсировать получится, а если неаккуратно - то разболтает всю систему
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Пред.След.

Вернуться в Идеи

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23