Приветствую всех снова

.
Хотел было забить одно время на все эксперименты с сервой-самопалом, но уж больно интересно (тем более. пока станок работает делать нечего).
Сваял я тут подобие сервоконтроллера для коллекторного ДПТ, но об этом позже.
С бесколлекторными синхронными движками все более-менее понятно, там мы можем задать скорость вращения магнитного поля, и с помощью амплитудно-частотной модуляции поддерживать момент на низких скоростях. Но как быть к коллекторным ДПТ, у которого и момент и скорость зависит от приложенного тока? Получается на практике так: я делаю буфер сигналов STEP, зная время между сигналами узнаю необходимую скорость вращения в данный момент, если скорость низкая, то приходится делать низкий ток, что приводит к падению момента и пропуску шагов. Если далее скорость повышается, то рассогласование уменьшается, если нет, то оно чудовищно растёт. В итоге мой энкодер на 100 рисок (400 имп.) не добегает на 10 и более импульсов. Как такую проблему можно решить?
Теперь о том, что собрано и хоть как-то более менее нормально работает). МК STM32 частота 48МГц, энкодер 400 имп.(самопал, но работает стабильнее всех элементов

), коллекторный ДПТ от Камаза, H-мост. Банальное регулирование куском ПИД-а - рассогласование равно 0 - тока нет, не равно - ток есть для предотвращения рассогласования. В таком виде система входила в резонанс при попытке восстановиться, поэтому был сделан контроль степени рассогласования с градацией в 5импульсов - чем больше рассогласования, тем больше ток. В таком виде система уже быстро восстанавливается, но резонанс присутствует десятые секунды. Да и при работе на оборотах, ниже максимальных, движок давиться рывками (особенно при старте и пуске, либо под нагрузкой).
Хреново, но лучше ничего сделать пока не удалось.
