TSDZ2 mid drive with 860C, 850C or SW102 displays only -- Flexible OpenSource firmware (Casainho code only)

What's the easiest way to reset the firmware or configuration as I'm hitting a 220watt limit and I can't find what config is causing it? Or just go back to the latest stable version instead of the 1.0.0 version?
 
rcx194 said:
What's the easiest way to reset the firmware or configuration as I'm hitting a 220watt limit and I can't find what config is causing it? Or just go back to the latest stable version instead of the 1.0.0 version?
Do your work and read the configurations page.
 
casainho said:
rcx194 said:
What's the easiest way to reset the firmware or configuration as I'm hitting a 220watt limit and I can't find what config is causing it? Or just go back to the latest stable version instead of the 1.0.0 version?
Do your work and read the configurations page.

The wiki was the first place I went to. Today I had some luck. If I enable street mode and set the limit high then the problem seems to go away.
 
rcx194 said:
casainho said:
rcx194 said:
What's the easiest way to reset the firmware or configuration as I'm hitting a 220watt limit and I can't find what config is causing it? Or just go back to the latest stable version instead of the 1.0.0 version?
Do your work and read the configurations page.
The wiki was the first place I went to.
Next time you need to do it better:

image.png
 
Firmware release version 1.0.0: https://github.com/OpenSource-EBike-firmware/Color_LCD/releases/tag/860C_850C_SW102_v1.0.0

The release of version as 1.0.0 represents a milestone because all major features about TSDZ2 motor control are now implemented like FOC and Field Weakening. Also on the display side, I don't plan any new big changes. Note that this does not means it is clear of issues (remember that this is a hobby project developed by professionals on their free time) and there are certainly features that can be added in future versions like 1.1.0 and polish the current ones, and I plan to do that.

Also I started to work full time on a robotics laboratory in an university, I will have much less time to develop this project as on the last 2 years that I was working remotely from home half time.
It is strategic to work on this laboratory as I want to learn robotics so I can develop the e-Legs / exoskeleton (for me and share with others) to help users walk and run faster, going more to outside doing sports or commute, and reduce injuries on knees and on spine.

Notes for version 1.0.0:

The release of version as 1.0.0 represents a milestone because all major features about TSDZ2 motor control are now implemented like FOC and Field Weakening. Also on the display side, I don't plan any new big changes. Note that this does not means it is clear of issues (remember that this is a hobby project developed by professionals on their free time) and there are certainly features that can be added in future versions like 1.1.0 and polish the current ones, and I plan to do that.

The big new feature on this version 1.0.0 is the "amplification" of cadence and motor power in the range from 80 to 120RPM!! previous, the motor power would start to decrease at around cadence 80 and be zero at 90, meaning no motor assistance at all over cadence 90RPM. Now, you will get assistance all way up to cadence 120RPM.
Note that this considers a battery with the same voltage as the motor, like a 36V battery with a 36V motor or 48V battery with 48V motor. Even in the cases of using a 48V battery with 36V motor, the cadence is still increased up to 120RPM with most possible optimized efficiency.

This version was developed for displays 860C, 850C and SW102 and for the TSDZ2 motor controller running the firmware v1.0.0 (TSDZ2-v1.0.0.hex) -- see below attached files.

THIS IS AN HOBBY PROJECT -- WARNING: due to any possible existing bug on the firmware or user incorrect configuration, the motor controller may burn and/or the motor and bicycle wheel may start to run very fast at max power - please be very careful when installing the firmware and keep the bicycle back wheel on the air, have brake sensors installed and the possibility with easy access to quick cut the battery power like removing the battery connector to the TSDZ2.

After installing this firmware you MUST follow the next page to configure and learn how to navigate: https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki/Features-and-configurations-on-display

