Servos Not Responding to speed commands

I am finally getting my old Hexy to move its legs! So, now I might have some intelligent questions, albeit newbie ones… I am connected to my SSC-32 via serial port (I do not have the newer USB version - but on the cable have the USB to serial converter cable so I can hook up to my computer via USB port). Just playing with the servos to get a feel for movement, I am trying things like this:
[font=Calibri,sans-serif]#18 P1500 #19 P1500 S2500 (putting both servos on my middle leg on the left side in “zero” position)
then, say:[/font] [font=Calibri,sans-serif]#18 P500 S2500 #19 P500 S100 (attempting to lift the leg quick, but move it to the forward position slowly)
and then:[/font] [font=Calibri,sans-serif]#18 P500 S500 #19 P500 S2500 (wanting to lift it quickly and move to the rear position).

What I am finding is that sometimes the servos respond to the “S” command, more times than not they just zoom to the position I specify. They do, then they do what they want… the position command seems to be constant, but I am wanting to control the timing for the legs when they move.

Any ideas as to why the S, or speed, designation in the SSC-32 command window works only sometimes? I’m sure it is a config thing, but cannot find anything in the manual to correct this behavior.
Thanks![/font]

Hi,

The first case that comes to mind would be that after power-up, the first movement command ignores all T / S parameters because the SSC-32 does not know where the motors are (no position feedback) and therefore cannot plan for their motion. But, in your situation, you clearly have the motors move first to a known position before issuing the other commands, so this would not be the cause. But, it is still worth mentioning in case you did not know.

What most likely causes your issue is the following note in the SSC-32 manual [end of the linked section]:

Following that verification, we did the two following tests using Lynxterm ( stands for the carriage return character):

Starting from:
#18 P600 #19 P600

Test 1:
Move both servomotors to opposite end of range using a fast speed for #18 and a slow speed for #19.
#18 P2400 S1000 #19 P2400 S100

Test 2:
Move both servomotors to opposite end of range using a slow speed for #18 and a fast speed for #18.

#18 P2400 S100 #19 P2400 S1000

As expected, the first S parameter is taken into account and all others are ignored. Therefore, in test 1, both motors move fast and in test 2 both motors move slowly.

As the note says, if you instead send the commands separately, you would get the results you are looking for.
ex:
#18 P2400 S100
#19 P2400 S1000

We hope this helps!

Sincerely,

I will do these tests tonight when I get home. However, the speed not being controlled behavior was also just giving single commands to a single servo. It was weird. I was trying an S2500 and the servo jerked very fast. I tried, say, S100 and it would still go very fast. Then, I gave up trying to control the speed and copy’n’pasted a command from earlier (that had an S argument) and the servo went soooooo sloooow that I had to look down at the 'bot to see why my command didn’t work - it was, just going really, really slow with the S100 setting. So, I got proud of myself and after a few commands one servo went really fast, while one was really, really slow. It was intermittent being able to control the speed of either a vertical (knee) or horizontal (hip) servo. I tried to adjust the baud rate but if I changed it from the default that came up when I launched the SSC-32 Terminal program, it wouldn’t work at all. And, 9600 was not the default so it did not work. I did find some troubleshooting in one of the many manuals I have regarding jumper settings. I’ll double check all my connections, I’m just happy that I finally got my old Hexy to start moving.

Concerning the baud rate, you can set it using the information that is on the board (point 9 in the diagram in the manual).

As for it not working with single servo commands (not group mode), it may be related to my previous point.
If it happens that your SSC-32 suffers from brownouts, it would reset. The servomotors would still stay at their current position, but it would reset the controllers knowledge of the position, causing it to ignore the next S/T command for each servomotor channel.

Could you please post one or more pictures of your setup? Make sure to show clearly the SSC-32, its jumpers, wires, power cables, etc.
If you are having a power issue, it would explain part of this erratic behavior (but not all of it).

Sincerely,

P.-S.: You can attach pictures by going into Full editor mode and opening the Attachments bar. See the attached image for details.

Yes sir, I will also do this when I get home! Thanks for the help!

For the command:
**#18 P600 #19 P600
**My left middle hip moved to the forward postion fast, along with the knee up fast

For the command:
#18 P2400 S1000 #19 P2400 S100
Same leg, hip moved slowly back, then knee lifted very slow and then the whole bot start shaking! I moved both #18 and #19 back to 1500 just to stop it from shaking… it is making noises right now although it isn’t shaking or making a grinding noise.

For the command:
#18 P2400 S100 #19 P2400 S1000
All it did was put the foot down slowly and start making a grinding noise… I’m wondering if that servo is bad!

For the commands:
**#18 P2400 S100
and
****#19 P2400 S1000
**I am getting nothing now. Grinding noises and no movement from that middle leg, neither hip nor knee. I’m thinking those servos just died… not sure.

I’ll try the same tests with the opposite side, #3 hip and #2 knee…
#2 P600 #3P600

