[go: up one dir, main page]

0% found this document useful (0 votes)
168 views21 pages

Microsquirt IObox 1

The document provides information about using a Microsquirt as an input/output (I/O) box with Megasquirt-3 or MS3-Pro engine management systems. When using the IObox firmware, the Microsquirt can provide 7 analog inputs, 4 switch inputs that can also be used as 2 wheel speed inputs, 6 PWM outputs, and 1 low current output. All configuration is done through TunerStudio software on the MS3/MS3-Pro. The I/O functions have fixed purposes to simplify setup. The I/O box has some delay due to CAN communication but is suitable for functions like data logging and fan control rather than time-critical controls. Wiring and configuration instructions are included

Uploaded by

jesus robles
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
168 views21 pages

Microsquirt IObox 1

The document provides information about using a Microsquirt as an input/output (I/O) box with Megasquirt-3 or MS3-Pro engine management systems. When using the IObox firmware, the Microsquirt can provide 7 analog inputs, 4 switch inputs that can also be used as 2 wheel speed inputs, 6 PWM outputs, and 1 low current output. All configuration is done through TunerStudio software on the MS3/MS3-Pro. The I/O functions have fixed purposes to simplify setup. The I/O box has some delay due to CAN communication but is suitable for functions like data logging and fan control rather than time-critical controls. Wiring and configuration instructions are included

Uploaded by

jesus robles
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Microsquirt as I/O box

Dated: 2014-12-27

This version of the documentation applies to:


• MicroSquirt V3 as shown above running IObox firmware 1.002
used with:
• MS3 or MS3-Pro running firmware pre-1.4 alpha9 or later.

Does not apply to other Megasquirt products or other firmware versions.

(c) 2014 James Murray


Microsquirt as I/O Box

Table of Contents
1 Introduction..............................................................................................................................3
2 Scope of use............................................................................................................................3
3 Setting up................................................................................................................................3
4 Wiring.......................................................................................................................................5
5 Inputs and Outputs..................................................................................................................6
5.1 Analog Inputs...................................................................................................................6
5.1.1 Temperature sensor..................................................................................................7
5.1.2 0-5V sensor inputs....................................................................................................7
5.1.3 Settings.....................................................................................................................8
5.2 Switch inputs....................................................................................................................9
5.2.1 Examples................................................................................................................10
5.3 Speed sensor tach inputs...............................................................................................11
5.3.1 VR (magnetic) sensor input....................................................................................11
5.3.2 Hall sensor / gear-tooth sensor input......................................................................12
5.3.3 Hall sensor input (built-in pull-up)...........................................................................14
5.3.4 Optional speed sensor inputs.................................................................................14
5.3.5 Settings...................................................................................................................15
5.4 Outputs...........................................................................................................................15
5.4.1 Examples................................................................................................................17
5.5 CAN comms...................................................................................................................17
5.6 BOOTLOAD input..........................................................................................................18
6 Programmers reference to CAN communications................................................................18
7 Megasquirt-2 compatability...................................................................................................21

(c) 2014 James Murray 2014-12-27 Page 2/21


Microsquirt as I/O Box

1 Introduction
The IObox firmware allows the use of a Microsquirt as an I/O box with minimal D.I.Y. and straightforward
software configuration. When used with MS3 or MS3-Pro it can offer a useful I/O addition:
7 Analog inputs (0-5V variable)
2 Wheel speed inputs (VR or hall type)
2 Wheel speed (hall type) or ground-switch inputs
1 dedicated ground-switch input
2 high current PWM/switch ground-switching outputs
4 mid current PWM/switch ground-switching outputs
1 low current PWM/switch 0-12V outputs
By design, the inputs and outputs have a fixed function to simplify configuration. All configuration is performed
through TunerStudio in the MS3/MS3-Pro settings pages.

