Phoenix Bot Board II / BASIC Atom Pro Tutorial

Last modified by Eric Nantel on 2023/01/26 14:38

Phoenix Bot Board II / BASIC Atom Pro Tutorial.

Updated 08/10/2010. Phoenix code v2.0.

Safety first! Wear eye protection and never touch a powered robot!

Note: This tutorial applies to the SSC-32 v2 with GP firmware.

Software:
  - Basic Micro Studio
  - Basic Atom Pro program


Image of Phoenix.
 

I. Phoenix Configuration: SSC-32 Registers

 

Step 1.
Place the robot on top of a CD spindle or similar to hold the legs off the ground.

Download and install LynxTerm. Connect the SSC-32 to the serial port and apply power. The green LED should light and stay on until it receives a valid serial command. Run the LynxTerm program.

Please consult the serial troubleshooting guide if you have difficulties with this.


Figure 1.

 
Step 3.
Download the 2.04GP Beta firmware or higher. Remove power from the SSC-32, and make sure the baud rate is set to 115.2k. Refer to the manual if you need more information regarding baud rate.

Apply power to the SSC-32 again, make sure it's connected to the PC, and click on "Firmware" along the bottom of the LynxTerm screen.

Click on "Open" and browse to the firmware file you just downloaded.

Click on "Begin Update".


Figure 3.


Step 4.
When the firmware has been successfully updated, click "Ok" then "Exit".

Now do the "ver" test: type "ver" into the terminal then press "Enter". You should see the proper firmware version returned.


Figure 4.

 
Step 5.
Place the robot in a position as close to neutral as possible. Click on "All=1500" in the bottom right portion of the screen. Your robot should go to and hold the neutral position, and should resemble figures 7, 8, and 9. If the joints are off by more than 15° you may have made an error in assembly. To correct this, remove the center screw from the round servo horn, pull the servo horn off the servo, rotate until it's aligned, then reattach the servo horn.


Figure 5.

 
Step 6.
From the main screen, click on "Reg" to open the Registers page.

Click on "Default" to initialize default values.


Figure 6.


Refer to this servo channel number guide for the following three steps.

 

Do the most accurate alignment as possible! The robot can only operate as well as as it is aligned. In other words, a poorly aligned robot will walk poorly!


Servo Channel Numbering.

 
Step 7.
You need to adjust the robot's horizontal hip servos. Select servo #0, then adjust the "Offset" slider until the tibia is in line with the horizontal hip servo horn's screws as shown.

Do this for servos #00, 04, 08, 16, 20, 24.

Note, the mouse's scrollwheel or keyboard's arrow keys can be used to make fine adjustments.


Figure 7.

 
Step 8.
Now adjust the robot's vertical hip servo. Select servo #1, then adjust the "Offset" slider until the robot's femur is parallel to the ground as shown.

Do this for servos #01, 05, 09, 17, 21, 25.


Figure 8.


Step 9.
Now adjust the robot's knee servo. Select servo #2, then adjust the "Offset" slider until the tip of the robot's foot is directly underneath the knee servo pivot point. From the servo's pivot point to the tip of the foot should be perpendicular to the ground as shown.

Do this for servos #02, 06, 10, 18, 22, 26.


Figure 9.

 
Step 10.
Enable "Initial Pulse Offset", then click "Write" and exit LynxTerm when the write process is finished.

Note, you can also check "Initial Pulse Width" to automatically enable the servos on power-up as an option. If you do, make sure you "Write" to save the changes. The next section of this tutorial allows Sequencer to enable the servos instead.

This completes the Phoenix configuration process for the SSC-32 registers. Now, whenever the robot is turned on, the servos will automatically be aligned and/or enabled.


Figure 10.

 

II. Phoenix Configuration: Bot Board II Installation

 
Step 11.
Remove a screw holding the SSC-32's standoffs onto the Phoenix chassis. Replace the screw with the 3/8" M/F standoff as shown. Be careful to not over tighten! Repeat for the remaining three screws.


Figure 11.


Step 12.
Flip the Phoenix over and attach the PS2 cable's receiver socket as shown. Route the rest of the cable up and out the top.

 

 

Step 13.
To connect the Bot Board II to the SSC-32, you will need to modify a 6" servo extender cable. Remove the header pins from the cable so you have two female ends. Then use an exacto knife to gently pry the tab up to pull the red wire free on one end. Cover the exposed female connector with heat shrink to avoid accidental shorts.

Remove the TX and RX jumpers from the lower-right corner of the SSC-32, and plug the unmodified end of the cable in. Yellow on TX, red on RX, and black on ground.

