throbber
Trident Robotics
`and Research, Inc.
`
`TRC004
`
`User's
`Manual
`
`2516 Matterhorn Drive, Wexford, Pennsylvania 15090-7962
`(412) 934-8348
`
`Page 1 of 27
`
`

`

`The information in this document is subject to change without notice.
`
`Trident Robotics and Research, Inc. does not guarantee the accuracy of the information contained in this document
`and makes no commitment to keep it up-to-date.
`
`Trident Robotics and Research, Inc. makes no warranty of any kind with regard to this material, including, but not
`limited to, the implied warranties of merchantability and fitness for a particular purpose.
`
`This device is not intended for use in life support equipment and should not be used in any medical or other
`application where intermittent malfunction or failure may directly jeopardize the health or well-being of an
`individual or individuals without adequate safeguards.
`
`Address comments concerning this document to:
`
`Trident Robotics and Research, Inc.
`User Documentation Dept.
`2516 Matterhorn Drive
`Wexford, PA 15090-7962
`(412) 934-8348
`
`Unimate, VAL, and PUMA are trademarks of Unimation, Inc.
`LSI/11 is a trademark of Digital Equipment Corp.
`
`Revised: April, 1994
`
`TRC004 User's Manual
`
`Page i
`
`Page 2 of 27
`
`

`

`Table of Contents
`1.0 Introduction......................................................................................................1
`1.1 General Information ..............................................................................1
`1.2 PUMA-Specific Information..................................................................1
`2.0 Specifications ...................................................................................................3
`3.0 Installation........................................................................................................3
`3.1 General Information ..............................................................................3
`3.2 VAL Card Removal ..............................................................................3
`3.3 Mounting the TRC004 ..........................................................................3
`3.4 Connections to Unimate Controller .......................................................5
`3.5 Adjusting Unimate Power Supply..........................................................6
`3.6 Connections to the Bus Interface...........................................................8
`3.7 Index Pulse Phasing ..............................................................................8
`4.0 Operations........................................................................................................9
`4.1 General Information ..............................................................................9
`4.2 Analog Outputs.....................................................................................9
`4.2.1 General Information................................................................9
`4.2.2 Gain Adjustment.....................................................................9
`4.2.3 Filter Adjustment....................................................................9
`4.2.4 Update Procedure...................................................................10
`4.3 Analog Inputs .......................................................................................11
`4.3.1 General Information................................................................11
`4.3.2 Update Procedure...................................................................11
`4.4 Discrete Output Register.......................................................................11
`4.4.1 General Information................................................................11
`4.4.2 Calibration Status ...................................................................11
`4.4.3 Bit 17 Preset...........................................................................12
`4.4.4 Encoder Index Mask...............................................................12
`4.4.5 A/D Conversion Mask ............................................................12
`4.4.6 PUMA-Specific Outputs.........................................................12
`4.4.7 Update Procedure...................................................................13
`4.5 Status Input Register.............................................................................13
`4.5.1 General Information................................................................13
`4.5.2 Encoder Index Status..............................................................13
`4.5.3 A/D Conversion Status ...........................................................13
`4.5.4 Calibration Status ...................................................................13
`4.5.5 Joint 6 Overflow.....................................................................14
`4.5.6 PUMA-Specific Inputs............................................................14
`4.5.7 Update Procedure...................................................................14
`4.6 Incremental Encoder Inputs...................................................................14
`4.6.1 General Information................................................................14
`4.6.2 Encoder Presetting .................................................................14
`4.6.3 Index Latch ............................................................................15
`4.6.4 Update Procedure...................................................................15
`
`TRC004 User's Manual
`
`Page ii
`
`Page 3 of 27
`
`

`

`4.7 Watchdog Timer ...................................................................................15
`4.7.1 General Information................................................................15
`4.7.2 Enabling/Disabling..................................................................15
`4.7.3 Update Procedure...................................................................15
`5.0 Troubleshooting ...............................................................................................16
`Appendix A: Kawasaki PUMA 760/Mark I.............................................................17
`Appendix B: Unimate PUMA 560 with 26-slot Backplane ......................................19
`Appendix C: Unimate PUMA 760 with Mark III Controller....................................21
`Appendix D: Schematics.........................................................................................23
`
`TRC004 User's Manual
`
`Page iii
`
`Page 4 of 27
`
`

`