#2 P2400 S1000 #3 P2400 S100
Went very slowly to the front, while slowly lifting the leg!

#2 P2400 S100 #3 P2400 S1000
Did absolutely nothing… ?

#2 P2400 S100
Very slowly lifted the leg.
And
#3 P2400 S1000
Moved it very slowly forward.

Maybe it is just the bad 2 servos on that one leg? I did a check with the servo quick test and all others appear to move when I move the slider. Also, when I hit the “all=1500” button they all straighten out, and lift it about halfway as I would expect - even #18 and #19… weird that they will work and then sometimes not.

I’ll post the pics of the boards now. For note - I do not have the Botboarduino connected to the SSC-32 at all yet. This is just my computer hooked to the SSC-32, which has the servos connected.


Hi,

Well, first off, any group command with more than one servo position command and more than one “S” parameter will not work properly. So, that’s certainly an issue because such a command has “undefined results”.

As for the erratic behaviors you are describing, it might indeed be a power issue.

In your second picture, we found the following 2 potential issues:

]You have the VS=VL jumper in. Usually, this is a bad idea since it would short two power sources together (the one connected to VL and the one connected to VS1). Therefore, the question would be “Where/what is the VL of the SSC-32 to?”. A typical wiring case would have the VS1 (or VS2) of the SSC-32 connected to a battery providing 6 V DC for the servomotors. The VL would be connected to a 9 V DC battery and also doubly connected to the VL of the BotBoarduino (which would also not have a VS=VL jumper in place)./:m]
]The servomotor connection seems to be reversed (from the looks of the headers). Unfortunately, we cannot tell since the wires are not visible in the picture./:m]
]Bonus! :: We also noticed in your first picture that the BotBoarduino has wires in both VS and VL. Please let us know what does are connected to also./:m]

We hope this helps.

Sincerely,

I apologize, I should have taken a more “all” shot. I am at work now but will check your suggestions, and also give you a better pic of what is connected where. For now, all I have is the battery pak that came with the 'bot (well, I recently bought a newer one just like it). I do not have any other power inputs presently. I plan to hook the Botboarduino up soon and start sending commands via Arduino, but for now I just want to experiment with the SSC-32 controls to get more familiar with the servos, etc.
When I get home I will check your suggestions, and also upload a more comprehensive picture.
Thanks again Sebastien!

Please note that the old SSC-32 does have brownout issues if there is not VL input (separate power source than the VS1/2). Therefore, it is possible that many of your issues are due to the board restarting without you noticing. Since it would not change its ability to receive commands, you would not notice, except for the fact that it ignores S/T parameters when restarted.

If it is constantly restarting, then it would make it very hard to use S/T parameters, since the board would never be aware of the motor’s position (unknown at start-up).

We strongly recommend to have a 7-12 V DC power source (a 9 V DC battery should do fine) connected to the VL of the SSC-32. The SSC-32U has many electrical changes to remove this problem, hence why it gets away working fine with just one 6 V DC power source instead.

We’ll be waiting for your update.

Sincerely,

Sorry for the couple of days delay, had unexpected company show up and hexapod/robotics took a back seat.

Anyway, I took out the VS=VL jumper and hooked up a 9v battery (better pics uploaded). I did these 2 commands:
#2 P2400 S1000 #3 P2400 S100 (took my right, middle leg very slowly forward and up - worrked as expected)
#2 P2400 S100 #3 P2400 S100 (this should take the same leg and go back and down slowly, but it goes back and down, but very quickly as if no speed command was given).

