AnalogX: Difference between revisions

(Created page with "Information coming soon")
 
 
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
Information coming soon
=Introduction=
AnalogX is a compact and lightweight 4 channel Analog to CAN I/O expander, designed to be installed in-line with your wiring harness and specially designed for the harsh automotive electrical environment.
 
[[image:AnalogX_icons.jpg|640px]]
 
AnalogX provides 4 buffered and protected 0-5v sensor inputs and can broadcast the sensor values between 1 and 255Hz. It also provides a 0.5A 5v reference for powering sensors.
 
==Parts in the Kit==
In the kit you will receive:
* AnalogX module
* 4 wire power and CAN pigtail
* 6 wire analog sensor input pigtail
* 1" shrink tube for installation
 
==Compatible Sensors==
AnalogX is compatible with any 0-5v voltage input; the voltage is broadcast over CAN bus to a receiving system.
 
Use the capabilities provided by the receiving data system to translate the raw voltage to a meaningful real-world value, such as pressure, temperature, distance, and so on.
 
===RaceCapture / PodiumConnect systems===
Setting up AnalogX in RaceCapture is easy: Go to Setup / CAN Channels and select the preset for AnalogX.
 
This will bring in the basic mapping with the default 0-5v scaling.  From here, you can edit each channel to customize the formula to match your sensor's voltage scaling.
 
* '''Note''' -  RaceCapture's CAN mapping features currently only supports sensors with a linear (straight-line) response. Sensors with a curved response, such as the Extended Range Temperature sensor is based on a thermistor design, and will not work with the built-in direct CAN mapping. We recommend using a temperature sensor with a linear response, such as the Texense Liquid Temperature Sensor or similar.
 
===Setting CAN baud rate===
The default baud rate for AnalogX is 500K. If you still have it set to the default, ensure this is set under Setup / CAN bus settings.
 
[[file:CAN2_500K_baud.jpg|640px]]
 
===Selecting the AnalogX preset===
Select the starter CAN preset for AnalogX. This will bring in the basic 0-5v mapping, which you can then calibrate further using the CAN mapping conversion formula.
 
[[file:AnalogX_CAN_preset.jpg|640px]]
 
===Calibrating Sensors attached to AnalogX===
Navigate to Setup / CAN mapping, and edit the channel you wish to customize.
 