Changelog from previous stable release v0.8.0:
- increase motor assistance as also pedal cadence up to 120RPM (previous limit was around 85RPM) and for this was need to:
-- UART communications frequency is increased twice to save the processing time needed to implement following points
-- increased PWM frequency from 15.6kHz to 19 kHz
-- implement Field Weakening
-- configuration to enable/disable Field Weakening as it brings a loss of efficiency at high cadence value over 90RPM, possible a loss of 25%
- added virtual throttle: user can use UP and DOWN buttons to increase throttle value (from 0 to 100%). User must keep pressed UP or DOWN buttons, otherwise, after one second the throttle value goes to 0 (this works as a security measure)
- Added configuration for virtual throttle increase/decrease steps in %
- added coast brake ADC sensitivity configuration: the TSDZ2 coast brake version should now fully work on this firmware version
- added configuration to enable/disable coast brake as it was giving issues when using throttle on a TSDZ2 no coast brake version
- changed battery max current limit to 20 amps
- added torque sensor startup threshold
- added configuration for cadence fast stop mode, which is disabled by default. Enable for regular bicycles and disable for some full suspension bicycles
- ebike control loop now runs at twice the frequency in the hope to make system a bit more responsive (tested by vshitikov)
- added Wh/km variable to be shown on custom fields and also on the graph
- corrected issue on build script of SW102
- added configuration for lights ADC current step
- added battery ADC steps to configurations technical menu (to help user find the amount of battery current ADC steps that his lights pull)
- added torque sensor filter with configuration
- SW102: added Bluetooth UART with pairing and currently sends some variables only to help debug
- corrected ADC frequency
- added configuration for motor current control as torque mode as also keeping the previous power mode
- changed Walk assist max speed to 6 km/h while previously was 8 km/h
- added a few configuration to clock field: disable, clock, battery SOC % and battery volts
- changed battery max current limit to 20 amps
 
Thanks @casainho !

Did you manage to solve the most obvious issues for that 1.0 release ?

* auto power off not working (just found my battery completely depleted this morning)
* SW102 lockup issues in configuration mode - calibration impossible
* power cut-offs on bumps with default configuration. Root cause ?
 
pagaille said:
Thanks @casainho !

Did you manage to solve the most obvious issues for that 1.0 release ?

* auto power off not working (just found my battery completely depleted this morning)
* SW102 lockup issues in configuration mode - calibration impossible
* power cut-offs on bumps with default configuration. Root cause ?
Yes, all that points.

As new, the torque sensor startup threshold.

Also motor current control now defaults to torque mode.

Also default disable fast cadence stop.
 
Hope major bugs like sw102 locking up are cleared before we start seeing less support for this from casainhos side. I'm unable to test as my controller is still on the way.
 
casainho said:
pagaille said:
Thanks @casainho !

Did you manage to solve the most obvious issues for that 1.0 release ?

* auto power off not working (just found my battery completely depleted this morning)
* SW102 lockup issues in configuration mode - calibration impossible
* power cut-offs on bumps with default configuration. Root cause ?
Yes, all that points.

As new, the torque sensor startup threshold.

Also motor current control now defaults to torque mode.

Also default disable fast cadence stop.

Great job! This is a big milestone for this project!
I would try it later today. Did you have time to review the boost feature?
 
Nfer said:
Great job! This is a big milestone for this project!
I would try it later today. Did you have time to review the boost feature?
Look at the changelog. No.
 
mallesepp said:
AZUR said:
Hi,

I forgot to mention it in the last post, but the Garmin Remote doesn't always work well. I do not know why.
I use it mainly to change the Garmin screen, as the Garmin touch screen doesn't work very well with gloves.
Sometimes I have to press the Remote key more than once to be able to change the screen.
Sorry, i have the same Garmin Remote to change screens on my Edge 1000. It works fine! Without problem.
Hello Azur, now i think i know what is your problem. By beginn of ride you press button first to connect remote with the Garmin! By trip with a long break the remote automatic turn off. The next time you must remote new initialize with a button press! Only now is the remote ready and every button press has function.
 
casainho said:
Also I started to work full time on a robotics laboratory in an university, I will have much less time to develop this project as on the last 2 years that I was working remotely from home half time.
It is strategic to work on this laboratory as I want to learn robotics so I can develop the e-Legs / exoskeleton (for me and share with others) to help users walk and run faster, going more to outside doing sports or commute, and reduce injuries on knees and on spine.

