I mean... really.
So, after last years tail chasing episode of trying to find out why the Cabriolet hood kept saying is was not closed (and it was)... I was so over-joyed when my lovely wife mentioned that the rear active spoiler now didn't work. The thing is.... AWFUL design. The car does this horrific dual bonging alarm to tell you that there is an error with the spoiler (or the roof), and you have absolutely no way of switching that off. Can't pull a fuse, cannot turn it off on the dash. I removes all information on the dash and just flashes this obnoxious warning at you constantly. Bonging through the front speakers until you get the problem fixed. But there lies the problem. This car was only made for a short while (2012 to 2015) and so there is very little support for it. Second hand parts are VERY hard to come by, and extortionately expensive. Mini dealer didn't want to know. It's fix it yourself time. |
...and here we go.
So, pull off the internal boot trim and have a look.
After a quick test, the motor has failed. After removing it, the motor is locked solid. The spoiler works of a terrible rotating driveshaft system. The torque required to lift and lower the spoiler is biblical. So the 12v motor has a large gearbox attached that reduces the rotation to something like 8 RPM (not entirely sure of the RPM - No info on the gearbox). The entire frame for the spoiler torques A LOT as the spoiler goes up and down, showing how much power is required. A quick search on Ebay only threw up one result. £1099.00 for a second hand spoiler mechanism. Yea, no thanks. A far more extensive search drew a blank on the motor and gearbox. I stripped the motor and it was beyond repair. So, we need a fix. |
The driving mechanism explained
There is a 4 core wire going to the motor. 2 cores report whether the motor is spinning by means of a magnetic hall sensor, and the other 2 larger cores are the positive and negative supplies to the motor. This 12v DC pair switch polarity to raise or lower the spoiler.
There is a second wire that goes to a magnetic hall sensor that tells the ECU that the spoiler it up and locked.
When you tell the spoiler to raise (either with the over-ride switch or at 50mph), the 12v power arrives on the 4 core cable to drive the motor.
The motor spins and at the un-geared end of the motor, the spindle spins fast and pulses back a signal to the ECU rapidly that the motor is actually running.
The geared end of the motor drives the spoiler up until a cam brings a magnet around in front of the second hall sensor that tells the ECU that the spoiler is fully deployed. Too long before this magnetic 'deployed' signal or no spinning pulse signal and you get the spoiler error.
When you tell the spoiler to go down again, the motor spins the opposite way and again sends out a pulse on the fast end of the motor spindle to show the ECU that the motor is running.
The reversed polarity on the larger cores now drives the motor the other way and the spoiler lowers.
This lowering appears to be timed, as there is no lowered/closed position limit switch.
There is a second wire that goes to a magnetic hall sensor that tells the ECU that the spoiler it up and locked.
When you tell the spoiler to raise (either with the over-ride switch or at 50mph), the 12v power arrives on the 4 core cable to drive the motor.
The motor spins and at the un-geared end of the motor, the spindle spins fast and pulses back a signal to the ECU rapidly that the motor is actually running.
The geared end of the motor drives the spoiler up until a cam brings a magnet around in front of the second hall sensor that tells the ECU that the spoiler is fully deployed. Too long before this magnetic 'deployed' signal or no spinning pulse signal and you get the spoiler error.
When you tell the spoiler to go down again, the motor spins the opposite way and again sends out a pulse on the fast end of the motor spindle to show the ECU that the motor is running.
The reversed polarity on the larger cores now drives the motor the other way and the spoiler lowers.
This lowering appears to be timed, as there is no lowered/closed position limit switch.
A temporary fix.
While I was searching the world for a solution, I shut the alarm up in the following way. I purchased a very cheap 12v geared motor that ran at 8rpm. I think it was £5 on AliExpress. I cut the old motors gearbox in half and made an adapter plate to convert the AliExpress motor to the correct screw pattern to fit the cars existing bracket. I put an 8mm shaft coupler on the motor and a crude bolt with a cut down washer on the end. Glued a magnet to the arm and this will now defeat the raising spoiler hall sensor. Bolt this where the old motor was. Cable tie the spoiler mechanism drive arms out of the way and now this motors job is purely to move 90 degrees to fool the ECU sensor into thinking the spoiler went up. The second part is the motor running sensor. This geared motor is too slow for that pulsed signal, so I took the sensor PCB off the end of the old broken motor and fitted it to a cheap, fast 12v motor I had lying around. It probably does a few thousand RPM, but that doesn't matter. A quick 3d printed bracket, and the temp fast pulse sensor is in place. |
A working fix.
So, now my wife can drive the car without the insanely annoying warning alarm, but at some point, I need to fix this long term.
Clearly an actual motor and gearbox are going to cost me a kidney, so I need a cheaper solution.
My first attempt was using the AliExpress motor and gearbox above. The drive to the spoiler is a HEX shaped driveshaft on an 8mm motor spindle.
I cut the hex part of the motor shaft off the old broken motor and connected it to the AliExpress motor I used above.
With the conversion to the hex shaft, this actually drove the spoiler perfectly.
But.... Raising the spoiler was fine. I would reach full height and the magnet sensor would switch off the power.
But when I told it to lower the spoiler, it would travel 70% of the way down and stop. Nothing I did would ever get the motor to drive to the closed position.
After much swearing, I came to the conclusion this is because of one of two things. The AliExpress motor and gearbox was slightly slower, or the car ECU needed re-training.
Well, after literally hours of searching on the net, holding buttons, finding hidden menus and generally faffing around, I came to the conclusion I was never going to work out how to 're-train' the ECU where the down position was.
I also could not actually see how this could be done anyway. There is no 'down' position sensor for it to learn.
Clearly an actual motor and gearbox are going to cost me a kidney, so I need a cheaper solution.
My first attempt was using the AliExpress motor and gearbox above. The drive to the spoiler is a HEX shaped driveshaft on an 8mm motor spindle.
I cut the hex part of the motor shaft off the old broken motor and connected it to the AliExpress motor I used above.
With the conversion to the hex shaft, this actually drove the spoiler perfectly.
But.... Raising the spoiler was fine. I would reach full height and the magnet sensor would switch off the power.
But when I told it to lower the spoiler, it would travel 70% of the way down and stop. Nothing I did would ever get the motor to drive to the closed position.
After much swearing, I came to the conclusion this is because of one of two things. The AliExpress motor and gearbox was slightly slower, or the car ECU needed re-training.
Well, after literally hours of searching on the net, holding buttons, finding hidden menus and generally faffing around, I came to the conclusion I was never going to work out how to 're-train' the ECU where the down position was.
I also could not actually see how this could be done anyway. There is no 'down' position sensor for it to learn.
A breakthrough? (Nope)
After a reverse image search on Google, I find that the rear active spoiler on an Audi TTRS 8J is very nearly the same (but not quite).
From the image, I can see the gearbox looks the same, but there is no 'fast pulse' sensor on the other end. But, crucially, this whole spoiler mechanism is only £38 on Ebay.
I have already solved the fast pulse issue above, so I grab the Ebay motor.
It arrives and it's obvious its a very close match. But, crucially after installing this motor instead.... I still have the same problem.
The spoiler does not go all the way down.
So, I could have stayed with the AliExpress motor above. But hey ho.
So now I need a fix for the lowering spoiler problem.
From the image, I can see the gearbox looks the same, but there is no 'fast pulse' sensor on the other end. But, crucially, this whole spoiler mechanism is only £38 on Ebay.
I have already solved the fast pulse issue above, so I grab the Ebay motor.
It arrives and it's obvious its a very close match. But, crucially after installing this motor instead.... I still have the same problem.
The spoiler does not go all the way down.
So, I could have stayed with the AliExpress motor above. But hey ho.
So now I need a fix for the lowering spoiler problem.
You cannot just put the module across the motor supply, as that supply reverses and the module will fail with the wrong polarity.
So I added a DPDT relay.
Tell the motor to lift the spoiler. It powers the spoiler motor through the NC contacts of the relay. The power to the motor also feeds the coil of the 12v relay, but crucially it has an IN4001 diode in series with the coil that means the relay only operates when the polarity is correct to lower the spoiler.
There are also higher rated IN4007 diodes protecting the XL6009 from reversed polarity.
When you tell the motor to lower the spoiler, the relay activates and the motor power goes through the XL6009. I set the output of the module to be 13.2v and it worked.
The motor now runs a tiny bit quicker on the downwards run and the spoiler reaches the closed position.
You basically use the potentiometer as a stop adjustment.
BUT WHAT A GODDAM PAIN IN THE BUTT TO FIX. Thanks BMW/Mini. Won't be buying your stuff again.
So I added a DPDT relay.
Tell the motor to lift the spoiler. It powers the spoiler motor through the NC contacts of the relay. The power to the motor also feeds the coil of the 12v relay, but crucially it has an IN4001 diode in series with the coil that means the relay only operates when the polarity is correct to lower the spoiler.
There are also higher rated IN4007 diodes protecting the XL6009 from reversed polarity.
When you tell the motor to lower the spoiler, the relay activates and the motor power goes through the XL6009. I set the output of the module to be 13.2v and it worked.
The motor now runs a tiny bit quicker on the downwards run and the spoiler reaches the closed position.
You basically use the potentiometer as a stop adjustment.
BUT WHAT A GODDAM PAIN IN THE BUTT TO FIX. Thanks BMW/Mini. Won't be buying your stuff again.