Ok I gave up on the MG90 type Hexapod and bought a full size kit and MG995 servos. So I have a brand new Botboarduino and SSC-32U plus I ordered a new V2 PS2 controller. It took most of the day to build and I had to use the servo disk Homs that came with the servos (And why are servo screws always weak and easy to strip?) had to quit because I only had 3 zip ties.
I was using a 11.1v Lipo at 1500mah going through a 5v 9a power regulator for my lil hex and after picking this thing up with it all put together and it’s so heavy. Will my power needs be the same or do I need to get a higher capacity battery.
Also when I was putting the coxa pieces together I noticed the femur bracket on the coxa pieces is way up high. Can I lower the femur brackets where they are level with the coxa servos?
The capacity of the battery is related to how long it will last. You need a battery which is ideally suited for RC servos and can discharge at the necessary current under load.
All right guys I had to take a break from my robot for a while. I was starting to get aggravated but m feeling better now.
I spent today rebuilding the MG995 servo Hexapod testing The servos and replacing one. I then used lynx term to align every thing. But I have a question.
Here’s a pic of the right front coxa servo set up. As you can see the femur servo is so much higher than the coxa body servo.
Is there an upgraded version of the source code? I tried a few weeks ago to set it up before today and both then and today I get lil orange messages in the lower screen of arduino while compiling saying some thing is degraded?
Regarding the legs, take a look at the way the Phoenix is assembled: lynxmotion.com/images/html/build131.htm
You can see the servo orientation in the first and last images.
Still can’t figure out how to save my calibration to the SSC-32u. I looked at the manual for the two programs lynx term and the SSC-32u servo sequencer all I’m getting is save to disk. Do I need to navigate it to the board shown in my computer?
I did download the new code and installed it after making the nessacary changes to hex_config and changing the servo direction in phoenix_driver_ssc32.cpp. It was riding high and I was having trouble lowering the hex so I changed the initial Y to the 30 setting instead of 80.
All right so here is what I get in the lil lower arduino screen when I compile the code…
[code]
[font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp: in member function ’ void servo driver::FindServoOffsets()’:[/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning deprecated conversion from string constant to ‘char*’ -Write-strings][/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4] static char apszLegs] = {“RR”, “RM”, “RF”, “LR”, “LM”, “LF”}; // Leg Order[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to 'char’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:366:64: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4] static char apszLJoints] = ( “Coxa”, “Femur”, “Tibia”, “tArs”); // which joints on the leg[/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to 'char’ [Wwrite-strings] [/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings][/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]Sketch\phoenix_driver_ssc32.cpp:367:71: warning: deprecated conversion from string constant to ‘char*’ [Wwrite-strings][/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]C:\Users\duhjoker\Documents\Arduino\libraries\PS2X_lib.cpp: In member function ‘void PS2X::read_gamepad(Boolean, byte)’:[/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]C:\Users\duhjoker\Documents\Arduino\libraries\PS2X_lib.cpp:104::53: warning narrowing conversion of ‘motor2’ from ‘byte {aka unsigned char}’ to ‘char’ inside { } -Wnarrowing][/size][/font][font=UICTFontTextStyleBody][size=4]--------------------------------------------------------------------------------------[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][size=4]char dword[9] = {0x01,0x42,0,motor1,motor2,0,0,0,0};[/size][/font][font=UICTFontTextStyleBody][/font][font=UICTFontTextStyleBody][/font][/code]
I’m sure there are some syntax errors in the code pasted above but it’s what I get I tried spacing the code but it just jumbles it back up
Not sure what happened to the code section of your last post - can you take a look?
You can temporarily use Lynxterm (connect the SSC-32 directly to the computer): lynxmotion.com/p-567-free-do … xterm.aspx
Use the “setup” and the “Reg” to change the offsets.
I’m hoping that will solve the spastic behavior it had when power is added. The legs just do what ever.
I’ve watched a lot of videos on the Lynxmotion Hexapods and I noticed some hex’s when turned on start every thing on the 1500 neutral setting and others start up in the body down legs up position.
Mine starts at the 1500 neutral setting and I have trim it down using the D-pad on the PS2 controller.
Ok I had it working kind of. I think I’m having power problems. I can get it to come on and the controller beeps the board when I hit start but then beeps again and loses communication with the PS2 controller. Which of course drops the body.
I also played around with some of the other options. But I eventually had to cut it. The 9A step down got really hot too. I think I need 12A to adequately power it.
Also when it walks the femurs are almost all the way out. And all the videos I see every thing is real tight off the body.
So operating 6V servos at 6V but from an 11.1V LiPo (did you mean a 6V regulator as opposed to 12V?)
It’s certainly possible, but we have not tested that approach, and as you have discovered, there may be some issues.
We can see the advantage in being able to power the electronics too, but a 7.4V LiPo may have been a bit better.
It’s really best to operate standard RC servos directly from a 6V pack.
You may need to test actual current draw etc.
My smaller hexapod was having the problem with a 2A regulator so i upped it to 9A and the glitches stopped.
Also had to cut down my nylon spacers holding the two boards together. The servo leads for the PS2 were a lil high and the top of the board was bending slightly. After taking a look at old set of servo wires i had on the botboarduino and it lloks it might have been scarring the teflon coating on the wires which can cause shorts that may cut the PS2 off.
Well my 12A adjustable voltage regulator was not functioning. So I connected the pololu 9A 6v regulator back on and started the bot up.
What it does is I hit start the legs come down but when they try to propel the body upwards it Browns out.
If I pick it up and start it on its pedestal where the legs are free it works fine. It’s only when it had to support it self does it glitch.
I looked up the servos specs and see that they have a running current of .5 to .9 amps. With a stall current of 2.5A
I don’t know anything about stall current but running current would be .9 X 18 = 16.2A.
I think I might be able to use a single 9A 6v pololu voltage regulator and 7.4v battery for each servo bank and switch from powering every thing on one battery and power the boards and the PS2 Reciever using a 9v as instructed in the turtorial.
I think I’ll try running the boards with a 9v battery and use my 9A 6v for the servos and see what happens before buying another regulator.
Ok well I admit it I am just too hard headed. Ok so did some re-wiring and made the boards powered by the 9v battery then powered the servos using 9A regulator. I thought it was pumping 6v but after checking my previous purchases I see that the one I bought was a 5v regulator.
Which might explain why the servos are kind of slow. It should be jumpy but it’s not as jumpy as I see on you tube. I also have it set to high speed when I use it.
Any way except for the quickness of the servos every thing finally seems to be working. I think I might have bad servo too.
I actually broke out the level tonight for the femurs then saw where I was supposed to off set the tibia servos 15* which makes it look real good when it’s walking.
Think I might go ahead and buy another adjustable so I can give it the 6v it needs and the extra amperage won’t hurt if I get a working 12A regulator.
Ok I was looking at the battery packs on the Lynxmotion site. Am I to understand a Ni-Mh battery pack would solve my power issues? I’m not seeing any kind of regulators but I don’t see how that would work over a lipo but I’m willing to try if you say that will work in place of my lipo and regulator
The hexapods we offer tend to use the 6V, 2800mAh NiMh battery for the servos, and a separate 9V battery for the logic voltage. robotshop.com/en/6v-2800mah- … =RB-Sta-08