Thomson HD Linear Actuator
Return to Main Page
Links Page
Contact Us


The linear actuator can be controlled using CAN Bus, specifically the SAE J1939
version of CAN Bus. This is a version primarily intended for use on heavy trucks.

The CAN Bus employs a standard baud rate (network speed) of 250 kbits/sec
using 29-bit CAN message length. The CAN network applies a maximum network
length of 40 meters (about 120 ft.). It allows a maximum of 30 nodes (ECUs) in a
network and a maximum of 253 controller applications.

The Thomson HD actuator has a default address value of 19 (0x13).



Thomson HD Electric Linear Actuator


We tested two different actuators while exploring the programming of the actuator with CAN Bus.
The actuator has a sleep mode where it will put itself to sleep after 5 seconds of no activity. This
is to save power in battery configurations.

For the first actuator tested everything worked predictably with no problems. For the second
actuator it appears the delay before the actuator went to sleep was much shorter than the 5
seconds specified. In this case it was necessary to send a "No Motion" command immediately
before each "Move" command to wake the actuator up.

This is shown in the following video.     https://youtu.be/ceW_0Y3yWG4


The standard message structure for J1939 is as follows.

PGN   P   SA   DA   Data

where,

PGN    =   Parameter Group Number
P    =   priority (typically 6)
SA    =   source address
DA    =   destination address (actuator address on the bus)
Data    =   command data


The J1939 standard implements a number of commands and the actuator only supports
a subset of the commands available. For the actuator the two most important commands
are PGN 61184, which implements  the Actuator Move Command, and PGN 126720,
which is the Actuator Feedback Command. The structure of each of these commands
is outlined below.


Actuator Move Command PGN 61184 hex 0xEF00

Byte 1 - Bit 1 Position 0.1 mm per bit
Byte 1 - Bit 2 Position 0.0 to 1000 mm max range
Byte 1 - Bit 3 Position
Byte 1 - Bit 4 Position 100 mm = 1000 = 0x3E8 = 1750 oct = 001 111 101 000
Byte 1 - Bit 5 Position 200 mm = 2000 = 0x7D0
Byte 1 - Bit 6 Position 280 mm = 2800 = 0xAF0
Byte 1 - Bit 7 Position
Byte 1 - Bit 8 Position

Byte 2 - Bit 1 Position
Byte 2 - Bit 2 Position
Byte 2 - Bit 3 Position
Byte 2 - Bit 4 Position
Byte 2 - Bit 5 Position
Byte 2 - Bit 6 Position
Byte 2 - Bit 7 Current Limit 0.1 amp per bit
Byte 2 - Bit 8 Current Limit 0.0 to 25.0 amps max range

Byte 3 - Bit 1 Current Limit 1.5 amps = 15 = 0x96 = 010 010 110
Byte 3 - Bit 2 Current Limit
Byte 3 - Bit 3 Current Limit
Byte 3 - Bit 4 Current Limit
Byte 3 - Bit 5 Current Limit
Byte 3 - Bit 6 Current Limit
Byte 3 - Bit 7 Current Limit
Byte 3 - Bit 8 Speed Command 5 percent per bit

Byte 4 - Bit 1 Speed Command 0 to 100 percent max range
Byte 4 - Bit 2 Speed Command
Byte 4 - Bit 3 Speed Command 50% = 10 = 0xA = 01 010
Byte 4 - Bit 4 Speed Command
Byte 4 - Bit 5 Motion Enable 0 for no motion, 1 for motion
Byte 4 - Bit 6 Factory Use - 0xFF
Byte 4 - Bit 7 Factory Use
Byte 4 - Bit 8 Factory Use

Byte 5 - Bit 1 Factory Use - 0xFF
Byte 5 - Bit 2 Factory Use
Byte 5 - Bit 3 Factory Use
Byte 5 - Bit 4 Factory Use
Byte 5 - Bit 5 Factory Use
Byte 5 - Bit 6 Factory Use
Byte 5 - Bit 7 Factory Use
Byte 5 - Bit 8 Factory Use

Byte 6 - Bit 1 Factory Use - 0xFF
Byte 6 - Bit 2 Factory Use
Byte 6 - Bit 3 Factory Use
Byte 6 - Bit 4 Factory Use
Byte 6 - Bit 5 Factory Use
Byte 6 - Bit 6 Factory Use
Byte 6 - Bit 7 Factory Use
Byte 6 - Bit 8 Factory Use

Byte 7 - Bit 1 Factory Use - 0xFF
Byte 7 - Bit 2 Factory Use
Byte 7 - Bit 3 Factory Use
Byte 7 - Bit 4 Factory Use
Byte 7 - Bit 5 Factory Use
Byte 7 - Bit 6 Factory Use
Byte 7 - Bit 7 Factory Use
Byte 7 - Bit 8 Factory Use

Byte 8 - Bit 1 Factory Use - 0xFF
Byte 8 - Bit 2 Factory Use
Byte 8 - Bit 3 Factory Use
Byte 8 - Bit 4 Factory Use
Byte 8 - Bit 5 Factory Use
Byte 8 - Bit 6 Factory Use
Byte 8 - Bit 7 Factory Use
Byte 8 - Bit 8 Factory Use


Actuator Feedback Command PGN 126720 hex 0x1EF00

Byte 1 - Bit 1 Measured Position 0.1 mm per bit
Byte 1 - Bit 2 Measured Position 0.0 to 1000 mm max range
Byte 1 - Bit 3 Measured Position
Byte 1 - Bit 4 Measured Position
Byte 1 - Bit 5 Measured Position
Byte 1 - Bit 6 Measured Position
Byte 1 - Bit 7 Measured Position
Byte 1 - Bit 8 Measured Position

Byte 2 - Bit 1 Measured Position
Byte 2 - Bit 2 Measured Position
Byte 2 - Bit 3 Measured Position
Byte 2 - Bit 4 Measured Position
Byte 2 - Bit 5 Measured Position
Byte 2 - Bit 6 Measured Position
Byte 2 - Bit 7 Measured Current 0.1 amp per bit
Byte 2 - Bit 8 Measured Current 0.0 to 51.1 amps max range

Byte 3 - Bit 1 Measured Current
Byte 3 - Bit 2 Measured Current
Byte 3 - Bit 3 Measured Current
Byte 3 - Bit 4 Measured Current
Byte 3 - Bit 5 Measured Current
Byte 3 - Bit 6 Measured Current
Byte 3 - Bit 7 Measured Current
Byte 3 - Bit 8 Running Speed 5 percent per bit

Byte 4 - Bit 1 Running Speed 0 to 100 percent max range
Byte 4 - Bit 2 Running Speed
Byte 4 - Bit 3 Running Speed
Byte 4 - Bit 4 Running Speed
Byte 4 - Bit 5 Voltage Error flag value
Byte 4 - Bit 6 Voltage Error
Byte 4 - Bit 7 Temperature Error flag value
Byte 4 - Bit 8 Temperature Error

Byte 5 - Bit 1 Motion Flag if 1 then still in motion
Byte 5 - Bit 2 Overload Flag flag value
Byte 5 - Bit 3 Back Drive Flag flag value
Byte 5 - Bit 4 Parameter Flag flag value
Byte 5 - Bit 5 Saturation Flag flag value
Byte 5 - Bit 6 Fatal Error Flag flag value
Byte 5 - Bit 7 Factory Use - 0xFF
Byte 5 - Bit 8 Factory Use

Byte 6 - Bit 1 Factory Use - 0xFF
Byte 6 - Bit 2 Factory Use
Byte 6 - Bit 3 Factory Use
Byte 6 - Bit 4 Factory Use
Byte 6 - Bit 5 Factory Use
Byte 6 - Bit 6 Factory Use
Byte 6 - Bit 7 Factory Use
Byte 6 - Bit 8 Factory Use

Byte 7 - Bit 1 Factory Use - 0xFF
Byte 7 - Bit 2 Factory Use
Byte 7 - Bit 3 Factory Use
Byte 7 - Bit 4 Factory Use
Byte 7 - Bit 5 Factory Use
Byte 7 - Bit 6 Factory Use
Byte 7 - Bit 7 Factory Use
Byte 7 - Bit 8 Factory Use

Byte 8 - Bit 1 ?
Byte 8 - Bit 2 ?
Byte 8 - Bit 3 ?
Byte 8 - Bit 4 ?
Byte 8 - Bit 5 ?
Byte 8 - Bit 6 ?
Byte 8 - Bit 7 ?
Byte 8 - Bit 8 ?


Copyright (C) 2022 Temporal Images Email Us Last Modified: 22nd June 2022