Plug in some extra lengths of 18-24awg wires to VL on the SSC-32, with the 9vdc battery clip. These will be used to run power to the Bot Board II.

See Tables 14-1 through 14-3, and Schematic 14-3 for connection information.


Figure 12.

 


Figure 13.


Step 14.
Install the Bot Board II, using 1/4" socket head screws. Plug the modified end of the servo The yellow and black part goes on pin 10 with the black wire toward the outside of the Bot Board II. Plug the red wire in on Pin 11, on the header pin nearest the center of the Bot Board II.

Plug in the PS2 cable as shown in Figure 14-2. Plug in the power wires from the SSC-32 to VL.

Note: Refer only to Figure 14-2 for connection information. The cable colors in the picture may be outdated. If your cable's colors do not match the diagram, you can find a complete listing of possible colors here.

See Tables 14-1 through 14-3, and Schematic 14-3 for connection information.

Install the BASIC Atom Pro as shown.

4 x Atom Pro Orientation:


Figure 14-1.
 


Figure 14-2.


Connection Information Tables.

SSC-32 Connection Information
What Where
Jumper installed VS1=VS2
Jumper installed 38.4 Baud Rate
Unmodified Servo Cable End TX / RX / GND
Black wire on GND
9vdc Battery Clip VL
Power Wires VL to BBII's VL
Battery Wiring Harness VS1
 
Bot Board II Connection Information
What Where
Power Wires SSC-32's VL to VL
Modified Servo Cable End
Black and Yellow wires
Pin 10, Black wire toward outside of board
Modified Servo Cable End
Red wire
Pin 11, toward center of board
Power jumper for I/O group 12-15 5vdc
PS2 Cable I/O Group 12-15
(see diagram above)

Table 14-1

Table 14-2

 
Servo Channels and Schematic Label Explanations
RRH / 00 Right Rear Horizontal Hip LRH / 16 Left Rear Horizontal Hip
RRV / 01 Right Rear Vertical Hip LRV / 17 Left Rear Vertical Hip
RRK / 02 Right Rear Knee LRK / 18 Left Rear Knee
RMH / 04 Right Middle Horizontal Hip LMH / 20 Left Middle Horizontal Hip
RMV / 05 Right Middle Vertical Hip LMV / 21 Left Middle Vertical Hip
RMK / 06 Right Middle Knee LMK / 22 Left Middle Knee
RFH / 08 Right Front Horizontal Hip LFH / 24 Left Front Horizontal Hip
RFV / 09 Right Front Vertical Hip LFV / 25 Left Front Vertical Hip
RFK / 10 Right Front Knee LFK / 26 Left Front Knee

Table 14-3


Schematic - Figure 14-3.

Schematic - Figure 14-3.


Step 15.
Download the Basic Micro Studio from (here). Install and run the IDE to allow programming the chip.

Connect the serial data cable to the PC's serial port. This can be recognized by having 9 pins that stick out. Connect the other end of the serial data cable to the Bot Board's DB9 port. Note, you can also use a BAFO BF-810 or IOGear USB-to-Serial adaptor.


Figure 15.
 
For Phoenix or CH3-R with PS2 controller:

Step 16. Download the Program
Download the .zip file, and unzip it. Open the .prj file in Studio (File->Open->*.prj), and verify that the files listed in the Workspace are in the order shown in Table 16. Install the PS2 controller receiver into the PS2 cable on the robot, make sure your PS2 controller is turned on, and then apply power to the robot. Program the Atom Pro. If all is well, you will hear a beep after power up. Press Start and the legs should snap to position. At this point, if you properly calibrated the servo offsets, the legs should be perfectly aligned.

Note: The software switches the controller to analog mode. However, some controllers may need to be put into analog mode manually. If you hear a continuous beeping, the PS2 controller is not connected to the Atom properly or is not functioning. If you hear beeping, you can try pressing Reset on the Bot Board II. You can also test the controller with a Playstation 2 to verify that it is working.

Phoenix BASIC Atom Pro Program
Phoenix:
phoe2ps2.zip

Zip file contains:

  • phoenix_V20.prj
  • phoenix_cfg.bas
  • phoenix_V20.bas
  • phoenix_control_ps2.bas
CH3-R BASIC Atom Pro Program
CH3-R:
ch3r2ps2.zip

Zip file contains:

  • phoenix_V20.prj
  • ch3-r_cfg.bas
  • phoenix_V20.bas
  • phoenix_control_ps2.bas
Table 16.
 
Step 17. Controlling the Robot with PS2 Controller
The default is Walking mode 1. Use the Left joystick to move the robot around without turning (this is called "translation"), and the Right joystick rotates the robot as it moves. Up and Down on the D-Pad increases or decreases the height of the body. The Triangle button puts the body at 35mm from the ground. The Circle button puts the body onto the floor in a 'resting' position. Press Triangle or Up on the D-Pad to raise the body.

