Управление сервоприводом ASDA2

Модератор: AND

Управление сервоприводом ASDA2

Сообщение Alexsandrsk » 08 май 2014, 17:07

Здравствуйте,
пробую управлять сервоприводом asda-a2 подавая импульсы с контроллера SA2 с помощью функции DDRVI.
Импульсы беру с внешнего энкодера, для перевода условных единиц (мм) в импульсы умножаю условные единицы на значение с плавающей запятой, т.е. demul.
Но вот проблема, например настраиваю станок на 300 мм протяжки металла, выходит ровно 300, но задаю 200 и выходит меньше (погрешность где то около 20), задаю 400 выходит больше чем надо (погрешность около 50).
Похоже, что идет округление числа с плавающей запятой, как решить этот вопрос?
Пробовал на сервоприводе установить большее количество на оборот энкодера, двигатель перестает слушаться, порой не останавливается.
Заранее всем спасибо.
Alexsandrsk
 
Сообщений: 22
Зарегистрирован: 20 окт 2012, 01:40

Re: Управление сервоприводом ASDA2

Сообщение pkl » 08 май 2014, 19:11

В ASDA-A2 энкодер с хорошим разрешением, попробуйте убрать обратную связь и задавать просто число импульсов. Преобразование чисел с плавающей запятой дает потерю точности. Попробуйте работать с целыми, естественно контролируя выход из диапазона двойного слова.
pkl
 
Сообщений: 899
Зарегистрирован: 23 ноя 2010, 11:08


Вернуться в Программирование, применение (советы, примеры)

Кто сейчас на форуме

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