arduino - Servo not maintaining desire "zero" position controlling it with a PCA9685 driver -
i building arm in each finger controlled servo. using adafruit pca9685 servo driver interface servos. control script running on arduino. trying figure out proper way control each servo move 0 180 degrees close hand , 180 0 open. servos using towar pro mg946r. when have servo under no tension @ tendons or string pull on fingers, move ok 0 180 degrees, when attach strings 1 servo , close , open hand few times servo losses 0 position (it goes passed 0 position or doesn't there , 180 degrees there messing whole system up). important me servo no matter goes 0 position. please ask me many questions want if need me explained myself better. take @ code , recommend see convenient. thanks!!
#include <wire.h> #include <adafruit_pwmservodriver.h> #define servomin 130 #define servomax 520 adafruit_pwmservodriver pwm = adafruit_pwmservodriver(); uint8_t thumb = 0; uint8_t ring = 1; void setup() { serial.begin(9600); serial.begin("servo test"); pwm.begin(); pwm.setpwmfreq(60); // analog servos run @ ~60 hz updates yield(); } void loop() { pwm.setpwm(ring, 0, servomin); delay(1000); // (uint16_t pulselen = servomin; pulselen < servomax; pulselen++) { // pwm.setpwm(thumb, 0, pulselen); // } // // delay(500); // (uint16_t pulselen = servomax; pulselen > servomin; pulselen--) { // pwm.setpwm(thumb, 0, pulselen); // } pwm.setpwm(ring, 0, servomax); delay(1000); pwm.setpwm(ring, 0, servomin); delay(1000); }
Comments
Post a Comment