===Select the channel===
Touch the channel selection drop down and select the channel that matches your sensor.
* '''Note, it's recommended you use the preset name for your channels; if no channel exists that matches your sensor, you can customize the channel name, units, and min/max values directly
 
[[file:AnalogX_customize_preset.jpg]]
 
==Sensor Conversion Formulas==
AnalogX reports it's raw value from 0-5000mV.  You can use the formula to scale and offset the raw value to a real-world value.
 
===Linear Fluid Temperature Sensor===
The Autosport Labs Linear Fluid Temperature sensor has a 10mV/C scaling, with a 0.5V offset at 0C.
 
[[file:linear_temp_sensor_analogx_scaling.png|480px]]
 
===10 bar / 150 PSI pressure sensor===
These common sensors have a range with the following mapping:
 
0.5v = 0 PSI
4.5v = 150 PSI
(150PSI range)
 
The sensor has a 4000mV range between 0 PSI and 150 PSI, with a 500mV offset.
 
Therefore, 150 PSI / 4000mV = 0.0375 PSI/mV
 
The offset is calculated based on the 500mV offset of the sensor (500mv * 0.375 = 18.75)
 
Resulting Formula: '''RAW * 0.0375 - 18.75'''
 
[[file:AnalogX_150PSI_oil_pressure_example_formula.png|480px]]
 
===150 Bar / 2175 PSI pressure sensor===
Use the formula: '''RAW * 0.5437 - 271.85'''
 
===Texense Liquid Temperature Sensor===
This sensor has a range of -50 to 150C and has a 22.5mV/C calibration.
 
0.25v = -50C
4.75v = 150C
(200C sweep)
 
The sensor has a 4500mV range between -50C and 150C, with a 250mV offset.
 
Therefore, 200C / 4500mV = 0.04444 C/mV
 
The offset is calculated based on the 250mV offset of the sensor (250mV * 0.0444444 = 11.1111)
 
The offset is further adjusted by the starting range of the sensor (-50C)
 
Resulting formula: '''RAW * 0.04444 - 61.1111'''
 
[[image:Texense_Liquid_temperature_sensor_CAN_channel_mapping.png|480px]]
 
* '''Note''' you can convert the resulting value to Fahrenheit by selecting the '''C -> F''' option in the Formula Conversions Tab.
 
===Other sensors===
Please refer to these manufacturer's user guide on how to map data using the provided AnalogX CAN protocol.
 
==Troubleshooting==
 
===No CAN data===
* Double check the CAN bus connections
* Verify the CAN baud rate is compatible with the AnalogX configuration (500K by default, 1MB with jumper modified)
* Verify your CAN bus termination is correct.  AnalogX is terminated by default.
* Simplify your CAN bus network: Try making AnalogX the only other CAN device on the network, just as a test.
* Check for short circuits / over-current on the 5v reference. If too much current is drawn from the 5v reference, AnalogX may shut down in self-protection mode.
 
===Data is being received, but it is incorrect===
 
====Basic mapping test====
Try simplifying the mapping to verify the correct data is transmitted.
 
* Go into the software for the receiving system, and set the CAN formula to '''multiply by 1'''  and '''add 0''' and '''divide by 1''' , and '''unsigned integer'''. and update the software settings.
** This will cause the receiving system to display the raw millivolt (mV) value from AnalogX.
* Disconnect the sensors from AnalogX.
* For each AnalogX input perform the following test:
** Connect the input to AnalogX's ground.  Your receiving system should show very close to 0, which is 0 volts.
** Connect the input to AnalogX's 5v reference. Your receiving system should show very close to 5000, which represents 5000mV.
 
* '''Note''': The AnalogX inputs are very sensitive and high impedance to prevent affecting the readings of existing circuits. Therefore, if the inputs are disconnected, it will 'float' and may show random readings.
 
If you can confirm these readings, then perform the additional steps:
* For each AnalogX input, re-connect your sensor.
** Measure the voltage right where it enters AnalogX.
** Compare that with the reading on the receiving system.  The value should be the voltage X 1000, translated to mV.  Example: 2.5v measured should show 2500 on the receiving system.
 
If you can verify received millivolt value equals the measured voltage at the AnalogX input, then you know the correct value is being transmitted to the system, and you can focus on mapping the raw millivolt value to the real world temperature, pressure, or etc.  Consult the sensor manufacturer and the system to determine the proper mapping of the sensor you are using.
 
==Specifications==
{| class="wikitable" | width="600px"
|-
! Feature
! Description
|-
| Analog input voltage range
| 0  - 5v
|-
| DAC resolution
| 12 bit SAR
|-
| Sample output format
| 0 - 5000mV
|-
| Input impedance
| Greater than 10 Meg Ohm
|-
| Input voltage protection
| 100v
|-
| Pullup resistor
| Optional on-board 2.2K pullup resistor for each channel (jumper enabled)
|-
| Power input and connections
| 9 - 15volts, protected to 40v (intermittent)
|-
| Harness
| 26 gauge leads for power, ground, CAN and sensor inputs
|-
| Weight
| 6 grams
|-
| Dimensions
| 0.72" x 1.93" (18.3mm x 48.7mm)
|-
| CAN baud rate
| 500K and 1M, jumper configurable
|-
| Address Space
| 4 separate address spaces allows up to 4 AnalogX modules to operate on the same CAN network. (jumper configurable)
|}
 
==Source Code==
Source code for AnalogX available here: https://github.com/autosportlabs/analogx
 
==Wiring==
===Power and CAN===
Pin 1 is on left when facing board connector
{| class="wikitable" | width="600px"
|-
! Pin
! Assignment
! Notes
|-
| 1
| 9-15v Power
| Connect this to switched ignition power. 0.25A max consumption.
|-
| 2
| CAN High
|
|-
| 3
| CAN Low
|
|-
| 4
| Ground
|
|}
 
===Sensor connections===
Pin 1 is on left when facing board connector
{| class="wikitable" | width="600px"
|-
! Pin
! Assignment
! Notes
|-
| 1
| Analog 4 input
| 0-5v input
|-
| 2
| Analog 3 input
| 0-5v input
|-
| 3
| Analog 2 input
| 0-5v input
|-
| 4
| Analog 1 input
| 0-5v input
|-
| 5
| Voltage reference output (for powering sensors)
| 5v @ 0.5A
|-
| 6
| Ground reference
|
|}
 
===CAN termination===
 
AnalogX is terminated by default. You can disable termination by carefully scratching the bridge on the CAN TERM pad on the bottom of the AnalogX circuit board. 
 
* '''Note:''' Use a razor or very fine tipped screwdriver to break the bridge on the pad, scraping towards the outside of the circuit board.  To re-enable the bridge, solder across the pads using a low wattage (15-30W) soldering iron to prevent damage to the pads.
 
==Installation==
AnalogX was specifically designed to fit right into your wiring harness for a streamlined, efficient and lightweight installation. Use the included 1" shrink tubing to encase and protect the unit when you are ready to integrate it with your harness.
 
=AnalogX CAN bus API=
==Overview==
The CAN bus API provides the configuration and control interface for AnalogX
 
==CAN base ID==
 
CAN base ID is '''0xE4600 (935424)'''
====Adjusting Base ID====
The base address is determined by the state of the '''ADR1''' and '''ADR2''' jumpers. By default, the jumpers are closed (bridged); the jumper can be opened by cutting the trace between the pads.  To re-close the jumper, add a small amount of solder to bridge the gap between the pads you want to close.
 
* Opening the jumper ADR1 will add 256 to the base ID
* Opening the jumper ADR2 will add 512 to the base ID. 
 
The combination of jumper settings will allow up to 4 AnalogX units to coexist on the same CAN bus.
 
{| class="wikitable" | width="600px"
|-
! ADR2 Jumper
! ADR1 Jumper
! Address
|-
| Closed
| Closed
| 0xE4600 (935424)
|-
| Closed
| Open
| 0xE4700 (935680)
|-
| Open
| Closed
| 0xE4800 (935936)
|-
| Open
| Open
| 0xE4900 (936192)
|}
 
===CAN Baud rate===
 
500K and 1MB rates are supported.
 
500K is enabled by default; cut the jumper labeled '''BAUD''' on the bottom of AnalogX to enable 1MB rate.
 
==CAN Messages==
 
===Announcement===
 
The announcement message is broadcast by the AnalogX upon power up.
 
====Address====
'''CAN ID:''' Base + 0
 
{| class="wikitable" | width="600px"
|-
! Offset
! What
! Value
|-
| 0
| Channel Count
| Total number of channels on device
|-
| 1
| Reserved
|
|-
| 2
| Reserved
|
|-
| 3
| Reserved
|
|-
| 4
| Reserved
|
|-
| 5
| Major Version
| Firmware Major Version Number
|-
| 6
| Minor Version
| Firmware Minor Version Number
|-
| 7
| Patch Version
| Firmware Patch version number
|}
 
===Configuration Group 1===
 
Configures options for AnalogX.
 
Send this message to AnalogX to configure runtime settings.
 
* '''Note:''' Settings are volatile and are not persisted across power cycles.
 
====Address====
'''CAN ID:''' Base + 3
 
{| class="wikitable" | width="600px"
|-
! Offset
! What
! Value
|-
| 0
| Sample Rate
| Rate to report sensor values ( 1 - 255Hz).  Default sample rate is 50Hz.
|-
| 1
| Reserved
|
|-
| 2
| Reserved
|
|-
| 3
| Reserved
|
|-
| 4
| Reserved
|
|-
| 5
| Reserved
|
|-
| 6
| Reserved
|
|-
| 7
| Reserved
|
|}
 
===Statistics===
 
Broadcast by AnalogX every 1 second.
 
====Address====
'''CAN ID:''' Base + 2
 
{| class="wikitable" | width="600px"
|-
! Offset
! What
! Value
|-
| 0
| Current Sample Rate
| 1 - 255Hz
|-
| 1
| Reserved
|
|-
| 2
| Reserved
|
|-
| 3
| Reserved
|
|-
| 4
| Reserved
|
|-
| 5
| Major Version
| Firmware Major Version Number
|-
| 6
| Minor Version
| Firmware Minor Version Number
|-
| 7
| Patch Version
| Firmware Patch version number
|}
 
===Sample Broadcast===
 
Sample Broadcast for Analog inputs.  The samples are broadcast based on the configured sample rate (default is 50Hz)
 
===Scaling and Data format===
* '''Scaling:''' 0-5000mV
* '''Data format:''' Little Endian
 
===Address===
* '''CAN ID:''' Base + 20
 
{| class="wikitable" | width="600px"
|-
! Offset
! What
! Value
|-
| 0
| Channel 1, low byte
|
|-
| 1
| Channel 1, high byte
|
|-
| 2
| Channel 2, low byte
|
|-
| 3
| Channel 2, high byte
|
|-
| 4
| Channel 3, low byte
|
|-
| 5
| Channel 3, high byte
|
|-
| 6
| Channel 4, low byte
|
|-
| 7
| Channel 4, high byte
|
|}

Latest revision as of 17:59, 6 September 2020

Introduction

AnalogX is a compact and lightweight 4 channel Analog to CAN I/O expander, designed to be installed in-line with your wiring harness and specially designed for the harsh automotive electrical environment.

AnalogX icons.jpg

AnalogX provides 4 buffered and protected 0-5v sensor inputs and can broadcast the sensor values between 1 and 255Hz. It also provides a 0.5A 5v reference for powering sensors.

Parts in the Kit

In the kit you will receive:

  • AnalogX module
  • 4 wire power and CAN pigtail
  • 6 wire analog sensor input pigtail
  • 1" shrink tube for installation

Compatible Sensors

AnalogX is compatible with any 0-5v voltage input; the voltage is broadcast over CAN bus to a receiving system.

Use the capabilities provided by the receiving data system to translate the raw voltage to a meaningful real-world value, such as pressure, temperature, distance, and so on.

RaceCapture / PodiumConnect systems

Setting up AnalogX in RaceCapture is easy: Go to Setup / CAN Channels and select the preset for AnalogX.

This will bring in the basic mapping with the default 0-5v scaling. From here, you can edit each channel to customize the formula to match your sensor's voltage scaling.

  • Note - RaceCapture's CAN mapping features currently only supports sensors with a linear (straight-line) response. Sensors with a curved response, such as the Extended Range Temperature sensor is based on a thermistor design, and will not work with the built-in direct CAN mapping. We recommend using a temperature sensor with a linear response, such as the Texense Liquid Temperature Sensor or similar.

Setting CAN baud rate

The default baud rate for AnalogX is 500K. If you still have it set to the default, ensure this is set under Setup / CAN bus settings.

CAN2 500K baud.jpg

Selecting the AnalogX preset

Select the starter CAN preset for AnalogX. This will bring in the basic 0-5v mapping, which you can then calibrate further using the CAN mapping conversion formula.

AnalogX CAN preset.jpg

Calibrating Sensors attached to AnalogX

Navigate to Setup / CAN mapping, and edit the channel you wish to customize.

Select the channel

Touch the channel selection drop down and select the channel that matches your sensor.

  • Note, it's recommended you use the preset name for your channels; if no channel exists that matches your sensor, you can customize the channel name, units, and min/max values directly

File:AnalogX customize preset.jpg

Sensor Conversion Formulas

AnalogX reports it's raw value from 0-5000mV. You can use the formula to scale and offset the raw value to a real-world value.

Linear Fluid Temperature Sensor

The Autosport Labs Linear Fluid Temperature sensor has a 10mV/C scaling, with a 0.5V offset at 0C.

Linear temp sensor analogx scaling.png

10 bar / 150 PSI pressure sensor

These common sensors have a range with the following mapping:

0.5v = 0 PSI 4.5v = 150 PSI (150PSI range)

The sensor has a 4000mV range between 0 PSI and 150 PSI, with a 500mV offset.

Therefore, 150 PSI / 4000mV = 0.0375 PSI/mV

The offset is calculated based on the 500mV offset of the sensor (500mv * 0.375 = 18.75)

Resulting Formula: RAW * 0.0375 - 18.75

AnalogX 150PSI oil pressure example formula.png

150 Bar / 2175 PSI pressure sensor

Use the formula: RAW * 0.5437 - 271.85

Texense Liquid Temperature Sensor

This sensor has a range of -50 to 150C and has a 22.5mV/C calibration.

0.25v = -50C 4.75v = 150C (200C sweep)

The sensor has a 4500mV range between -50C and 150C, with a 250mV offset.

Therefore, 200C / 4500mV = 0.04444 C/mV

The offset is calculated based on the 250mV offset of the sensor (250mV * 0.0444444 = 11.1111)

The offset is further adjusted by the starting range of the sensor (-50C)

Resulting formula: RAW * 0.04444 - 61.1111

Texense Liquid temperature sensor CAN channel mapping.png

  • Note you can convert the resulting value to Fahrenheit by selecting the C -> F option in the Formula Conversions Tab.

Other sensors

Please refer to these manufacturer's user guide on how to map data using the provided AnalogX CAN protocol.

Troubleshooting

No CAN data

  • Double check the CAN bus connections
  • Verify the CAN baud rate is compatible with the AnalogX configuration (500K by default, 1MB with jumper modified)
  • Verify your CAN bus termination is correct. AnalogX is terminated by default.
  • Simplify your CAN bus network: Try making AnalogX the only other CAN device on the network, just as a test.
  • Check for short circuits / over-current on the 5v reference. If too much current is drawn from the 5v reference, AnalogX may shut down in self-protection mode.

Data is being received, but it is incorrect

Basic mapping test

Try simplifying the mapping to verify the correct data is transmitted.

  • Go into the software for the receiving system, and set the CAN formula to multiply by 1 and add 0 and divide by 1 , and unsigned integer. and update the software settings.
    • This will cause the receiving system to display the raw millivolt (mV) value from AnalogX.
  • Disconnect the sensors from AnalogX.
  • For each AnalogX input perform the following test:
    • Connect the input to AnalogX's ground. Your receiving system should show very close to 0, which is 0 volts.
    • Connect the input to AnalogX's 5v reference. Your receiving system should show very close to 5000, which represents 5000mV.
  • Note: The AnalogX inputs are very sensitive and high impedance to prevent affecting the readings of existing circuits. Therefore, if the inputs are disconnected, it will 'float' and may show random readings.

If you can confirm these readings, then perform the additional steps:

  • For each AnalogX input, re-connect your sensor.
    • Measure the voltage right where it enters AnalogX.
    • Compare that with the reading on the receiving system. The value should be the voltage X 1000, translated to mV. Example: 2.5v measured should show 2500 on the receiving system.

If you can verify received millivolt value equals the measured voltage at the AnalogX input, then you know the correct value is being transmitted to the system, and you can focus on mapping the raw millivolt value to the real world temperature, pressure, or etc. Consult the sensor manufacturer and the system to determine the proper mapping of the sensor you are using.

Specifications

Feature Description
Analog input voltage range 0 - 5v
DAC resolution 12 bit SAR
Sample output format 0 - 5000mV
Input impedance Greater than 10 Meg Ohm
Input voltage protection 100v
Pullup resistor Optional on-board 2.2K pullup resistor for each channel (jumper enabled)
Power input and connections 9 - 15volts, protected to 40v (intermittent)
Harness 26 gauge leads for power, ground, CAN and sensor inputs
Weight 6 grams
Dimensions 0.72" x 1.93" (18.3mm x 48.7mm)
CAN baud rate 500K and 1M, jumper configurable
Address Space 4 separate address spaces allows up to 4 AnalogX modules to operate on the same CAN network. (jumper configurable)

Source Code

Source code for AnalogX available here: https://github.com/autosportlabs/analogx

Wiring

Power and CAN

Pin 1 is on left when facing board connector

Pin Assignment Notes
1 9-15v Power Connect this to switched ignition power. 0.25A max consumption.
2 CAN High
3 CAN Low
4 Ground

Sensor connections

Pin 1 is on left when facing board connector

Pin Assignment Notes
1 Analog 4 input 0-5v input
2 Analog 3 input 0-5v input
3 Analog 2 input 0-5v input
4 Analog 1 input 0-5v input
5 Voltage reference output (for powering sensors) 5v @ 0.5A
6 Ground reference

CAN termination

AnalogX is terminated by default. You can disable termination by carefully scratching the bridge on the CAN TERM pad on the bottom of the AnalogX circuit board.

  • Note: Use a razor or very fine tipped screwdriver to break the bridge on the pad, scraping towards the outside of the circuit board. To re-enable the bridge, solder across the pads using a low wattage (15-30W) soldering iron to prevent damage to the pads.

Installation

AnalogX was specifically designed to fit right into your wiring harness for a streamlined, efficient and lightweight installation. Use the included 1" shrink tubing to encase and protect the unit when you are ready to integrate it with your harness.

AnalogX CAN bus API

Overview

The CAN bus API provides the configuration and control interface for AnalogX

CAN base ID

CAN base ID is 0xE4600 (935424)

Adjusting Base ID

The base address is determined by the state of the ADR1 and ADR2 jumpers. By default, the jumpers are closed (bridged); the jumper can be opened by cutting the trace between the pads. To re-close the jumper, add a small amount of solder to bridge the gap between the pads you want to close.

  • Opening the jumper ADR1 will add 256 to the base ID
  • Opening the jumper ADR2 will add 512 to the base ID.

The combination of jumper settings will allow up to 4 AnalogX units to coexist on the same CAN bus.

ADR2 Jumper ADR1 Jumper Address
Closed Closed 0xE4600 (935424)
Closed Open 0xE4700 (935680)
Open Closed 0xE4800 (935936)
Open Open 0xE4900 (936192)

CAN Baud rate

500K and 1MB rates are supported.

500K is enabled by default; cut the jumper labeled BAUD on the bottom of AnalogX to enable 1MB rate.

CAN Messages

Announcement

The announcement message is broadcast by the AnalogX upon power up.

Address

CAN ID: Base + 0

Offset What Value
0 Channel Count Total number of channels on device
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Major Version Firmware Major Version Number
6 Minor Version Firmware Minor Version Number
7 Patch Version Firmware Patch version number

Configuration Group 1

Configures options for AnalogX.

Send this message to AnalogX to configure runtime settings.

  • Note: Settings are volatile and are not persisted across power cycles.

Address

CAN ID: Base + 3

Offset What Value
0 Sample Rate Rate to report sensor values ( 1 - 255Hz). Default sample rate is 50Hz.
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved

Statistics

Broadcast by AnalogX every 1 second.

Address

CAN ID: Base + 2

Offset What Value
0 Current Sample Rate 1 - 255Hz
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Major Version Firmware Major Version Number
6 Minor Version Firmware Minor Version Number
7 Patch Version Firmware Patch version number

Sample Broadcast

Sample Broadcast for Analog inputs. The samples are broadcast based on the configured sample rate (default is 50Hz)

Scaling and Data format

  • Scaling: 0-5000mV
  • Data format: Little Endian

Address

  • CAN ID: Base + 20
Offset What Value
0 Channel 1, low byte
1 Channel 1, high byte
2 Channel 2, low byte
3 Channel 2, high byte
4 Channel 3, low byte
5 Channel 3, high byte
6 Channel 4, low byte
7 Channel 4, high byte