There are four special "body moves" functions that are triggered by pressing L1, L2, Circle, or X. While in one of these modes, the hexapod does not walk. The joysticks and some buttons change function depending on which mode is toggled on; see Table 17 for details.


Button

Function

Common Controls

Start Turn robot on/off
R3 Switch between Walk mode 1 (default) and Walk mode 2
L1 Toggle Shift mode
L2 Toggle Rotate mode
X Toggle GP Player mode
O Circle Toggle Single Leg mode
[] Square Toggle Balance mode
(Balance mode: Lifts and lowers body along with moving legs.)
/\ Triangle Switch between body at 35mm from ground (walking default) and body lowered to ground
D-Pad Up Body up 10mm
D-Pad Down Body down 10mm
D-Pad Left Decrease speed by 50mS
D-Pad Right Increase speed by 50mS

Walk Mode Controls
(Default is Walk mode 1)

Select Change gaits
Left Joystick Walk mode 1: Walk/strafe
Walk mode 2: Disabled
Right Joystick Walk mode 1: Rotate
Walk mode 2: Walk/rotate
R1 Toggle double gait travel speed
R2 Toggle double gait travel length
 

Button

Function

Shift Mode Controls
(Special mode)

L1 Turn Shift mode off
Left Joystick Shift body X/Z
Right Joystick Shift and rotate body Y

Rotate Mode Controls
(Special mode)

L2 Turn Rotate mode off
Left Joystick Rotate body X/Z
Right Joystick Rotate body Y

Single Leg Mode Controls
(Special mode)

O Circle Turn Single Leg mode off
Select Switch legs
Left Joystick Move leg X/Z (relative)
Right Joystick Move leg Y (absolute)
R2 Hold/release leg position

GP Player Mode Controls
(Special mode; Requires GP firmware in SSC-32)

X Turn GP Player mode off
Select Switch sequences
R2 Start sequences
PS2 Controls
Table 17.

For Phoenix or CH3-R with DIY controller:

Information on the DIY controller is located on our forum.

Step 18. Download the Program
Download the .zip file, and unzip it. Open the .prj file in Studio (File->Open->*.prj), and verify that the files listed in the Workspace are in the order shown in Table 18. Program the Atom Pro. Install the PS2 controller receiver into the PS2 cable on the robot, and apply power. If all is well, you will hear a beep after power up. Press Start and the legs should snap to position. At this point, if you properly calibrated the servo offsets, the legs should be perfectly aligned. Remove power to the robot.

Phoenix BASIC Atom Pro Program
Phoenix:
phoe2diy.zip

Zip file contains:

  • phoenix_V20.prj
  • phoenix_cfg.bas
  • phoenix_V20.bas
  • phoenix_control_diy-rc.bas
CH3-R BASIC Atom Pro Program
CH3-R:
ch3r2diy.zip

Zip file contains:

  • phoenix_V20.prj
  • ch3-r_cfg.bas
  • phoenix_V20.bas
  • phoenix_control_diy-rc.bas
Table 18.
 
Step 19. Controlling the Robot with DIY Controller
Use the Left joystick to control the body height and rotation. The Right joystick handles walking and strafing. 

There are four special "body moves" functions that are triggered by pressing B, C, or D. While in one of these modes, the hexapod does not walk. The joysticks and some buttons change function depending on which mode is turned on; see Table 19 for details. Press A to go back to normal Walking mode.

 

Button

Function

Common Controls

0 Turn robot on/off
A Walk mode
B Translate mode
C Rotate mode
D Single Leg mode
E Toggle Balance mode
(Balance mode: Lifts and lowers body along with moving legs.)
Left Slider Speed
Right Slider Leg Lift height

Walk Mode Controls

1-8 Switch gaits
Left Joystick Body height/rotate
Right Joystick Walk/strafe
 

Button

Function

Translate Mode Controls
(Special mode)

B Turn Translate mode off
Left Joystick Body height / Rotate body Y
Right Joystick Translate body X/Z

Rotate Mode Controls
(Special mode)

C Turn Rotate mode off
Left Joystick Body height / Rotate body Y
Right Joystick Rotate body X/Z

Single Leg Mode Controls
(Special mode)

D Turn Single Leg mode off
1-6 Switch legs
Left Joystick Move tars Y
Right Joystick Move tars X/Z
DIY Controls
Table 19.
Tags:
Created by Eric Nantel on 2023/01/26 14:28
Copyright RobotShop 2018