`Trident Robotics and Research, Inc.
`TRC004
`PUMA Interface Card
`
`1.0 Introduction
`1.1 General Information
`The TRC004 is a general purpose interface board for servo applications. It provides eight
`channels of buffered analog output, eight channels of analog input, six quadrature shaft encoder
`channels, six bits of discrete input, six bits of discrete output, and a watchdog timer.
`The TRC004 is ideally suited for high-performance robotic applications including force-
`controlled manipulators and dextrous hands. It was specifically designed to replace the LSI/11
`VAL computer and servo cards in the Unimate PUMA manipulator to allow high-speed, direct
`access to joint motor torques and positions.
`Its unique design allows it to be placed remotely from the host computer's bus, closer to the
`noise-sensitive analog plant it is controlling. A generic digital address/data interface links the
`TRC004 to any one of a wide variety of host bus interface cards that plugs directly into your
`system. This permits flexibility in upgrading the host computer as technology advances, without
`incurring the cost of replacing the entire interface card. (Only the inexpensive bus interface must
`be replaced if a new system bus is chosen.)
`The TRC004 is constructed almost entirely of high-speed CMOS integrated circuits that
`provide rapid access with minimal power drain.
`1.2 PUMA-Specific Information
`When used as an interface to a Unimate PUMA 550/560 robotic manipulator (and certain
`7XX and 2XX series manipulators) with Mark II controller, the TRC004, in conjunction with the
`user's real-time computer, replaces the entire LSI/11 VAL computer and the joint servo cards.
`Figure 1.1 shows the VAL controller block diagram as shipped from the factory. Figure 1.2
`shows the controller block diagram after removal of the LSI/11 and subsequent installation of the
`TRC004.
`Physically, the CPU, RAM, EPROM, serial controller, interface cards, and joint servos are all
`removed from the controller backplane. In their place, the TRC004, a single twelve-inch by nine-
`inch (approximately) multi-purpose I/O card, is mounted and wired point-to-point to the
`backplane. The TRC004's encoder inputs are connected to the joint encoders of the PUMA for
`position acquisition. The analog outputs are connected to the power amplifiers for commanding
`motor torque. The analog inputs are used to measure the potentiometers during calibration.
`Finally, the discrete inputs and outputs are connected to various housekeeping functions including
`enabling arm power, controlling the pneumatic hand valves, and monitoring joint thermal sensors.
`The burden falls on the user to replace as much of the functionality of the VAL operating
`system as is desired, including, but not limited to:
`- power-on arm calibration
`- occasional calibration of the joint potentiometers
`- low-level joint position control
`
`TRC004 User's Manual
`
`Page 1
`
`Page 5 of 27
`
`

`

`Figures 1.1 and 1.2 go here showing the swap in the PUMA
`
`TRC004 User's Manual
`
`Page 2
`
`Page 6 of 27
`
`

`

`- arm kinematics
`- trajectory generation
`- joint limit monitoring
`The teach pendant, which is a serial peripheral of the LSI/11, becomes non-functional. Any
`attempt to duplicate its function, both in hardware and software, must be made by the user.
`
`2.0 Specifications
`Performance specifications and characteristics of the TRC004 appear in Table 2.1.
`
`3.0 Installation
`3.1 General Information
`This section of the manual assumes the TRC004 is to be installed in a Unimate PUMA 560
`robot with Mark II controller to replace the VAL computer and joint servos. Similar instructions
`apply to installations in other equipment and for generic lab use so this section should be read and
`understood by all users. Of course, specific mention to electrical or mechanical connections within
`the Unimate controller should be extended to analogous components within the user's system. For
`PUMA robots other than the 560/Mark II, check the appendices for model-specific information.
`3.2 VAL Card Removal
`Before deactivating the VAL controller, it is suggested that some registration marks be made
`on the arm to facilitate calibration. To do this, use VAL to put the arm in the ready position by
`issuing the command "do ready". Turn off arm power and then make two short, narrow marks
`across each joint from one link to the next. This can be done with a scratch awl or permanent
`marker. These marks can later be used for positioning the arm by hand to a known configuration
`for initializing the index pulses of the shaft encoders.
`The TRC004 is not designed to plug into the existing card cage of the Unimate controller but,
`instead, mounts directly on top of it. In order to accomodate this, nearly all of the VAL cards
`must be removed from the system. Furthermore, the wiring harness for the TRC004 merely
`parallels the existing wiring, which would result in short circuits if the cards were left in place. (If
`the user wishes to restore VAL, simply disconnect and remove the TRC004 and replace the VAL
`cards. The TRC004 wiring need not be removed.)
`The cards that must be removed include the entire LSI/11 computer and its peripherals, the
`interface card and the joint servo cards. The only two cards that remain in the Mark II controller
`are the Arm Cable Card (slot J58) and the Power Amplifier Control Card (slot J56). Remove all
`other cards from the Unimate card cage. In the case of a Mark I controller, keep the analog servo
`cards installed.
`3.3 Mounting the TRC004
`The TRC004 has nine #6 clearance holes for mounting inside the Unimate controller. At least
`six of these holes should be used to secure the board to the rails of the Unimate card cage. The
`recommended orientation is with all holes marked 1 and 2 fastened to the rails of the card cage
`with nylon screws and half-inch threaded nylon spacers (enclosed). Future revisions of the
`TRC004 will maintain compatibility with this mounting configuration. It is also desirable to
`support the overhanging edge of the printed circuit board, thus utilizing all nine of the mounting
`holes, and to keep the card covered to prevent damage.
`The four holes marked "1" form a square whose sides are 5.88 inches center-to-center.
`
`TRC004 User's Manual
`
`Page 3
`
`Page 7 of 27
`
`

`

`Buffered Analog Outputs
`D/A Converters
`Input Coding
`Output Range
`Resolution
`Settling time
`Linearity Error
`
`8
`
`Negative Offset Binary
`+/- 10 volts
`12 bits
`10 usec max to +/- 1/2 LSB
`+/- 3/4 LSB typical
`
`Op Amp Buffers
`Output Drive
`Gain
`Accuracy
`Rolloff Freq.
`
`10 mA
`user definable
`2% with standard resistors (user definable)
`user definable
`
`Analog Inputs
`Coding
`Input Range
`Resolution
`Input Impedance
`Input Capacitance
`Conversion Time
`
`8
`Positive True Binary
`0 - 5 volts
`8 bits
`2500 ohms
`15 pF
`128 usec
`
`Digital Inputs
`Signal Type
`
`6
` CMOS/TTL
`
`Digital Outputs
`Signal Type
`Pull-up Resistor
`Sink Current
`
`6
`TTL Open Collector ("UTIL6" is not open-collector buffered)
`1 K
`35 mA
`
`Encoder Inputs
`Input format
`Signal Type
`Counter resolution
`Count Rate
`
`6
`Bi-directional, phase quadrature with index
`CMOS/TTL
`16 bits (17 bits for joint 6)
`1 MHz max
`
`Operating Temperature
`
`0 - 60 C (performance may degrade near extremes)
`
`Power Requirements
`+5 volts (+0.1/-0.3)
`+12
`-12
`
`150 mA
`50 mA
`50 mA
`
`Table 2.1: Specifications of the TRC004
`
`TRC004 User's Manual
`
`Page 4
`
`Page 8 of 27
`
`

