Continuous rotating/normal servo - all in one

Servo.jpg

This is a short tutorial how you get a servo for continuous running AND normal servo mode for a few bucks. You can switch between the modes in setting an additional pin high or low.

1) Open the servo and desolder the PCB. Remember the connections for motor and potentiometer

2) Remove the mechanical stop on the gear

mechanical_stop_0.jpg

3) Remove the potentiometer and modify it according to picture below. At least Hitec servos have this kind of potentiometer. Assemble the potentiometer and put it back on its original place

potstop_0.jpg

4) Prepare the servo as following

servoxx.jpg

5) Make a small additional perfboard according to this circuit diagram and connect everything accordingly

Servo_modification_with_relay_0.jpg

I am using a TAKAMISAWA A5W-K PCB relay. They are very tiny, just like a 10 pin DIL chip and they are DIL socket compatible:

5AWK.jpg

This is how my first prototype looked like:

servohack2.jpg

6) You are done. Using a Sharp IR or ping on your servo, your robot can now not only look to the front, left and right, it can also look to the back!

https://www.youtube.com/watch?v=V4vLsMz7Mx8

If you can make this work

If you can make this work you might have a very marketable product on your hands.

I’ll buld a prototype and

I’ll build a prototype and test it the next days. But I am quite sure it works :slight_smile:

Question or ideas

 

The question is what happens when you switch back from continous to positioned?

The ideas are what the possible answers give you. An answer I like a lot is that it aligns by accepting whatever the current position is as the right place to position using whatever the current PWM is. Another reasonable answer is that it aligns and accepts the current position as exactly mid range and adjusts if you aren’t currently set at 90. I don’t like that answer quite as well because it could be a little jerky. The possible correct answer (as far as what it will actually do) is that it would adjust exactly like it would have when first powered on.

The reason I like the first 2 answers better is for using it for dozer style tracks or similar drive mechanism. I would want to be able to pivot precisely without knowing exactly where the motors are currently turned.

I’ve never seen

I’ve never seen potentiometers that can turn endless… do they exists?

I know rotary encoders, but thats will give problems if you move the servo by hand, I think.

By the way, this tread reminds me of this:
https://www.robotshop.com/letsmakerobots/node/18470

Potentsiometer?

If your servo rotated continiously then it would break your potentsiometer… Pots used in servos normally doesn’t survive more than they are designed for. Other way would be to find pot that you can modify to continious rotation and then put it in servo.

The micro servo Tower Pro

The micro servo Tower Pro SG90 has for example a potentiometer without endstops. I am just building the prototype with this servo.

Another possible problem

could be if the potentiometer is ‘between the legs’  - I would assume even continuous pots have a break between the legs.  Would switching to normal servo mode then be a problem as there would be no feedback loop.

 

No necessarily. I assume,

No necessarily. I assume, the motor would move as long as it get the feedback back.

Here is one example of a continous rotating potentiometer: http://www.potentiometers.com/SP22G.cfm

Datasheet: http://www.potentiometers.com/pdf/SP22G.pdf

 

 

All standard size servos

All standard size servos have a potentiometer with a 5mm axle. At the time I was looking into this, all I could find available for sale by piece were pots with 6mm axle. I wanted to make a smart servo, that had a tiny85 inside and a 8 pin H-bridge IC replacing the servo’s electronics, and use TWI to communicate with the master microcontroller. Since then, there were better solutions to this idea, see the link for the node that presents “hack your servo v2”. 

Cool! Will follow your

Cool! Will follow your updates. Good luck with this one!

Anton has already done this;

Anton has already done this;

https://www.robotshop.com/letsmakerobots/node/18615

Yes I know. And Anton has

Yes I know. And Anton has done this very nicely. But I want to expend as less effort as possible. My idea is to have a 4 wire servo. 3 wires as usual (GND/VCC/signal) and one wire to set the mode (continuous running/normal servo mode).

Best of luck :slight_smile:

Best of luck :slight_smile:

Well done =)

Well done =)

Might one be able to reset the center position?

I want to preface my statement with the fact that I have as yet to produce any thing, at all.

arbarnhart mentioned in the shoutbox that it would be even better if the position the servo stopped in when switching from continuous rotation to standard servo. I suggested that if one would read the pot you could in fact do just that. I realize there is a lot more in the background that would have to occur as the pot adjusts from 0 to 5 or 10k, but, it should still be feasible. I also suggested that rather than utilize another pin the output pin that changes the direction could be used. It would need to be an analog pin though to read the pot position.

I do not mean to demean what

I do not mean to demean what Markus has done. There are lots of applications, most notably pistons and other eccentric mechanisms, where a position relative to the way the motor is mounted is always correct. But if it is driving a wheel on the ground, if I stop I really want to stop exactly where I am and be able to make adjustments relative to where I am.

I hope I did not misrepresent you.

It was suggested that I put my opinion, for what it is worth, in the comments and I decided to mention from where my opinion came.

No problem.

I often come across as an old crank because I always want more features and it seems like nothing is ever good enough. What Markus did is quite good. When it was first posted, I had hopes it might do what I wanted, so I asked hoping there might be a good answer (I know there are ways to do it with the optics and marks on wheels or with the position sensor). I do appreciate the usefulness of what he did for a lot of applications.

I have seen these relatively

I have seen these relatively new servos that have magnetic inductance sensors instead of the potentiometers. Supposedly when the servo is off it spins 360 degrees, so I was wondering, would it be hard to modd it (or it works this way out of the box?) to be controlable for complete 360 degrees position?

A great idea would be to have the servo with position control for 360 degrees working with pulses from say 1ms up to 2ms and rotate continuously one direction for a pulse less off 1ms and the other way for a pulse greater of 2ms, with adjustable speed for pulses between the position control and min and max pulse ranges (0.1 ms for min and 3 ms for max). 

Oh yeah, the links:

http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=14829

http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=14834