Дергается сероврпивод
- Войдите на сайт для отправки комментариев
Ср, 07/10/2015 - 18:15
Проблема в том, что при управление сервоприводом с помощью потенциометра, серва дергается
Происходит это из за того, что значение получаемое с потенциометра даже в состоянии покоя меняется на +-1
Ну и выходит что сервопривод иногда при движении на милисекунду пытается повернутся в противополжную сторону, плавности это не прибавляет
Масштабировал значения с помощью команды map, что то сижу и не могу никак придумать, как округлить значение
В поиске искал, не нашел
Можно попробовать так:
считываем и запоминаем значение потенциометра и крутим серву;
снова считываем значение потенциометра и сравниваем его с предыдущим, при котором мы вертели серву;
если разница (по модулю) больше некой дельты (например, тех же +-1, или 2, или на сколько оно там прыгает), то запоминаем новое значение и крутим серву, иначе игнорируем;
и т.д.
Спасибо за вариант! Завтра попробую, только получается от этой дельты будет зависеть точность, так? Если взять разность по модулю в 1, то сервопривод будет двигаться только когда я поверну потенциометр на 2+ градусов?
А, туплю что то, мы же берем разность из значений потенциометра
Если важна точность, может стоит рассмотреть вопрос использования энкодера вместо потенциометра?
отправляй значения с потенциометра в терминал и узнаешь на нем скачут значения или нет