-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Servo motors are not disabling/releasing after setting angle to None #65
Comments
I have the same issue too. My micro servo motors are disabling correctly but it seems like the bigger servos 1501MG https://www.pololu.com/product/1057 aren't being disabled. |
do you know that the motors will 'release' when not receiving a 50hz signal because thats the only way to release motors - if your servo doesnt do that, it has nothing to do with this firmware |
How can we programmatically tell it not to send the 50hz signal then. I would have thought setting angle = None should do something like that. Is there another command? |
So just a note. It appears I can set the duty_cycle to nothing and it turns off this type of servo. There are two ways (which are effectively the same based on the source code in github): either or Both of these turn off duty cycle 'release' the motor. |
I misspoke. This does not release the motor. It just stops the duty cycle. I'll play around and see if there is another way to cut power completely to the servo. |
Just wanted to add another comment. I have tried a number of things and still certain brands of motors will not disconnect/release when I set fraction = None, nor Angle = None. It appears there is a way to turn off the servo pins on the PCA9685. On this page: https://learn.adafruit.com/16-channel-pwm-servo-driver/library-reference Is there a way to do the same with CircuitPython_Motor (or one of the lower level APIs)? |
Extra notes: https://forums.adafruit.com/viewtopic.php?f=22&t=178641 says that setting the PWM duty_cycle to 0 should shut off the PCA9685 pins, but again, this does not seem to be the case as some servos continue to 'hold' even after setting the duty cycle to 0 for those servo's pins. |
I'm using a Raspberry Pi 4 to control the PCA9685. I have generic MG996R-style servos connected (2 different brands). When I set the servo.angle = None, the servos just hold their current position without releasing.
I'm using servokit 1.3.13, pca9685 3.4.6, and motor 3.4.5
(I do have a version on a different raspberry pi that is running servokit 1.3.6, pca9685 3.39 and motor 3.3.2 that does work correctly, though it uses a different brand of servo).
I am not quite sure if this is due to a regression or certain brands of servos not recognizing the angle = None.
Any insight would be appreciated. I may try to upgrade the second raspberry pi and see if those servos get the issue. That would help narrow down if this is a per-servo-brand bug or a regression.
The text was updated successfully, but these errors were encountered: