Tsdz2 firmware open source adapted to vlcd5, vlcd6 and xh18

Chewy said:
The problem is I only get half range out of my battery as the motor turns off at 35.5v.
this is probably a problem with a cell or cells in the battery not being equal to the others, in capacity, resistance, etc., so they run low before the others do.

you can often fix them temporarily by leaving them on the charger for a few hours, days, or weeks, depending on how bad teh imbalance between cells is, while the bms does it's job of rebalancing cells, draining high ones while low ones charge up to match.

but if a pack has a balance problem, then it does mean the cells no longer match each other, and some will always run out before others, reducing pack total capacity and system range. the only permanent fix is to replace teh problem cells with ones that match or exceed the better cells in the pack. or replace the entire pack with one that has matched good quality cells that won't become imbalanced until they age enough to begin drifting apart in resistance / capacity.


but you don't want to lower the overall bms lvc; it should already be set to match the cells' lowest safe voltage.

lowering the bms lvc will simply invite permanent damage to your cells that increases risk of fire that can happen at any moment, charging, discharging, or just sitting there.
 
I have same problem with battery. One cell row (series) was always ~0.5V lower. So it hit LVC (<3.0V) faster then other series and BMS cut off whole battery. I was only getting half of capacity.
I left on charger for few days, but it was balancing too slowly, almost no effect at all.
Then I disconnected BMS red (and black) balancing wires and manually connected RC charger to problematic cell row (series) and charged it up to ~4.2V with 1A current. It helped, but after a while these exact problematic cells start to get lower again.
Probably need replacement. When I was building battery year ago all cells where exactly same voltage though.
First of all check with multimeter each cell row in series if one or more are out of balance (more than 0.1V) this is your problem.
Btw when measuring series, + will be cell row red wire, ground (-) will be next cell row red wire (next cell +).
 
wehn a bank of cells keeps dropping, *and* it won't rebalance or takes forever to rebalance, even though it is not that far off from other cells, it can be the bms itself that's broken, rather than the cells.

what happens is the bms balancer shunt gets stuck on, so it never stops draining that group, ever. when all it should do is turn on to drain it whenever the bms detects it's higher in voltage than other cell groups, and hsould never turn it on when it's lower than others.

it's easy to test for, by either:

-- disconnecting the cell groups from the bms balance port, balancing them with that rc charger, and letting them sit for a few days disconnected. if they don't unbalance, then plug them into the bms and let them sit for the same amount of time. if they then unbalance, teh bms is draining the low one(s).

or

disconnecting the cells from teh bms balance port, then use a multimeter to check the resistance from the cell balance input pin on the bms itself, to the pads of the relatively large (usually flat) approximately in line with it, usually with traces taht go thru a transistor to it. sometimes these are covered in goo so can't see them, making this difficult. it should read "ol" or blank, or whatever a really high resistance is for that meter. if instead it reads very low, in the dozens or hundreds of ohms, compared to other channels that previously had higher voltage readings for the cells than this one, then this channel is stuck on and will always drain that cell group.




if a channel is stuck on, it's tpically eaier to repalce teh bms than repair it, but if it's just the transistor itself thats failed, you can try to find a similar one from electronics parts distrubutors. or if the bms has more channels than you are using (probably not) you cna take a transistor from an unused channel and move it to the broken one.

someitmes it's not the transistor itself that's bad, but the comparator chip or other driving electronics, and thats harder to replace without damaging it or the board.

the resistance should
 
Thanks everyone, looks like I probably have a bad cell. I have cut into the battery and am charging each group of cells individually with an RC charger as suggested.

received_2918618908189086.jpeg

These are the voltages I measured when fully charged

1. 3.97
2. 4.08
3. 4.08
4. 3.97
5. 3.97
6. 4.19
7. 3.97
8. 3.97
9. 3.97
10. 3.97


This is a new battery I bought 6 months ago off aliExpress. The motor was shutting off early and I mistook it for the LVC in the motor programming.

I could not get the configurator to work on my laptop and gave up for 6 months. I did end up flashing v19.hex file yesterday and the motor still cut out early anyway which pointed to the battery.

Thank you all for being patient and helping 😊
 
Mine was unbalanced more, if I remember right ( but only one row, something like 1 - 4.21, 2 - 3.8, rest - 4.19).
Maybe leaving on 36V charger for a long time (even after charger led shows fully charged and turns off fans) BMS might be able balance it.
When it cuts off can you replug and turn on display again when voltage recovers?
In my case only way to turn it on was to set charger again, so it was BMS for sure.
I compiled marcoq vM0.19.C with default settings (which seems to be VLCD6, 36v), you can give it a try. I have not tested it though, use on your own risk.
https://drive.google.com/file/d/1qtPNDghZlLJCI4yRcqs9h9nzIWtg2-I8/view

Thanks for info amberwolf, I will test leaving it with BMS balance wires unplugged to see if it unbalances.
 