Congrats Casainho and good luck with your new job, thanks for all the time you have spent on this project.
 
Please everyone note the new configuration for the torque sensor startup threshold, it should help the users that want to rest the feet on the pedals at red lights:
image.png



Waynemarlow said:
Congrats Casainho and good luck with your new job, thanks for all the time you have spent on this project.
I will keep investing on TSDZ2 because it is the best ebike technology I have and I really need it, because:

- family trips to beach that let us enjoy the nature and calm down, as also have the cool sea breeze and sunset on our skin

- I am starting to get serious health disease due to obesity. Other than paying for professional help on nutrition, doing sports is also important - I started running and I found that I can't run everyday, I need to have rest days and cycling and swimming are recommended. Light cycling (ebike is very good for this!!) is considered active recovery and so intercalation with running and swimming is very important for my health other than the nutrition. That is why I am looking for next project to implement TSDZ2 fully wireless ebike standard, that will integrate with Garmin and other fitness devices - I use a specific running watch of Garmin that has advanced metrics of running and my fitness score and after I want to have my ebike fitness data (TSDZ2 pedal cadence and pedal power) sent to Garmin automatically.

And a picture of our relaxed moments, when returning from the beach, at 21h and with sunset:

image.png
 
casainho said:
I will keep investing on TSDZ2 because it is the best ebike technology I have and I really need it, because:

- family trips to beach that let us enjoy the nature and calm down, as also have the cool sea breeze and sunset on our skin


And a picture of our relaxed moments, when returning from the beach, at 21h and with sunset:

Nice pictures, Casainho. Thank you for all your work. We finally get to enjoy our new bike as lockdown is over in France and we can ride far from the house. I'm using your firmware and it works very well for me. I yet have to try version 1.0.0, but I need to port my own modifications in it. I really like that it's opensource so I can tweak myself whatever I want! Good luck to you with your new projects!
 
vshitikov said:
casainho said:
I will keep investing on TSDZ2 because it is the best ebike technology I have and I really need it, because:

- family trips to beach that let us enjoy the nature and calm down, as also have the cool sea breeze and sunset on our skin


And a picture of our relaxed moments, when returning from the beach, at 21h and with sunset:

Nice pictures, Casainho. Thank you for all your work. We finally get to enjoy our new bike as lockdown is over in France and we can ride far from the house. I'm using your firmware and it works very well for me. I yet have to try version 1.0.0, but I need to port my own modifications in it. I really like that it's opensource so I can tweak myself whatever I want! Good luck to you with your new projects!

what kind of modifications have you done?
 
Due to personal circumstance i was away from this forum for over a year

Luckily i can be back now and everything is ok.

I admire Casainho and all the other contributors for the impressive amount of work that has been done in that time.

I have installed the 1.0.0 release.

I have left the assitance levels and factors default. i don't think i have done anything worth mentionning at all. except i have enabled the boost feature on start up, with the default values.

I went on a 45 min ride today. what shall i say: when it does it does....and really smoothly and better than ever.

But there are "moments" where all of a sudden it creates 600 W out of the blue..even in level 1...
you pedal, think of nothing, and then...woosh...a giant pushes you forward...

What can this be? it happened very much in the first 15 minutes then i felt i had a longer intervall where it behaved as one would expect and then towards the end again it pushed...i have absolutely no correlation to action from me that i can think of.

What can it be?
 
andyme said:
What can it be?
Disable BOOST and try again. If it solves that issue, then I will disable the BOOST code until someone correct it.
 
casainho said:
andyme said:
What can it be?
Disable BOOST and try again. If it solves that issue, then I will disable the BOOST code until someone correct it.

I will let you know on Friday. It will most probably be raining tomorrow.
 
raw said:
vshitikov said:
casainho said:
I will keep investing on TSDZ2 because it is the best ebike technology I have and I really need it, because:

- family trips to beach that let us enjoy the nature and calm down, as also have the cool sea breeze and sunset on our skin


And a picture of our relaxed moments, when returning from the beach, at 21h and with sunset:

