Modifying the Vectrix Charger Programme
Herewith a commentary on some work I have been doing on the Vectrix Charger Programming.
I have achieved a limited success in the task of re-arranging some of the charger's performance. This has been with the object of reducing the battery 'damage' whilst charging and also, hopefully, to extend the life and therefore the mileage of the battery before replacement becomes necessary.
It is my view that most of the damage to the battery is caused by heat, and that heat is generated / produced by two means. The first is the heat of the charging process and the second cause is the internally generated heat produced by the battery's internal resistance when current is drawn from the battery.
So far, I have concentrated on the charging process. My aim was to reduce the initial charging current, maintain that current to around 80% of 'full' capacity (24 Ah) and then continue the charge with a further reduced current for a sufficient time to complete the charge process. There will be a 'side effect' of this which is a longer charge time, however, I consider that a longer charge time might be worth accepting if a longer battery life results from this. Bear in mind that charge time, including equalisation, can extend to over eight hours with the Vectrix programme/software.
In terms of the initial charge (up to 80%), reducing the current to 6 to 7 amperes only increase the charge time from 2hrs (empty battery) to 3.5 hrs. This is an increase which I am prepared to accept.
The second stage of charging which involves the ''tr' cool off periods, lasts for one hour, in the earlier software (Version 2012 and thereabouts) this also involved a low rate charge of 3amps. In the 3001 version, this was reduced to zero charge and still runs for the hour (I believe that Vectrix had noticed that the 'tr' at 3 amps was actually causing further heating of the battery).
The third stage of charging is the C.C. (constant current) stage which runs for a preset time or until a preset voltage is reached or until the battery heats up to a preset maximum temperature.
A final charge stage involves the process of Equalisation. The purpose of which is to bring any cells which have 'fallen behind' in terms of charge (i.e. they are not 'Full' whilst other cells are full) up to a genuine fully charged condition.
The main heat producer during the charge process is the latter part of the initial stage ( the part that takes the battery to 80%), this is followed by the Constant Current charge at 3 amps which also produces excess heat. The Equalisation current level is also excessive and contributes yet more heat to the battery.
Vectrix 'engineers' recognised the problem but failed to deal with it mainly due to their over-qualification for the job which they were doing. A common problem with overqualified engineers is that they are full of theory and short on practice. As anyone who is involved in troubleshooting knows, theoretical knowledge and practice experience can often be very difficult to marry together and in all cases, what happens in practice is far more important that what should happen according to theory.
Vectrix engineers attempted to solve the heating problems by 'cooling' the batteries (the plenum chamber fans). They added periods of 'cooling' to the process (the tr.with no current in later software). They programmed in a temperature limit, beyond which the charge was halted and the fans were kept running, but they completely failed to realise that the best way to deal with the problem was to NOT generate the heat in the first place. They were, of course, far more interested in selling a short recharge time that would appeal to buyers. A VERY BIG MISTAKE.
Where does that leave us? Well, working on an earlier version of the software ( I wanted tr. with instruments lit up), I have been able to make a number of alterations to the programme parameters without actually altering the programme routine itself.
I have reduced the initial charge current (C.P.) 6 to 7 amperes (864 watts) and reduced the 'aiming' voltage so that C.P.144 is the voltage limit for the initial charge. At a charge rate of 6 amperes, 80% charge occurs at approximately 144Volts.
I have reduced the 'cool off' current to 1.5 amperes. The 'aiming' voltage is set, within the programme, to equal the C.P. voltage.
I have reduced the Constant Current level to 1.5amperes and increased the maximum time to 4hrs and may yet need to add more time (it was set to around 3.5 previously)
The above changes do increase the charge times, is there really any choice?
Vectrix had set some 'safeguards' in the programme. I have used the word 'safeguard' rather loosely. They had set the maximum battery temperature to 50 degrees Centigrade. By the time that the battery casing, where the temperature is measured, reaches 50 degrees then the internals of the battery are considerably hotter. I don't call that a safe limit.
If the charger 'control' failed then they had a 'safe' limit of 15 amperes and a maximum charge of 32 ah in C.P. mode with a 35 ah absolute limit. What they did not consider was that if the programme 'locks' then even these limits will not help as they will not be applied due to the locked programme.
If the battery temperature exceeded 40 degrees in use (when riding) then the plenum fans where switched 'on'. At 40 degrees C on the battery case, when in use, the damage is already done, as I have already said theory and practice ...?..?..?....?
So much for the Vectrix engineers 'safeguards'
I have incorporated 'safer' limits into the software which I am altering. I have reduced the maximum charger output to 8 amperes. I have arranged for the plenum fans to be always 'on' when the bike is being used. I have set the safe maximum battery temperature (when charging) to 25 degrees C ( it is currently 5 degrees outdoors here just now and rarely exceeds 20 degrees) and I have reduced the maximum ampere hours in C.P. mode to 24.
All in all, a number of changes and hopefully for the better.
The above changes are currently being tested and have so far proved to work as intended. It will be a while before the real effects (a longer battery life with fewer imbalance problems) are available.
The above 'work' has taken longer than I expected, but reverse engineering, in order to find out how a programme works, is not the easiest of subjects and I am still a novice. I have done nothing illegal, all I have done is to make alterations to an existing hex file for my own benefit. I am willing to share my knowledge with you individually so that you too can benefit if you wish. The alterations which I have made can be varied to suit individual requirements (not easy but not too hard either).
This is not a simple process, but I will try to help anyone out there who may be interested in this work. Basically, I have made the alterations directly in the Hex file which is programmed into the bike with the Vectrix Diagnostic Software. The changes to the hex files are written for a specific version and cannot easily be 'fitted' in other versions. Because I have 'downgraded' to an earlier software version, I have lost the estimated mileage readout on the left-hand display and the battery capacity meter (right-hand display) no longer decrements. I have found that the left brake pull that gives the voltage and temperature readout allows me to estimate the remaining battery capacity and I have not been caught out yet.
I am hoping, in due course, to reverse engineer the whole programme. When that is completed, I shall write my own programme to deal with the problems in my own way and will publish the programme as freeware (but that, folks, may take some time)
Dear People at Vectrix,, (I know that you read this column)
Why don't you contact me so that WE can work out YOUR problems together and benefit YOUR business and YOUR customers and perhaps the environment at the same time? I don't even want paying, (although you might like to contribute towards the £150 worth of books I have bought) all I want is a good reliable product. You have nearly achieved that, why not allow me to help you finish the job properly? Contact me through this forum, PLEASE. :-)
And having got that over folks, Merry Christmas and a Happy new year to you all, even to those people at Vectrix.
Keep smiling folks:-)
Fabulous, well done!
Well done Sally :D
Because I have 'downgraded' to an earlier software version, I have lost the estimated mileage readout on the left-hand display and the battery capacity meter (right-hand display) no longer decrements. I have found that the left brake pull that gives the voltage and temperature readout allows me to estimate the remaining battery capacity and I have not been caught out yet.
If you also down grade the MC software to MC1014b, both the fuel guage and estimated range will work again.
This is very interesting, but I have no computer experience. How would someone such as myself modify the software? Thanks for the post.
The laird... fantastic work! they should employ you at the vectrix factory. ;-) Do you think it would be possible to switch "on the ride" between two different charging programs, one fast and agressive (the present one from vectrix), and another slow to take care of the battery (your version)?.
The idea of measuring the current/power used and then, when charging, attempting to 'replace' the used power is an interesting one but not, in my opinion a practical one as it does account for temperature related losses. Whilst it may be an ideal, it is definitely not practical but it is incorporated into the some of the Vectrix software. Whether it constitutes part of the problem is another matter. On the good side, this feature can largely be circumvented by simple software/hex file changes.
I actually quite like the idea of measuring the amount of energy pulled from the pack.
It allows you to charge fast with no chance of overcharge, and charge slowly later to replace self discharge losses.
Its the idea of resetting the count at red battery light, but still charging fast that gets us into trouble.
Have you a way to get the charger to follow a constant power than constant voltage charge profile?
I wonder what the chargers max power output is at 240v.
Thinking of those who have moved to lithium here.
Very interesting work on the stock charger and thanks also for the info on the fans.
Could you possibly shed some light on the state-of-charge (SOC) calculation or display? Which unit generates the SOC (17 bar) display? Is it done by the charger, or by the motor controller, or by the instrument cluster? Have you come across some code in the charger for this calculation?
I suspect that the displayed sate-of-charge is calculated by dividing the Ah consumed or charged by the total capacity (between red light and full), but where is this done?
Excellent work there Laird. I know how many hours go into this sort of pic-code reverse engineering. You are to be congratulated on your dedication.
It would be interesting to see your analysis of the supplied code. (I assume you have worked out the algorithms, at least approximately, as well as which values are which). Obviously we don't really need this info for making the sort of changes you are describing, but there are many nerds who would find this interesting, and as you've owrked it all out you might as well spread the info (you might even get some help with further developments).
Presumably there are some checksum requirements too in order to make any changes and successfully upload the resulting file?
I'm not really familiar with the vectrix battery details, but do I understand that the batt can only be charged in series (well, in two unequally-sized parts IIRC?). i.e you do not have individual cell monitoring for temp or voltage? This is of course problematic when cells become imbalanced as you'd just like to charge the not-full ones whilst not heating the others with further charging. At least this method is possible with NiCd/MiMH charging (unlike lithium), but I reckon you really want individual cell temp monitoring for full failsafe charging.
BTW the power-in/power-out measurement scheme is called 'coulomb counting' in battery-charging circles (and it's famously unreliable, because even small errors tend to accumulate as you repeatedly charge/discharge). Nevertheless, with reasonable accuracy levels and some way of resetting 'full' from time to time, you can say whether a battery is 25%/50%/75% discharged which can be useful info. This is useful given the rather flat discharge curve of Nimh cells, and the problems of using the voltage across many cells to determine overall battery state. Here individual cell voltage measurement is very helpful.
That's probably enough general-purpose wittering from me - I think you know all this, and it doesn't help much for trying to work within the existing wiring and software constraints, which is the focus here.
Very impressive!! Thats quite alot of information to derive from only the hex code. Did your characterization of the Vectrix engineers also come from the hex code?
Very impressive!! Thats quite alot of information to derive from only the hex code. Did your characterization of the Vectrix engineers also come from the hex code?
Yes, I think it needs to be remembered that the Vectrix engineers were being told to cut corners at several points along the way. Do it or loose your job sort of stuff. Particularly the battery management system could have been a lot better, but was practically omitted due to cost cutting. A much better system was initially planned.
I do imagine that the engineers were told to increase the range by overcharging and over-discharging the batteries on each cycle. And to recharge faster than what is good for the battery. All without regard for longevity of the battery - as long as it sells NOW!
If (or not) the engineers willingly agreed to have a black (and not heat-insulated) cover over the battery completely escapes my knowledge. I assume this was the brain child of a fashion designer - and thoroughly idiotic! A certain way to kill the batteries in Summer.
And lets not forget the elephant in the room: The batteries could be of poor quality altogether!
I was told by an ex-Vectrix engineer that they never even received ONE good battery for testing and development purposes. What I think s/he meant was they never got a complete 102s pack that did not have at least one under-performing cell in it. Packs like this should be matched and that brings the price up and requires high quality standards in the first place. The batteries might just not be of sufficiently high standards. It could also mean that the Vectrix Corp. did not have the organisational skill or resources to supply a good battery to the engineers - but I think what s/he meant was that the batteries were just not good enough.
I would assume that all and any engineers were bound and gagged by similar contracts to the ones that the dealers had to sign, which could make it difficult to give due credit for their work and help.
to bring it back to topic: I did some research not for the 30AH version of the GP batteries, but for the 78 AH version.
Mainly I researched for the possibility and danger of parellel charging two modules with several cells. Two of the sorces
[Akku types] and [Tech. specs NiMH from GP] did warn not to charge this chemistry parallel AND they warned not
to charge below 0°C/32°F. In this case there is a danger for fast and heavy preasure-rise in the cell opening the vent and
weakning the battery.
Amazing info, thanks The Laird!
My bike has just over 2600 miles and I have been experiencing battery issues for some time. I spoke with Matt Hair back in November, a tech at V and very nice guy, and he thought it was due to not riding the bike regularly and the self discharge. The bike sits during the week and I ride it on the weekends. I find it frustrating that the bike cannot deal with sitting for a week or two and cannot seem to be able to adjust. I have been around EVs for years and I find the charging parameters you described to be idiotic. I always wondered why they used these charging algorithms when it obviously caused heating of the battery. Why not charge it slower at the end?
Matt said when he was down this way he would take a look at my bike and run some diagnostics to check the battery status. Unfortunately its been 2 months and I have not heard from him.
I don't know that my battery is damaged beyond hope but I believe at a minimum it is seriously out of balance as I get the red light regularly now even on short rides ( 10 - 20 miles of conservative riding) I have been looking for a way to "gently" and non destructively balance the pack. I would like to try your charging hex but I live in Houston and we have extended periods of 3 - 4 months where the ambient temp never drops below 25C - 77F. I am also running one of the newer firmwares.
From what you said if you could keep the batteries more balanced through a lower final charge rate at the last 1/3 of the charge that does not heat the batteries then it would be easier to charge them reliablely at 11 amps through the first 2/3 or 70% soc( the point where it seems heating becomes more pronounced). I am not an engineer so I rely on those of you that are. One thing you did not mention is whether the higher rate 11 amps versus your lower rate of 6 - 8 would cause greater cell differentials due to varying internal resistance of the batteries, whether due to age, damage, construction etc. Is the added 3 - 6 amps enough to cause differing resistance and cell temp variations? Of course the universal constant for charging batteries is slower is better. But I live in a rural area and town is 10 miles so I constantly take advantage of opportunity charging when I am out so the higher 11 amp rate during a lower SOC is very attractive to me.
But it's no good to you if the battery is dead so a healthy battery is ultimately whats important! I would take an 8 hr charge time if the batteries stayed healthy with a good usable capacity for 5+ years of fun.
Thanks for all the valuable data!
I don't know if this is a dumb question, but I'll ask it anyway. I have a time clock that can have multiple times in a 24 hour period. Would it help if charging was done in, say, 15 min increments with an hour or so rest in between? I'm not sure what happens if the V is turned off during the charge cycle and then turned on again.
You are bringing more hope to our old vx1 than the vectrix brand.
Go the Laird Go!
It does seem that the whole problem is that the charger is being used as a sort of makeshift BMS. Wouldn't the solution be to instal a BMS and let the charger go back to being a charger?
Perhaps completely replacing the V charger with another good quality one?
I am definitely interested in modifying the charging process to lengthen the life of the battery. I don't have a canbus adaptor or a PC laptop, but my son is a computer programmer -- I'm sure I could show him the hex code and ask him to make the changes for me.
I look forward to having a healthier EV, thanks for your work and for sharing with us.
Wouldn't the solution be to instal a BMS and let the charger go back to being a charger?
certainly, Gasdive, you're right. Any multicell battery needs BMS. That's the solution... but that's the real problem: Where can we buy a NIMH BMS? I've never spoted one single device in the WWW market...
i really want to thank you for all the good work that you are doing. I've been closely following this thread and others similar and I beleive it can only improve our units and make the the batteries last longer.
I for one would be interested in trying your new software - bearing in mind in the South of France in summer we have maximum temperature of about 35 degrees C. In the winter it gets down to about 10 degrees C during the day - colder at night although this year it has been much colder - happily now it has warmed up a bit.
I'm curious to know if you have had any contact from Vectrix commenting/helping you with your work.
I'm sure I'm not alone in thanking you for what you are doing.
All the best
Thanks for the response and the update Laird.
I would like to give this a try when you are ready. It is currently winter here so temps are in the 10C - 20C range and I could work with that for several months.
What would I need in order to revert my V to the older firmwares compatible with your mod? I have a laptop and it sounds like I need an adapter?
It would be comical if it were not so serious that the tech from V told me to deliberately run the bike down to the red light, recharge and run down again. And that running it down regularly is an important step in keeping the battery healthy and it sync. I know they are trying to help but it sounds as if they are totally unaware of the effect their charging algorithms are having on the battery health. :(
Just one silly question.
The software is the 2012 version charger software with the MC1014 motor controller software.
This software combination does not have the 'left brake/kill switch' facility . Nor does it have the 'pre charge cooling delays'
The cut off battery voltage is at a lower level than in the later software. There is a potential to damage the battery
If you modify the 300x version of the charger:
1- you'll have the 'left brake/kill switch' facility
2- you'll have the 'pre charge cooling delays'
3- will work with latest hex file of motorcontroller - higher voltage cutoff. No need to modify it.
is it possible?
Once again very thorough info Laird.
When discussing equalizing are you thinking a specific equalization charge to "whip" the batteries into shape or equalization slowly over a number of cycles? My understanding of NiMH batteries is when charged at a higher rate once they reach there full capacity they heat up quickly, and hence the damage, However I have read( on smaller NiMH ) that they can be charged at a low rate, C/10, for a long period without damage. It seems that C/10 still generates significant heat with the V. If you are currently charging at 1 - 1.5 is that what you are thinking of using?.
Once again ideally and from a practical standpoint if you could get 80% charge as quickly as is safe, then the last 20% could take another 4 - 6 hours without a problem. We are not trying to create marketing hype so an 8 hr charge time to 100% either during the work day or at night would work for most. And opportunity charging to 80% safely without heating would make the bike and entirely different ride.
What about the calibration charge the V does after 12(?) hrs of use. Is that implemented in the firmware you are using. If so can the final stage be adjusted down to 1 - 1.5 amps?
Where can I get an appropriate canbus adapter?
...Where can I get an appropriate canbus adapter...
Hi Todd, many people use the Peak CAN Adapter available optoisolated for more safety but more expensive or normal. Mine is optoisolated
but works sometimes instable which is maybe an effect of the USB 1.0 of my old Laptop? Definitely problems occure when I used an USB-extensioncord, so I plug adapter and laptop directly now. My adapter did come with a violet CAN-conectionwire too, but I don´t know if it is needed or if the adapter can be directly used with the scooter (I use the violet wire).