IOXUS CAN Extension User Manual
- June 3, 2024
- IOXUS
Table of Contents
IOXUS CAN Extension
COMPONENTS
-
6-643 MD X-Series® CAN Extension Module Kit
4-832 CAN Extension Module
4-835 Balance PCBA to CAN PCBA Cable Assembly(Balance Board Rev 3)
4-887 Balance PCBA to CAN PCBA Cable Assembly(Balance Board Rev ≥ 4)
4-837 18-pin CAN Module to Balance Cable Assembly -
4-615 5 Pin CAN Cable Assembly 360mm(14”)
-
4-616 120 Ω CAN Terminator
-
4-630 5 Pin CAN Cable Assembly 910mm(36”)
-
4-889 18 Pin CANEM Programming Cable Assembly
-
4-890 90o 5 PIN CAN Cable Assembly 165mm(6.5“)
-
4-891 90o 5 PIN CAN Cable Assembly 360mm(14“)
-
4-892 90o 5 PIN CAN Cable Assembly 5mm(16’8”)
WARNING
Never touch the power terminals on ultracapacitor modules as any residual voltage can cause fatal electrical shock. Always check with a calibrated meter that the ultracapacitor module is discharged prior to handling the module. Please see the step-by-step instructions in this manual for the discharge procedure.
OVERVIEW
The CAN Extension Module provides a way to monitor multiple IOXUS® X-Series® ultracapacitor modules on a control area network, hereafter referred to as CAN. The CAN Extension Module provides 5 kVAC galvanic isolation between ultracapacitor modules and CAN bus. The CAN Extension Module is powered externally from the ultracapacitor modules and does not affect the ultracapacitor module performance whether powered or not. The CAN Extension Module is typically configured fro 125 kbit/s CAN bus bit rate.
The CAN Extension Module contains 2W 24-60V to 12V step down converter to take input power supplied to the system and regulate it for smooth operation. The 12V power is split between a 1W 12V to 5V non isolated power supply for powering the CAN transceiver and a 1W 12V to 12V power supply with 5 kVAC isolation to power the ultracapacitor module monitoring circuitry. Power consumption of each CAN Extension Module is typically around 1 W, although total power consumption will be higher as the number of connected modules grows, especially at the low end of the input power voltage range.
TECHNICAL DATA
Connector Pinout
PIN # NAME NOTE
1| CAN_SHIELD| Shielding for CAN cables, connected to host ground
2| CAN_LO| CAN – Connection
3| CAN_HI| CAN + Connection
4| GNDH_UF| External Power Negative Supply Voltage
5| VINH_UF| External Power Positive Supply Voltage
INPUT POWER
ABSOLUTE MAXIMUM RATINGS
CAN Voltage (Pins 1,2 3)| 20V
Positive Voltage (Pins 4, 5)| 70V
Negative Voltage (Pins 4, 5)| 70V
Number of Series Devices| 50
CAN Cable Length (20AWG)| 30m
Supply Current (50 Devices, 24V)| 4A
RECOMMENDED CONDITIONS MIN TYP
MAX
Input Voltage| 24| 48| 60V| V
Input Current (Per Device)| 20| 30| 80mA| mA
SUPPLY CURRENT LIMIT
While it is possible to pass up to 4A through the power inputs on CAN Extension Modules in a daisy chain, it is recommended to limit total supply current in chain to ≤ 1A. CAN Extension Modules are not fused, so if a short circuit occurred on the power line with no current limit, it is possible for damage to CAN Extension Modules to occur. The number of CAN Extension Modules that can be protected by a fuse in a single chain is dependent on the power supply voltage.
SUPPLY VOLTAGE 1A FUSE 0.75A FUSE 0.5A FUSE
24V| 17| 13| 8
36V| 26| 19| 13
48V| 34| 26| 17
60V| 43| 32| 21
Up to 50 CAN Extension Modules can be protected in a daisy chain by splitting power supply lines into multiple sets of parallel power lines with each set protected by a fuse.
HANDLING
CAN Extension Modules is an external accessory to IOXUS® X-Series® ultracapacitor modules. All of the handling recommendations for IOXUS® ultracapacitor modules apply to the CAN Extension Module as well. Due to the location of the CAN Extension Module, additional precautions must be taken to prevent damage to the CAN Extension Module and ultracapacitor module. The following precautions must be observed.
- The CAN Extension Module should be guarded against impacts or stresses that could damage the plastic housing.
- Do not use the 4-837 18 pin CAN Module to balance Cable as a handle or lift point as this could damage the plastic housing or connector seals and nullify the module’s ingress protection against water.
INSTALLATION
The CAN Extension Module is a field installable accessory to IOXUS® X-Series® ultracapacitor modules. Customers may order 6-643 iMOD IOXUS® X-Series® CAN Extension Module Kits at any time to add to existing IOXUS® X-Series® ultracapacitor modules. Installation should be performed by an IOXUS® authorized installer to ensure continuation of ingress protection ratings.
CAN Extension Module Installation
- Discharge an IOXUS® X-Series® ultracapacitor module following instructions in this manual.
- Remove middle 4 screws on IOXUS® X-Series® ultracapacitor module terminal plate with a T20 driver.
- Install the provided gasket in the groove on the CAN Extension Module housing.
- Place 4-832 CAN Extension Module on a IOXUS® module terminal plate such that the 18 pin connector is oriented toward the balancing enclosure side of the module and line up the mounting holes with the 4 empty screw holes.
- Screw down the CAN Extension Module housing with the screws removed in step 2 and torque them to 3 – 4 N. m.
- Remove the screws from the balancing enclosure cover nearest to the CAN Extension Module with a T25 driver.
- Remove the nylon screws retaining the balancing PCB with a PH1 driver.
- Disconnect the 2 pin thermistor connector and 5 pin OV signal connector. Use a knife blade or equivalent to pry open the locking tab on the 2 pin thermistor connector.
- Remove the plastic retaining nut on the 4 pin I/O connector and remove the connector from the balancing PCB housing.
- Install 4-835 or 4-887 Balance PCBA to CAN PCBA Cable Assembly connector in the hole for the 4 pin I/O connector and tighten the plastic retaining nut.
- Connect the 10 pin connector on the 4-835 or 7 and 3 pin connectors on 4-887 to the balancing PCB.
- Cut the cable tie retaining the thermistor cable and connect the 2 pin thermistor connector to the balancing PCB.
- Screw down the balancing PCB with the nylon screws with maximum torque < 0.5 N.m.
- Install and screw down the balancing enclosure cover removed in step 6 and torque the screws to 3 – 4 N. m.
- Install 4-837 18 pin CAN Module to Balance Cable Assembly between the balancing connector and CAN Extension Module connector.
CAN Module Connection
CAN Extension Modules can be daisy chained with 4-615 or 4-630 5 pin CAN Cable Assemblies. Two 5 pin CAN connectors are on every CAN Extension Module. The last CAN Extension Module in a daisy chain must be terminated with 4-616 120Ω CAN Terminator and the host must provide a 120Ω termination at the other end of the CAN bus.
CAN COMMUNICATION
Host to Module Communications
The standard 1 1-bit CAN ID(SID) will define message flow. All CAN IDs have 3-bit DATA ID. All command messages have Data ID 0x0. The Group ID may be used to set up to 16 individual module clusters on the same CAN bus. The default Group ID is 0x1. The type of message is coded in a 4-bit Type ID.
11-bit Command Message ID:
10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
Data ID | Group ID | Type ID |
Message Type ID:
Type ID | Group ID |
---|---|
0x1 | Module Data Response |
0x2 | Module Data Request |
0xC | Module Configuration Command |
Example:
- CAN ID _ 0x012 = Requesting data from module in group 0x1
- CAN ID _ 0x121 = Module in group 0x2 responding with Data ID 0x1
- CAN ID _ 0x03C = Configuration command to module in group 0x3
The specific module to be addressed is found in the command message payload. All messages have 8 bytes.
Data request message payload(Master CAN Controller to Module Slave) CAN ID _ 0x012
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Destination Module ID (0x01 to 0xFF) | |||||||
--- | --- | |||||||
1 | Command ID (0x00 to 0xFF) | |||||||
2 |
Reserved
3
4
5
6
7
0| Destination Module ID (0x01 to 0xFF)
---|---
1| Command ID (0x00 to 0xFF)
2|
Command Data
3
4
5
6
7
Module Data Messages
The module request Command IDs are in Byte 1 of a data request message payload.
Command ID | Data Requested | Requested Data ID |
---|---|---|
0x01 | Message 1 | 0x1 |
0x02 | Message 2 | 0x2 |
0x03 | Message 3 | 0x3 |
0x08 | Voltage Taps | 0x4, 0x5 |
Command ID [0x01]: Get Data Message 1
Response Payload CAN ID _ 0x111
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Module ID | |||||||
1 | Command ID(LSN) | Group ID(0x0-0xF) | ||||||
2 | Full Module Voltage (Voltage Tap 6) |
3
4| Tap with Highest Delta Voltage(1-6)| Reserved| OV Alarm| OT Alarm
5| Module Temperature(0xF5 0xFF, 0x00 0x6E)
6| Highest Delta Voltage
7
Command ID [0x02]: Get Data Message 2
Response Payload CAN ID _ 0x211
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Module ID | |||||||
--- | --- | |||||||
1 | Command ID(LSN) | Group ID(0x0-0xF) | ||||||
2 | Reserved | |||||||
3 | Reserved | Unlocked | ||||||
4 | Module Voltage Setting(0x10-0x80) | |||||||
5 | Reserved | |||||||
6 | Reserved | |||||||
7 | Reserved |
Command ID [0x03]: Get Data Message 3
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Module ID | |||||||
1 | Command ID(LSN) | Group ID(0x0-0xF) |
2
3
| Voltage Tap 1
4
5
| Voltage Tap 2
6
7
| Voltage Tap 3
Response Payload CAN ID _ 0x311
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Module ID | |||||||
1 | Command ID(LSN) | Group ID(0x0-0xF) |
2
3
| Voltage Tap 4
4
5
| Voltage Tap 5
6
7
| Voltage Tap 6
Command ID [0x08]: Get Voltage Tap Data
Response Payload CAN ID _ 0x511
No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | Module ID | |||||||
1 | Command ID(LSN) | Group ID(0x0-0xF) |
2
3
| Voltage Tap 4
4
5
| Voltage Tap 5
6
7
| Voltage Tap 6
Configuration Command Messages
The module configuration Command IDs are in byte 1 of a configuration command message payload.
Command ID | Configures | Unlock Level |
---|---|---|
0x40 | Polled/Broadcast Mode | 0x0 |
0x41 | Module ID | 0x1, 0x2 |
0x42 | Group ID | 0x1, 0x2 |
0xC0 | Measurement Sample Rate | 0x0 |
0xC1 | CAN Tap Scaling | 0x0 |
0xD0 | Voltage Tap Scaling | 0x2 |
0xDF | Unlock Level | Any |
Command ID [0x40]: Change the periodic broadcast interval of data message
Command Data: New Periodic Interval in Byte 2
Unlock Level: 0x0
Example: CAN ID: 0x01C Data: 0xFF 40 0A 00 00 00 00 00 = Set periodic
broadcast of data message 1 at 1 Second intervals on all connected modules in
Group ID 0x1.
Note: Sending any Command Message with Module ID 0xFF will be executed by
all modules on the bus. By default, the periodic interval is set to 0, or
polled mode, with periodic data updates disabled. Sending command [0x40] with
the new interval multiplier in Byte 2 will set periodic transmissions over CAN
in 100 ms steps. Changes to this setting are retained if the CAN power is
cycled off. Sending command [0x40] with 0x00 in byte 2 disables broadcast and
returns to polled mode.
Response: CAN ID 0x1G1 messages are broadcast at the periodic interval
where G is Group ID.
Command ID [0x40]: Change Module ID
Command Data: New Module ID in Byte 2
Unlock Level: 0x1, 0x2
Example: CAN ID: 0x01C Data: 0x01 41 32 00 00 00 00 00 = Change Module ID
from 0x01 to 0x32 for Module with ID 0x01 in Group ID 0x1 By default, Module
ID is set to 0x01. Sending command [0x41] with the new Module ID in Byte 2
will change the module’s Module ID. In order to change Module ID, the
configuration unlock level has to be set to 0x1 by sending message CAN ID:
0x0GC Data: 0xMM DF D9 4B 00 00 00 00, where G is Group ID and MM is Module
ID. All CAN Extension Modules have Module ID 0x01 by default, so care has to
be taken when configuring Module IDs to prevent multiple modules from
receiving the same Module ID. Best practices are to set Module IDs with one
module connected at a time to a CAN bus if multiple CAN Extension Modules have
default software configurations. The global response Module ID 0xFF feature is
disabled for setting Module IDs, so it is only possible to change a Module ID
if its existing Module ID matches the value in Byte 0 of the configuration
command message.
Response: New Module ID appears in Byte 0 of data messages and can be addressed in Byte 0 of the command message.
Command ID [0x42]: Change Group ID
Command Data: New Group ID in Byte 2
Unlock Level: 0x1, 0x2
Example: CAN ID: 0x01C Data: 0xFF 42 02 00 00 00 00 00 = Change all
modules in Group ID 0x1 to Group ID 0x2. By default, Group ID is set to 0x1.
Sending command [0x42] with the new Group ID in Byte 2 will change a module’s
Group ID. In order to change Group ID, the configuration unlock has to be set
to 0x1 by sending message CAN ID: 0x0GC Data: 0xMM DF D9 4B 00 00 00 00,
where G is Group ID and MM is Module ID. Response: New Group ID appears in
second nibble of CAN ID for data messages and all command messages must use
the new Group ID in the CAN IDs for communication.
Command ID [0xC0]: Change Measurement Sample Rate
Command Data: New periodic sample interval in Byte 2
Unlock Level: 0x0
Example: CAN ID: 0x01C Data: 0xFF C0 02 00 00 00 00 00 = All module in
Group ID 0x1 set measurement sample interval at 1000 ms.
By default, the sample rate is equal to 0(polled) to minimize parasitic load
on ultracapacitors during measurement. Samples will be taken whenever a data
request message received, however this may not be often enough to get accurate
voltage tap readings. Sending command [0C0] with the new measurement sample
interval multiplier, in 50 ms steps, in Byte 2 will change the measurement
sample rate.
Response: Ultracapacitor module measurements are briefly enabled at sample interval rate.
Command ID [0xC1]: Change CAN Baud Rate
Command Data: CAN baud rate set in Byte 2
Unlock Level: 0x0
Example: CAN ID: 0x01C Data: 0xFF C1 02 00 00 00 00 00 = All module in Group
ID 0x1 will have CAN baud rate set to 500 kbps on next power cycle. By
default, CAN bus speed is set at 125 kbps. CAN baud rate can be set at
125kbps, 250 kpbs, or 500 kbps by setting Byte 2 in command [0xC1} to 0x00,
0x01, or 0x02 respectively. Response: CAN Extension Modules set to CAN baud
rate configured in Byte 2 of Command [0xC1] the next time input power is
cycled off and on.
Voltage Data Scaling
Command ID [0xD0]: Configure Voltage Taps for Module Voltage
Command Data: New Module Voltage in Byte 2
Unlock Level: 0x2
There are six voltage taps available for monitoring on every IOXUS® X-Series® ultracapacitor module. However, the X-Series® available in a number of different voltage configurations. In order for the voltage taps to report correctly, the module voltage has to be set. By default, the voltage taps are set for 128V modules. Follow the steps below to set the module voltage.
- Send CAN ID 0x0GC Data: 0xMM DF EC 8A 00 00 00 00 to set unlock level 0x2.
- Send CAN ID 0x0G2 Data: 0xMM 02 00 00 00 00 00 00 to check unlock status.
-
Send CAN ID 0x0GC Data: 0xMM D0 XX 00 00 00 00 00 where XX is the scaling code in hex.
Module Voltage XX Code16V| 0x20
32V| 0x30
48V| 0x40
64V| 0x60
80V| 0x70
96V| 0c80
112V| 0x80
128V| 0x80 - Send CAN ID 0x0G2 Data: 0xMM 02 00 00 00 00 00 00 to confirm module voltage setting is correct.
- Cycle power off to save settings.
The raw voltage tap data returned is a proportion of the full scale measurement. To convert the raw voltage tap data into engineering units, scale factors will have to be applied. The scale factors are different for each module rated voltage. The chart below provides scale factors for the tap voltages in units of millivolts per count. The same scale factor is used for the highest delta voltage.
Module Voltage| Tap 1| Tap 2| Tap 3| Tap 4| Tap
5| Tap 6
---|---|---|---|---|---|---
128V| 36.70| 36.70| 36.70| 36.70| 36.70| 36.70
112V| 36.70| 36.70| 36.70| 36.70| 36.70| 36.70
96V| 36.70| 36.70| 36.70| 36.70| 36.70| 36.70
80V| 32.70| 32.70| 32.70| 32.70| 32.70| 32.70
64V| 28.08| 28.08| 28.08| 28.08| 28.08| 28.08
48V| 24.08| 24.08| 24.08| 24.08| 24.08| 24.08
32V| 13.62| 13.62| 13.62| 13.62| 13.62| 13.62
16V| 9.62| 9.62| 9.62| 9.62| 9.62| 9.62
Voltage Data Scaling Accuracy
The voltage tap data is accurate to ±2% of reading ±10 counts. However, for
measurements exceeding >2800 counts the measurement become less accurate as
the input voltage rises due to influence of a voltage clamp on the measurement
line. This phenomenon only impacts 96V, 112V, and 128V modules for tap >102V.
It does not impact any other modules with the correct voltage scale settings.
Temperature Data Scaling
The module temperature is reported in units od 1.0oC per count. The valid
range of reported values is -11oC to +110oC. Values measured outside this
range will be reported as there lowest or highest in the valid range.
Unlock Level
Command Data: Password Set in Byte 2 & 3
Unlock Level: Any
Example: CAN ID: 0x01C Data: 0x01C DF D9 4B 00 00 00 00 = Module ID 0x01 with
Group ID 0x1 is unlocked to level 0x1 and the variables Module ID and Group ID
can be charged. By default, unlock level is set at 0x0 and will revert to 0x0
two(2) minutes after it has been changed to a higher level. Password
0x4BD9(0xD9 in Byte 2 and 0x4B in Byte 3) is used to unlock level 0x1 and
Password 0x8AEC(0xEC in bYTE 2 and 0x8A in Byte 3) is used to unlock level
0x2. Level 0x1 allows the changing od Module ID and Group ID variables. Level
0x2 allows the charging of the Module Voltage variable. If any value other
than the correct passwords are entered in Byte 2 & 3, the unlock level will
revert to level 0x0. The unlock level can be found in Byte 3 of the data
message 2. Response: Unlock level changes in Byte 3 of data message 2 of the
affected module. Depending on password, variables Module ID, Group ID, and
Module Voltage can become accessible for change via their respective
configuration command messages.
FIRMWARE UPDATE
The CAN Extension Module contains a microprocessor which digitizes measurements taken from an IOXUS® X-Series® ultracapacitor module and interfaces with CAN. The firmware for the microprocessor can be updated to provide new features and bug fixes for undesired behavior. A programming cable(4-889 18 pin CAN Module to RJ-11 Cable Assembly) is available from IOXUS® to perform firmware updates at installation sites. Firmware updates will be made available in the form of download files which can be flashed to the CAN Extension Modules with a programming tool. IOXUS® recommends the use of LOAD-n-GO, a low cost hand-held mobile programmer available from Custom Computer Services, Inc: ccsinfom.com/load-n-go
Processor Flashing
- Obtain latest version of CAN Extension Module processor .hex file from IOXUS®.
- Load the .hex file into the programming tool. (In the ccsload application select load file in the Device panel, browse for the file path, and click open.)
- Set the Target Chip as DSPIC30F4013 for the programming tool.
- Set programming options to overwrite Program Memory and Configuration Bits, but not Data EEPROM. This will preserve settings such as Module ID and Module Voltage during a firmware upgrade. (In the ccsload application make sure the Program Memory and Config bits options are checked, but not Delta EE on the Device panel.)
- Write the program to a memory loaction on the programming tool if it is a hand-held mobile programmer. (in the ccsload application select a memory location and click Write to Memory on the Device panel.).
- Disconnect 4-837 18 pin CAN Module to Balance Cable Assembly from the CAN Extension Module.
- Connect 4-889 18 pin CAN Module to RJ-12 cable Assembly to CAN Extension Module and programming tool.
- With input power supplied on the CAN Extension Module, load the new firmware through the programming tool. (For LOAD-n-GO turn the programming tool on, select the program memory location, and press the Load button.)
- Disconnect 4-889 18 pin CAN Module to RJ-12 Cable Assembly from the CAN Extension Module.
- Connect 4-837 18 pin CAN Module to Balance Cable Assembly to CAN Extension Module.
- Send a CAN message data request for Message 3 to the Group ID & Module ID of the module which was just programmed(e.g. CAN ID: 0x012 Data: 0x01 03 00 00 00 00 00 00) to check that the firmware revision in Byte 3 of the received data message matches the intended firmware version.
SAFETY
Never touch the power terminals as any residual voltage can cause fatal electrical shocks. Always check with a calibrated meter that the module is discharged prior to handling the module, please see the step-by-step instructions in this manual for the discharge procedure.
- Prior to installation or removal, the ultracapacitor module and or system of modules must be discharged fully and shorting wires installed. (Procedure below)
- Provide sufficient electrical isolation for operation above 50 VDC.
- Protect surrounding electrical and conductive components from incidental contact.
- Do not operate above the specified voltage or temperature range.
- Do not touch terminals while charged, serious burns, shock or material fusing may occur.
Discharging
A fully discharged ultracapacitor module may “bounce back” if it is stored
within a shorting wire connected to the + and – terminals. This bounceback can
be as much as 20% of the module’s nominal operating voltage and is enough to
cause dangerous electrical shocks and other undesirable consequences. Prior to
any maintenance or replacement, each ultracapacitor module should be
individually discharged and shorted with a resistor or wire. Even a fully
discharged module can rebound naturally to an unsafe condition. Be sure to
discharge with an appropriately sized load or resistor or resistor bank (not
provided) and either keep that load attached or replace it with a shorting
wire or bus bar when the module voltage is depleted. The module voltage should
be 0.5±0.5V when attaching a shorting device.
- Using a voltmeter, measure the voltage between the 2 terminals.
- If the voltage is above 1V, a resistor pack(not supplied with the module) will need to be connected between the terminals. Proper care needs to be taken in the design and construction of such a dissipative pack. e.g. At 96V, for a 4Ohm pack, the module will be initially discharged with a current of 24A and will take about 25 minutes of fully discharge. However, in this case, the peak power dissipated in the resistor pack will be 2.3kW. The resistor pack will need to be sized and provided with suitable cooling to handle this power dissipation. Additionally, proper enclosure or other packaging is necessary to ensure safety. In all cases, proper design of the dissipative resister pack is necessary.
- If the voltage is under 1V, connect the shorting wire provided by IOXUS® to the + and – connectors.
- The module is now safe for handling. Leave the shorting wire connected at all times
Maintenance
The modules should be kept free of dust and debris and cleaned at regular intervals. In inside locations, that should be no more than annually however this may vary with your particular circumstances. The outside location will be as needed. Once the modules are discharged, proceed with cleaning with a cloth and a simple water/soap solution. Avoid the use of hoses or pressurized spays. Once the assembly is clean check for properly torqued fasteners and note any damage to any of the housings or signs of internal damage and replace as necessary.
Disposal
Please recycle according to local codes and regulations for flammable materials.
Toll-Free: +1 (877)751-4222 Fax: (607)433-9014
sales@ioxus.com
©2022 IOXUS® All Rights Reserved. ioxus.com P/17
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>