Технический форум по робототехнике.
bolt » 16 фев 2009, 16:02
А чего вы в ПИД вцепились? Это один из способов отработки воздействия для следящих систем.
В зарядниках совсем другой алгоритм, который еще и от типа банок зависит. Ограничение тока по температуре используют если остро необходим скоростной заряд. Хар-ки батарейки при таком способе падают.
Отключение/снижение по температуре ключа/диодов скорее к защите зарядника относится.
Обычно алгоритм такой:
разряд до 0,8В на банку,
заряд стабильным или асимметричным током до порогового напряжения,
дозаряд небольшим током.
зы. Duhas говорил об экзотических чипах, со встроенными ключами и алгоритмом.
Зарядник для АКБ стоит в отдельную тему вынести. Я уже давно такой смастерить собираюсь

RoboTok » 16 фев 2009, 16:22
Короче я написал уже давно алгоритм заряда и заряжаю свои акки, но тут стукнула в голову идея ПИДа, но сейчас сделал как было...
Хотя посмотреть осциллографом стоит, хотя бы буду знать как оно там шевелится...
Tonal » 24 май 2009, 20:45
Есть два шаговых движка в кардановой паре(без энкодера), реализовал микрошаговый режим и разгон/торможение.
На СОМ-порт ~50 раз/с приходят пакеты с текущми координатами(мышка, джойстик, др.).
Для слежения решил применить ПИД регулятор с логической обратной связью. На входе ПИД - ошибка позиционирования, на выходе - скорость движения.
Функции разгона/торможения сейчас выполняются после ПИД регулятора, соответственно вносят транспортную задержку которую и пытается скомпенсировать ПИД регулятор.
Собственно вопрос в выборе схемы, accel/deaccel после ПИД, или формирующий сглаж. фильтр перед ПИД?
Duhas » 24 май 2009, 20:48
ессно рампу (фильтр) ставить перед регулятором...
Tonal » 24 май 2009, 21:13
Duhas писал(а):ессно рампу (фильтр) ставить перед регулятором...
Спасибо, я тоже так подумал.
Вопрос осложняется тем что целевой контроллер АТ89С51

Если делать формирующий FIR - схавает память и ресурсы, IIR - нелинейная фаза.
Ассеl/deaccel после ПИД хавает мало ресурсов и имеет линейную фазу.
Duhas » 24 май 2009, 21:17
ччто-то я вас не пойму.. опишите может задачу поконкретнее?
Tonal » 24 май 2009, 21:24
Это привод главного зеркала световой машины(сканер), управление по протоколу DMX512.
Собственно задача чтобы зеркало адекватно повторяло движения мышки/джойстика в руке оператора.
Duhas » 24 май 2009, 21:37
а зачем тогда ограничитель динамики?
протокол мне ничего не скажет )
Tonal » 24 май 2009, 21:45
Ограничитель динамики нужен, двигатели маломощные(как от старых дисководов), нагрузка инерционная на валу без редуктора.
Максимальная скорость 2об/с, минимальная 0.5об/мин, разгон до макс. скорости за 100мс.
Duhas » 24 май 2009, 21:50
тогда токоограничение ставить и все... имхо...
Tonal » 24 май 2009, 22:03
Duhas писал(а):тогда токоограничение ставить и все... имхо...
У меня нет обратной сязи по току, двигатель напрямую управляется контроллером через Н-мост(L293D), ШИМ-програмный(16х микрошаговый режим).
В принципе динамические характеристики с ограничителем меня устраивают.
Нужно организовать режим слежения за генератором траектории.
Duhas » 24 май 2009, 22:32
ну если нужно именно токовое ограничение то можно просто ограничивать вершину скважности... или длительность работы при превышении некоторой скважности...
Tonal » 25 май 2009, 01:28
Duhas писал(а):ну если нужно именно токовое ограничение то можно просто ограничивать вершину скважности... или длительность работы при превышении некоторой скважности...
что то мы не в ту сторону завернули, ограничивать скважность нельзя - все ресурсы програмного ШИМ брошены на формирование микрошагового режима, ограничивать длительность работы нельзя - режим непрерывный.
Если предложение было форсировать ток в оботках и отказатся от ограничителя динамики, то это не подходит. Устраивает текущая динамика с ограничителем, нужно организовать слежение.
Добавлено спустя 2 часа 46 минут 1 секунду:Нашел интересную вычислительно эффективную реализацию рекурсивного скользящего среднего - CIC фильтр, подходит на роль формирующего фильтра с линейной фазой.
Цикл слежения работает на частоте 100гц, для формирования траектории разгона за 100мс достаточно 10-ти точек.
После этого возникла мысль, если есть сглаженная входная траектория ее же можно просто продиферинцировать и получить сразу скорость для двигателя?
Естественно этот вариант без обратной связи по положению, будет давать погрешность при позиционировании.
Вот и думаю целесообразно ли применения ПИД в данной ситуации, мне кажется что имея оценочную скорость со сглаженой траектории можно отказаться от Д-компоненты, и попробовать ПИ или П регулятор который будет вычислять поправку к оценочной скорости.
Duhas » 25 май 2009, 07:27
в последних постах я позабыл что у вас ШД ))
реализовать мне кажется лучше ПИД, а там подбирать коэффициенты... по идее задрав Д коэфф. можно сгладить переходный процесс..
executer » 25 май 2009, 14:46
Наверно имелась ввиду время интегрирования И составляющей?
Как Д можно сгладить переходные процесс? разве что форсировать получится, а если неаккуратно - то разболтает всю систему