There were two further modifications I wanted to make to the
control system before getting the bike back on the road for a decent period of
time and collecting data.
- Bluetooth connectivity
- Barometric Pressure Sensor
Bluetooth Connectivity
I had been looking at incorporating Bluetooth connectivity
on the Microsquirt for quite a while and had purchased an RS232 to Bluetooth
module for the purpose. I never got around to installing it permanently though
as I needed to add a separate power connection for the module.
When I was building the new ECU harness recently I added a
switched 12V power & ground connector with the intention of using this
connector to power a Bluetooth module.
However, getting into the detail, I became less happy with
the RS232 to Bluetooth module option. This option meant I would still need to
use a 2.5mm jack to RS232 cable between the ECU harness & the Bluetooth
module which not only made the setup bulky but also introduced more connectors
than required with the potential for
connection issues.
I researched alternative serial-Bluetooth modules and came
across the HC-05 & HC-06 modules which are commonly used in Arduino
projects and can be easily reprogrammed using an Arduino. I decided upon using
a HC-06 module as I did not have the requirement to switch between master/slave
modes. The physical size of the module was a large part of the attraction. The
plan was to use a linear voltage regulator to drop the switched 12V supply down
to an acceptable level for the HC-06 and enclose the module in a small case
with a flying lead terminating in a 2.5mm jack to communicate with the ECU.
However when this setup was tested, the software would recognise a Bluetooth
device was connected but it could not read the firmware signature. The
signature appeared as though the baud rate was incorrect even though it wasn’t.
After much frustration & further research, it was found that the HC-06
works with straight serial data and cannot deal with RS232 serial as it was
receiving via the 2.5mm jack in the ECU harness.
Then I discovered an article online that described
installing a HC-06 Bluetooth module inside the Microsquirt case. 5V power &
ground connections were taken from the development header on the main board and
Tx & Rx were soldered directly onto the main board prior to the RS232 chip.
This installation had the immediate attraction of being extremely tidy as
everything would be hidden inside the ECU case with no external wiring. I added
a toggle switch to the 5V power connection so that the Bluetooth module could
be switched on & off from outside the ECU, allowing the choice of
connecting to the ECU via Bluetooth or via direct RS232 serial cable.
The internal installation worked great the first time and
has made datalogging and loading calibrations onto the ECU significantly easier
given that every ride can now be datalogged using a smart-phone in the pocket
without requiring a laptop with wired connection to the ECU to be carried
around in a backpack. It will significantly increase the rate of data
collection and usability of the bike.
HC-06 Bluetooth Module |
Barometric Pressure Sensor
Given the location of the lambda sensor on the TSR exhaust
system, it is impractical to run closed loop lambda correction during daily use
and so the intention was to dial in the fuelling as best possible and run open
loop fuelling. In order to correct fuelling for varying atmospheric pressure
and riding at altitude, the preference was to add a separate barometric
pressure sensor which would allow constant fuelling corrections with
pressure/altitude.
The simplest option was to add a second MAP sensor which
would be dedicated to atmospheric pressure measurement. However, MAP sensors
tend to be able to measure across a larger range of pressures than required so
accuracy would be compromised. I also had not added the external wiring
necessary when I renewed the ECU harness.
I had seen some examples of Microsquirt ECUs modified to
include an internal MAP & Barometric pressure sensor such as the
DIYAutotune MAPDaddy board. This particular solution did not appeal to me
though as it is relatively expensive, includes 2 pressure sensors when only one
was needed and the sensors are 4 Bar sensors which are likely to be quite
inaccurate when trying to measure in such a small range of the sensor’s
capability. This did however open up the idea of using a board mount pressure
sensor located within the ECU case.
I looked at using a Bosch BMP sensor but as the output is
digital I would need additional electronics to convert the signal back to analogue
0-5V so that the ECU could read it. A Honeywell pressure sensor was also an
option as it gave an analogue output and being a through-hole package, it could
easily be mounted on standard stripboard. However the cost was prohibitive
being over half the cost of the dual sensor MAPDaddy board and the physical
size and measurement range was still larger than I would have liked.
In the end I have chosen an Infineon KP235 Barometric
pressure sensor as it is low cost, designed for use in automotive applications,
narrow useable measurement range & small package size. The one disadvantage
was that the surface mount package and small size meant I had to design and
make a PCB to mount it and allow it to be connected to the ECU but this was a
small price to pay for the size and cost of the unit.
A PCB was designed to accept the KP235 sensor and include
smoothing capacitors on the input & output voltages as recommended by the
manufacturer. Surface mount 0805 package capacitors were used to help keep the
size of the board down and the interface with the ECU would be through standard
size header pins and DuPont connectors. This way the board size was kept down
to 25mm x 12mm.
Copper board was painted to mask the copper layer. Then a
negative of the PCB layout was etched in the mask to expose all the unwanted
copper. The exposed copper was then removed using an acid solution before removing
the paint mask and protecting the remaining copper with a liquid tin solution.
The header pin holes were then drilled and the components soldered in place.
For additional protection and isolation from vibration, the completed board was
coated in a layer of silicone rubber.
Completed Sensor & Board |
Protected Sensor Board |
5V power & ground were taken from the header pins on the
main board as with the Bluetooth module and the output signal wire was soldered
to the SPAREADC2 pin on the Ampseal connector between the connector and the ECU
board. A 1.5mm hole was also drilled in the ECU case to allow pressure inside
the case to equalise to atmospheric pressure.
Sensor Installed In The ECU |
Both the Bluetooth module and barometric pressure sensor are
held in place using hot glue. The Bluetooth module is located underneath the
topside of the Ampseal connector and the barometric pressure is located
underneath the lower side of the Ampseal connector. The Bluetooth switch is
located on the RHS of the ECU and is easily reachable when it is installed on
the bike.
Following these two upgrades to the ECU, the physical
install is considered as good as complete. The bike is now back together again
and on the road where the goal over the next few months is to collect as much
data as possible and continue to refine the calibration.