2 Scope of use
The IObox is suitable for general functions such as fan control, table-switching, shift lights and analog data
capture. The inputs and outputs will have a short delay (0.01-0.02 seconds) due to the way the data is sent over
the CAN wires. Therefore, it is not intended to be used for time-critical inputs or outputs such as launch control,
throttle-stops or transbrake control.
The IObox expects a continual stream of data - should the communications be interrupted for more than 0.5
seconds all outputs will be turned off and the IObox will await fresh data. This is intended as a fail-safe situation.

3 Setting up
1. Connect your computer to the serial port on the Microsquirt.
2. Load the IO-box firmware using the ms2loader programme provided with the firmware files. Follow the
prompts on the screen.
3. Disconnect your computer from the Microsquirt. There is no configuration here.
4. Connect your computer to the MS3 or MS3-Pro and open TunerStudio. Check the title bar and confirm that
you are running firmware version pre-1.4 alpha6+ or later.

(c) 2014 James Murray 2014-12-27 Page 3/21


Microsquirt as I/O Box

5. Go to CAN-bus/Testmodes > IObox Settings

6. Set IO-Box #1 Enable to "On"


7. The basic IO-box configuration is now complete. Click Close.
8. The CANIN, CANADC, CANOUT settings can now be used on the various settings through Megasquirt-3,
these are covered in section 5.

(c) 2014 James Murray 2014-12-27 Page 4/21


Microsquirt as I/O Box

4 Wiring
Pin# Name Color In/Out Function Max amp
1 +12V In Red In Main power feed < 1A
2 CANH Blue/Yellow Comms CAN communications -
3 CANL Blue/Red Comms CAN communications -
4 VR2+ VR2 In Wheel speed in 2 (-ve) -
5 SPAREADC2 (MAF) Pink/Black In 0-5V Analog input (ADC7) -
6 FLEX Purple/White In Switch input 1 -
7 FIDLE Green Out Output 3 (low side, mid current) 3A
8 FP (pump) Purple Out Output 4 (low side, mid current) 3A
9 INJ 1 Thick Green Out Output 1 (low side, high current) 5A
10 INJ 2 Thick Blue Out Output 2(low side, high current) 5A
11 SPK B (IGN2) Thick White/Red In Switch input 2 / Wheel speed in 3 -
12 SPK A (IGN 1) Thick White In Switch input 3 / Wheel speed in 4 -
13 RX - Comms RS232 communications -
14 TX - Comms RS232 communications -
15 BOOT LOAD Purple/Black In Bootloader GND enable input -
16 ALED Yellow/Black Out Output 5 (low side, mid current) 3A
17 WLED Yellow/White Out Output 6 (low side, mid current) 3A
18 Sensor Ground - GND - -

19 Serial Ground - GND Serial Ground -


20 Sensor Ground White/Black GND Sensor GND (temp,TPS) -
21 VR2- VR2 In Wheel speed in 2 (+ve) -
22 POWER GROUND Thick Black GND POWER GROUND -
23 POWER GROUND Thick Black GND POWER GROUND -
24 MAP Green/Red In 0-5V Analog input (ADC1) -
25 CLT Yellow In Temp. / 0-5V Analog input (ADC3) -
26 MAT Orange In Temp. / 0-5V Analog input (ADC2) -
27 TPS Blue In 0-5V Analog input (ADC4) -
28 TPS VREF (5V) Gray Out 5V supply for sensors 0.1A
29 SPAREADC Orange/Green In 0-5V Analog input (ADC6) -
30 OPTO+ Grey/Red In Do not connect -
31 OPTO- Grey/Black In Do not connect -
32 VR1+ VR1 In Wheel speed in 1 (-ve) -
33 VR1- VR1 In Wheel speed in 1 (+ve) -
34 O2 Pink In 0-5V Analog input (ADC5) -
35 TACHO Green/Yellow Out Output 7 (0-12V low current) 0.3A

(c) 2014 James Murray 2014-12-27 Page 5/21


Microsquirt as I/O Box

5 Inputs and Outputs


