Problem with my BotBoarduino+SSC-32 BH3 Hexapot

Hi!

Hope you can help me with my problem.
I have been fowling this guide lynxmotion.com/images/html/build99f.htm and is almost at the end.
But nothing is moving at all, it seems like there is no communication between the two boards, the green led on the SSC-32 is not flashing.
I have connected up the two pcb’s and the servos after the Schematic in the guide, programmed the BotBoarduino with the code from the guide (BotBoarduino_CH3R_PS2).
The software in the SSC-32 is V2.03EX (have also tried with V2.04GP).
When I press start bottom on the PS2 controller I get the start sound from the BotBoarduino and also other beeps from pressing other bottoms, but no movement’s from the servos.
I have checked the battery voltage, it’s good, not dropping.
Another thing the Hexapot Calibration program can’t connect to the SSC-32 thru the BotBoarduino, but if I use RS232 on the SSC-32 it works fine.

Regards
Jesper

First the calibration program (depending on which one you are using) is setup to only talk directly to the SSC-32.

First if you are using the code I believe you are, you should look into the file Hex_Cfg.h
There will be some lines that look like:

[code]#define USE_SSC32
#define cSSC_BINARYMODE 1 // Define if your SSC-32 card supports binary mode.

//[SERIAL CONNECTIONS]

// Warning I will undefine some components as the non-megas don’t have enough memory…
//#undef OPT_FIND_SERVO_OFFSETS

#define cSSC_BAUD 38400 //SSC32 BAUD rate
[/code]
So it is using binary mode and will require a version of the SSC-32 firmware that supports this. I would use: 2.07EGP.
As an experiment, you could comment out the cSSC_BINARYMODE line (put // at the start of the line) and update the botbarduino and see if that helps.

Also the code is configured to talk at the baud rate 38400, so you should check the baud rate jumpers on the SSC-32
lynxmotion.com/images/html/b … m#ssc32lay
Check the jumpers labeled 9 and only have the first one on the board…

If that does not help, would help to see your actual wiring and jumpers. Things like is there power going out to the servos (VS1 and VS2). Do you have VL tied to VS1?..

Good Luck
Kurt

As always, excellent reply Kurte.

To emphasize - if the proposed solutions don’t work, please include some clear images of the setup so at least we know it’s not a hardware or configuration issue.

Thanks for your replay!

I have updated the SSC-32 to V2.07EGP_A1A, still no movment of the servos.

Then I tryed the other thing.
// out this line of code: #define cSSC_BINARYMODE 1
Now I get this compile error:
http://www.sandbjerg.net/pic/Compile%20error.jpg

My Hexapod:
sandbjerg.net/pic/Hexapod.jpg

Regards Jesper

Note, this was fixed in my later stuff…

I keep my versions up on github\kurte

The most recent stuff is in the project: Arduino_Phoenix_Parts

However for the compile option you mentioned, I believe the proper fix is to change the one line that showed the error to:

    SSCSerial.println(wMoveTime, DEC);

Kurt

Hi Kurt,

Yes, that fixed the compile error, but still no servo movment and still no flashing of the green led on the SSC-32. :frowning:

I looked at github.com/KurtE/Arduino_Phoenix_Parts , but now sure what to use i there. :question:

Jesper

For simple servo testing you might try the below code using the arduino IDE serial monitor. Connect the BotBoarduino tx pin to the ssc-32 TTL rx pin, and make sure the ssc-32 and BotBoarduino grounds are connected. Send an ssc-32 command from the serial monitor to the BotBoarduino, and then the command should be echoed back to the serial monitor as well as being sent to the ssc-32. the code will append the needed carriage return to the returned command Make sure all three are sent to the same baud rate.

// zoomkat 7-30-11 serial I/O string test
// type a string in serial monitor. then send or enter
// for IDE 0019 and later

String readString;

void setup() {
  Serial.begin(9600);
  Serial.println("serial test 0021"); // so I can keep track of what is loaded
}

void loop() {

  while (Serial.available()) {
    delay(2);  //delay to allow byte to arrive in input buffer
    char c = Serial.read();
    readString += c;
  }

  if (readString.length() >0) {
    Serial.println(readString);

    readString="";
  } 
}

This is working:

[code]void setup()
{
Serial.begin(38400); //Most reliable baud rate for BotBoarduino + SSC-32
}

//Move command syntax
//# P

T
//s is number of servo
//p is position in uS (500 - 2500)
//t is the time for the move to take is uS
void moveServo(byte servo, int pos, int time)
{
Serial.print("#");
Serial.print(servo);
Serial.print(" P");
Serial.print(pos);
Serial.print(" T");
Serial.println(time);
delay(time); //force Arduino to wait for the move to complete
}

void loop()
{
moveServo(10, 2000, 500); //Move servo 0 to 2000uS in 500uS
moveServo(10, 1000, 2000); //Move servo 0 to 1000uS in 2000uS
}[/code]

Found it in another thread.
Had to move the serial wire from pin 12 and 13 to rx and tx on the BotBoarduino.

Maybe it’s the port at pin 12 and/or 13 that has stopped working. Would be nice if I somehow could test there function, with some simple piece of code.

zoomkat, sorry but don’t quite understand what it is your code is doing.

Jesper

Does the led on the SSC-32 come on at all?
How is the SSC-32 wired to the BotBoarduino? Picture?

The thing is If the SSC-32 led is not flashing, the SSC-32 is not receiving anything. The SSC-32 should blink as it receives data regardless if the data is correct, or even if the baud rate is wrong.

There is a readme up on the Phoenix parts, that if you download all of the stuff and put it into the libraries folder of your Arduino Sketchbook. Then when you load the IDE, I put several examples of using it in the Phoenix folder. So you would go to the file menu, then look at the examples menu item, then look into the Phoenix menu item and choose the closest looking one. You can then save it away into your sketch folder and make mods to your actual setup…

But back to the SSC-32 issue. If you are following the tutorial: lynxmotion.com/images/html/build99f.htm
Did you do the cable modifications like mentioned in figures 2 and 3?
WARNING: Figure 2 and 3 does not look the same as the schematic picture. As the Black and Yellow wires are in one plug and the red is separate! So on your bot is the Red wire plugged into IO pin 12 or 13? Try swapping. ie the red should be on 12 and yellow on 13…

Kurt

It’s working now.

I swaped the red and yellow wire, red to pin 12, yellow to pin 13, not like showen i the tutorial Schematic.

thanks for your help, now it’s time to play. :smiley:

Jesper