R1150R Rockster (iABS) speedo drive replacement
Moderator: Moderators
R1150R Rockster (iABS) speedo drive replacement
Hi there! I has bought a Rockster without iABS unit. I would solve the speedometer signal conversion with Ardunio board.
I was dismantled the speedo and tried drive with 100Hz TTL square wave signal. The experiment is resultless..
pins:
IGN = GR BR +12V
GND = BR + BL R Ground
4P OUT = BL GR ???
SP-IN = BL Y Signal
https://picasaweb.google.com/lh/photo/C ... directlink
https://picasaweb.google.com/lh/photo/2 ... directlink
https://picasaweb.google.com/lh/photo/N ... directlink
any idea?
I was dismantled the speedo and tried drive with 100Hz TTL square wave signal. The experiment is resultless..
pins:
IGN = GR BR +12V
GND = BR + BL R Ground
4P OUT = BL GR ???
SP-IN = BL Y Signal
https://picasaweb.google.com/lh/photo/C ... directlink
https://picasaweb.google.com/lh/photo/2 ... directlink
https://picasaweb.google.com/lh/photo/N ... directlink
any idea?
Re: R1150R Rockster (iABS) speedo drive replacement
Was your Rockster originally built as ABS bike or non-ABS?
I will check wire color codes for the direct connections to speedometer inside instrument module. My experiments used the speedometer input wires contained in the iABS1 harness, which are different from the wire codes you show.
I will check wire color codes for the direct connections to speedometer inside instrument module. My experiments used the speedometer input wires contained in the iABS1 harness, which are different from the wire codes you show.
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
Hi Sweatmark. Yes it is. But unfortunately the iABS unit was missed when I bought the bike. The Abs harness at first sight, original untouched. However, I don't know what to do 4P-OUT pin at upper right corner next to the GND?? This would be the speed signal grund? The Arduino output look like to correct square wave, don't know the speedo why not detected. I will build a signal generator, adn try again.
Re: R1150R Rockster (iABS) speedo drive replacement
OK, so you still have the big iABS connector as shown in this image? (the black & blue AMP modular connector)
If you are working with the Arduino, then you can use this information:
The iABS wheel speed sensors are based on the Infineon TLE4923 IC:
http://www.infineon.com/dgdl/TLE4923.pd ... 9971de01d2
http://www.infineon.com/dgdl/appl_4923. ... 090076004b
If these links do not work, just google for "TLE4923" to get a session cookie and access to each document.
The dual-Hall IC, a rare earth bias field magnet pellet, and two capacitors (as shown in the application circuit diagram) are embedded within the iABS sensor body. For the two-wire sensor, drive voltage is wide range, and the iABS PIC measures voltage across a pull-down sensor resistor. After a long time guessing what the OE sensor might be, I finally cut one apart to identify the ingredients. (Should have done that at the beginning of project.)
When I measured speedometer response following iABS servo removal, I found that 100Hz square or sine input with minimum RMS = 1.1V drove the speedo at approximately 76 MPH indicated. Maybe 77 MPH, but who's counting?
If your bike still has the iABS timing rings on each wheel, then you can drive the Arduino's output using one of the wheel sensor input signals. I worked on a PICAXE solution using the -08M and its PWM constant output, but dropped the idea due to my short attention span. Note that the front wheel timing ring has 100 counts, while the rear wheel timing ring has 84. The rings are NOT interchangeable.
Another possible solution using the Arduino is a single wheel target, reed sensor TTL input, measured interval for counts, and some type of loop output to generate your speedometer input. But I'm not an Arduino guy and don't know what I'm talking about.
One of my successful solutions to the iABS removal speedometer problem was manufacture of a new 6-count timing ring for the rear wheel to replace the original timing ring. The 6-segment rear wheel timing scheme is what's used on the non-ABS Rockster via a ferrous crown wheel installed in the final drive, with a dedicated wheel speed sensor that is oriented downwards into the final drive case (search here for some info from Riceburner regarding this setup). For my new ring, I used 6 very small magnets as targets for the iABS Hall sensor, after having problems with larger magnets and excess Gauss field fluctuation. You can also use ferrous targets, eg. solid rivets. My new timing ring was laser cut from stainless. I have a couple extra rings if you want to try this speedometer signal source option; the ring is free if you pay shipping, plus you will need to choose and install the targets. Using the small magnets as targets allows for bigger sensor/target gap than ferrous targets.
From the BMW wiring schematic, the iABS Rockster speedometer has 5 wire connection:
Pin 15 = 12Vdc
Ground
BLBR = sensor voltage source
BLGE = sensor return current
BLGN = speedometer trigger output to the turn signal module for cancel
Let me know how it goes.
If you are working with the Arduino, then you can use this information:
The iABS wheel speed sensors are based on the Infineon TLE4923 IC:
http://www.infineon.com/dgdl/TLE4923.pd ... 9971de01d2
http://www.infineon.com/dgdl/appl_4923. ... 090076004b
If these links do not work, just google for "TLE4923" to get a session cookie and access to each document.
The dual-Hall IC, a rare earth bias field magnet pellet, and two capacitors (as shown in the application circuit diagram) are embedded within the iABS sensor body. For the two-wire sensor, drive voltage is wide range, and the iABS PIC measures voltage across a pull-down sensor resistor. After a long time guessing what the OE sensor might be, I finally cut one apart to identify the ingredients. (Should have done that at the beginning of project.)
When I measured speedometer response following iABS servo removal, I found that 100Hz square or sine input with minimum RMS = 1.1V drove the speedo at approximately 76 MPH indicated. Maybe 77 MPH, but who's counting?
If your bike still has the iABS timing rings on each wheel, then you can drive the Arduino's output using one of the wheel sensor input signals. I worked on a PICAXE solution using the -08M and its PWM constant output, but dropped the idea due to my short attention span. Note that the front wheel timing ring has 100 counts, while the rear wheel timing ring has 84. The rings are NOT interchangeable.
Another possible solution using the Arduino is a single wheel target, reed sensor TTL input, measured interval for counts, and some type of loop output to generate your speedometer input. But I'm not an Arduino guy and don't know what I'm talking about.
One of my successful solutions to the iABS removal speedometer problem was manufacture of a new 6-count timing ring for the rear wheel to replace the original timing ring. The 6-segment rear wheel timing scheme is what's used on the non-ABS Rockster via a ferrous crown wheel installed in the final drive, with a dedicated wheel speed sensor that is oriented downwards into the final drive case (search here for some info from Riceburner regarding this setup). For my new ring, I used 6 very small magnets as targets for the iABS Hall sensor, after having problems with larger magnets and excess Gauss field fluctuation. You can also use ferrous targets, eg. solid rivets. My new timing ring was laser cut from stainless. I have a couple extra rings if you want to try this speedometer signal source option; the ring is free if you pay shipping, plus you will need to choose and install the targets. Using the small magnets as targets allows for bigger sensor/target gap than ferrous targets.
From the BMW wiring schematic, the iABS Rockster speedometer has 5 wire connection:
Pin 15 = 12Vdc
Ground
BLBR = sensor voltage source
BLGE = sensor return current
BLGN = speedometer trigger output to the turn signal module for cancel
Let me know how it goes.
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
Yes the connector and rings and two Hall effect sensors still present. I like Your impressive project, but I wish keep the opportunity of reversebility. At first must drive the speedo, I'll looking for a signalgenerator which is a controlled ampitude.
many thanks for your helpful assistance
Zolee
many thanks for your helpful assistance
Zolee
Re: R1150R Rockster (iABS) speedo drive replacement
Just use a voltage divider:
http://hyperphysics.phy-astr.gsu.edu/hb ... oldiv.html
Use TTL output from Arduino, use resistor ratio to get approximately 1.5 Vdc to drive the speedometer inputs. Measure the output as AC RMS voltage.
Try connecting the V high output from voltage divider to BLGE (blue/yellow) terminal, with V low connected to the ground terminal on speedometer. I was able to drive my Rockster speedo with just one input connected, while the instruments were still installed (the power and ground connected, which is required).
http://hyperphysics.phy-astr.gsu.edu/hb ... oldiv.html
Use TTL output from Arduino, use resistor ratio to get approximately 1.5 Vdc to drive the speedometer inputs. Measure the output as AC RMS voltage.
Try connecting the V high output from voltage divider to BLGE (blue/yellow) terminal, with V low connected to the ground terminal on speedometer. I was able to drive my Rockster speedo with just one input connected, while the instruments were still installed (the power and ground connected, which is required).
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
The voltage divider does not work. The voltage can be set but the instrument still to show zero.
I tried a low voltage power amplifier LM386N
https://picasaweb.google.com/lh/photo/t ... directlink
This works properly but change the square wave.
https://picasaweb.google.com/lh/photo/r ... directlink
the solution is much simpler. A linear RC circuit. I used a 3.3 ohm and 10uF capacitor.
https://picasaweb.google.com/lh/photo/3 ... directlink
And now the Arduino uno can drive the Rockster ABS speedometer with 5V digital output.
parameters: Vmax = 2.56V, Cycle = 10mS, Duty = 50%, Vavg = 830mV, Vp-p = 3.5V
at 99Hz = 77mph
I tried a low voltage power amplifier LM386N
https://picasaweb.google.com/lh/photo/t ... directlink
This works properly but change the square wave.
https://picasaweb.google.com/lh/photo/r ... directlink
the solution is much simpler. A linear RC circuit. I used a 3.3 ohm and 10uF capacitor.
https://picasaweb.google.com/lh/photo/3 ... directlink
And now the Arduino uno can drive the Rockster ABS speedometer with 5V digital output.
parameters: Vmax = 2.56V, Cycle = 10mS, Duty = 50%, Vavg = 830mV, Vp-p = 3.5V
at 99Hz = 77mph
Re: R1150R Rockster (iABS) speedo drive replacement
Congratulations for solution.
So when you say "linear R-C circuit" do you mean low-pass filter? Or pure series connection:
Arduino > resistor > capacitor > speedometer input ?
I am working on new sensor and circuit for my ABS-missing Rockster. During this week's holidays, will do circuit testing and report results.
So when you say "linear R-C circuit" do you mean low-pass filter? Or pure series connection:
Arduino > resistor > capacitor > speedometer input ?
I am working on new sensor and circuit for my ABS-missing Rockster. During this week's holidays, will do circuit testing and report results.
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
exactly, it is a low pass filter.
Re: R1150R Rockster (iABS) speedo drive replacement
Actually, guessing that you have applied a high pass filter, with the output to speedometer measured across the resistor. The key issue is the speedometer input waveform: the required signal must oscillate through zero, as the OE speed sensor (for non-ABS bike applications, carried over for the iABS bikes) is simple magnetic variable reluctance type and produces a sinusoidal output.
Guessing also that you used a 0-5 Vdc square wave from Arduino, which is why you saw no speedometer response. Note that my Rockster speedo experiments have used sine and +/- square wave inputs that pass through zero. Thought you might just need p-p attenuation, but not for TTL...
After playing around with several iABS-removal speedometer fix options, my two favorite solutions are:
1. A new timing (tone) ring installed on the rear wheel, with 6 targets/triggers, and employing either the OE ABS wheel sensor or an 18mm VR sensor in its place.
2. A new front wheel Hall effect sensor that triggers off the brake disc's mounts (5), with speed signal conversion/correction via SpeedoDRD from 12 o'clock Labs, and differentiator circuit (both RC and RL work) to get speedometer input oscillation.
Option 1 is electrically simple - at least with the VR sensor - but requires both the new tone ring and the wheel mount spacer as equipped on iABS bikes; it's also no more (just as) accurate as the OE speedometer, whether ABS or not. Getting the VR sensor output right took a lot of experimentation and guesswork.
Option 2 requires a new circuit to interface the sensor, DRD, and oscillator, but the result is mechanically simple, very flexible for signal path adjustments, and dead-on accurate for speed, based on straight line GPS comparisons.
Guessing also that you used a 0-5 Vdc square wave from Arduino, which is why you saw no speedometer response. Note that my Rockster speedo experiments have used sine and +/- square wave inputs that pass through zero. Thought you might just need p-p attenuation, but not for TTL...
After playing around with several iABS-removal speedometer fix options, my two favorite solutions are:
1. A new timing (tone) ring installed on the rear wheel, with 6 targets/triggers, and employing either the OE ABS wheel sensor or an 18mm VR sensor in its place.
2. A new front wheel Hall effect sensor that triggers off the brake disc's mounts (5), with speed signal conversion/correction via SpeedoDRD from 12 o'clock Labs, and differentiator circuit (both RC and RL work) to get speedometer input oscillation.
Option 1 is electrically simple - at least with the VR sensor - but requires both the new tone ring and the wheel mount spacer as equipped on iABS bikes; it's also no more (just as) accurate as the OE speedometer, whether ABS or not. Getting the VR sensor output right took a lot of experimentation and guesswork.
Option 2 requires a new circuit to interface the sensor, DRD, and oscillator, but the result is mechanically simple, very flexible for signal path adjustments, and dead-on accurate for speed, based on straight line GPS comparisons.
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
The next step is to enter the Hall effect sensor signal into the Arduino. I made a model. The ABS ring rotor is replaced by a fan blade and three neodymium magnets.
https://picasaweb.google.com/lh/photo/k ... directlink
https://picasaweb.google.com/lh/photo/_ ... directlink
https://picasaweb.google.com/lh/photo/y ... directlink
The resulting 50 Hz sine wave converted to a square wave signal by HCF4093BEY Schmitt trigger.
https://picasaweb.google.com/lh/photo/h ... directlink
The resulting square wave is Ardunio with a digital input processed and sent to the speedometer by digital output.
This program was used to display a signal to signal 1:1
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState == HIGH) {
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
This model will working properly with a 6 tooth ring but we have a 100 tooth ring (the original BMW rotor)
so we must be divided by the tooth 100 by 6.
We need to be use every 16th signal.
I tried this program below but something is wrong.. I got chaotic output betwen 50Hz and 1kHz ????
Someone experienced programmer ???
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
int SignalCounter = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState == HIGH) {
SignalCounter++;
} else {
// NOR
}
if (SignalCounter % 4 == 0){ // this used for 3 tooth rotor, for 100 tooth need 16 modulo
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
https://picasaweb.google.com/lh/photo/k ... directlink
https://picasaweb.google.com/lh/photo/_ ... directlink
https://picasaweb.google.com/lh/photo/y ... directlink
The resulting 50 Hz sine wave converted to a square wave signal by HCF4093BEY Schmitt trigger.
https://picasaweb.google.com/lh/photo/h ... directlink
The resulting square wave is Ardunio with a digital input processed and sent to the speedometer by digital output.
This program was used to display a signal to signal 1:1
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState == HIGH) {
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
This model will working properly with a 6 tooth ring but we have a 100 tooth ring (the original BMW rotor)
so we must be divided by the tooth 100 by 6.
We need to be use every 16th signal.
I tried this program below but something is wrong.. I got chaotic output betwen 50Hz and 1kHz ????
Someone experienced programmer ???
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
int SignalCounter = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState == HIGH) {
SignalCounter++;
} else {
// NOR
}
if (SignalCounter % 4 == 0){ // this used for 3 tooth rotor, for 100 tooth need 16 modulo
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
Re: R1150R Rockster (iABS) speedo drive replacement
Zoltan, very much like your Arduino application!
If it would make your project simpler, I can send you a rear wheel timing ring (tone wheel) with 6 target positions. You can attach whatever targets will work best with your sensor. Here is the idea:
In the photo, I have attached target magnets with polarity appropriate for the OE iABS sensor, though conventional ferrous (magnetic) steel targets could be used. The new ring is stainless 306 and non-magnetic.
I used this timing ring with the VR sensor, which was the simplest speedometer input scheme possible, and required no additional electronics.
After reading about your Arduino project, I decided to find my old PICAXE project materials and do a controller-based solution to the iABS-removal Rockster problem! The goal is best possible speedometer accuracy, hidden speed sensor mounting, chance to work again with PIC programming, and multifunction data outputs
If it would make your project simpler, I can send you a rear wheel timing ring (tone wheel) with 6 target positions. You can attach whatever targets will work best with your sensor. Here is the idea:
In the photo, I have attached target magnets with polarity appropriate for the OE iABS sensor, though conventional ferrous (magnetic) steel targets could be used. The new ring is stainless 306 and non-magnetic.
I used this timing ring with the VR sensor, which was the simplest speedometer input scheme possible, and required no additional electronics.
After reading about your Arduino project, I decided to find my old PICAXE project materials and do a controller-based solution to the iABS-removal Rockster problem! The goal is best possible speedometer accuracy, hidden speed sensor mounting, chance to work again with PIC programming, and multifunction data outputs
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
Your project is very impressive . The simple is always better, but I'm not giving up yet.
I am temporarily away from home, no possibility of steel-working, and the Arduino project is also a challenge for me.
Now I will refitting the speedometer to bike and continue to experiment.
I am temporarily away from home, no possibility of steel-working, and the Arduino project is also a challenge for me.
Now I will refitting the speedometer to bike and continue to experiment.
Re: R1150R Rockster (iABS) speedo drive replacement
Thanks for posting your project information! Electronics applications for these bikes are uncommon.
Please check for a PM.
I like the fan as experimental input!
Which portable scope are you using?
(edit, addition)
Regarding your higher Hz signal chaos : while working with a Hall sensor and magnets as targets during early Rockster speedometer experiments, I had problems with bounce and signal jitter. Switched to ferrous targets and had to decrease air gap, but achieved better signal quality.
As for your code, I don't speak Arduino C++, but I've had PICAXE code cough and spit when incoming signal processing and code execution time ate up processor time, and slower chip speed of the PIC became a problem.
Please check for a PM.
I like the fan as experimental input!
Which portable scope are you using?
(edit, addition)
Regarding your higher Hz signal chaos : while working with a Hall sensor and magnets as targets during early Rockster speedometer experiments, I had problems with bounce and signal jitter. Switched to ferrous targets and had to decrease air gap, but achieved better signal quality.
As for your code, I don't speak Arduino C++, but I've had PICAXE code cough and spit when incoming signal processing and code execution time ate up processor time, and slower chip speed of the PIC became a problem.
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
fixed C code:
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
int SignalCounter = 0;
int lastSignalState = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState != lastSignalState) {
if (SignalState == HIGH) {
SignalCounter++;
} else {
// NOR
}
}
lastSignalState = SignalState;
if (SignalCounter % 16 == 0) -+{
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
const int HallSignalPin = 2;
const int SpeedoOutPin = 13;
int SignalState = 0;
int SignalCounter = 0;
int lastSignalState = 0;
void setup() {
pinMode(HallSignalPin, INPUT);
pinMode(SpeedoOutPin, OUTPUT);
}
void loop() {
SignalState = digitalRead(HallSignalPin);
if (SignalState != lastSignalState) {
if (SignalState == HIGH) {
SignalCounter++;
} else {
// NOR
}
}
lastSignalState = SignalState;
if (SignalCounter % 16 == 0) -+{
digitalWrite(SpeedoOutPin, HIGH);
} else {
digitalWrite(SpeedoOutPin, LOW);
}
}
Re: R1150R Rockster (iABS) speedo drive replacement
pocket oscilloscope: SainSmart Pocket-Sized Digital Oscilloscope ARM DSO Nano DSO201
Re: R1150R Rockster (iABS) speedo drive replacement
I just did the ABSECTOMY on my R1200cl. I saw the post about the vr sensor and magnets. Can you explain what I need to do. As I understand what you did was to place 6 magnet/bolts in the rotor (via the ring you made) and replaced the hall effect sensor with a vr sensor. What vr sensor did you use? how did you wire it to the speedometer? Can I assume since my odemeter illuminates that 12Vdc and ground are still intact and the BLGN is still intact as it goes to the cruise control and the turn signal modules. Therefore can I assume all I need is to connect
BLBR = sensor voltage source
BLGE = sensor return current
If that is true what wire from the vr speed sensor go to BLBR and which to BLGE.
do you still have a rign availabe?
BLBR = sensor voltage source
BLGE = sensor return current
If that is true what wire from the vr speed sensor go to BLBR and which to BLGE.
do you still have a rign availabe?
Re: R1150R Rockster (iABS) speedo drive replacement
Sent you PM. Your CL will probably require a different speedometer signal sourcing option.we22192 wrote:I just did the ABSECTOMY on my R1200cl. I saw the post about the vr sensor and magnets. Can you explain what I need to do. As I understand what you did was to place 6 magnet/bolts in the rotor (via the ring you made) and replaced the hall effect sensor with a vr sensor. What vr sensor did you use? how did you wire it to the speedometer? Can I assume since my odemeter illuminates that 12Vdc and ground are still intact and the BLGN is still intact as it goes to the cruise control and the turn signal modules. Therefore can I assume all I need is to connect
BLBR = sensor voltage source
BLGE = sensor return current
If that is true what wire from the vr speed sensor go to BLBR and which to BLGE.
do you still have a rign availabe?
Rockster#2, K1300S, S1000R (for sale)
Re: R1150R Rockster (iABS) speedo drive replacement
@camdrv and @sweatmark. First of all, thanks a lot to you guys for documenting all the work you have done on working on the speedometer. Really fantastic stuff!
It is my first post, so apologies if I do not follow form (yet). Since a week I am a proud owner of a R1150R Rockster, and have exactly the same problem as @camdrv.
I bought the rockster without the iABS, and also without the iABS controller, so unfortunately I cannot reuse it. The relays for the breaks were installed, but the speedometer does not work.
I did quite some googling an read the solutions. Since I do not have the original iABS unit, I cannot reuse the electronica. I want go for the Arduino solution, mainly because I have quite some experience in programming them.
However, i am a hobbyist, and not an electronic expert. Therefor the question, @camdrv: could you share with me
1.) What parts you used, so I can order them
2.) Could you share how exactly you wired everything. Unfortunately I do not own a BMW manual
Many thanks!!
It is my first post, so apologies if I do not follow form (yet). Since a week I am a proud owner of a R1150R Rockster, and have exactly the same problem as @camdrv.
I bought the rockster without the iABS, and also without the iABS controller, so unfortunately I cannot reuse it. The relays for the breaks were installed, but the speedometer does not work.
I did quite some googling an read the solutions. Since I do not have the original iABS unit, I cannot reuse the electronica. I want go for the Arduino solution, mainly because I have quite some experience in programming them.
However, i am a hobbyist, and not an electronic expert. Therefor the question, @camdrv: could you share with me
1.) What parts you used, so I can order them
2.) Could you share how exactly you wired everything. Unfortunately I do not own a BMW manual
Many thanks!!
Re: R1150R Rockster (iABS) speedo drive replacement
<from PM response>Beamert wrote:@camdrv and @sweatmark. First of all, thanks a lot to you guys for documenting all the work you have done on working on the speedometer. Really fantastic stuff!
It is my first post, so apologies if I do not follow form (yet). Since a week I am a proud owner of a R1150R Rockster, and have exactly the same problem as @camdrv.
I bought the rockster without the iABS, and also without the iABS controller, so unfortunately I cannot reuse it. The relays for the breaks were installed, but the speedometer does not work.
I did quite some googling an read the solutions. Since I do not have the original iABS unit, I cannot reuse the electronica. I want go for the Arduino solution, mainly because I have quite some experience in programming them.
However, i am a hobbyist, and not an electronic expert. Therefor the question, @camdrv: could you share with me
1.) What parts you used, so I can order them
2.) Could you share how exactly you wired everything. Unfortunately I do not own a BMW manual
Many thanks!!
... for quick fix of the Rockster (and R1100S and K1200RS) speedometer, my advice is to use the following:
Adafruit Pro Trinket (https://www.adafruit.com/products/2000) or similar
Adafruit GPS Breakout (https://www.adafruit.com/products/746) or similar
...
The R1100S/Rockster speedometer requires a +/- leading edge pulse input based on experiments. I tried +/- sine and square wave inputs, and compared to TTL (0-5Vdc) square wave, and found that the TTL signal did not activate speedometer. To get the +/- pulse waveform, I am using a differentiator circuit with 100 micro-Farad capacitor and 2.2k Ohm resistor, with 3.3V Zener diode to limit the TTL output from 5V arduino board:
https://photos.google.com/share/AF1QipP ... pBSWtnLWRn
In the picture linked above, the 1 Hz green source represents the arduino's variable TTL output.
Arduino code uses the Adafruit GPS library (or you could use TinyGPS) to get the velocity value, in knots.
knots * 1.496 = Hertz output to speedometer (based on experiments, 100Hz : 76-77 MPH)
Use arduino function "tone" to produce continuous square wave output (https://www.arduino.cc/en/Reference/Tone)
The Rockster speedometer has four (4) terminals on the back:
12Vdc Power from Fuse 1 instruments (green wire)
Ground (brown wire)
Speedo input signal (blue/yellow)
Speedo signal ground reference (blue/brown)
You can power the arduino from the 12V if board is equipped with DC converter - one reason I like Adafruit.
If the arduino and C-R differentiator are tied to same ground as speedo, you do not need the speedo signal ground.
There is a small space in the front of the Rockster instrument carrier that is perfect for the arduino and GPS breakout boards. The GPS receives satellite signal through the plastic carrier and the Rockster "cap".
Rockster#2, K1300S, S1000R (for sale)