AnalogX: Difference between revisions
(15 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
[[image:AnalogX_icons.jpg|640px]] | [[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. | 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. | ||
Line 49: | Line 47: | ||
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. | 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: | These common sensors have a range with the following mapping: | ||
0.5v = 0 PSI | 0.5v = 0 PSI | ||
4.5v = 150 PSI | 4.5v = 150 PSI | ||
(150PSI range) | |||
The sensor has a 4000mV range between 0 PSI and 150 PSI, with a 500mV offset. | The sensor has a 4000mV range between 0 PSI and 150 PSI, with a 500mV offset. | ||
Therefore, 150 PSI / 4000mV = 0.0375 PSI/mV | 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) | The offset is calculated based on the 500mV offset of the sensor (500mv * 0.375 = 18.75) | ||
[[file:AnalogX_150PSI_oil_pressure_example_formula.png| | 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. | Please refer to these manufacturer's user guide on how to map data using the provided AnalogX CAN protocol. | ||
Line 87: | Line 116: | ||
** 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 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. | ** 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: | If you can confirm these readings, then perform the additional steps: | ||
Line 119: | Line 150: | ||
| Optional on-board 2.2K pullup resistor for each channel (jumper enabled) | | Optional on-board 2.2K pullup resistor for each channel (jumper enabled) | ||
|- | |- | ||
| Power input | | Power input and connections | ||
| 9 - 15volts, protected to 40v (intermittent) | | 9 - 15volts, protected to 40v (intermittent) | ||
|- | |||
| Harness | |||
| 26 gauge leads for power, ground, CAN and sensor inputs | |||
|- | |- | ||
| Weight | | Weight | ||
Line 140: | Line 174: | ||
==Wiring== | ==Wiring== | ||
===Power and CAN=== | ===Power and CAN=== | ||
Pin 1 is on left when facing board connector | |||
{| class="wikitable" | width="600px" | {| class="wikitable" | width="600px" | ||
|- | |- | ||
! | ! Pin | ||
! Assignment | ! Assignment | ||
! Notes | ! Notes | ||
|- | |- | ||
| | | 1 | ||
| 9-15v Power | | 9-15v Power | ||
| Connect this to switched ignition power. 0.25A max consumption. | | Connect this to switched ignition power. 0.25A max consumption. | ||
|- | |- | ||
| | | 2 | ||
| CAN High | | CAN High | ||
| | | | ||
|- | |- | ||
| | | 3 | ||
| CAN Low | | CAN Low | ||
| | | | ||
|- | |- | ||
| | | 4 | ||
| Ground | | Ground | ||
| | | | ||
Line 164: | Line 199: | ||
===Sensor connections=== | ===Sensor connections=== | ||
Pin 1 is on left when facing board connector | |||
{| class="wikitable" | width="600px" | {| class="wikitable" | width="600px" | ||
|- | |- | ||
! | ! Pin | ||
! Assignment | ! Assignment | ||
! Notes | ! Notes | ||
|- | |- | ||
| | | 1 | ||
| Analog | | Analog 4 input | ||
| 0-5v input | | 0-5v input | ||
|- | |- | ||
| | | 2 | ||
| Analog | | Analog 3 input | ||
| 0-5v input | | 0-5v input | ||
|- | |- | ||
| | | 3 | ||
| Analog | | Analog 2 input | ||
| 0-5v input | | 0-5v input | ||
|- | |- | ||
| | | 4 | ||
| Analog | | Analog 1 input | ||
| 0-5v input | | 0-5v input | ||
|- | |- | ||
| | | 5 | ||
| Voltage reference output | | Voltage reference output (for powering sensors) | ||
| 5v @ 0.5A | | 5v @ 0.5A | ||
|- | |- | ||
| | | 6 | ||
| Ground reference | | Ground reference | ||
| | | | ||
|} | |} | ||
===CAN termination=== | ===CAN termination=== |
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 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.
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.
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.
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
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
- 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 |