- Thread starter
- #331
, best of my version 8.16 …is the ability to customize all ride assistance modes
Thankfully I have that in my current version Not sure what I'm missing out on except enhanced derestriction detection!
Riding a tuned or deristricted EMTB is not a trivial offence and can have serious legal consequences. Also, many manufacturers can detect the use of a tuning device or deristricting method and may decline a repair under warranty if it was modified from the intended original specification. Deristricting EMTB's can also add increased loads for motors and batteries. Riding above the local law limit may reclassify the bike as a low-powered bike, requiring insurance, registration and a number plate.
Be aware of your local country laws. Many laws prohibit use of modified EMTB's. It is your responsibility to check local laws. Ignoring it, has potential implications to trail access, and risk of prosecution in the event of an accident.
We advise members great caution. EMTB Forums accepts no liability for any content or advice given here.
, best of my version 8.16 …is the ability to customize all ride assistance modes
Hi, is the graph the capture of the generated magnetic field of your coil? How fast can you switch the magnetic field and still get it strong enough , especially with a coil with ferromagnetic material?
I don’t understand fully how you calculate the speed, wheel rpm?Where in setup mode the single direction pulse produces a stable speed, the reversing pulse fluctuates crazily before settling to 0kph. ..
Thoughts?
I find it very strange that an electromagnetic pulse similar to the one created by the magnet creates these problems. The only thing that has not changed in all Bosch software versions is the rotating magnet that provides an N-S pulse. We are missing something. Maybe I can get an old signal generator and with that I will try to emulate the magnetic signal on my latest version Bosch. I'm also waiting for an L9110 with which I will do further experiments. Unfortunately my programming skills are very limited, I get along better with analog electronics.Update on the reversing pulse:
Good news is that I've completed the code changes to run the L9110 driver. These first included the rewrite of how the multiplier behaves at low speeds. In the past, the first five wheel revolutions from stopped just pulsed the coil in unison with the passing magnet. However that's no longer possible with the reversing pulse as you first need to know the full duration of the pulse before you can start it, in order to solve for the positive/negative time periods.
Second change was to integrate the pulse behaviour itself. So I've got three pulse profiles:
Thanks to the programmability of the L9110, I can also drive the coil in the original single direction-only method, in the same way as with the transistor. An added benefit is being able to control the strength of the coil's field through code too.
- Step function: full positive for half duration, then full negative for half duration
- Linearly increasing: just ramps from 0 to full strength positive, then from full strength negative to 0
- Exponential: similar to linear, but increases/decreases on an exponential function
I've been for one ride with the L9110 and new code in place just replicating the original single direction pulse, to set a baseline.
Now, bad news is, that on my current firmware version, the motor doesn't reliably detect the reversing coil's signal.
Where in setup mode the single direction pulse produces a stable speed, the reversing pulse fluctuates crazily before settling to 0kph. I'm able to switch between pulse behaviours on the fly using my OLED display, so the only variable is the pulse. Snip below shows the change from single to reversing pulse:
View attachment 134763
Now, I'm on an old Bosch firmware version so MAYBE this would more successful on a current version, if in fact this is what the motor wants to see? But of course I'm not sure...
Thoughts?
I don’t understand fully how you calculate the speed, wheel rpm?
Once yo have the speed you know when you have to “fire” the pulse and for how long, no?
If that is the case , firering a single or “double” pulse should not do any “crazy” things?
I just take 25% of the modified rpm……
In normal riding mode, the magnet duration detected by the hall sensor at the wheel drives the pulse duration. Then it's simply the reverse calculation to the above to solve for the speed.
Hi,I pre ordered the Bluetooth model
Yes I did. It produced error code 523003.Hi,
did you already receive it? If yes is it working? Is it wortth 400€?
Greets in
Hello, can you tell us how you did it ?Yes I did. It produced error code 523003.
Trying to derestrict the Bosch Smart Rim magnet system is not worth the money, frustration, error codes, and loss of time. So I returned the Speedbox and converted my bike to the Bosch swing arm speed sensor / spoke magnet. I’ve never been happier! No more issues, no more rim magnet / internal speed sensor and my Bosch firmware is up to date (10.12.3)
Hello, can you tell us how you did it ?
Thanks
Thanks !You first need to get permission from your bikes manufacturer(not all are willing to do so). Your local bike shop has to email a request to the bike manufacturer to do this procedure. If approved the manufacturer will email a file for the bike shop to download new firmware into the bike that shuts the internal speed sensor off, while also turning on one of the motors existing electrical outlets for the new swing arm speed sensor to plug into.
Then it’s about $50 in Bosch parts. (Bosch Speed Sensor, Bosch Speed Sensor Chain Stay Adaptor/Holder, and Bosch Spoke Magnet)
Hi,Yes I did. It produced error code 523003.
Trying to derestrict the Bosch Smart Rim magnet system is not worth the money, frustration, error codes, and loss of time. So I returned the Speedbox and converted my bike to the Bosch swing arm speed sensor / spoke magnet. I’ve never been happier! No more issues, no more rim magnet / internal speed sensor and my Bosch firmware is up to date (10.12.3)
No it does not. It makes it so you have a lot more choices when shopping for a tuning kit.Disabling the external speed sensor removes the speed limit?
Yes it shows the correct speed provided you have selected the correct rear wheel size within the Kiox settings, because the new Bosch swing arm speed sensor and spoke magnet are now reading the bikes speed.After turning off the internal speed sensor and installing a new one with a spoke magnet, does the display show the correct speed?
ThanksNo it does not. It makes it so you have a lot more choices when shopping for a tuning kit.
which one did you go for in the end?No it does not. It makes it so you have a lot more choices when shopping for a tuning kit.
SpeedFunwhich one did you go for in the end?
Off topic 1, just a stupid thought, what would happen if the rim is coated all the way around like 50-80% of magnets and field is constant?
Off topic 2, for Megabobra also, but someone mentioned muled version with a setup of a smaller rim. What sort of diagnostic tool would it need to do that with smart system? i.e. is it a different tool for smart systems vs. older ones? i spotted from the ebay, that bosch diagnostics v 8.1.6.0 is hacked and available.
As for #1, I suspect the first thing that would happen is that you would get a magnet/speed pickup error! Not sure what you would hope to achieve with this though? To the motor, it would look like the wheel is moving very slowly, as the magnet remained visible, but this wouldn't align with the expected speed for a given cadence/motor power output.
For #2, I'm not sure!
Separately, I've got some new code and a new electromagnet design to try with the current version of the motor firmware. I'm still derestricted on ~v5.0 and don't want to update my own motor in case the new design doesn't help and I lose the derestriction!
Anyone in Aus have an up to date (firmware) Gen4 CX smart system motor that they want to test with??
Hello,
@megabora do you have an updated code that incorporates the use of the L9110 H bridge? At the moment there is only pin4 adressed as output in the code (at least in my case) and i cannot simply replace / connect the L9110 to pin4.
Thanks in advance
View attachment 140941 View attachment 140942
Excellent. I will give it a try. I would prefer to use the single L9110 too without the other stuff but wondered whether it would still work without all the resistors and capacitors. However, thx for the precious info.Hi PeacePirate,
I haven't published the new code with the L9110 but it's easy for you to incorporate. PS I'm using a single L9110-S (S for surface mount) rather than the whole PCB you have above. You can see pair of them on your PCB:
View attachment 140970
All you need to change in the code is:
add the pin definitions:
#define A1A D7
#define A1B D8
set them as output:
pinMode(A1A, OUTPUT);
pinMode(A1B, OUTPUT);
then to activate it/drive the coil, set the two outputs to opposite states, eg:
digitalWrite(A1A, HIGH);
digitalWrite(A1B, LOW);
turn off again is when you set the states to the same:
digitalWrite(A1A, LOW);
digitalWrite(A1B, LOW);
So in the existing code, anywhere you see "digitalWrite(ELECTROMAGNET_PIN, LOW);"
add the two 'LOW' lines above, and where you see "digitalWrite(ELECTROMAGNET_PIN, HIGH);" add the two LOW/HIGH lines.
Hope this helps!
The World's largest electric mountain bike community.