On the left, middle leg, I do not know if I need new servos or what. I can get the servos on that leg to work sometimes, but it sounds like the gears might be broken or something, there is a constant noise coming from the top, or hip (#19) servo.

Sebastien, I think if you help me figure out what replacement for a Hi-Tec HS-300, I might get some new servos and try again. I also want to spend some time with the wiring of this SSC-32 and the Botboarduino, hopefully you can point me to a good connection document. Not only do I have wiring to complete b/t the SSC-32 and the Botboarduino, but my servo cables are all over the place and I want to clean it all up a bit.
To explain, I have had this thing for many, many years. I bought it from Lynxmotion and it originally came with a Basic controller, and I believe it was an SSC-16. I decided to attempt another try, and on recommendations from Robotshop (here) I upgraded to the Botboarduino and the SSC-32 (serial). I got frustrated with it after a while and let it sit. Recently, I purchased an Arcbotics Hexy, which kind of opened some doors. I got Hexy working, at least until the servos, which are cheap, started stripping themselves out. I then got out my old Lynxmotion Hexapod (this one) and with the sequencer have been making some strides. BTW, if you have any recommendations for different servos for the Arcbotics Hexy, I would surely like to get something for it that won’t strip the gears after a couple of battery cycles.

In summary, I think I need some new servos, the Hi-Tec HS-300’s do not appear to be available now. I will clean up my Hexapod wiring, and if you have a document that will concisely show me how to wire it, I will do that first.




Based on previous replies here, you do not seem to be using the SSC-32’s built in hexapod sequencer? This will save you a lot of time:
lynxmotion.com/images/html/b … #hexseqcom
Provided you have properly centered / calibrated the servos, you should be able to use the simple walking commands outlined in the guide above.
Read through the section and re-wire accordingly. You’ll also need to determine each point in the walking gait and send the appropriate calibration settings.

If you really think one or more of the servos is burnt, then they should be standard sized, and you can replace them with an HS-422:
robotshop.com/en/hitec-hs422 … motor.html

Interesting… the commands I was using was via the sequencer in the LynxTerm app. and from that same document you referenced. I was doing them via # as opposed to LH, RH, etc. I’ll give this a shot to see if I have any different results.
The left, middle leg is mis-behaving though. The only time it seems to do as I tell it is when I hit the “all=1500” button on the sequencer. Anything else seems to make it sound like the gears are spinning all the time.
As I said, I am going to clean up the wiring and make sure all my connections are good and then come back. If I can’t get that one leg to cooperate I’ll replace the servos though.
Thanks!

Well, I went thru all the wiring, per the drawing for the Botboarduino V1 and the SSC-32 and now I have absolutely no control of the servos. Nothing works. I’ve attached another pic, to show what lights, etc are on. The red and yellow led’s on the Botboard flash on and off every couple of seconds. I have a 9volt battery that is new, and the servo battery is charged. When I turn the toggle for the 9v battery power on, the servos move for just a second. I have no control of them via the LynxTerm Sequencer. Dangit…

I thought about it all night, and got up first thing this morning… I checked the voltage to both boards to make sure I have +9 where I am supposed to, and +8 to the servos (I have 2 rechargeable batteries for the servos, both charge to about 8.1volts). I was worried I had reversed the voltages but I did not. Also, the Botboarduino makes a slight clicking sound. I’ve tried powering it completely down, disconnecting the Botboarduino completely and I still cannot move any servo via the LynxTerm sequencer… have I damaged the boards with my wiring? Every time I turn on the +9v the legs all jump forward on the right side, and towards the rear on the left side. It looks like it is curling up…

If the servos are standard, we’re not sure how you can be powering them at 8V (most RC servos operate at 4.8V to 6V).
Note that you should only use either the SSC-32 on its own via the computer, or the SSC-32 and BotBoarduino without the computer connected to the SSC-32.
You also need to change the baud rate jumpers on the SSC-32 to ensure the baud rate on the board corresponds with what you are sending.
One thing at a time - disconnect the BotBoarduino entirely and send the commands purely from the computer first (Lynxterm for example).

I have to leave for work, so I’ll disconnect it and check the baud settings tonight. I included another pic (sorry) of the charger, the original battery, and the battery I purchased fairly recently for this 'bot. The charger says 7.2 volts on it… again, it was the one that came with it way back when I bought this Hexy from Lynxmotion so I assumed it was correct. Please let me know if it is not.
When I come home tonight I’ll try the baud. I was trying different baud rates within the LynxTerm but no result. I wonder why it worked fine before?

I do believe you have a product that even we internally do not have anymore (the charger).
It’s likely a question of what you had connected to the board at the time.
Note that when you connect the SSC-32 to the computer, you need to put the Tx and Rx jumpers back in place.

I see… the TX and RX jumpers are what I took out to connect the Botboarduino…I’ll disconnect those connections to the Botboard (as you suggested earlier) and put these back in. I’ll bet that makes it work. I forgot I had to take them out when I connected the Botboard… If I wasn’t ready for the work day to be done before, now I really want it over so I can see if I can get my Hex working again. BTW, I ordered some new servos in case that one leg is bad. When I rotate them by hand, when the power is off, there are a couple of spots that seem like the gears slip. I was hoping to do some more with the sequencer before ordering, but thought I would get a jump on it.
Is there a better charger battery combo that you’d recommend? I’ll get whatever is better for the servos, this is what I’ve had all along… bought the newer battery anticipating the old one wouldn’t have much endurance, but they both charge to about 8.1 volts.

The standard battery we have been suggesting for RC servos has been:
robotshop.com/en/6v-2800mah- … ttery.html
robotshop.com/en/nimh-nicd-s … -1025.html

Side note: the sequencer is used only with the SSC-32 - you cannot have the BotBoarduino connected.

I got some time this weekend and I disconnected the Botboard and put the RX/TX jumpers back in. I got control of the thing again! I played around with some sequencer commands, I had no idea that it would walk for you… after re-reading I still do not see where that is explained fully. Anyway, I ordered 2 new servos for the left middle leg that has some gears spinning, I know there are some stripped gears in them. Once I get the new servos in I’ll install them and hopefully get it to walk (other than being on an empty CD case where I have it now, no weight on the legs). I’d like to get more familliar with walking with the sequencer, it appears to make it easier. The SSC-32 user guide has it doing a sideways walk. The actual walking appears to be left to the imagination. I looked for some examples but could not find any.