Nice pictures, Casainho. Thank you for all your work. We finally get to enjoy our new bike as lockdown is over in France and we can ride far from the house. I'm using your firmware and it works very well for me. I yet have to try version 1.0.0, but I need to port my own modifications in it. I really like that it's opensource so I can tweak myself whatever I want! Good luck to you with your new projects!

what kind of modifications have you done?

I just make the assistance start a little earlier (8rpm) and pick up a little bit more of assistance at low cadence. I make cadence curve logarithmic up to 50rpm. I still have this soft start that I like, to keep it easy on the blue gear but it picks much faster as soon as you start spinning the pedals. I hardcoded bunch of the values that fit my bike and the riding style. Not really usefull to somebody else. And I have no knowledge to make it configurable through the display.
 
vshitikov said:
casainho said:
I will keep investing on TSDZ2 because it is the best ebike technology I have and I really need it, because:

- family trips to beach that let us enjoy the nature and calm down, as also have the cool sea breeze and sunset on our skin


And a picture of our relaxed moments, when returning from the beach, at 21h and with sunset:

Nice pictures, Casainho. Thank you for all your work. We finally get to enjoy our new bike as lockdown is over in France and we can ride far from the house. I'm using your firmware and it works very well for me. I yet have to try version 1.0.0, but I need to port my own modifications in it. I really like that it's opensource so I can tweak myself whatever I want! Good luck to you with your new projects!
@vshitikov : you're in France like me ?

I'm currently adding some features : two independent trip memories (A and B) with :
- time
- distance
- average speed
- max speed
All since last reset and saved in EEPROM (except average speed which is calculated)

It's already working, tested on my 860C. I'll have to test on a long ride.

Now I have to implement the reset feature fot both trip memories.
 
Benoit said:
trip memories (A and B) with :
- time
- distance
- average speed
- max speed
All since last reset and saved in EEPROM (except average speed which is calculated)

It's already working, tested on my 860C. I'll have to test on a long ride.

Now I have to implement the reset feature fot both trip memories.
And other than resetting in a quick way from main screen, like when change graph scale, would be nice if on 850C/860C it could also reset after a specific amount of hours like from last system startup. Maybe a configuration in number of hours. For me, I would set 8h and every it would reset automatically when I sleep as the trips I do are 1 day long.
 
casainho said:
Benoit said:
trip memories (A and B) with :
- time
- distance
- average speed
- max speed
All since last reset and saved in EEPROM (except average speed which is calculated)

It's already working, tested on my 860C. I'll have to test on a long ride.

Now I have to implement the reset feature fot both trip memories.
And other than resetting in a quick way from main screen, like when change graph scale, would be nice if on 850C/860C it could also reset after a specific amount of hours like from last system startup. Maybe a configuration in number of hours. For me, I would set 8h and every it would reset automatically when I sleep as the trips I do are 1 day long.
I thought about it but I wasn't sure to implement it, or in a first time only a manual reset.
But it's a nice feature and I'll made it configurable (manual and/or auto reset with configurable amount of hours).

And for the manual reset, what do you think is better : combination of pressing buttons or through a menu ?
I think a menu is less user friendly and more complex to add, except if using the current configuration menu ?
 
Benoit said:
I thought about it but I wasn't sure to implement it, or in a first time only a manual reset.
But it's a nice feature and I'll made it configurable (manual and/or auto reset with configurable amount of hours).
Good to be able to disable as on some 850C/860C / users, the clock fails. On my ebike that is not happening because I am being riding at least every 2 days but my girlfriend bike, it fails as she rides sometimes once a week.

Benoit said:
And for the manual reset, what do you think is better : combination of pressing buttons or through a menu ?
I think a menu is less user friendly and more complex to add, except if using the current configuration menu ?
I think we should try to be consistent with buttons usage so will be easy for user to remember, leading to less frustation.

1. user must be seeing one of that variables on a custom field
2. user start customizing fields
3. user select to customize the variable he wants to reset
4. user use the same button combination for graph change x axis scale (I think is UP and DOWN simultaneous)
5. nice if the variable could fast blink for 3 seconds and just after that reset (or do no fast blink if is hard to implement)
 
Back
Top