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
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
4) Prepare the servo as following
5) Make a small additional perfboard according to this circuit diagram and connect everything accordingly
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:
This is how my first prototype looked like:
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!
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.
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.
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.
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”.
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).
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 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 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 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).