`

`TRIDENT ROBOTICS IS NOT RESPONSIBLE FOR MECHANICAL OR ELECTRICAL
`DAMAGE TO THE PRINTED CIRCUIT BOARD IN ANY APPLICATION.
`3.4 Connections to Unimate Controller
`All connections to the Unimate controller are made through connectors P5 and P6 on the
`TRC004. P6 carries all the logic signals including logic power while P5 carries all the analog
`signals and analog power. The connections to each mating connector must be made by hand by
`soldering the appropriate conductors of a ribbon cable to the designated points on the controller
`backplane. Tables 3.1 and 3.2, plus sheet 2 of the schematics, enumerate the necessary
`connections between the TRC004 and the Unimate controller while Figure 3.1 shows the layout
`of the backplane. It is necessary to make all these individual connections because the Unimate
`backplane is not a true bus architecture. Slots J39 through J58 are all unique, thus no single
`interface card can tap into all the signals necessary to take control of the sensors and actuators.
`Plug P6 mates with jack J6 which must be a 40-pin female header with center-tab polarization.
`Likewise, plug P5 mates with jack J5 which must be a 34-pin female header with center-tab
`polarization. Twisted pairs, which are recommended for the DAC lines, can be made from the
`ribbon cable itself after the J5 header has been attached. To do this, first mark the negative wire of
`each pair with an indelible pen. Next separate each pair of DAC wires from the adjacent
`conductors on both sides and simply twist them either by hand or with a low-speed electric drill.
`Avoid twisting them tighter than a few turns per inch to prevent shorts and broken conductors.
`
`Pin Signal
` # Name
`
`Backplane
`Location
`
`Pin
` #
`
`Signal
`Name
`
`Backplane
`Location
`
`J58A-F1
`1 POT_J1
`J58A-N1
`2 POT_J2
`J58A-V1
`3 POT_J3
`J58B-F1
`4 POT_J4
`J58B-N1
`5 POT_J5
`J58B-V1
`6 POT_J6
`J58B-H2
`7 POT_J7
`J58A-R2
`8 POT_J8
`9 ADGND J58A-E2
`10 AD+5V J58A-F2
`11 NC
`12 NC
`TB1-2F
`13 +12V
`TB1-2F
`14 +12V
`15 DAGND TB1-4F
`16 DAGND TB1-4F
`17 -12V
`TB1-3F
`18 -12V
`TB1-3F
`
`19
`20
`21
`22
`23
`24
`25
`26
`27
`28
`29
`30
`31
`32
`33
`34
`
`DAC+J1 J56A-E1
`DAC-J1
`J56A-E2
`DAC+J2 J56A-F1
`DAC-J2
`J56A-F2
`DAC+J3 J56A-H1
`DAC-J3
`J56A-H2
`DAC+J4 J56A-J1
`DAC-J4
`J56A-J2
`DAC+J5 J56A-K1
`DAC-J5
`J56A-K2
`DAC+J6 J56A-L1
`DAC-J6
`J56A-L2
`DAC+J7 J55A-E1
`DAC-J7
`J55A-E2
`DAC+J8
`DAC-J8
`
`Table 3.1: Wiring List for J5 to Unimate Backplane
`
`TRC004 User's Manual
`
`Page 5
`
`Page 9 of 27
`
`

`

`Pin
`#
`
`Signal
`Name
`
`Backplane
`Location
`
`Pin Signal
`#
`Name
`
`Backplane
`Location
`
`1 ENCA1
`2 ENCB1
`3 ENCI1
`4 ENCA2
`5 ENCB2
`6 ENCI2
`7 ENCA3
`8 ENCB3
`9 ENCI3
`10 ENCA4
`11 ENCB4
`12 ENCI4
`13 ENCA5
`14 ENCB5
`15 ENCI5
`16 ENCA6
`17 ENCB6
`18 ENCI6
`19 GND
`20 GND
`
`J58A-A1
`J58A-C1
`J58A-E1
`J58A-H1
`J58A-K1
`J58A-M1
`J58A-P1
`J58A-S1
`J58A-U1
`J58B-A1
`J58B-C1
`J58B-E1
`J58B-H1
`J58B-K1
`J58B-M1
`J58B-P1
`J58B-S1
`J58B-U1
`TB1-4F
`TB1-4F
`
`TB1-1F
`TB1-1F
`
`J56A-R2
`J58A-B1
`J58A-J1
`J58A-R1
`J58B-B1
`J58B-J1
`J58B-R1
`
`J56A-T1
`J39A-M2
`J39A-L2
`
`21 Vcc
`22 Vcc
`23 NC
`24 NC
`25 NC
`26 /STOP
`27 THERM1
`28 THERM2
`29 THERM3
`30 THERM4
`31 THERM5
`32 THERM6
`33 NC
`34 NC
`35 UTIL1
`36 UTIL2
`37 UTIL3
`38 UTIL4
`39 UTIL5
`40 UTIL6
`
`Table 3.2: Wiring List for J6 to Unimate Backplane
`
`/BRAKE
`HANDO
`HANDC
`SPARE1
`SPARE2
`SPARE3
`
`Figure 3.1: Unimate Backplane Layout: Solder Side
`
`3.5 Adjusting Unimate Power Supply
`Logic power, Vcc, must be 5V +0.1/- 0.3V. The analog supplies (positive and negative) must
`be between 12.0V and 14.0V. The TRC004 is equipped with fuses for all three of these power
`sources. The analog power lines are labeled AD+5V, +12V, and -12V. The logic power line is
`
`TRC004 User's Manual
`
`Page 6
`
`Page 10 of 27
`
`

`

