2

I have a camera mounted in an Adafruit pan-tilt mini kit with 2 servos (SG92R).
Installed python-smbus and i2c-tools.
From raspi-config I enabled 5 Interfacing options P5 I2C.
Also installed Adafruit_Python_PCA9685.
Executing a python script I position the camera.

I only use pan-tilt to fine tune the camera position just at startup for timelapse.
I found that despite I added a @reboot line in crontab to run that script with the same two parameters (horizontal and vertical servo positions) I used the first time, just in case of restart after power failure or manual reboot, the position of the camera is slightly different than the original one.

I tried disabling I2C interface option but the result is far away the original position of the camera.

Then only way I guess I can accomplish that is to disconnect the power of the pan-tilt controller (Adafruit) after getting the best position but this could be a mess for me.

Is there another way to get servos quiet in case of reboot?

3
  • maybe a disk brake that is clamped by a spring and released by another servo
    – jsotola
    Feb 20, 2018 at 19:42
  • Sounds good but tricky. No idea how to accomplish that.
    – dstonek
    Feb 20, 2018 at 20:05
  • something like this, but the servo would pull the brake open ... youtu.be/mOGItAg7tmY?t=39
    – jsotola
    Feb 21, 2018 at 2:17

2 Answers 2

2

Perhaps you need more expensive servos? They are more likely to go to the same position when given the same commands (pulse widths).

Also remember that servos will only maintain a position against a force if they are powered and are continually receiving the same commands (pulse width).

3
  • This is my kit: cdn-shop.adafruit.com/product-videos/1024x768/1967-02.mp4 cdn-shop.adafruit.com/1200x900/1967-01.jpg I understand what you say about more reliable servos but I also would need the assembly structure. I found one larger (metal) compatible with these servos: MG995 or HS322,HS422,Hitec,Parallax,Futaba, etc 40×20×36mm. I don't know if they would serve my needs. They also must be compatible with my PCA9685 16-Channel PWM Servo Motor Driver I2C Module. I remember I tried a couple of EMAX ES08MD servos but they didn't work
    – dstonek
    Feb 20, 2018 at 23:54
  • 1
    @dstonek Perhaps there is simply too much slack in the system to get repeatable results. I think the astronomy guys would probably use stepper motors on their mounts for a variety of reasons. You may need to find a more specialized site to ensure that the proper eyes see your problem and can offer a good solution.
    – joan
    Feb 21, 2018 at 8:24
  • Yesterday I've replicated this question at forums.adafruit.com/… and I got interesting answers.
    – dstonek
    Feb 21, 2018 at 16:02
1

I finally solved this issue thanks to Adafruit techs.
I added a non-latching relay to control the power output from the RPi to the servo controller PCA9685. For example GPIO6 is set to INPUT by default so when I need to move the servos I change the state to OUTPUT and the servos get power.
After adjustments are made I turn the state to INPUT to cut the power.
As said, after reboot, servos don't get power to move because I choose a GPIO pin with an INPUT state (LOW/OFF).
Here's the wiring schema I used enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.