The following sections below list the standard input/output names for IO-box#1
By default, subsequent IO-boxes (2,3) use higher numbers as shown in the following table.
Customers using other CAN devices configured through the "CAN Parameters" page may need to select
Advanced mode for the IO-box and alter the base numbers to avoid conflicting with existing devices.

Input / output on MS3 name from MS3 name from MS3 name from
each IObox IObox#1 IObox#2 IObox#3

ADC1 CANADC1 CANADC9 CANADC17


ADC2 CANADC2 CANADC10 CANADC18
ADC3 CANADC3 CANADC11 CANADC19
ADC4 CANADC4 CANADC12 CANADC20
ADC5 CANADC5 CANADC13 CANADC21
ADC6 CANADC6 CANADC14 CANADC22
ADC7 CANADC7 CANADC15 CANADC23
Input 1 CANIN1 CANIN4 CANIN7
Input 2 CANIN2 CANIN5 CANIN8
Input 3 CANIN3 CANIN6 *
Output 1 CANOUT1 CANOUT9 *
Output 2 CANOUT2 CANOUT10 *
Output 3 CANOUT3 CANOUT11 *
Output 4 CANOUT4 CANOUT12 *
Output 5 CANOUT5 CANOUT13 *
Output 6 CANOUT6 CANOUT14 *
Output 7 CANOUT7 CANOUT15 *
Speed in 1 VSSx VSSx *
Speed in 2 VSSx VSSx *
Speed in 3 VSSx VSSx *
Speed in 4 VSSx VSSx *

* Not available at this time. May be supported by a future Megasquirt-3 firmware.

5.1 Analog Inputs


There are seven analog inputs. All have a maximum of 5V input allowed.

Pin # Wire color Wire name (currently) Function MS3 name


24 Green/Red MAP 0-5V Analog input CANADC1
26 Orange MAT Temperature sensor CANADC2
25 Orange CLT Temperature sensor CANADC3

(c) 2014 James Murray 2014-12-27 Page 6/21


Microsquirt as I/O Box

27 Blue TPS 0-5V Analog input CANADC4


34 Pink O2 0-5V Analog input CANADC5
29 Orange/Green SPAREADC 0-5V Analog input CANADC6
5 Pink/Black SPAREADC2(MAF) 0-5V Analog input CANADC7

5.1.1 Temperature sensor

Open-element sensor suitable for air temperature.

Closed-element sensor suitable for fluids.

The temperature sensor is a variable resistor (a thermistor). Higher temperatures give a lower resistance, the
response is non-linear.
A good sensor will have two wires, one wire connects to sensor ground, the other to the sensor input on the
ECU.
One-wire sensors are not recommended.

5.1.2 0-5V sensor inputs


These inputs can be used with potentiometers, pressure sensors or any other sensor that puts out a 0-5V

(c) 2014 James Murray 2014-12-27 Page 7/21


Microsquirt as I/O Box

variable signal.
0-5V potentiometer input

Honeywell style pressure sensor

To TPSREF

To analog input Sensor

To sensor ground

GM type pressure (MAP) sensor

All five of the variable inputs (Input3,4,5,6,7) work the same.

5.1.3 Settings
All analog inputs are stored inside the Megasquirt-3 as a "CANADC" which holds the raw digital value

(c) 2014 James Murray 2014-12-27 Page 8/21


Microsquirt as I/O Box

representing the analog 0-5V input. These must be converted into real values using the Generic Sensors
system.
Go to Advanced Engine > Generic Sensors

The above is an example for the Generic Sensors. It reads the first two analog inputs as GM type temperature
sensors. The other 5 sensor inputs are converted to a linear scale 0-100%.

5.2 Switch inputs


There are 1 or 3 switch inputs. All have a maximum of 5V input allowed.

Pin # Wire color Wire name (currently) Function MS3 name


6 Purple/white FLEX Ground switch in CANIN1
12 Thick white IGN1 Ground switch in CANIN2
11 Thick white/Red IGN2 Ground switch in CANIN3

The second and third inputs can be used for VSS instead.
The switch inputs can be used instead of local switch inputs for functions such as table-switching, idle-up etc.

(c) 2014 James Murray 2014-12-27 Page 9/21


Microsquirt as I/O Box

5.2.1 Examples
a. Table switch input

In the above example, CANIN2 is used as a Hardware switch input to control fuel table switching.
b. Switch input to activate a programmable on/off output

In the above example CANIN1 is used to control the "Boost" On/Off output.

Input Output Channel Threshold Hysteresis


CANIN1 canin1_8 1 0
CANIN2 canin1_8 2 0

(c) 2014 James Murray 2014-12-27 Page 10/21


Microsquirt as I/O Box

CANIN3 canin1_8 4 0

In the case of "And" conditions (bitwise AND) the Threshold is set to the bit value of the input and the Hysteresis
is set to zero as the inputs are ground switching. Follow the table for the correct values.

5.3 Speed sensor tach inputs


There are two dedicated speed sensor inputs that can be interfaced to VR sensor or 0-5V hall sensors.

Pin # Wire color Wire name (currently) Function MS3 name


33,32 Screened crank VR1- / VR+ VR or hall sensor in *
21,4 Screened cam VR2- / VR2+ VR or hall sensor in *

Speed sensor inputs are only supported in Megasquirt-3 from the first two IOboxes.

5.3.1 VR (magnetic) sensor input

The VR sensor is a very commonly used sensor. Usually it is seen as a two wire sensor although some
manufacturers install a screen on the cable, so yours may have three wires. The sensor itself generates an AC
voltage when a piece of steel (the trigger) moves past it. Non-ferrous trigger wheels will not work. The voltage
varies from less than a volt during cranking to tens of volts at higher revs.
Typically it is suggested that the magnetic tip of the sensor is around the same size as the teeth on the wheel.

In order to use a VR sensor a "conditioner" circuit is required to convert the AC voltage into a DC square wave
signal while retaining the timing information. The Microsquirt has this conditioner built in. The two signal wires
from the VR sensor are connected to the VR+/- inputs at the Microsquirt. Ideally use a screened twisted pair
cable and connect the screen to sensor ground at the Microsquirt end only.

(c) 2014 James Murray 2014-12-27 Page 11/21


Microsquirt as I/O Box

Some installs may find it necessary to install a "shunt" resistor between VR+ and VR- to reduce the signal
voltage at higher RPMs. A 1/4W resistor is sufficient and values in the range of 1k to 10k.
For the second tach input, apply the resistor between VR2+ and VR2-

5.3.2 Hall sensor / gear-tooth sensor input


The Hall sensor is another commonly used category of sensor. These are almost exclusively a three wire
sensor.
True Hall sensors require an external magnet to operate.
Gear tooth sensors have a built-in magnet and are used to detect ferrous (steel) trigger wheels.

There are two main categories of hall sensor


• open-collector (needs a pull-up resistor)
• built-in pull-up resistor (covered in next section)

(c) 2014 James Murray 2014-12-27 Page 12/21


Microsquirt as I/O Box

The hall sensor requires a supply voltage which is usually 12V from a fused 12V supply or 5V from the TPSREF
output of the Microsquirt. The sensor is then grounded at the Microsquirt sensor ground and the signal wire
connects to the VR- tach input. A pull-up resistor is required in the wiring harness.

(c) 2014 James Murray 2014-12-27 Page 13/21


Microsquirt as I/O Box

5.3.3 Hall sensor input (built-in pull-up)


These sensors operate similarly to the hall sensors in section 5.2.3 but include the pull-up resistor internally so
they give a 0V or 5V signal.

The hall sensor requires a supply voltage which is usually 12V from a fused 12V supply or 5V from the TPSREF
output of the Microsquirt. The sensor is then grounded at the Microsquirt sensor ground and the signal wire
connects to the VR- tach input.

5.3.4 Optional speed sensor inputs


There are two optional speed sensor inputs that can be used with 0-5V hall sensors only. These are enabled
through the MS3 IObox Settings menu.

Pin # Wire color Wire name (currently) Function MS3 name


12 Thick white IGN1 Ground switch in *
11 Thick white/Red IGN2 Ground switch in *

(c) 2014 James Murray 2014-12-27 Page 14/21


Microsquirt as I/O Box

5.3.5 Settings
The MS3 names for these speed sensor inputs depend on two sets of settings.
a. the VSS selection on the IObox settings page
b. the VSS configuration on the Speed and Gear Sensors Settings.

To use the speed sensor inputs from the IObox "Use CAN PWMin" needs to be selected. The "PWM Port"
setting is not used.

5.4 Outputs
There are seven low-side outputs.

Pin # Wire color Wire name Function Max MS3 name


(currently) amps
9 INJ 1 Thick Green Output 1 (low side, high current) 5A CANOUT1
10 INJ 2 Thick Blue Output 1 (low side, high current) 5A CANOUT2
7 FIDLE Green Output 3 (low side, mid current) 3A CANOUT3
8 FP (pump) Purple Output 4 (low side, mid current) 3A CANOUT4
16 ALED Yellow/Black Output 5 (low side, mid current) 3A CANOUT5
17 WLED Yellow/White Output 6 (low side, mid current) 3A CANOUT6
35 TACHO Green/Yellow Output 7 (0-12V low current) 0.3A CANOUT7

(c) 2014 James Murray 2014-12-27 Page 15/21


Microsquirt as I/O Box

The outputs can be used for on/off or pulsed (e.g. Generic PWM).

Standard 4 pin
automotive relay
85 87
12V

86 30
Microsquirt

Recommended Solenoid type


1N4001 diode PWM idle valve

12V

Microsquirt

(c) 2014 James Murray 2014-12-27 Page 16/21


Microsquirt as I/O Box

5.4.1 Examples
a. Fan control

In the above example, CANOUT2 is used as an on-off output to control a fan relay.
b. Generic PWM

In the above example, CANOUT6 is being used as a PWM output with frequency of 13Hz. The duty cycle is
controlled by the duty table of TPS vs RPM.

5.5 CAN comms


The CANH/L wires are used to connect to the master Megasquirt-3.
They MUST be connected!

(c) 2014 James Murray 2014-12-27 Page 17/21


Microsquirt as I/O Box

In general, CAN forms a bus network with a 120R terminator at each end and devices wired as short 'drops' off
the network.

The Megasquirt-3 and Microsquirt include terminating resistors internally, so can be used at the ends of the
network. However, if additional devices are connected to the network, they must not have terminating resistors !
i.e. one at each end only.

Connect:
Microsquirt CANH -> Megasquirt CANH
Microsquirt CANL -> Megasquirt CANL

5.6 BOOTLOAD input


The bootload wire is used to force the Microsquirt into "bootloader" monitor mode. This is only typically needed
when loading the firmware for the first time. It can optionally be used if the firmware has become corrupted (e.g.
an ignition spike got into the wiring harness) and the normal firmware loading will not function.
It is connected to ground when required. At all other times it must be taped up and kept away from any high
voltage noise sources. Never apply a voltage to this wire.

6 Programmers reference to CAN communications


11bit header broadcast packets are used. All numbers are big-endian.
The base CAN identifier is hard-coded into the IObox firmware (S19). By default:
iobox1 = 0x200 (512)
iobox2 = 0x220 (544)
iobox3 = 0x240 (576)

(c) 2014 James Murray 2014-12-27 Page 18/21


Microsquirt as I/O Box

Packets broadcasted from MS3 to device:


ID = base+0
"Are you there?". Remote replies with base+8
#bytes 0 1 2 3 4 5 6 7
0 - - - - - - - -

ID = base+1
Config message. Sent after base+8

#bytes 0 1 2 3 4 5 6 7
8 On/Off (0) - Tach-in - ADC Tach - -
vs. PWM config broadcast broadcast
(1) config bitfield interval interval
bitfield (ms) (ms)

ID = base+2
PWM1,2 periods - sent if PWMs in use

#bytes 0 1 2 3 4 5 6 7
8 PWM1 "On" period. PWM1 "Off" period. PWM2 "On" period. PWM2 "Off" period.

ID = base+3
PWM3,4 periods - sent if PWMs in use

#bytes 0 1 2 3 4 5 6 7
8 PWM3 "On" period. PWM3 "Off" period. PWM4 "On" period. PWM4 "Off" period.

ID = base+4
PWM5,6 periods - sent if PWMs in use

#bytes 0 1 2 3 4 5 6 7
8 PWM5 "On" period. PWM5 "Off" period. PWM6 "On" period. PWM6 "Off" period.

ID = base+5
PWM7 periods and on/off outputs bitfield - sent always

#bytes 0 1 2 3 4 5 6 7
5 PWM7 "On" period. PWM7 "Off" period. On/off - - -
outputs
bitfield

Packets broadcasted from device:


ID = base+8
Version and capability. Sent after base+0. Remote replies with base+1
#bytes 0 1 2 3 4 5 6 7
8 Version - - - PWM clock period in Tach-in clock period in

(c) 2014 James Murray 2014-12-27 Page 19/21


Microsquirt as I/O Box

no. (1) 0.01us (5000) 0.01us (66)

ID = base+9
10bit ADC values broadcast at set interval. Defaults to 20ms
#bytes 0 1 2 3 4 5 6 7
8 ADC1 ADC2 ADC3 ADC4

ID = base+10
10bit ADC values broadcast at set interval. Defaults to 20ms
#bytes 0 1 2 3 4 5 6 7
8 Inputs - ADC5 ADC6 ADC7
bitfield

ID = base+11
Tach input broadcast at set interval if enabled. Defaults to 20ms
For higher precision, the speed sensor tach inputs accumulate up to the broadcast interval. The accumulated
time and number of teeth is reported. Time per tooth = Period / No. teeth.
#bytes 0 1 2 3 4 5 6 7
8 Tach 1 period over X teeth No. teeth Total tooth counter

ID = base+12
Tach input broadcast at set interval if enabled. Defaults to 20ms
For higher precision, the speed sensor tach inputs accumulate up to the broadcast interval. The accumulated
time and number of teeth is reported. Time per tooth = Period / No. teeth.
#bytes 0 1 2 3 4 5 6 7
8 Tach 2 period over X teeth No. teeth Total tooth counter

ID = base+13
Tach input broadcast at set interval if enabled. Defaults to 20ms
For higher precision, the speed sensor tach inputs accumulate up to the broadcast interval. The accumulated
time and number of teeth is reported. Time per tooth = Period / No. teeth.
#bytes 0 1 2 3 4 5 6 7
8 Tach 3 period over X teeth No. teeth Total tooth counter

ID = base+14
Tach input broadcast at set interval if enabled. Defaults to 20ms
For higher precision, the speed sensor tach inputs accumulate up to the broadcast interval. The accumulated
time and number of teeth is reported. Time per tooth = Period / No. teeth.
#bytes 0 1 2 3 4 5 6 7
8 Tach 4 period over X teeth No. teeth Total tooth counter

(c) 2014 James Murray 2014-12-27 Page 20/21


Microsquirt as I/O Box

7 Megasquirt-2 compatability
The IObox solution is presently designed primarily to interface with Megasquirt-3 that has the capability to take
advantage of the additional I/O. However, it is possible to collect the analogue data from the Microsquirt IObox
onto a Megasquirt-2.
On the CAN parameters screen, enable ADC polling.

Set the CANid to 13, table to 7 and offsets to 6 and 14.


The raw ADC data (0-1023 counts) will now be collected and displayed in variables gpioadc0 - gpioadc7
Megasquirt-2 does not have a method to scale or process this data internally, but custom "ini" files for
TunerStudio can be created. The format of the custom.ini is beyond the scope of this document.
gpioadc5 represents the digital switch inputs * 256.

(c) 2014 James Murray 2014-12-27 Page 21/21

You might also like