`labeled Vcc. (AD+5V is the voltage reference for the A/D and is not fused.) It is important that
`AD+5V does not power up before Vcc or unpredictable A/D operation may result.
`The Unimate power supplies run a little high when the cards are removed so it is generally
`necessary to adjust the voltage levels downward before operating the TRC004. Four of the
`Unimate's voltage levels are provided by a single power supply and are adjusted by a single
`potentiometer. To determine if the supplies should be adjusted, use +5V as a reference. If this
`supply is below 5.0V, all supplies will be within the optimal operating range. If not, the supplies
`must be adjusted.
`To do this, first remove AC power and then remove the two power amplifier assemblies.
`These assemblies are adjacent to the card cage and are secured by four wing nuts. Keep track of
`all non-metal washers and spacers. The power amplifiers can be removed completely by
`disconnecting three connectors on each assembly. (Note which connectors go where -- they
`should be clearly marked.) Beneath the amplifiers is a metal cover which conceals the power
`supply in question. Lift this cover out of the controller.
`Only one potentiometer adjusts all four voltages of this supply. Locate this "pot" near the
`middle of the board (see figure 3.2). To make the adjustment, AC power must be applied to the
`controller.
`
`USE EXTREME CAUTION! 120V AC WILL BE PRESENT AND EXPOSED!
`
`Apply power and adjust the pot so the 5V supply is 4.85 - 4.90V. This will provide sufficient
`margin to accomodate supply variation.
`
`AC
`
`Gnd
`
`+5V
`
`Pot
`
`Figure 3.2: Unimate Low-Voltage Power Supply
`
`VERIFY POWER LINES HAVE PROPER VOLTAGE AND POLARITY BEFORE
`CONNECTING THE TRC004.
`
`DO NOT ATTEMPT TO OPERATE THE CARD WITH ONLY THE LOGIC SUPPLY
`CONNECTED (+5V). DAMAGE CAN RESULT TO U88, U94 AND U95 IF LOGIC POWER
`IS APPLIED WITH ANALOG POWER DISCONNECTED.
`
`TRC004 User's Manual
`
`Page 7
`
`Page 11 of 27
`
`

`

`3.6 Connections to the Bus Interface
`A 50-pin ribbon cable, as shown on sheet 3 of the schematics, is used for connections between
`the TRC004 and the bus interface card (TRC005 or equivalent). The length of this cable should
`be kept below 3 meters. All 23 ground lines are tied together on the TRC004 and at least one of
`the ground connections must be made on the bus interface side.
`3.7 Index Pulse Phasing
`The index pulses of each joint must be adjusted for proper phasing. To accomplish this, a
`dual-channel oscilloscope must be connected to the 74HC174 integrated circuit of each encoder
`channel while the corresponding jumper is moved to achieve the desired waveform. The chip and
`jumper designators for each channel appear in Table 3.3.
`
`ENCODER
`
`74HC174
`
`JUMPER
`
`Channel 1
`Channel 2
`Channel 3
`Channel 4
`Channel 5
`Channel 6
`
`U1
`U13
`U25
`U37
`U49
`U61
`
`JP1
`JP2
`JP3
`JP4
`JP5
`JP6
`
`Table 3.3: Encoder Phasing Components
`
`The two oscilloscope channels must be connected to pins 10 and 13 of the 74HC174 with the
`oscilloscope synched to pin 13. These pins are marked "TP1" and "TP2" on the circuit board.
`
`NOTE: TO PREVENT THE POSSIBILITY OF SHORTING THE PINS OF THE IC'S, AN IC
`TEST CLIP (not supplied) SHOULD BE USED TO PERMIT CONNECTION OF THE
`OSCILLOSCOPE PROBES.
`
`When the joint is moved manually, the index pulses from the encoder appear on pin 13 (TP2).
`The jumper should be positioned such that pin 10 (TP1) produces one and only one pulse for each
`pulse appearing on pin 13 and that pulse should be timed such that it is roughly centered with the
`index pulse (pin 13) as shown in Figure 3.3.
`
`Pin 13
`
`Pin 10
`
`Roughly centered
`
`Figure 3.3: Encoder Index Phasing
`
`TRC004 User's Manual
`
`Page 8
`
`Page 12 of 27
`
`

`

`NOTE: GROUND REFERENCE IS AVAILABLE ON PIN 8 OF THE 74HC174 TO
`FACILITATE ENCODER PHASING.
`
`4.0 Operations
`4.1 General Information
`To a host computer, the TRC004 is characterized as a block of 16-bit memory locations as
`shown in Table 4.1. These locations reside on 16-bit boundaries from the BASE address. THE
`TRC004 DOES NOT EXAMINE ADDRESS BIT A0 (LSB) FOR ADDRESS DECODING.
`Therefore, all data transfers must be word size and must be word-aligned. The BASE address is
`determined by the Bus Interface Card (i.e. TRC005 or equivalent) and is generally user-selectable.
`
`4.2 Analog Outputs
`4.2.1 General Information
`The TRC004 has eight bipolar, 12-bit analog output channels with op-amp buffers. The
`digital-to-analog converters (D/A) operate in a fixed +/-10 volt output range. However, the
`inverting op-amp buffers can be configured by the user to operate at any gain and to provide
`single-pole filtering if desired.
`The output command is encoded as a negative offset binary value. A command value of
`0000h results in the maximum positive output voltage, while a command value of 0FFFh
`results in the maximum negative output voltage. In the default configuration (gain = 1), the
`maximum positive voltage is +10V and the maximum negative voltage is -10V.
`
`4.2.2 Gain Adjustment
`To change the gain of the outputs, the user must physically replace resistor networks
`RP6 and/or RP7. These are precision resistor networks with eight individual resistors per
`network. The gain of the inverting op-amp buffer is calculated by:
`
`G = -RP6 / RP7
`
`and the worst-case gain tolerance is the square root of the sum of the absolute tolerances of
`the resistor networks. (Resistor network tolerance is typically 2%. Absolute tolerances as
`high as 0.1% are available.) For greater gain precision, the user can substitute matched
`resistor networks or resistors of greater absolute accuracy.
`
`NOTE: RESISTANCE VALUES MAY DIFFER FROM THOSE INDICATED ON THE
`SCHEMATIC.
`
`4.2.3 Filter Adjustment
`The single-pole, low-pass filter is configured by adding capacitors to HD8. (See sheet 10
`of the TRC004 schematics.) A removable discrete component carrier is provided for this
`purpose. The cutoff frequency of the filter is calculated by:
`
`w = 1/(RP6 * HD8) = radians per second
`f = 1/(2p * RP6 * HD8) = hertz.
`
`TRC004 User's Manual
`
`Page 9
`
`Page 13 of 27
`
`

