HSR-1425CR interfearing with HS311 Servos

When my HSR-1425CR starts to rotate my HS311 servos start to shake, and some times when the
HS311 servos move they will trigger the HSR-1425CR which in turn cause the servos to start to shake. Does anyone know why this is happening and how I could stop it?

Thanks in advance for all you help.

Sorry, I forgot to add the hardware I am using.

I am using a Pololu Micro Serial 8 Servo Controller with a PICAX - 28X1, two HS311 servos, one HSR1425CR servo, a 6v Heavy Duty battery to power the servos and a 4.5v battery pack to power the PICAX - 28X1 and the Pololu Micro Serial 8 Servo Controller.

I do not think it is the code since the only code I can use with these servos is the serout 7,N2400,(255,0,135) for instance and all the ground wires are common. As for the environment nothing seem to be wrong there and since every thing I am using in this project is preassmebled there shouldn’t be anything wrong there. But the 5V pulses could be the problem. I am using a 4.5v battery pack to power both the PICAX 28X1 board and the Pololu Micro Serial 8 Servo Controller. Could the battery pack be providing enough power to run the Pololu Micro Serial 8 Servo Controller and send the singles to the servos but be low enough to not send the 5V pulses at 5V?

Sorry I haven’t replied yet but I have been away from my computer since my last post. I took some photos for you to look at but they are to large for me to upload to this form to show (they are about 2 to 3 MB in size) you sorry but these links might be able to give you some what of a picture.

The board I am using.

The servo controller

HS-311

HSR-1425CR

The baud rate I am using is 2400 or 4800 with no parity which is what is required for the mini SSC 2 mode.

The problems only start if the HS-311 and HSR-1425CR are both connected at the same time. For instance the two HS-311 will work normally unless I hook up the HSR-1425CR then that is when the HS-311 start to shake if the HSR-1425CR is moving. Also if the HS-311 moves to far to fast (like from 10 to 120) it will trip the HSR-1425CR and cause it to start moving which in turn cause the HS-311 to start shaking.

Here is some Code.

[code]PICAX Code:

No outside control:

main:
serout 7,N4800,(255,1,200)
pause 1000
serout 7,N4800,(255,1,135)
pause 1000
serout 7,N4800,(255,1,60)
pause 1000
goto main:

or

main:
serout 7,N2400,(255,0,0)
serout 7,N2400,(255,1,200)
pause 1000
serout 7,N2400,(255,0,127)
serout 7,N2400,(255,1,135)
pause 1000
serout 7,N2400,(255,0,254)
serout 7,N2400,(255,1,60)
pause 1000
goto main:

Remote Controlled

serout 7,N1200,(255,0,127)
main:
serrxd b0,b1
gosub rotation
gosub elevation
goto main

rotation:
if b2 != b0 then
serout 7,N2400,(255,1,b0)
b2 = b0
end if
return

elevation:
serout 7,N2400,(255,0,b1)
return

Note: 0 is the HS-311 and 1 is the HSR-1425CR
VC++ code

private: System::Void Form1_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
			 array<Byte>^ test = {0,0};

			 if(e->KeyCode == Windows::Forms::Keys::Left){
					 test[0] = 10;
					 y = 10;}

			 if(e->KeyCode == Windows::Forms::Keys::Right)
			 {
					 test[0] = 240;
					 y = 240;
			 }	

			 if(e->KeyCode == Windows::Forms::Keys::Up && x < 254)
			 {
				 x++;
				 test[1] = x;
			 }

			 if(e->KeyCode == Windows::Forms::Keys::Down && x > 0)
			 {
				 x--;
				 test[1] = x;
			 }

			 serialPort1->Write(test,0,2);
		 }
private: System::Void Form1_KeyUp(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
			 array<Byte>^ test = {0,x};

			 if(e->KeyCode == Windows::Forms::Keys::Left || e->KeyCode == Windows::Forms::Keys::Right)
			 {
				 test[0] = 135;
			 }
				 						 
			 serialPort1->Write(test,0,2);
	 }[/code]

I am 95% sure that it is not the code.

Thanks for all the help so far :slight_smile: and I will try to work on uploading those photos.

Can you provide an image or diagram of your setup? It seems like either there is a common ground missing, or your power supply is not strong enough to use both at the same time. Depending on your setup, the code may also be a factor. More information would be needed.

A few additional considerations: check the code you are using; if you are not using the servo command and sending timed 5V pulses to each servo, the delay (how often the signal is updated) plays an important factor and may cause erratic behavior. Three standard servos should not use much current. Can you check if the ground wires are common to all devices (i.e. common ground plane)? Check the physical setup and the environment (electromagnetic interference, an exposed solder point or cable in contact with metal, anything that might cause a stray signal etc.).

A power would take a bit more research. Find out how much each board consumes when active, then see how much continuous current the battery can provide (if you think this might be an issue). Can you check each motor individually to see they are behaving normally? If the problem cannot be found directly, eliminate what is working properly. Did you set the baud rate correctly (if you have one servo working properly, it’s probably fine, but check anyway). We’ll also contact the manufacturer to view this thread and offer any insight.

Aditionally, can you provide a clear photo of the entire setup (without any additional parts you are using - just a clear picture of which wires connect to where, and feel free to provide any sample code you created. Both manufacturers are following this thread.

Also, the code aspect could be isolated by not changing the code and plugging in the servos in various combinations, though it does not seem likely that is causing the issue. If one servo works fine and just plugging in another makes a difference, it is likely a power issue. (Paraphrase from Pololu)

This is sounding more and more like a power issue. Can you provide a diagram of the setup and describe the battery (or batteries) you are using (capacity, voltage, composition, discharge rate)? If you can find the specified maximum continuous discharge rate of the batteries it would be useful.