AR4 Robot Manul
AR4 Robot Manul
AR4 Robot Manul
• Electrical Safety
• Overview
• Chapter 1 – Bill of Materials
• Chapter 2 – Robot Assembly
• Chapter 3 – Enclosure Assembly
• Chapter 4 – Wiring Diagram
• Chapter 5 – Robot Gripper
• Chapter 6 – Specifications
• Chapter 7 – Startup Procedure
• Chapter 8 – Programming
2
Electrical Safety
ELECTRIC SHOCK HAZARD. The construction of this control enclosure poses potential
exposure to alternating current and direct current which has the potential to cause injury
or death. This equipment should be constructed and serviced by trained or qualified
persons.
Keep the area around the device clear and free from dust before, during, and after
installation.
Wear safety glasses if you are working under any conditions that could be hazardous to
your eyes.
Do not perform any actions that create a potential hazard to people or make the
equipment unsafe.
Never install or manipulate wiring during electrical storms.
Never install electrical jacks in wet locations unless the jacks are specifically designed for
wet environments.
Operate the device only when it is properly grounded.
Ensure that the separate protective earthing terminal provided on this device is permanently
connected to earth.
Replace fuses only with fuses of the same type and rating.
Do not open or remove chassis covers or sheet-metal parts unless instructions are
provided in the hardware documentation for this device. Such an action could cause severe
electrical shock.
Do not push or force any objects through any opening in the chassis frame. Such an action
could result in electrical shock or fire.
Avoid spilling liquid onto the chassis or onto any device component. Such an action could
cause electrical shock or damage the device.
Avoid touching uninsulated electrical wires or terminals that have not been disconnected
from their power source. Such an action could cause electrical shock.
Always ensure that all modules, power supplies, and cover panels are fully inserted and that
the installation screws are fully tightened.
3
OVERVIEW
About building this robot:
The AR4 is an open design 6 axis robot that anyone can build. All software, print files and
manuals are available for download on the Annin Robotics website downloads page. All the
components you need to build this robot are outlined in Chapter 1. The assembly of the robot
arm is outlined in Chapter 2. The assembly of the electrical enclosure is outlined in Chapter
3..
• 3D covers and spacers (you must print these yourself) see chapter one “spacers and
covers” section.
• Structural components - You can print these yourself to build a 3D printed robot or you
can purchase an aluminum parts kit from the robot kits page to build your robot from
aluminum https://www.anninrobotics.com/robot-kits. There are 27 structural components –
see chapter one “structural components” section.
• Hardware components – this includes the bearings, belts, pulleys, sprockets, chain, shafts,
pins, machine screws and set screws. These can be purchased from multiple sources – see
chapter one “hardware components” section. If you have difficulty finding these component
or wish to buy them all in one place I buy them all in bulk and have made a hardware
components kit available on the robot kits page: https://www.anninrobotics.com/robot-kits.
• Stepper Motors and Drivers – the 6 motors, drivers and power supply are available
directly from Stepperonline, there is a link to this package on the robot kits page:
https://www.anninrobotics.com/robot-kits.
• Misc. components – The miscellaneous components needed include items such as solder,
heat shrink tubing and ethernet cables. You will also need to choose what type of gripper or
end effector your robot will need and you will also need to identify what type of enclosure
or panel you want to use for installing or mounting the power supply and drivers. All of the
miscellaneous components are outlined in the Misc. components section of the bill of
materials chapter
4
General Robot Assembly notes:
Tools Needed:
• General hand tools including metric hex key set, locking pliers, wire cutters, wire
strippers.
• Wire ferrule crimpers and wire ferrules.
• Soldering Iron and flux core silver bearing solder.
• Heat gun or lighter for shrink tubing
• 3D printer and printer filament.
• Various size drill bits for clearing holes in 3D printed components.
• M3, M4, M6 and M8 taps for threading plastic components.
• Epoxy is used for the J6 limit switch tip. Epoxy is also used in some areas of the robot
assembly when using 3D printed components.
• A digital level is recommended to assist in fine tuning the robots auto calibration.
Bearing Fit:
The CAD models for the AR4 robot are sized for a slight press fit on all bearing and race
diameters. The assembly steps in this manual also reference pressing the bearings and races
in place. Given customer feedback and the fact that most don’t have access to a quality
bearing press or hardware I have tried to make sure the aluminum kits offered are closer
to a slip fit. If bearings get improperly wedged or tilted and then attempt to press, severe
damage can occur. Given the opportunity for bearings to jam and permanently damage to
occur I have opted to try and provide kits that error on the side of a looser fit to avoid
part damage and frustration. If the tolerance stack up on your components results in a
race that is slightly loose, please use bearing retaining compound to alleviate any
movement.
The bearing oil that comes on bearings should be sufficient lubrication given the low
speed and pressure of the robot joints. If additional lubrication is desired, a very small
about of standard bearing grease is recommended.
5
3D Printing Your Robot:
This manual shows the construction of the robot using aluminum for the main structural
components but the robot can also be constructed using all 3D printed components. The .stl
print files for all components are here: https://www.anninrobotics.com/downloads The
construction illustrated in this manual is the same using either aluminum or 3D printed
components - note the following details if using 3D printed components:
• 3D printed components require all threaded holes to be cleared with appropriate drill
size and then tapped.
• All printed structural components were printed at minimum 50% infill with the exception
of the J2 and J3 drive spindles and tension rings which were printed at 90%+ solid. Parts
were printed at 2mm layer height and 5 layer thick shells.
• All printed covers and spacers were printed at 20% infill at 2mm layer height and 5 layer
thick shells.
• The robots I have 3D printed were made using ABS at 220° nozzle temperature. I have
not personally tried using other materials but I have received feedback from numerous
people who have used PLA, PETG and carbon fiber reinforced filaments without issues.
• The J1 baseplate, J1 baseplate spacer and J2 arm larger than most 3D printer beds and
therefore are printed in 2 pieces and require being epoxied together.
• The J1 spindle is printed in 2 pieces and requires the center alignment plug be epoxied
into the end of the spindle – this is the center hub that centers the 60T timing pulley.
• The printed design calls for additional reinforcements to be epoxide in place around the
J1 base and at the base of the J2 arm (see details at the end of this manual)
• The J4 tube cannot be 3D printed; if building a fully 3D printed robot you will need to cut
and drill aluminum tubing as shown in structural components BOM section of chapter 1.
• 2 spools of filament are needed for printing the primary structural components. A 3rd
spool is needed if you wish to print your covers and spacers in a different color.
7th AXIS
Please note there are several steps that refer to an optional 7th axis travel track. The robot
itself only requires 6 drivers and 6 motor plugs/cables. If you would like to build your
enclosure to accommodate a 7th axis you can add a 7th driver as well as a 7th plug and cable
but it is optional.
6
Using Braided Sleeve
Several Steps in this
manual will call for braided
sleeve to be placed over
electrical wires. Make sure
that as soon as you cut any
braided sleeve you use a
lighter or flame to carefully
melt the ends of the sleeve
as shown.
CAUTION: be extremely
careful to only get cutter
blade under the
shielding, it is very easy
to accidentally snag and
cut one of the wires.
Remove shielding as
shown.
Remove and cut green
wrap as shown.
• 3D PRINTED COMPONENTS
• These parts you need to print on your 3D printer (please
see the overview section on 3D printed parts).
• MISC. COMPONENTS
• These are the miscellaneous components you must source
yourself; this includes choosing what type of enclosure fits
your needs, what type of robot gripper you would like and
minor components such as solder and heat shrink tube.
15
Structural Components
J1 SPINDLE J1 PLATFORM
16
J2 TURRET HOUSING J2 ARM
17
J1 & J3 MOTOR MOUNTS J2 MOTOR SUPPORT
18
J3 SPINDLE RETAINER J4 TURRET HOUSING
19
J4 TIMING HUB J4 MOTOR MOUNT
20
J5 BEARING POST J5 IDLER TENSION BLOCK
21
J6 BEARING CAP J6 GRIPPER MOUNT
22
Note on J4 Main Shaft: If you are building a 3D printed robot and
do not have aluminum parts you will need to purchase a length of
aluminum tubing, cut and drill as shown in this drawing. 1” OD .035”
wall thickness tubing is available from McMaster Carr #1968T17 or
can be sourced from other online metal supply retailers.
23
Hardware Components
Qty. (2) 32009 (45x75x20mm) taper roller Qty. (2) 30206 (30x62x17.25mm) taper
bearing. roller bearing.
Qty.(4) LM3UU 3mm linear rod bearing. Qty.(1) 688Z (8x16x5mm) groove ball
bearing.
Qty.(1) 30203 (17x40x13.25mm) taper Qty.(1) 60T XL pulley.
roller bearing. (If sourcing your own parts this can be
purchased from Amazon or Servo City as a
black phenolic material which works fine - there is
also a 3D print file for this part)
Qty.(1) XL 10 tooth 6mm bore pulley Qty.(1) 8mm keyed rotary shaft (you will
need a length that is 50mm long)
28
J3 DRIVE OPTIONS:
When designing the AR4 I tried to make as many of the components as simple as
possible and out of standard thickness plate material where possible. Keeping the J2
arm and J3 motor mount as simple as possible meant the J3 motor shaft would not be
exposed very far. I wanted the design to use all low cost off the shelf parts, but I had
trouble finding an off the shelf belt / pulley combination that would work with the
limited shaft exposure so in the original design I chose to use a 6mm roller chain and
sprocket as this would fit the shaft length and handle the needed torque.
More recently I have designed a custom pulley and belt combination for the robot.
The Annin Robotics hardware kit comes with the newer belt and pulleys, but I wanted
to leave the chain and sprocket in the manual as an option for those building their
own robot and wanting to use off the shelf components without having to purchase a
hardware kit.
The following will show Option 1 using the newer custom pulley and belt, and then It
will show option 2 using the off the shelf roller chain and sprocket.
(2’ length) 04B 6mm roller chain Qty.(1) 04B link for 6mm chain
for J3 – Sourced from for J3 – Sourced from McMaster
McMaster Carr Carr
• Black
• Red
• Blue
• Green
6.6 meters
Standard flex Cat6 cable.
(solid core wire is fine)
2 meters
¾” braided sleeve.
1.65 meters
PG-21 gland nut.
Qty (2)
39
J2 UPPER AND LOWER ARM COVER J5 SIDE PLATE
SPACERS
40
J6 LIMIT SWITCH TIP J2 & J5 ARM COVER LOGOS
41
J2 Stop J3 Stop
42
CF Cat6 Jacket Stripper PANEL FACE - GX16 PLUGS
43
Stepper Motors & Drivers
All motors are available from Stepperonline. There is a link on the robot kits page to
a complete discounted motor, driver and power supply kit from Stepperonline.
https://www.omc-stepperonline.com/
J1 motor
SKU: 17HS15-1684D-
HG10-AR4
J2 motor
SKU: 23HS22-2804D-
HG50-AR4
J3 motor
SKU: 17HS15-1684D-
HG50-AR4
J4 motor
SKU: 11HS20-0674D-
PG14-AR4
J5 motor
17LS19-1684E-200G-AR4
J6 motor
SKU: 14HS11-1004D-
PG19-AR4
250W 24V 10A 115/230V
Switching Power Supply
https://www.omc-stepperonline.com/
DM320T digital stepper
driver.
https://www.omc-stepperonline.com/
Misc. Components
Many people building the robot
have an electrical panel or
enclosure they prefer or are
already using. It is up to you to
determine which enclosure or
panel best suits your needs.
This is the most economical
enclosure I have found and is
the one I show in this manual.
If using a pneumatic
gripper you will need a 5v
relay and a 24v 5 way 2
position solenoid valve.
If using a pneumatic
gripper on your robot:
Ethernet Cables.
Shielded cables are
recommended, they can be
any length but 5’ or 1.5m is
recommended.
Qty (3)
Heat Shrink Tubing
2mm and 1.5mm size
tubing is recommended.
57
Use M4 tap to thread (2)
holes as shown in J1 base
enclosure part 1
Carefully re-install J2
gearbox motor shaft
bearing assembly as shown
and tighten the M4 cap
screws.
97
OPTION 1 – J3 BELT AND PULLEY
DO NOT FORCE
BEARINGS OVER RODS
• the inner ball bearings
can be dislodged if
forced.
• If variation / tolerance in
either bearings, rods or
rod surface finish result
in a slightly tight fit or a
rough fit use a drill and
scotch-brite or fine steel
wool to polish rods –
make sure rods slide into
bearings easily and
smoothly.
This is a non-critical
dimension, it just needs to
fit inside the J5 spacer.
Rotate J6 housing to an up
angle so that the motor
side is down. (note blue
arrow – motor mount screw
hole is down)
It is recommended to coat
the exposed encoder and
motor wires with liquid
electrical tape (blue arrow).
It is recommended to use
liquid electrical tape to
insulate terminals on limit
switch.
Cut length of ¼” braided
sleeve to a length of 50cm
long then route J5 limit
switch wires through the
sleeve.
It is recommended to coat
the exposed encoder and
motor wires with liquid
electrical tape.
204
The core electrical
components kit does not
include an enclosure as
there are a wide variety of
choices for enclosures or
panels and it is up to the
builder to select the
encloser or panel that
works best for them.
In this manual I use the
BUD Industries NBF-32026
enclosure with backplane
and vent.
The following layout of
components in the
enclosure is my
recommendation but the
drivers and components
can be placed in any layout
or orientation desired.
BLACK = A+
GREEN = A-
RED = B+
WHITE = B-
This picture shows a close
up view of each wire
connected to one of the
drivers.
brown wire:
Teensy pin 0 to driver
PUL-
green wire:
Teensy pin 2 to driver
PUL-
blue wire:
Teensy pin 4 to driver
PUL-
brown wire:
Teensy pin 6 to driver
PUL-
green wire:
Teensy pin 8 to driver
PUL-
blue wire:
Teensy pin 10 to driver
PUL-
brown wire:
Teensy pin 12 to driver
PUL-
• White / Orange-Stripe to
Teensy pin #26
• Orange to Teensy pin #27
• White / Green-Stripe to
Teensy pin #28
• Blue to Teensy pin #29
• White / Blue-Stripe to
Teensy pin #30
• Green to Teensy pin #31
J1 – (DM542T):
SW1 = OFF SW2 = ON SW3 = ON SW4 = ON
SW5 = OFF SW6 = ON SW7 = ON SW8 = ON
J2 – (DM542T):
SW1 = OFF SW2 = OFF SW3 = ON SW4 = ON
SW5 = OFF SW6 = ON SW7 = ON SW8 = ON
J3 – (DM542T):
SW1 = OFF SW2 = ON SW3 = ON SW4 = ON
SW5 = OFF SW6 = ON SW7 = ON SW8 = ON
J4 – (DM320T):
SW1 = ON SW2 = OFF SW3 = ON
SW4 = ON SW5 = ON SW6 = ON
J5 – (DM542T):
SW1 = ON SW2 = ON SW3 = ON SW4 = ON
SW5 = ON SW6 = OFF SW7 = ON SW8 = ON
J6 – (DM542T):
SW1 = ON SW2 = ON SW3 = ON SW4 = OFF
SW5 = OFF SW6 = ON SW7 = ON SW8 = ON
247
NOTE: If using a 7th joint travel track (nema 17) use the same setting as J1.
CHAPTER 4
SCHEMATICS
248
Teensy 4.1 to Drivers Schematic
249
Teensy 4.1 to RJ45 Jacks Schematic
250
Encoder & Limit Switch Schematic (Robot side)
CHAPTER 5
ROBOT GRIPPERS
252
If using a servo gripper you would connect your servo to
one of the Arduino analog pins 0 through 7 and then use
the “Servo” position command button to control your
gripper.
253
If using a pneumatic gripper you would connect a
24vdc solenoid valve to one of the relay outputs
(Arduino outputs 28 through 36) and then use the
“Set Output On” and “Set Output Off” commands to
program relays to control your gripper.
254
Solenoid valves for controlling pneumatic grippers tend
to interrupt the serial connection to the controller. If
you find the Teensy or Arduino are losing connection
when the solenoid valve actuates install a flyover diode
across the solenoid terminals (revers bias).
https://en.wikipedia.org/wiki/Flyback_diode
255
CHAPTER 6
ROBOT SPECIFICATIONS
256
257
Reach – 24.75 inches (62.9cm)
Payload – 4.15 lbs (1.9kg)
Repeatability - .2mm
Robot weight (aluminum) – 27lbs (12.25kg)
Enclosure weight – 12.5lbs (5.6kg)
Max Power Consumption – 8.25amp (198 watts)
258
CHAPTER 7
STARTUP PROCEEDURE
259
AR3 Robot Startup & Troubleshooting
Before powering up your control box double check all connections per the wiring schematic.
Check continuity on all wires and connectors for each motor, encoder and limit switch. It is
imperative that all wire connectors are crimped or soldered carefully and checked with a volt
meter.
It is recommended that you plug in each of the (3) Ethernet cables prior to plugging in the
USB port for the Teensy 4.1.
Use (3) high quality shielded Ethernet cables and connect the enclosure encoder and limit
switch ports to the robot encoder and limit switch ports as shown in the diagram below:
260
• Review the AR4 software startup video found on the
tutorials page at www.anninrobotics.com and install the
AR4 teensy 4.1 sketch on your teensy board and load the
AR4 control software on your computer or laptop.
• After starting up the AR4 control software verify the log
screen shows the message “COMMUNICATIONS
STARTED WITH TEENSY 4.1 BOARD” and the system
message at the top of the main control screen says
“SYSTEM READY”.
• The first step is to check that each motor runs and jogs in
both directions. At this point we do not yet want to
troubleshoot any encoder issue or have any potential
encoder issues cause confusion when checking the
motors. For now select the checkboxes on the Config
Settings tab to disable all the encoders:
1. COMMUNICATION
2. SPEED / ACCELERATION /
DECELERATION
3. JOGGING
4. PROGRAMMING
5. CALIBRATION
272
1. COMMUNICATION
273
2. SPEED / ACCELERATION / DECELERATION
274
3. JOGGING
In the degrees to jog box enter the number of degrees you wish
the robot to move and then press the corresponding "-" or "+"
button to move each joint. When jogging in joint mode You can
also jog the robot in individual motor steps by checking the "Jog
joint in steps" radio button. The second row of jog buttons allow
you to jog the robot in Cartesian coordinates; enter the distance
in millimeters you wish the robot to move and press the
corresponding "-" or "+" to jog the robot. The third row of jog
buttons allow you to jog the robot in tool coordinates; enter the
distance in millimeters you wish the robot to move and press the
corresponding "-" or "+" to jog the robot - this jogs the robot
according to the gripper: think of it as jogging the gripper around
depending on whatever direction it is oriented.
You can also jog the robot using an Xbox controller. Install the
Xbox software per the windows PC Xbox controller adapter
directions. To test it In the Windows start menu type joy.cpl and
then click on the menu option for the Xbox controller, this will
bring up a window that you can verify all the buttons are working.
In this AR2 software click the Xbox button, the indicators on the
screen should turn green and allow you to jog the robot per the
button list in the next section. When you turn on Xbox control all
jog distances are set to start at 5. All jogging is done with the D
pad (analog sticks are not used). There are 3 modes for Xbox
jogging - joint, Cartesian and reorient. The controller starts in joint
mode where the D pad will start out controlling J1 and J2, you can
then press the X button to shift to control J3 and J4, then press X
275 to shift to J5 and J6.
again
Press the A button to shift to Cartesian jogging, you then can
jog axis X and Y using the D pad. Press the X button again to
shift to axis Z. Press the B button to control orientation
directions.
276
3. PROGRAMMING
a. Teaching Positions
Always select row in program window where you want the next
move or instruction to be placed. From the move type drop down
button select the move type you wish to insert and then press the
"Teach New Position" button to insert the position into your
program. All moves will apply the speed, acceleration and
deceleration setting you have set to the move. Position move types
are as follows:
277
- Move A - Move A is an arc move. You must teach 3 points to
form an arc. First select "Move A beg" and teach the start point
for your arc - the speed and orientation values for this first point
will be applied to the entire arc move. Second you need to teach
any mid-point on the arc - select "Move A Mid" and teach the
second point. Finally select "Move A End" and teach the point you
want at the end or your arc. Your command window will now have
3 lines of code in a row for each of the 3 points. When a "Move A
Beg" line of code is executed the program will automatically run
the next 2 lines of code to calculate the arc. The move will not
work if these are out of order. There is a couple second delay
before the Move A will execute while all waypoints to form the arc
are being transmitted to the Arduino.
278
. Your command window will now have 3 lines of code in a row
for each of the 3 points. When a "Move C Start" line of code is
executed the program will automatically run the next 2 lines of
code to calculate the circle. The move will not work if these are
out of order. There is a couple second delay before the Move C
will execute while all waypoints to form the arc are being
transmitted to the Arduino.
279
- Move SP - SP stands for stored position. In the registers tab there
are 16 stored positions you can set. You can set or save the
X,Y,Z,Y,P,R for any position you want to execute later or multiple
places in your program. When you teach a Move SP the robot will
move to the position you have entered for the stored position on
the register tab. *Stored positions can also be used for offsets - for
example if you want the robot to come in above your part you may
want to use an offset move with a stored position 25mm up in the
Z direction - example: (0,0,-25,0,0,0).
280
- Teach SP - this move command will insert 6 lines into your
program which when executed will store the robots current
position into a stored position register of your choice. This makes
it easier to populate stored positions as you need.
The Stored Position button will allow you to enter lines of code
that set individual elements of the X,Y,Z,Y,P,R in a stored position.
The modify position button is only used with Move J and allow
you to modify the Move J line in your program that is currently
highlighted.
The Delete button allows you to delete any line of code that is
currently selected.
b. Pausing
- The wait time button inserts a line that will pause the program
for the amount of time entered in seconds.
- The wait input on button will wait for the Arduino input entered
in the entry field to come on before moving forward in the
program. This can be used as a way to make the robot wait for
something else to happen before proceeding or it can be placed at
the beginning of a program as a way to have an automated start
signal.
- The wait input off button will wait for the Arduino input entered
in the entry field to turn off before moving forward in the
program.
281
c. IO
- The set output on or set output off buttons allow you to insert a
line of code that will turn Arduino IO of your choice on or off (see
bottom on input outputs tab for available IO pins on the Arduino
Mega). For example, if you have a pneumatic gripper you would
hook up your solenoid per the wiring harness manual to output
Arduino pin #38 and ender a line of code "Out On = 38" to
control your gripper.
d. Navigation
You can create as many program routines as you like. Enter the
name of the program you would like to create in the program field
and press "load program", if the program does not already exist it
will be created, if you have already created a program of that name
it will be loaded. Programs are created in your AR2 software folder
and can be deleted from that file location if no longer needed.
- The "Call Program" button allows you to insert a line of code that
calls a program.
- The "Return" button inserts a line of code that will allow the
called program to return to the program it came from. *note you
cannot call another program from within a program that has already
been called, you must return to the main program before calling
another program. For example, you will likely want to create a
program called "Main" from that program you might call a program
called "Pickup Part" at the end of pickup part you will want to
insert a "Return" line to get back to the "Main" program, then you
can do other things or call other programs. You cannot call another
program from "Pickup Part" you must first return to the main
program.
282
- the "Create Tab" button allows you to create markers in your
program that you can jump or navigate to based on conditions.
*note you cannot have 2 tabs with the same number - each tab
needs a new number. This functionality is very similar to basic
programming.
- The "Jump to Tab" button allows you to jump to a tab, for example
you could put "Tab 1" at the top of your program and at the
bottom put a "Jump to Tab 1" and then your program would loop
indefinitely.
The "If Register Jump" button allows you to jump to a tab based on
the condition of a register. For example you could have a looping
program as previously described but then add a line into your
program that increments a register and then add a line prior to
"Jump to Tab 1" that says "If Register 1 = 5 Jump to Tab 2" and then
place a "Tab 2" at the very bottom after "Jump to Tab 1" so that the
program will run 5 times and then jump to Tab 2 and stop.
283
e. Registers
The "Register" button allows you to set a register to a static value
or you can add a "++" before the number and the register will then
be incremented by the amount. For example, if you just enter a "1"
it will always set that register to a value of 1 but if you enter "++1"
it will then increment that register by 1 every time the line is run
so that you can use this for counting. You can enter any number, for
example you could enter "++3" and count by 3's if you like. The
same is true for counting down or decrementing - just place a "--"
before the number.
f. Servos
The Servo button allows you to control external servos - it’s not
for the robot itself, it’s for use if you have a servo gripper or a
servo actuator that you want the robot program to control. For
example, if you had a servo gripper that you had hooked up to
Arduino pin A0 per the wiring harness manual you could then
insert a line of code "Servo number 0 to position: 180" to open the
gripper and "Servo number 0 to position: 0" to close your gripper.
284
g. Editing lines of code
You can select a line of code in you command window and then
press the "get selected" button, this will copy that line into the
manual entry field. You can now edit the line of code in the manual
entry field, some examples might be: changing the stored position
number, changing a position, changing the robot speed or
acceleration. Now with your edited line of code you can reselect
the original line of code in your command window and then press
the "replace" button and the old line of code will be replaced with
the new edited line. The "insert" button will insert the test from
the manual entry field into your program without replacing - you
can use this to insert comments or hand written lines of code using
the insert button, this can be used to copy a line of code from the
program and then paste or insert in in numerous places in the
program.
285
4. CALIBRATION
a. Auto Calibration
Pressing the auto calibration button will auto calibrate all axis. The
robot will run to its full limit in the default directions and set each of
the joint values accordingly. You can also use the individual buttons
to calibrate each axis one at a time.
286
c. fine calibration
This feature allows you to set a reference position, so you can
check how true your calibration is given an event where you have
a bent limit switch or must replace a part of the robot. For
example, you can jog the robot to some reference position that
you know, perhaps with the robot holding a pointer and going to a
known spot, you could then press "teach fine calibration position"
to save this position. Then later you can press "Go to fine
calibration position" to return to the originally taught position and
check accuracy. If its off, you can jog the robot in small steps to
the correct calibration position and then press "execute fine
calibration" and your calibration will be adjusted to the original
reference position.
d. Direction Defaults
the calibration defaults are set to the side of the axis that the limit
switch is mounted on. If for example you were building your own
custom robot you could change these values to change the
direction the robot drives each axis to the calibration limit switch.
there are 6 values - one for each joint and they can only be a "0"
or "1" for negative direction or positive direction.
The motor direction outputs work in the same way and allow you
to change to motor drive direction from clockwise to
anticlockwise if you are building a custom robot and your
mechanics require a motor to spin the other way. again, there are
6 values - one for each joint and they can only be a "0" or "1" for
negative direction or positive direction.
287
e. Robot Calibration Values
The calibration values allow you to input the freedom of motion
for each joint and the number of stepper motor steps to make
that stroke happen. If building your own custom robot, you could
change these values to match your custom range of motion and
stepper gearing.
5. IO TAB
The buttons on the IO tab are simply a shortcut for you to quickly
toggle servos or outputs. For example, if your gripper was wired to
Arduino output #38 you could enter 38 into one of the "DO ON /
OFF" fields and quickly open and close your gripper without having
to execute a line of code from the program console.
288