`

`In the default configuration, no capacitors are included.
`
`4.2.4 Update Procedure
`An analog output value is updated by a write to the appropriate address (BASE + 30h +
`2*ChannelNumber). The D/A output updates immediately, so no additional update
`command is necessary.
`
`Register Description
`
`Joint 1 Index Count
`Joint 2 Index Count
`Joint 3 Index Count
`Joint 4 Index Count
`Joint 5 Index Count
`Joint 6 Index Count
`Status Input Register
`Unused
`Joint 1 Encoder Count
`Joint 2 Encoder Count
`Joint 3 Encoder Count
`Joint 4 Encoder Count
`Joint 5 Encoder Count
`Joint 6 Encoder Count
`A/D Value
`A/D Start Pulse
`
`Joint 1 Encoder Load
`Joint 2 Encoder Load
`Joint 3 Encoder Load
`Joint 4 Encoder Load
`Joint 5 Encoder Load
`Joint 6 Encoder Load
`A/D MUX Channel Select
`Discrete Output Register
`D/A Channel 1 Output
`D/A Channel 2 Output
`D/A Channel 3 Output
`D/A Channel 4 Output
`D/A Channel 5 Output
`D/A Channel 6 Output
`D/A Channel 7 Output
`D/A Channel 8 Output
`
`Offset from
`Base Address
`
`00
`02
`04
`06
`08
`0A
`0C
`0E
`10
`12
`14
`16
`18
`1A
`1C
`1E
`
`20
`22
`24
`26
`28
`2A
`2C
`2E
`30
`32
`34
`36
`38
`3A
`3C
`3E
`
`Read Only
`Locations
`
`Write Only
`Locations
`
`Table 4.1: TRC004 Memory Map
`
`TRC004 User's Manual
`
`Page 10
`
`Page 14 of 27
`
`

