RC car servo with 6 wires ;;;

I bought an RC car from a shop.I asked for car that steering with servo. I took it and its steering like having servo

Now i oped it cause i want to control steering via arduino but from steering motor i see 6 wires. Is it possible a servo with 6 wires?

Cant oper deeper cause its simplex create, but has those 6 wires

You linked to a photo from this forum: Steering servo with 6 wires - RC Groups
They tell that it doesn't have the electronics inside.

The question has also been asked on this forum: http://forum.arduino.cc/index.php/topic,10292.0.html

Yeah i allready read all posts on forum about 6wire servo, but my car is new .. maybe i can control this by sending some values to its chip ?

The 6 wires from servo going to an chip which has those info on it : 2609A / JCB / U4001D

i didnt find any info about that chip, but you find if i use an oscilloscope and check all wires.. i will can send with arduino some values to the right pin so i can have the steering ;

Legolas69:
Yeah i allready read all posts on forum about 6wire servo, but my car is new .. maybe i can control this by sending some values to its chip?

The 6 wires from servo going to an chip which has those info on it : 2609A / JCB / U4001D

i didnt find any info about that chip, but you find if i use an oscilloscope and check all wires.. i will can send with arduino some values to the right pin so i can have the steering ;

This is a possibility - certainly worth a try, but don't be surprised if you end up burning something out or whatnot with your hacking.

Honest, the best approach would be to simple replace that toy servo with a standard hobby servo; that, or return the vehicle and purchase one with a real hobby servo (3-wire).

If you wanted to use that servo, as already has been shown the other thread posted shows how the wires are more or less connected inside - you would probably want to verify the wiring for yours (in case wire colors are different or connected differently).

So - you have six wires - three of them are for the motor (two for the motor terminals, the third going to the capacitor common connection - you might be able to ignore that wire), the other three to the internal potentiometer.

The motor terminals would need to be connected to a suitable h-bridge driver circuit; I won't elaborate further on this, other than to say that the h-bridge needs to be rated for the motor in the servo.

The other wires to the potentiometer would need to be connected so that the "outer" terminals of the potentiometer connect to 5 volts and ground, while the wiper terminal gets connected to an analog input pin on the Arduino.

Then - the following pseudocode should help you write some real Arduino code to control the servo's motor:

moveToPosition(toPosition):

	error = 5

	done = FALSE

	while (!done):

		atPosition = readPosition()

		if (atPosition > toPosition - error && atPosition < toPosition + error):

			done = TRUE
	
		else:

			if (atPosition > toPosition - error):
	
				motorCCW()

			if (atPosition < toPosition + error):

				motorCW()

	motorStop()

To explain this code - first off, if you implemented this code as-is (but translated to work with the Arduino) - it would be "blocking" - that is, it would stay within the loop until it finished, then exit; you would really want to implement something better - non-blocking, and likely based on a timer interrupt to keep the "servo" updated; this code is just to give you an idea of how a software servo can be implemented, nothing more.

  1. So - you would pass in to the code the position you want to move the servo to (0-1023).

  2. An error value is set - this is to establish a "window" for the position comparison; real analog servos do this as well, but it is done electrically using a comparator circuit. This window is needed to be set to eliminate oscillation, "hunting" by the servo, and to cope with inaccuracies of the potentiometer. It may be increased or decreased as needed (larger values make the servo less positionally accurate).

  3. A flag is then set to FALSE that controls when the loop can be exited, then the loop begins.

  4. In the loop, we read the position of the potentiometer (0-1023).

  5. We then compare it to the position we want to be at - within the "error window"; if the position falls within that window around the position we want to be at, then we set the flag to exit the loop, stop the motor, and exit the function.

  6. Otherwise, depending on whether the position we are current at is greater than (or less than) the position we want to move to, we activate the motor to turn counter-clockwise or clockwise.

Those are basically the steps. You could expand it to pass in a "speed" parameter (then pass those to the motor actuation functions to PWM the motor at a particular speed if you wanted). You could also implement the system using a PID control algorithm (if you wanted more accuracy).

As can be seen, though, this is a much more complicated system to implement for a cheap RC car chassis robot; really only worth it if you have no other choice. But note, this kind of code could be used to create a large-scale steering servo system - especially if the Arduino (or more likely, a standalone ATTiny or something) was dedicated to the task, in which case the while() loop would just sit inside the "loop" structure, while listening for data being read from the serial port, or from some other communication method.

Anyhow - again, I think you would be better served by a different chassis, or by replacing the servo - unless as one of your goals you wanted to educate yourself on how a servo really works...

Good luck, and I hope this helps.

Thanks for your reply :slight_smile:

Yeah the best will to replace it with an 3-wire servo. The thing that piss me of is that i took it from modeling shop and told them
"i want a car with a real servo" !!!!!! I paid 100euro for that sh1t.

I allready order that servo, seems the replace will be easy but i will replay when i have good or bad results.

Thats i order : http://www.ariesrc.gr/img/p/454-1247-large.jpg

Legolas69:
Yeah the best will to replace it with an 3-wire servo. The thing that piss me of is that i took it from modeling shop and told them
"i want a car with a real servo" !!!!!! I paid 100euro for that sh1t.

Well - technically you did get a "real servo" - it's just that the control electronics weren't in the servo, but on the external control board... :stuck_out_tongue:

I guess next time specify a three wire hobby-grade replaceable servo, and either bring along or link to an example of the servo or something.

Legolas69:
Thats i order : http://www.ariesrc.gr/img/p/454-1247-large.jpg

That's a good servo to use; there's only likely to be a couple of potential issues, since this is the steering servo:

  1. You may need to custom mount the servo - hopefully both the original servo and this new one are the same size or close, and that the existing mounting points can be used. Otherwise, you will need to do some custom fitting to get it to work properly.

  2. It's unclear whether the original servo (or the vehicle itself) had a "servo saver" shock absorber mounted; sometimes it's part of the steering mechanism, sometimes it's a special spring-loaded control horn that's mounted to the servo. If the car is small enough, or is meant to be driven on flat surfaces - then it may not have anything. The purpose of such a device is to act as a spring-loaded shock absorber so that if the front steering wheels are bumped by an external force, the servo control horn (or the gears in the servo) aren't damaged. You typically see such a device used on larger 4WD buggys/truggies and such.

The first item will be the real potential issue here; the second I wouldn't worry about too much (just something to be aware of).

I used the Futuba servo with the 3 wires, all are perfect now.

Thank you all

Very good.

I recently got a 1:6 scale Hummer 2 RC truck and it has 6 wires.

Center Black and Orange (Red) is for power servo motor. Blue is for signal to the servo.

The other 3 wires are for hybrid potentiometer and limit switch. Instead of a hard stop (limit switches), one potentiometer is activated on each end just before the hard stop. So, in between the resistance is zero. Due to mechanical slack, they could only activated by the motor. So rotating the wheels might not activate the potentiometer.

When we open the box, we saw equivalent of a 4-bar linkage, the shaft of the potentiometer moves is sync with the shaft of the motor. The level is attached to the potentiometer shaft.

I still do not know how to treat the potentiometer limit switches to take advantage of this seemingly safety feature. I am guessing that I could trigger an interrupt when the potentiometer is triggered or slow it down. I think overtime, wear out of parts, the potentiometer could prevent is drastic stop or possibly electrical surge.

Another link has similar mechanism.

http://www.robotshop.com/letsmakerobots/6-wire-rc-steering-servo