famichiki said:
I have learnt that official Tong Sheng torque signal values are 50-105 when viewed using stock firmware on a VLCD5 display. I described how to access the service viewing menu in my previous post.

I saw my previous post about the torque sensor range was quoted on Jobike. I tried registering there but something is wrong with my account, so I am replying here.

Using Mbrusa's firmware, you can try changing the hardcoded value of 32 to match your match your sensor's measured range. (Measure using his firmware, don't use the VLCD5's service viewing menu.)

If your sensor is not too bad it might improve performance without needing to do the physical calibration.

/src/controller/adc.c
Code:
line 88: ui8_adc_torque_sensor_max_value = ui8_adc_torque_sensor_min_value + 32;
 
famichiki said:
famichiki said:
I have learnt that official Tong Sheng torque signal values are 50-105 when viewed using stock firmware on a VLCD5 display. I described how to access the service viewing menu in my previous post.

I saw my previous post about the torque sensor range was quoted on Jobike. I tried registering there but something is wrong with my account, so I am replying here.

Using Mbrusa's firmware, you can try changing the hardcoded value of 32 to match your match your sensor's measured range. (Measure using his firmware, don't use the VLCD5's service viewing menu.)

If your sensor is not too bad it might improve performance without needing to do the physical calibration.

/src/controller/adc.c
Code:
line 88: ui8_adc_torque_sensor_max_value = ui8_adc_torque_sensor_min_value + 32;
:thumb: :thumb:
According to jobike forum output, this trick works and it's useful to adjust low range sensors that produce underpowered response of the TSDZ2.
 
famichiki said:
famichiki said:
I have learnt that official Tong Sheng torque signal values are 50-105 when viewed using stock firmware on a VLCD5 display. I described how to access the service viewing menu in my previous post.

I saw my previous post about the torque sensor range was quoted on Jobike. I tried registering there but something is wrong with my account, so I am replying here.

Using Mbrusa's firmware, you can try changing the hardcoded value of 32 to match your match your sensor's measured range. (Measure using his firmware, don't use the VLCD5's service viewing menu.)

If your sensor is not too bad it might improve performance without needing to do the physical calibration.

/src/controller/adc.c
Code:
line 88: ui8_adc_torque_sensor_max_value = ui8_adc_torque_sensor_min_value + 32;

Hi Famichiki I tried to change the value as recommended by you and I got excellent results, I reported my experience on jobike, also because I use 152mm short cranks and with the calibration of the force applied on the torque sensor everything works much better
 
Hello, i flashed my tsdz2 today with 0.19c version.
Works very well but the motor cuts off at 35.0 volts??
I have 36v version and i set low cut off voltage to 30volts and i also chose the 36v version and 10s battery.
Any ideas how to use the remaining 5volts?
 
volcamin said:
......
Works very well but the motor cuts off at 35.0 volts??..............
If you read some posts back you see Chewy has the same problem.
In his case it was problably a bad cell or cellblok, so the bms did cutoff at 35V
 
Yes my issue is a bad cell in the battery. It hits 3.0v while all other cells are still at 3.6v.
When it hits 3.0v it triggers the BMS and shuts off the battery while the the battery voltage is still 35.5v.
 
This makes sense as it's the task of the bms to protect every individual cell group.
So if one of those groups reaches the low voltage treshold, the BMS will turn the battery off to prevent further discharge of it.
 
famichiki said:
famichiki said:
I have learnt that official Tong Sheng torque signal values are 50-105 when viewed using stock firmware on a VLCD5 display. I described how to access the service viewing menu in my previous post.

I saw my previous post about the torque sensor range was quoted on Jobike. I tried registering there but something is wrong with my account, so I am replying here.

Using Mbrusa's firmware, you can try changing the hardcoded value of 32 to match your match your sensor's measured range. (Measure using his firmware, don't use the VLCD5's service viewing menu.)

If your sensor is not too bad it might improve performance without needing to do the physical calibration.

/src/controller/adc.c
Code:
line 88: ui8_adc_torque_sensor_max_value = ui8_adc_torque_sensor_min_value + 32;
famichiki

I saw your video. The amount of over run you are getting seems excessive

I am using the Ackmaniac version on VLCD5 and I get about half a turn (180 degrees) of over run when I stop pedalling.
 
Michael B said:
famichiki

I saw your video. The amount of over run you are getting seems excessive

I am using the Ackmaniac version on VLCD5 and I get about half a turn (180 degrees) of over run when I stop pedalling.

Thanks for the info :thumb:
 
Hi Andrea_104 I wonder if you could add links to the latest Marco firmware and configurator in your first post..

From what I can tell the configurator is at version 3.7 and the firmware is 19c and there is also a 19c version from ackmaniak ?

Anyway would be nice to have some links if you get the time. A few of my friends have been asking me about this firmware.

Thanks
JB
 
jbalat said:
Hi Andrea_104 I wonder if you could add links to the latest Marco firmware and configurator in your first post....
That should be a good idea, because marcoq and stancecoke have removed their github links to this software.
Also editing the topic name a bit, to mention all stock displays would provide more clarity, with the fragmentation of OSF for different displays.
 
famichiki said:
Michael B said:
famichiki

I saw your video. The amount of over run you are getting seems excessive

I am using the Ackmaniac version on VLCD5 and I get about half a turn (180 degrees) of over run when I stop pedalling.

Thanks for the info :thumb:

Actually I rechecked this today and I need to correct that.

At 35-40 kph at moderate cadence and assist I get more like one full rotation. Yours looks more than that. I'm using a 54T narrow wide chainring.
When changing down and slowing to a stop I get virtually no over run.
The other day I must have been somewhere in between when I randomly look down and just happened to notice the half rotation over run.

Maybe the over run is 'increased' with high motor assist and high cadence?
 
Michael B said:
Actually I rechecked this today and I need to correct that.

At 35-40 kph at moderate cadence and assist I get more like one full rotation. Yours looks more than that. I'm using a 54T narrow wide chainring.
When changing down and slowing to a stop I get virtually no over run.
The other day I must have been somewhere in between when I randomly look down and just happened to notice the half rotation over run.

Maybe the over run is 'increased' with high motor assist and high cadence?

How was the operation when you were running the stock firmware? I do suspect the problem is increased at higher assist levels and/or higher torque or cadence but I haven't had any luck determining exactly what.
 
jbalat said:
Hi Andrea_104 I wonder if you could add links to the latest Marco firmware and configurator in your first post..

From what I can tell the configurator is at version 3.7 and the firmware is 19c and there is also a 19c version from ackmaniak ?

Anyway would be nice to have some links if you get the time. A few of my friends have been asking me about this firmware.

Thanks
JB
Hello jbalat,
Please ref to this forum
http://www.jobike.it/forum/topic.asp?TOPIC_ID=76426&whichpage=60
There is a translation for the v.20 to stock displays ongoing (and nearly completed).
Mbrusa is the active developer for it and it will release on the Italian forum in the meantime he better understand the GitHub system... :wink:
Marcoq took a break and we all hope he will pop sooner than later with his precious contribute.

For the actual firmware (marcoq + mbrusa mods to display advanced data on stock displays) you have to go few pages back on that forum.
If you need I can zip my folder and attach it here for easier reference.
 
jbalat said:
....the configurator is at version 3.7 and the firmware is 19c and there is also a 19c version from ackmaniak ?

Anyway would be nice to have some links .....
Latest releases all based on v0.19 Stable

marcoq fork - configuration, compiling and programming with Java configurator

demion fork - configuration by edit config.h without Java configurator

ackmaniac mods - control motorcurrent instead of batterycurrent

mbrusa additions
- torque and other data readings on stock display

Configurator manual - by DarkRider81 (also links to guide of Ashrambo and Elem)
 
Thank you so much Elinx, I was able to install the original marco version on a friend's bike and he was pretty happy with it. The configurator didn't like the default location of stvp because of the spaces so I copied it over to the c drive and it works.
Thanks again JB
 
I've read like all the topics about the tsdz2 a lot, got 2 bikes with an tsdz2. An MTB with a 750 watt with custom firmware. Runs like a dream. Then I tried to flash a custom firmware to my normal day bike with 500watts tdz2 with throttle, tried one of marcos but I have an 48 volts engine so the e08 error came up. Yesterday I managed to get a custom firmware on it but forgot to put the amps correctly in the configurator. So I made a new file but now everytime I try to flash the check fails in the end:
Schermopname-503.png

Before this flashing was already hard, from the 20 times pushing the button 1 time would work but now it fails all the time.
If I connect my MTB it works like a dream, can read the firmware and flashing is like a breeze.
The tsdz2 500 with throttle is a lot harder and I cant get a whole firmware on it, the motor aint working at the moment.
The st-link works fine on 2 different engine's, cables are like 8 cm. Also tried a different laptop, extra 5v line. Can anyone shed some more light on this problem?
I'm using a vlcd5 on the normal bike and a xh18 on the MTB.
 
Hoi Woutje,

Did you already try to fill all numbers wth - 0 - and after that put back the stock firmware ?
 
Yeah, currently there are only 0 in the readout. If i try to read it I get the same, have to push it like 25 times and if I get it shows only 0
Schermopname-505.png

It explains why it aint working, but can not get a firmware on it. Just ordered a second st-link v2, have to wait a fair bit for it arrives. Maybe that works.

When I flash it it writes something on it, cause I can see (a piece?) of the firmware on data and memory but the motor does not work

Schermopname-506.png

Schermopname-507.png


I'm think of disassembling the motor to connect it straight to the controller, maybe that works correctly.
The 8 pin vlcd5 connecter seems to be different to the 6 pins display's without throttle.
 
Back
Top