`

`4.3 Analog Inputs
`
`4.3.1 General Information
`The TRC004 has eight, 8-bit, single-ended analog input channels, multiplexed to a
`common analog-to-digital converter (A/D). The A/D uses an 8-bit, successive
`approximation conversion technique. The A/D operates in a fixed 0 - 5 volt input range and
`the value is encoded in positive binary. An input value of 00h represents a voltage of 0V at
`the A/D, while a value of FFh represents a voltage of +5V. The most significant 8 bits are
`undefined and should be stripped off during a read operation.
`
`4.3.2 Update Procedure
`An analog input channel is selected by a write to the A/D MUX Channel Select register
`(BASE + 2Ch). The conversion is then started by a fictitious read to the A/D Start Pulse
`register (BASE + 1Eh). After 128 milliseconds, when the conversion completes, the A/D
`value can be read from the A/D Value register (BASE + 1Ch). If the A/D Conversion Mask
`bit is enabled (logic "1"), the A/D Conversion Status bit is set to "0" to indicate end-of-
`conversion and the interrupt line goes high.
`There are three methods to detect the end-of-conversion:
`1.) polling the A/D Conversion Status bit in the Status Input Register
`2.) hardware interrupt, if supported by the bus interface card
`3.) delay for 128 milliseconds
`If polling is used, the A/D Conversion Status bit must be reset to "1" after reading the
`A/D value. Interrupt operation is generally not recommended for use with the Unimate
`PUMA because the A/D's are used only at power-up for calibration and are not time-critical.
`4.4 Discrete Output Register
`
`4.4.1 General Information
`The Discrete Output Register (BASE + 2Eh) is a 16-bit write-only register. (See Figure
`4.3.) The lower 5 bits (channels 0 - 4) have inverting, open-collector buffers on their
`outputs. Bit 5 is a standard CMOS compatible output. These are the only digital outputs for
`off-board use. The remaining bits provide internal housekeeping, with the exception of bit
`15 which controls the red LED, D2.
`Upon power-up or system reset, the Discrete Output Register is cleared to 0000h by a
`hardware timer. This assures that all interrupts and their corresponding status bits are
`masked. However, the off-board outputs go high when this occurs. In addition, the red LED
`(D2) turns on.
`
`4.4.2 Calibration Status
`Channel 6 is a write-through bit that is normally used to indicate whether or not the
`encoders have been calibrated. It is set and cleared by the user so its function can be
`redefined if desired. This bit can be read from the Status Input Register as channel 14. (Note
`it is shifted 1 byte.)
`
`TRC004 User's Manual
`
`Page 11
`
`Page 15 of 27
`
`

`

`4.4.3 Bit 17 Preset
`Channel 7 is a latched bit used to update the "17th bit" of the channel 5 (joint 6)
`encoder counter. During an encoder load operation on channel 5, this bit value is stored in
`both the 0th bit location and the 17th bit location. Which, if either, of these two bits is
`significant is determined by the user and the setting of jumper JP7. The value of this bit
`defaults to zero upon power up and reset.
`
`D15 D14 D13 D12 D11 D10
`
`D9 D8
`
`D7 D6 D5 D4 D3
`
`D2 D1
`
`D0
`
`Brake Release
`Hand Control
`Spare
`Calibration Status
`Joint 6, Bit 17 Preset
`Encoder 0 Index Mask
`Encoder 1 Index Mask
`Encoder 2 Index Mask
`Encoder 3 Index Mask
`Encoder 4 Index Mask
`Encoder 5 Index Mask
`A/D Conversion Mask
`LED D2
`
`Figure 4.3: Discrete Output Register: Bit fields.
`
`4.4.4 Encoder Index Mask
`Channels 8-13 are used to mask/unmask/clear interrupts and bits in the Status Input
`Register. A logic "0" in the appropriate bit location disables the corresponding interrupt and
`status bit. A logic "1" enables it. An interrupt is cleared by first disabling it and then re-
`enabling it.
`
`4.4.5 A/D Conversion Mask
`Channel 14 is used to mask/unmask/clear the interrupt and corresponding Status Input
`Register bit for the A/D Conversion. A logic "0" in the appropriate bit location disables the
`interrupt and status bit. A logic "1" enables it. An interrupt is cleared by first disabling it and
`then re-enabling it.
`
`4.4.6 PUMA-Specific Outputs
`For use with a PUMA, channel 0 controls the brakes while channels 1 and 2 control the
`pneumatic hand solenoids. Setting channel 0 low sets the brakes and disables arm power.
`Setting channel 1 low de-energizes the "hand open" solenoid while setting channel 2 low de-
`energizes the "hand closed" solenoid. Upon power-up or system reset, these bits are all set
`low, which sets the brakes and de-energizes both solenoids.
`Channels 6 and 7 have been provided specifically for use with the PUMA in a multi-
`processor, multi-user environment. Channel 6 is intended to be a flag that is updated by
`software, which indicates whether the arm has been calibrated. "Calibration", in this sense, is
`the pre-loading of the encoder counters with respect to some world reference frame. Logic
`"1" means the arm is calibrated. It is reset to zero on power up and system reset.
`
`TRC004 User's Manual
`
`Page 12
`
`Page 16 of 27
`
`

`

`Channel 7 determines the loading of the "17th bit" of encoder channel 5 and is described
`in section 4.4.3.
`
`4.4.7 Update Procedure
`The Discrete Output Register is written with a 16-bit value to address (BASE + 2Eh).
`No provisions for bit twiddling are provided and the current value of the register is not
`readable.
`
`4.5 Status Input Register
`
`4.5.1 General Information
`The Status Input Register (BASE + 0Ch) is a 16-bit read-only register. (See Figure 4.4.)
`Seven bits (channels 0 - 5 and 15) provide the only digital inputs for off-board use. The
`remaining bits provide interrupt status and internal housekeeping.
`
`4.5.2 Encoder Index Status
`Channels 8 - 13 indicate whether or not an index pulse occurred while the corresponding
`index mask was enabled. A logic "0" represents a pending interrupt, which means an index
`pulse occurred. These bits can only be cleared by disabling, then re-enabling the mask.
`
`D15 D14 D13 D12 D11 D10
`
`D9 D8
`
`D7 D6 D5 D4 D3
`
`D2 D1
`
`D0
`
`Therm 1
`Therm 2
`Therm 3
`Therm 4
`Therm 5
`Therm 6
`Calibration Status
`Joint 6 Overflow
`Encoder 0 Index Status
`Encoder 1 Index Status
`Encoder 2 Index Status
`Encoder 3 Index Status
`Encoder 4 Index Status
`Encoder 5 Index Status
`A/D Conversion Status
`Brake/Power Status
`
`Figure 4.4: Status Input Register: Bit fields.
`
`4.5.3 A/D Conversion Status
`Channel 14 indicates whether or not the A/D conversion completed while the mask was
`enabled. A logic "0" represents a pending interrupt, which means the conversion is
`complete. This bit can only be cleared by disabling, then re-enabling the mask.
`
`4.5.4 Calibration Status
`Channels 6 and 7 have been provided specifically for use with the PUMA in a multi-
`processor, multi-user environment. Channel 6 is a write-through bit intended to indicate
`whether the arm has been calibrated. "Calibration", in this sense, is the pre-loading of the
`encoder counters with respect to some world reference frame. This flag is updated by
`
`TRC004 User's Manual
`
`Page 13
`
`Page 17 of 27
`
`

`

`software. Logic "1" means the arm is calibrated. It is reset to zero on power up and system
`reset.
`The value of this bit is set by the user through the Discrete Output Register. The
`meaning of this bit can be re-defined by the user if desired.
`
`4.5.5 Joint 6 Overflow
`Channels 6 and 7 have been provided specifically for use with the PUMA in a multi-
`processor, multi-user environment. Channel 7 reflects the true value of the "17th bit" of the
`joint 6 encoder counter. It is jumper selectable to indicate bit 0 or bit 17. Encoder channel 6
`is logically shifted right one bit so that the 16 bits normally read are bits 1-16, rather than
`bits 0-15 as is the case for the other encoder counters. This effectively provides a divide-by-
`two function for joint 6, as required by the PUMA. If dividing by two is not desired, set
`jumper JP7 to "BIT0" and shift this status bit into the least significant bit in software. If
`additional range is desired, set jumper JP7 to "BIT17" and append this status bit to bit
`location 16 in software (sign extending if desired).
`Joint six of the PUMA produces more than 65,536 counts per revolution and, in fact,
`has no mechanical limit stops (allowing infinite rotation). The divide-by-two feature of
`encoder channel 6 allows the valid 540-degree rota

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket