How about you bore me a little..... I'm LOST!!! LOL
OK… The boring stuff. The newer bikes now have CAN Bus data (Controller Area Network) which has all sorts of information being sent over the bus (twisted pair of wires) between different CAN modules (ECM, Handlebar modules, etc…) Information can be read from the bus and in some cases messages can be transmitted into the bus.
The microcontroller that is in my glove box can read and transmit messages from the CAN bus, and it also has input from other external passive components (a light sensor on my mirror, and soon the oil temp sensor I’m installing in my oil pan)
Information from the CAN bus & external sensors is collected by the microcontroller, decoded, and transmitted to my cell phone via Bluetooth serial communication where it is displayed. The Bluetooth data communication is two-way serial stream, so I can adjust settings on the microcontroller from my phone.
This project has two custom slave modules also; One is used to modulate brightness of the headlights and the other will turn on the cooling fans of the twin cooling system.
Modulation: Power supply to the headlight and running lights can be adjusted between 0% & 100% brightness using PWM (Pulse Width Modulation). The controller modulates the lead lights / running lights if the following conditions are true…
• The MOD feature is enabled on the settings panel
• Daylight brightness is > 80% "LT Pct On" Setting (light sensor on mirror)
• Headlight is on high beam (read from CAN Bus)
Cooling Fans: The second slave module is tapped into the cooling fans on the twin cooling system. The fans are normally turned on by the ECM (and still are) but I think the OEM setting is too high. The microcontroller reads cylinder head temperature and will turn the fans on based on a setpoint. I set it ~ 190-195. The fans will be turned on if the flowing is true…
• The FAN feature is enabled on the settings panel
• Cylinder Head Temp > “Setpoint” (Head Temp read from CAN Bus)
• MPH is < 40 “MPH Off” Setting (MPH read from CAN Bus)
*at speed greater than 40 MPH the controller will not operate the fans.
Volume Control: Boom Audio has a volume increase setting. It’s a blended setting. It controls how loud the unit will get overall + how much the volume will increase when you speed up from a stop. The overall loudness effects the loudness output at all levels on each of the 17-steps in the volume scale. I run my HD increase setting at Max (I think 4 or 6) cannot remember. And when I take off from a stop the HD increase does ramp up the volume. But the HD effect diminishes sharply when you go faster than 35 MPH. When I get above 40 mph I’m usually fiddling with my volume all the time especially if speeding and slowing a lot between 40 & 80 mph (mountain/canyon riding). The Volume control of the microcontroller will increase and decrease the volume to follow a target. If the rider touches the volume rocker the controller can sense this and it pauses a moment, and then resets the target to the volume level the rider just adjusted it too. If the rider does not touch the volume rocker the volume program will adjust the volume to follow a target. The target is updated based on current speed and the ramp settings. The controller will adjust volume based on the following…
• The VOL feature is enabled on the settings panel
• The rider is not adjusting the volume (Vol Rocker action read from CAN Bus)
• VOL Actual is not muted or at level 0 (both read from CAN Bus)
• VOL Actual < 17 “Max” (read from CAN Bus)
• MPH is between “Ramp Start” & “Ramp End” Settings (MPH read from CAN Bus)
Volume “GAIN” setting is how many steps the target will be increased / decreased automatically between “Ramp Start” (0%) & “Ramp End” (100%). So for example: If Ramp start setting is 40 MPH and Ramp End setting is 80MPH and Gain setting is 6, the program will have turned the volume up by 3 steps from between 40 mph and 60 mph (50% of gain @ 50% of Ramp span). If we slow back down from 60 to 40 the controller will decrease volume by 3 steps. Speed back up to 80 mph the controller will increase volume by 6 steps. If rider touches the volume rocker, the controller adjusts the target to the current volume setting, and then will resume adjusting the volume based on the speed and ramp settings.
The Volume control is the only control currently transmitting commands into the bus adjusting the volume of the boom audio system.
Next effort is to get the Oil temp sensor values (temp vs resistance) mapped into a table so that I can calculate the resistance of the sensor (read as a sense voltage level) and convert that to a temperature value. That’s what I get for buying a cheap sensor with no datasheet.
The attached pictures were taken at different times during development. That is why values and layout are different between them…