Botvac with LiFePo4 mod

News and information about the Neato XV-11 Robotic Vacuum. All discussion and troubleshooting questions go here.

Botvac with LiFePo4 mod

Postby carrierlost » February 29th, 2016, 5:22 pm

My beloved Botvac batteries went bad after about 1.5 years. So after looking around for replacement Lithium based battery I found none. So I decided to make my own. Here is the story of how I made it.

Disclaimer: I'm not a professional electronics specialist, it's more of a hobby of mine for past couple of years. So it's probable that I've made some errors and this could in extreme mean that your house could burn down or someone could be electrecuted or die. In any case dont blame me if you try to replicate my experiments and something goes wrong.



Part I - Battery selection

Existing NIMH pack
As I really didnt want to change anything more than necessary with original charging circuitry I firstly looked at the old pack to see what kind of broad specs I would need to meet so hopefully I could charge my new pack with unmodified charging circuit.
Unlike XV, Botvac has a single 10-element Sub-C sized battery compartment for NiMH cells of 3600mAh nominal capacity each. NIMH is usually considered fully charged at 1.4-1.45V resting voltage. Which usually drops down to 1.35V or so within hours. This means that the native charger probably charges the pack to 14-14.5V by increasing chaging voltage and detecting when the battery is full. Now we at least know the rough ballpark of how much voltage should our replacement pack produce in order to be compatible with Botvac.

What fits and which cells to use?
First task was to find out what sized lithium battery I could fit inside and how many. A quick fit test with salvageed 18650 that I had at hand from disassembled laptop battery was first on my list. I could just about fit 3 of them lengthwise and 3 stacked parallel to each other . The lid would almost close flat. That would mean max 9 batteries. I didn't have any 26650s at hand, but as their diameter is 26mm and Sub-C is 22.5, they would probably not fit. I didn't consider more exotic sizes, so 18650 it must be.

What about chemistry?
If you divide 14.5V by 9 (max batteries what could be fitted) you get 1,61. Thats too low for any mainstream lithium chemistry I knew. So ok, Maybe we can parallel some of the batteries. Of course 9 is an odd numbe, so 8 it must be (4S2P).
We get around 3.62V. 3.62V per cell is too low for the most common LiPo, but For LiFePo4 it would be workable as the fully charged voltage is around 3.6-3.65V. LiFePo4 it is. As a bonus with 8 cells we have some extra space in the battery bay we might need later.

Power and Energy considerations.
Ok, so we will have 8 cells. Will they actually perform well when used in Botvac? That means that they can deliver enough amps to power the Botvac? And do they store enough energy to finish the cleaning cycles?
Original NIMH pack should have about 10 x 3600mAh x 1.2V=43.2Wh worth of energy. So for LiFePo4 how large cells do we need? 43.2Wh/8/3.2V= 1687mAh in order to achieve similar energy storage levels (cleaning cycle lengths). As NIMH storage capability decays quite fast, Neato is probably allowing some extra storage so it does not have to be used up 100% each time. So we could get away with a smaller than 1687mAh LiFePo4 cells as well.
What about power/current delivery. Charger is specified at 2A, so at least that, but cleaning could take more. How much more? Well XV I've read draws up to 3A according to this forum. Assuming it's similar in case of Botvac the batteries should be able to provide 1.5A per cell (2 in parallel), which is under 1C.

So ideally we would need a 1700mAh LiFePo4 cell which at least 1C rating, better if more. After a bit of searching I found some 1700mAh made by a chinese company Lishen LR1865EH that were on aliexpress.
Of course aliexpress claimed 3C and manufacturer listed 1C, but 1C should be enough as well.

to be continued in Part II
Last edited by carrierlost on March 2nd, 2016, 11:30 am, edited 1 time in total.
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » February 29th, 2016, 5:59 pm

I investigated LiFePo4 for XV intensively in thread Lithium Ion Revisited, and built adapter circuits.
I presume you are familiar with the thermistor based charging system in place for the NiMh battery.
The brandless cells have over-stated capacity; the high quality ones go to 1100mah only, e.g. A123. The chemistry is less energy dense than lithium ion. Also the cells do not charge as fast as they discharge, and it appeared three parallel are needed to operate in the Neato 2 amp NiMh charger. You may not find this chemistry in cells sized to fit the Botvac.
I am not sure that lithium ion cells can be used in the lower 12v Botvac system, not dividing as well as the 15v XV system. The Botvac Connected with lithium battery has returned to the higher XV voltage.
Too bad as LiFePo4 can last ten times longer than any other type of cell. They should make the bots a little bigger to fit them.
The newer LiNMC lithium chemistry most popular has more safety than ordinary lithium ion and works good in panasonic cells to replace XV batteries, using Vorwerk charging settings in software. There is no way to adjust the Botvac software known. The lower voltage etc.
LithiumPowerInc/AnewPow/Boston Power had said they were developing a Botvac addition to their line of replacement lithium LiNMC batteries, but nothing has been delivered. I suspect the voltage problem makes it impossible.

[edit] Three parallell 1100mah LiFePo4 is 3300mah less than the 3600mah NiMh original Botvac battery. Less run time.

[edit] Forgot to mention other battery thread on AA cells http://www.robotreviews.com/chat/viewtopic.php?p=128788#p128788
Some common Sub-C NiMh cells were tested inadequate and it appears some high drain type is used in the Neato battery.
Also, if you have a special desire to put in LiFePo4 you could modify the large dust bin to create a space for some additional cells. It would be a very personal installation. Yet you might never need another battery. The price of the NiMh battery in qty 2 is now around $33 each including shipping, in the U.S. Saves shipping with quantity.
Another thing about LiFePo4 is you may find the cells expensive, recognizing their superior longevity.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 1st, 2016, 6:52 am

Part II charging and balancing for Botvac

Botvac and charge termination
Normal NIMH charging starts charging and pumps energy into cells until it detects end of charge. End of charge is detected by rising temperature of the cells of delta V drop. As investigated by fellow members in XV lithium thread XV series uses the temperature method. So I assumed that would be also the case on Botvac. To be sure I opened up my old battery pack and looked what it had. Battery connector of Botvac is different from XV, but the principle is the same:

pistik.jpg


Positive(red) T1(yellow) T2(yellow) Negative (black)

T1 and T2 are connected to a temperature probe (thermistor)
Positive and negative go to the opposite ends of battery pack. There is additional thermal safety switch of 130C that can interrupt this string if temperature over 130 degrees C.



As the temperature probe is still there temperature based end-of-charge detection is probably still valid. I measured the resistance of the probe and room temperature and it was 10-11K. When putting it against something warmer, resistance starts to drop. So far the same as XV.

Approach to end of charge
Now knowing that in order to terminate the charging we must lower this resistance across T1 and T2. Various solutions have been proposed in this forum and also on Russian-language ibxt that can be divided into 2 categories:

1. Attaching existing probe to something that will get hot when charging should be terminated
2. Simulating the voltage drop of thermistor through some circuitry.

As I did not want make it too complicated I chose option 1. What should the warm object be? In NIMH packs the cells themselves get hot. Lithium based cells don't (well at least when they still good). Here was again several options:

1. Detect the overall voltage of the pack and if over nominal dump energy to a resistor of transistor. Various solutions have been proposed in this forum and ixbt with LBA-1, TL431 etc.
2. Use some existing balancing circuit that already has bleeding resistors where the excess energy is dumped to from the individual cells (or paralleled cells in our case ) in pack. Dumping is triggered when specific cells go over their normal voltage during charging. As energy is dumped resistors will heat up.

Both approaches have advantages. If we detect only overall voltage we cant cater for situation where some individual cell have reached overcharge, but due to some other cells having lower voltage the overall voltage is still below critical mark. If that cell will be overcharged it will probably die at some point.

If we use option 2 the and terminate charging as one of balancing resistor heats up balancing time will be limited, because charging will be terminated once resistor is hot. Will the other cells "catch up" before charging is terminated needs testing and fine-tuning.

I decided to start with just with balancing circuit and investigate if any additional circuitry is necessary.

Selecting balancing boards
As I didnt want to start from scratch I combed ebay/aliexpress for various balancing circuits. My criteria were simple:

1. Must be for LiFePo4 voltages. Unlike LiPO LiFePo4 cell is charged at 3.6V not 4.2V
2. Must be for 4S (4 cells in series)
3. Must not disconnect battery when over-voltage is detected, but bleed them through resistors.
4. Must fit into a empty space for 18650 (empty ninth battery slot)

After some searching I came up with this
balancer.jpg


Checked all the marks. But how would I attach a thermistor so that it would make contact with all four bleeding resistors? And the resistors having 62ohms each would only bleed I=U/R=3.6/62=58mA. Will they heat up and terminate the charge before Botvacs circuits blows the cells up? The charger can pump up to 2A into the battery as indicated by the label on Botvac so that bleeding current is tiny. Well perhaps Botvac will only charge 2A at start of the cycle (lower battery voltages) and then top up at 400mA as in XV? At least LiFePo4 is not as sensitive to overcharge as LiPo and has been shown to tolerate voltages up to 4.2V in some experiments. I ordered the balancing circuit and decided that I would indeed beef up the bleeding current by adding parallel resistors. When soldering through-hole resistors on top of the circuit board that would also create a "nest" between them where the thermistor would fit. Calculated that I would need 22R resistors to get the total bleeding current up to 200mA, so ordered those as well.

Story continues in part III
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 1st, 2016, 7:42 am

glnc222 wrote:I investigated LiFePo4 for XV intensively in thread Lithium Ion Revisited, and built adapter circuits.
I presume you are familiar with the thermistor based charging system in place for the NiMh battery.
The brandless cells have over-stated capacity; the high quality ones go to 1100mah only, e.g. A123. The chemistry is less energy dense than lithium ion. Also the cells do not charge as fast as they discharge, and it appeared three parallel are needed to operate in the Neato 2 amp NiMh charger. You may not find this chemistry in cells sized to fit the Botvac.


Yep, before I started I read the XV lithium thread here and some bits on ixbt. Indeed much valuable information has been posted by folks. Probably would of not started the project without this info.

Just to start off - my project is a already complete. Well at least for now. For me it works and I just thought someone may find it interesting. Of course there could be improvements in the future.

Abot cells - I cant ofcourse be certain that the cells I got are genuine Lishen, but Lishen indeed has those 1700mAh listed on their website and as I understand they are one of the biggest lithium based cells manufacturer in China with 500 million Ah worth of lithium-ion batteries sold each year.

glnc222 wrote: There is no way to adjust the Botvac software known. The lower voltage etc.

I wondered about if anyone has tried to modify that system voltage setting via software in Botvac, same way XV settings can be changed, but could not find any info. Has anyone actually tried it?

glnc222 wrote:LithiumPowerInc/AnewPow/Boston Power had said they were developing a Botvac addition to their line of replacement lithium LiNMC batteries, but nothing has been delivered. I suspect the voltage problem makes it impossible.

Nah, it works fine. For now at least. Maybe I should stop posting and sell my hack. :twisted:
Just kidding.


glnc222 wrote:Also, if you have a special desire to put in LiFePo4 you could modify the large dust bin to create a space for some additional cells. It would be a very personal installation. Yet you might never need another battery. The price of the NiMh battery in qty 2 is now around $33 each including shipping, in the U.S. Saves shipping with quantity.
Another thing about LiFePo4 is you may find the cells expensive, recognizing their superior longevity.


I will reveal the cost of the parts used in my build in my writeup at the end. You might be surprised. BTW, I'm not from US, but from Estonia.
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 1st, 2016, 2:44 pm

Did I miss a link to the Aliexpress listing for cells?
The proper cell is always the problem. Nice discovery.
You may need to run a few weeks to see if they hold up. Some can work for a while but are over loaded and wear quickly. I had made a cycling system for rapid wear testing but gave it to to another user, design in threads.
Last edited by glnc222 on March 1st, 2016, 5:11 pm, edited 1 time in total.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 1st, 2016, 2:59 pm

Part III Testing components and assembling the pack

My batteries arrives, all 8 of them, so did the balancer. First a quick test for size

suuruse proov.jpg


Plenty of room to spare, although as I later found out the lid would not close 100% flush.
Cells had spot on even voltage of 3,328 each when arriving, so didnt need equalizing.
Just in case I recorded their initial voltages and tagged them.

Assembly of the pack was simple due to the tabs already present on the batteries (they were covered with some tape in above picture). I basically paralleled up the bottom 3 pairs and then soldered them together.

One goal was also to connect up the balancer and the battery pack via a connector so I could change the balancing circuit if needed. I had some XH 2.0mm around, so each voltage point in battery chain got connected via wire to the female XH connector:

balanseerimisotsik.jpg


Top two cells were also paralleled up and a 130C thermal switch from old NIMH pack was put between the top pair and bottom cells.

ülemine paar.jpg


When soldering of was finished pack I tested it without the balancer using my bench supply at 2A to 3.6*4=14.4V. No significant differences were between cell voltages. Batteries didnt get warm at all during charge.


Next I tested the balancer. Each pair of the 4S was balancer were given voltages just below and above 3.6V to determine if the balancer would kick in if voltage reached treshold. All worked, slight differences were noted on the actual threshold voltage (some 3.59, some 3.60) but it didn't really matter. Once the threshold voltage was reached bleeding resistor kicked into action. Bleeding current was only about 60mA. Resistor nevertheless got quite warm and measured around 50C.

So them the other side of XH connector was soldered to the underside of the balancer by just spreading out the pins on the XH connector. Perhaps it would of been wise to use choose some bigger connector as it was a bit tricky reach all pads.

Connected the balancer and battery pack and gave it a low current charge (like 50mA) so I could see if balancer does it job. Yep all fine.

Next job was to solder the additional 22ohm resistors in parallel to the existing 62ohm resistors to increase the bleeding current. I was glad to see that balancer didn't blow up after the 22ohm resistor was connected to one of the four channels and said channel was stressed with 200mA current. So I proceeded with creating the nest for the thermistor from all four resistors and stuck a thermistor between them. Tested once more that resistors got adequate contact with resistors by triggering balancing current individually in each channel and monitoring the thermistor resistance.

After declaring all OK I wrapped some kapton around the balancer while the thermistor was stuck there.

patarei balanseerijaga.jpg


To be continued in part IV
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 1st, 2016, 5:16 pm

Last edited by glnc222 on March 1st, 2016, 5:46 pm, edited 1 time in total.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 1st, 2016, 5:32 pm

Balancing leak current is limited by capacity of the mosfet switches or other components on the balancer. No idea what over loading would do.
The charger runs at 2 amps until terminated by heating. A follow-on topping cycle is performed with a cooling delay at around 4ooma, which is the problem with some of these balancers. The lithium cells cannot be further charged and the entire current must be bypassed as heat. Older balancers which could do this were discontinued and replaced with integrated IC's for charging control. This is why a custom balancer was made by the user in Germany, for the XV.

Be careful testing as failures to terminate properly can cause the charging voltage to rise to a level which damaged an XV system board. NiMh dissipating heat keeps the voltage down, and the high resistance of the lithium and balancer will drive the constant-current charger high. No telling what the Botvac does, whether an error issued safely. A protection circuit was added to cut the dock connection in this case, and one user replaced the dock supply brick with a lower voltage bench supply.
There are no replacement system boards for Botvacs.

External NiMh chargers with thermistor control are available to test outside the Botvac.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 1st, 2016, 5:38 pm

Part IV Testing battery with Botvac also known as fun in PSU land

Charging adventures

After the pack was assembled and connected to Botvac I decided to see if it turns on. Without any charger connected I flipped the battery switch (under dust compartment cover) and happy days - LED and LCD lit up. But the little bugger was not happy - it refused to do anything without it having a go at charging the batteries himself. Botvac really does not care if you have charged your batteries or what voltage they were at. Unless it has actually completed the initial charging it wont let you do any cleaning at all. My battery was over 13.2V, that should of been plenty of juice for a quick test, but Botvac did not want any of that foreign energy. Thankfully I had read about similar behavior in the forums (I think it was about XV though) so I was kinda prepared.

No problem - so I will hook up my trusted bench power supply and let Botvac charge a little. XV power supply is a simple unit, so should be the Botvac so my bench supply should work right?
I set the bench to 18V indicated on the label as source voltage, set a conservative current limit and hooked it up by connecting to connectors on back on Botvac (positive on top negative on bottom). I just didn’t want to destroy anything by blasting with full voltage and amperage of the standard Botvac charger to the battery. I wanted to control things. I had read that some forum members have successfully capped the upper voltage Neato XV charges the battery by controlling the voltage sent by the dock to XV. So this was the kind of mod I wanted to do to add extra protection to the process.

So I hooked it up, but to my surprise Botvac drew very little current and then stopped taking any. Every once in a while it took another 50mA. Upping the current limit to 2A+ on bench supply didn’t change anything. So OK, maybe the label is wrong. I measured the standard dock - it showed about 19.5V. So OK I upped the voltage to 19.5V. Nothing. What? Have I blown something up inside Botvac? I fiddled with battery connectors, played with the switch trying to find what is wrong. Maybe a loose connection? At some point I saw about 400mA coming from my bench supply to the Botvac. Yess! Well it was too soon. Charging stopped after a while before it reached any meaningful full status and balancer never got a chanced to do anything. Hmm. After a few experiments I understood how to repeat this 400mA charging. Battery switch must be in off position, Botvac not connected to charger. Then connect Botvac to charger, and it will start to complain that you should turn the switch. Go ahead and turn it on without disconnecting from charger. Huh, at least its not completely broken. But not 2A charging and 400mA charging terminates probably on some timing event.

OK, so I collected some courage and connected the original dock to Botvac. After thinking a little it started to charge at 2A. I terminated the charge quickly. So does the dock detect the reflective surface and refuses to charge without finding it? So I opened up the dock. found the two wires inside. Snapped them from internal power supply and connected my bench supply. Repeated the experiment and ... Nothing. Botvac does not want to charge only the 400mA trick was possible. I was at a loss. Until I accidentally bumped the Botvac away from dock and noticed a strange thing. I didn’t want to back up to the dock. I was pretty sure that it did it normally when regular dock power supply was connected. So I reconnected the original dock power supply to the dock and repeated the experiment. Yes this time it indeed wanted to back up. But how was this possible and why?

Botvac could differentiate between my bench supply and original one. So OK maybe it somehow measures some parameter of the dock. I measured the voltage across Botvac charging contacts. It actually showed about 1V. Hmm so yes there is some magic. Hoping to discover the magic I opened up dock and took a closer look at the power supply inside. What I thought was a dumb supply was clearly not.

Can you spot the clues in this picture? Click on the picture to see a larger version.

PSU.jpg


The fog clears
First clue is - look at he white label on top of transformer. There is a little note on top. FW 0016. Firmware version? If you look more closely there is Microchip logoed chip directly above that. There it is a PIC microcontroller PIC12F617 to be precise. Why would you need a microcontroller in PSU? So I looked a little further and dug out mu oscilloscope, hooked it up to the power pins that go to Botvac and tried to find something. Indeed
there it was a signal from the alie... no the PSU.

signaal.jpg
signaal.jpg (10.67 KiB) Viewed 7107 times


The pulses switched between 12.5V and 18.5V. It didn't happen instantly when hooked up, it took some time before chatter started. After the 2A charge kicked in voltage lowered and there was again no chatter. What can be the function of the chatter? Identification of proper power supply a la ink cartridges on printers? Perhaps. Controlling the parameters of power spit out by PSU? Plausible. I looked at the various pulses and quickly came to a resolution that perhaps hacking the power supply is not on the agenda for me. At least not for now.

Real life tests

So after all that sideshow I hooked up measuring instruments to the connected it to original dock with original PSU held my hand on the power cord of the PSU while gazing at the voltmeter showing battery voltage and balance resistor temperature . Thankfully not spectacular happened. Upon crossing 14.4 resistor temperature rose and then at about 14.5V charging stopped. 14.5V is about 3.625V per cell, which perfectly fine as the Lishen are specced to 3.65, and even higher voltages wont actually kill LiFePo4 easily. As internal NIMH charger did not do full CC-CV charging battery did not get to 100% - the voltage dropped to perhaps around 13.5V (3.375V). Don’t remember exactly. Which is perfectly fine.

After having been charged Botvac it was happy to function normally. It cleaned the areas on Botvac did when NIMH battery was still fresh. After doing some rounds over and over it still complains that battery is low. When it has reached that point I've measured 13.05V (3.26V) on batteries, which means there should be still quite a lot of juice left in batteries. As indicated in other Neato posts there seems to be a max battery usage "feature" that restricts the energy it can use up from battery. At least that is my guess.

How many cycles will this battery last? The battery manufactures says something about 1000 full charge/discharge cycles. Considering we are not discharging/charging it fully it would mean even more cycles would be expected , but again we don’t know at what discharge/charge current these promises are made. Time will tell.

Still to come in next episode - where I bought stuff how much did it cost and other closing remarks
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 2nd, 2016, 12:15 am

Some mysteries mentioned have been explained previously with XV model battery experiments.

The vacuum communicates with the dock to insure the contact with the dock is good, because poor contact can heat up under the charging current and melt the rear case plastic. This was an early problem resulting in adding the wriggling behavior to better insure the dock connection. If the contact is poor the bot is prepared to pull off the dock on reserve power to protect the unit. The bot is fussy about docking with enough reserve to pull off if necessary, and sometimes oddly stops just in front of the dock as a result.

There is further safety protection for the large exposed charging plates compared to other designs, insuring the bot is what is connected instead of something accidental. The unit may have a three prong grounded power plug because of this, as well as the integrated Botvac charger board, while some other bots' chargers have only two prong wall plugs, like most laptops.

Finally the constant current charger requires an adjustable, software controlled buck voltage step down converter to charge the NiMh battery, where the charging voltage rises to maintain current as the battery fills. Part of this voltage regulator can be in the dock besides the bot system board. A signature inductor component is part of such circuits, and the dock circuit board design has changed over different XV models, with an inductor added to the dock.
The older XV models used a small half watt resistor, running hot, across the docking contacts to load the dock before it would deliver charging current. This resistor was eliminated in later models, and the older docks cannot charge the newer bots with the new contact management system, maybe also used on Botvac, perhaps with even newer refinements. A power management IC was included in the XV docks, so a microcontroller in the Botvac dock is not surprising.

Given a constant current voltage regulated charging circuit, it is not surprising additional limiting circuits added to the dock power supply could interfere. Yet such additions have been used for charging lithium batteries under the Vorwerk lithium battery setting, a different animal than the NiMh algorithm.

The Botvac always recharges, however briefly, anytime the battery is disconnected by the switch or plug, because the system must track the charge on the battery when running, to provide a reserve for returning to base.
([edit] The recalibration charging can be suppressed by using USB to set the "Fuel Gauge" to 100 per cent with the Neato Control Program or terminal emulator.)
The unloaded voltage on the battery read by the cpu is not a sufficient indicator of charge for this purpose, so a charging cycle is performed to calibrate the battery. This reserve also requires monitoring the battery capacity deterioration with age. The "New Battery" menu option is provided to reset this modeling when installing a new battery, because the system cannot test the battery to know it is new. Some capacity data is acquired during charging, insuring the battery is fully charged. With NimH batteries terminating the charge is complex because of the heating, with extra topping off cycles etc., so the battery voltage itself is not sufficient for control. Also the unloaded battery voltage read by the cpu when docked is insufficient and response to the full running load is needed to measure the battery. So the charging cycle is used to overcome some of these limitations. In addition the system monitors run time and battery voltage to detect deterioration in the battery capacity. The system has no separate load it can use to cycle the battery like a dedicated battery tester.

To avoid recalibrating the battery for disconnection, the LCD menu operation "Shut Down" is supplied which preserves the battery model data. Reactivating then will not require a recharge cycle.
Last edited by glnc222 on March 3rd, 2016, 1:53 am, edited 1 time in total.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 2nd, 2016, 2:23 am

The Lishen cells are specified at their website http://en.lishen.com.cn/comcontent_detail_product/&FrontComContent_list01-1370586587730CurrentIds=5__24&comContentId=24.html
I could not find them at AliExpress but similar 1700mah with tabs listed about $35 for eight, including postage.
A Botvac NiMh battery pack at similar price could last two years used every other day for a single charge run.
These alternative batteries have always been of interest to users with large spaces cleaned by multiple recharges for each run wearing out faster.

LiFePo4Lishen.jpg


The 3 amp load is the normal running load and the momentary load from drive wheels at obstacles and climbing could be 5 amps. in measurements made. Note the high drain 1100mah cell similar to A123 cells, requiring three parallel.
Not specified is the maximum charging rate, and I have found this spec on others did not match the requirements found in use. One reason the Botvac charger might not start as reported, if I follow the story correctly, is the cells not able to take the full charging 1 amp per cell and triggering high temperature in the balancer. The temperature reading over USB should be observed. The 1700mah cells appear on the borderline of accepting the 1 amp charging rate, at the practical 0.5C rate, so varied results could be obtained in tests. There might also be some voltage protection trigger in the constant current charging circuit on the system board, better than the XV.

Another factor found with lithium experiments is the NiMh charger works sometimes better when the batteries are substantially discharged to start with. Problems can appear with the recalibrating charges of already full cells, but only for lithium. The high internal bypass to heat of the NiMh cells seems to satisfy the Neato charging algorithm, while the limited bypass of the balancer is borderline. Once the battery is initially charged by the Neato cleaning runs usually deplete the charge to a level which allows the lithium to be charged. Problems can occur with the initial installation and testing.

The limited drain capacity of the 1700mah cells may allow the Botvac to operate for some time but there is some chance they might wear rapidly. It could take a couple dozen runs to discover this.

Very nice experimental work. You never know what might work in these things, so explorations of possibilities are always of interest.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 2nd, 2016, 7:38 am

Part V Observations, costs and parts

Charging behaviour
When left on the dock the battery gets periodic additional boost charges. I've monitored it for couple of days with multimeter on auto min/max detection and the top end voltage it has recorded is 14.55V (3.63V) which is fine. Also to note that time spent over 14.4V close to the top end voltage is really brief (maybe 5-10s?). As built in charger doesn't do CC-CV battery voltage drops to slowly to 13.35V (3,33V) when charger turns off. Lowest voltages registered automatically on dock have been around 13.2V (3.3V), but if might be in accurate due to bad multimeter probe contacts.
13.6V (3.4V) should be 96-99% charged according to this https://www.powerstream.com/lithium-phosphate-charge-voltage.htm
Between 13.2V(3.3V) and 13.6V(3.4V) is grey area where no definate state of charge can be pinpointed as the curve is too flat. It remains to be seen if the top-ups at 400mA will eventually drive the voltage over safe limits if Botvac is not used for a while, but so far they seem to be terminated in correct range with signal from thermistor and everything seems ok. After exhaustive cleaning cycle charging from state when it requests charging (12.85V) to where it thinks to back off from charging (14.4-14.5V) takes about 1h:20 min. Assuming that it was charging with 2A the whole time energy pumped back in was 2.8Ah. 2.8Ah fits nicely with theoretical 3.4Ah(2x1700mAh) that complete discharge could provide in ideal conditions once we take into account that:
1. The charging method does not get full charge level (CV phase is missing from charger)
2. The battery originally was not totally empty

Cleaning performance
What comes to running times it seems that Botvac is still adjusting itself to battery. Todays back to back test runs cleaned the same area in 43 and 41 minutes so total 84 or 1h24min. Yesterday it still wanted to quit sooner. At the end of second run it wanted to charge the battery. Battery voltage at that time was 12.85 (3.2V per cell) which corresponds to 3-8% remaining according to the above link. Yesterdays run was terminated at 13.05V (3.26V).
Tests were done on hard floors with combination brush.

[EDIT: tests were done when there was additional "filter" on top of normal filter made of 3-ply toilet paper.]

Safety
So far measurements on battery voltage have shown that bulk charge and the top-up charge terminate on balance resistor heat just fine. But in case something fails, the only backup is original 130C thermal switch attached to batteries. According to generic LiFePo4 literature it should withstand temperatures up to 150C, but of course there could be difference between internal and external (where thermal switch is located) temperatures. To be on the safe side maybe it warranties an independent shut-down mechanism for charging safety if something breaks with main logic as glnc222 has suggested.

My original plan of just lowering the voltage fed by dock by replacing the power supply is not feasible as it would involve emulating the digital protocol between dock charger and Botvac. If someone is familiar with PIC micros and has a Botvac can check whether the code inside PIC micro on PSU is protected or not. If not it would be possible to modify the existing code without the hassle of reverse engineering the whole protocol.

But simplest way to add additional safety is to add a protection circuit. Something similar to this one http://www.ebay.com/itm/LiFe-Battery-Li ... 33a4e3b6e3
that would cut the battery if for whatever reason the primary end-of-charge detection fails. I've not specifically tested this one, but the principle is simple, if over charged or over discharged or over-current conditions occur the circuit should intervene and cut the battery from charger. At least the battery would be safe then.


Bill of materials

Stuff bought for the current project. Prices shown are as they were when I bought stuff, shop around you could find better deals.

Batteries 8x Lishen LR1865EH 1700mAh 1C (1.7A) with tabs rated 1000 80% cycles $33.26
lanbo LIU's store @ aliexpress http://www.aliexpress.com/item/8pcs-lot ... 60286.html

Battery Balance Charger Plug set for 4S - was bought for another project some time ago maybe $1.50 for 10pcs so $0.15

Balancer Battery Balance Charging PCB Board for 4 Pack DC3.6V LiFePO4 Cell Lithium 18650 $2.85
skull_music @ebay http://www.ebay.com/itm/Battery-Balance ... Sw4SlV8SPI

Resistors 4x 22ohm 2W @local shop €0.10 each $0.50

Total: $36.76
Last edited by carrierlost on March 2nd, 2016, 10:52 am, edited 1 time in total.
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 2nd, 2016, 10:11 am

glnc222 wrote:I could not find them at AliExpress but similar 1700mah with tabs listed about $35 for eight, including postage.

I've now posted the links to my purchased items in Part V

glnc222 wrote:One reason the Botvac charger might not start as reported, if I follow the story correctly, is the cells not able to take the full charging 1 amp per cell and triggering high temperature in the balancer. The temperature reading over USB should be observed. The 1700mah cells appear on the borderline of accepting the 1 amp charging rate, at the practical 0.5C rate, so varied results could be obtained in tests. There might also be some voltage protection trigger in the constant current charging circuit on the system board, better than the XV.


1700mAh cells charge fine with the standard dock charger including 2A(1A per cell) mode. I've measured the temperature of the bypass resistors with a thermal camera. They only heat up at the end of the charging cycle as they are supposed to. So the batteries are good for accepting 2A. Issue is just that due to some proprietary protocol engineered into communications between dock and Botvac thrid party power supplies are rejected by Botvac.

glnc222 wrote:Another factor found with lithium experiments is the NiMh charger works sometimes better when the batteries are substantially discharged to start with. Problems can appear with the recalibrating charges of already full cells, but only for lithium. The high internal bypass to heat of the NiMh cells seems to satisfy the Neato charging algorithm, while the limited bypass of the balancer is borderline. Once the battery is initially charged by the Neato cleaning runs usually deplete the charge to a level which allows the lithium to be charged. Problems can occur with the initial installation and testing.


Might be the case, but cannot really say, lukily Botvac accepted my batteries after I figured out that I really need to use the standard dock PSU. My batteries were half full at the time.


glnc222 wrote:The limited drain capacity of the 1700mah cells may allow the Botvac to operate for some time but there is some chance they might wear rapidly. It could take a couple dozen runs to discover this.

Will report if this happens. So far it Botvac has increased allowed runtime which each cleaning. Probably getting used to the batteries.

glnc222 wrote:Very nice experimental work. You never know what might work in these things, so explorations of possibilities are always of interest.

Thanks! Standing on the shoulders of giants.
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 2nd, 2016, 3:00 pm

Balancer: the ebay dealer says does not ship to U.S., but the part is on AliExpress posted above for U.S.
http://www.aliexpress.com/item/4S-3-6v-lifepo4-balancer-board-lifepo4-balncing-full-charge-battery-balance-board-with-free-shipping/32377494061.html?ws_ab_test=searchweb201556_9,searchweb201644_2_505_506_503_504_10020_502_10014_10001_10002_10017_10010_10005_10006_10011_10003_10021_10004_10022_10009_10008_10018_10019,searchweb201560_8,searchweb1451318400_-1,searchweb1451318411_-1&btsid=febe0541-8ef7-4f63-82cd-bdb7a1f48772

The inability to use a separate power supply in Botvac, compared to XV, may be due to the way the Botvac dock integrates the switching power supply with the dock electronics, compared to the separate standard power brick on the XV dock. We do not know, but the integrated design could allow dynamic control of the power supply buck converter to replace a separate adjustable converter for constant current charging. The dock plate voltage can be observed and logged over time using the USB connection and the Neato Control Program, if you want to investigate.

The temperature read by the thermistors can similarly be read and logged with the Neato Control Program.

The Vorwerk lithium charging algorithm skips the second, constant voltage phase of CC-CV lithium charging.
The extra charge added in the CV phase is small for the cells used and especially for the LiFePo4, which charges to 90 per cent of full capacity in the constant current phase.

The LiFePo4 is described as more self-balancing than the other lithium types so the balancer here is used just to interface to the thermistors. The Neato thermistors are identified in the Lithium Ion Revisited thread and the complete table of resistance vs temperature is there.

You could wire the ammeter into the battery and observe the actual cell charging current during the separate 0.4 amp topping off and refresh charging cycles. According to Neato Robotics, this cycle is timed instead of based on temperature used in the main high current charging, a described in references on the web for standard NiMh charging methods. Perhaps the meter can remember peak current levels as well as on the voltage scale. I used an inexpensive PIC data logger PC accessory from Malaysia on ebay. Arduino's can also be programmed to do similar jobs.

The LiFePo4 is fire safe compared to the lithium ion cells so that protection circuits serve only to protect the cells from damage, and there is no fire hazard famous on the others. They will get very hot only when shorted out and run at very high discharge currents, which is still lower on the 1700mah cells than the higher drain versions. (When soldering packs and disassembling packs it is helpful to tape over terminals not being worked. Disconnected wires can get into contact with the wrong places easily.)

When lithium cells are used without a balancer or other adapter for thermistor control, Neato's have been observed issuing a charging failure error message, as the constant current cannot be supplied. This may be due to disconnection by protection boards used with the cells, but not sure those were always used. For unknown reasons on an XV board there was system board damage from adapter failure, but those system boards are also known for poor quality control of components. No battery protection board was used in this case. The lower operating voltages of the Botvac board might make it more robust. The standard protection boards disconnect the battery cells, but in the lithium thread I made one which disconnects the dock from the Neato, as the Neato seemed to need more protection than the battery, and it was simpler. Presumably the charger terminates immediately on battery disconnection so the same thing anyway.

There might exist some balancing boards for LiFePo4 with integrated over-under voltage protection. Over discharge, under-voltage, is a main source of cell damage and important use of protections. Connecting uncontrolled loads for excessive times is all that is needed to over-discharge, compared to defects in controlled devices and chargers. With Neato's internal controls less relevant here.

The Neato may run longer with the lithium cells because of the flatter voltage discharge curves of the lithium cells, when the Neato has some model of the battery in the power management software. The lithium may run with a smaller unused margin protection against deep discharge reducing battery life. The Neato preserves about thirty per cent of the NiMh cells as standard for long life of the batteries.

Is there a photo of the battery compartment cover bulge with the pack installed? It is possible to make alternative covers, even out of cardboard when needed. The cover does not have to fit perfectly except for the fittings used on the supplied plastic cover. There is clearance under the Botvac for some protrusion.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 2nd, 2016, 4:28 pm

glnc222 wrote:Is there a photo of the battery compartment cover bulge with the pack installed? It is possible to make alternative covers, even out of cardboard when needed. The cover does not have to fit perfectly except for the fittings used on the supplied plastic cover. There is clearance under the Botvac for some protrusion.


This is how it looks. Maybe if would have patience to fiddle with how the pack is assembled it could be made to fit, as it sits I'm not too bothered.
2016-03-02 22.20.44 (Copy).jpg
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 2nd, 2016, 5:54 pm

Application to XV Models

If the current capacity works for the Botvac, a five series of the same cell parallel pairs should work for the XV. The balancer for four cells could just be put before the last pair in series, as balancing as such is not the issue, just heat for thermistor controlled charging. My experiment just had not very good cells, or the wrong capacity (1100 vs 1700).
The 1700mah cells may be new last couple years. We might have seen after market commercial versions otherwise.

This could be a little cheaper than the other lithium ion alternatives for the XV and also is a fire safe type of cell.

Given the longer life this is the type of cell Neato Robotics should include in their products. It used to be a lot more expensive though (especially with three parallel, so many cells).

[edit] Note on the XV only the high voltage side compartment thermistor controls charging termination. The other side is only for fire emergency high temp shut down.
Last edited by glnc222 on March 3rd, 2016, 8:43 pm, edited 1 time in total.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 2nd, 2016, 10:47 pm

Balancer With Protection

Ebay http://www.ebay.com/itm/BMS-Protection-Board-w-Balance-for-1-4-3-2V-LiFePo4-Li-Cell-phosphate-Battery-/331716840584?hash=item4d3bdd4c88:g:BoQAAOSwnipWVOPB
Not found on AliExpress.

The listing says 1-4 cells 240ma leakage current, that is 1-to-4 cells. Would that already be enough without adding parallel resistors? I get 221ma on the modified balancer based on 22||62 ohms = 16 ohms, 58ma x 62/16 = 221ma.
Meter measurements of the currents actually reached in operation would render everything more certain.
I am not sure what bypass currents existed in the original German balancers for the XV packs. More precision would be advised.

XV Application
Over-voltage protection. Full specs not given, language problem. Best contact supplier. Seems to imply these balancers can be used without all four cells. That would imply a five series for XV Neato could be made with two boards, one for two cells and one for three cells, using these four-cell boards. I am not familiar with the design.
Maybe it has under voltage protection, would have to check. [edit] Missing on balancers intended for use in the charger, outside the pack. No discharge involved.
Maybe the other four cell balancer can also be used with fewer cells. Needs an engineer.

Polyfuse
The original packs contain a resettable polyfuse for protection against short circuit faults in the Neato (or in case connected to who-knows-what, i.e. just because the pack is supplied as a separate component).
These can be reused in DIY packs and permanent fast blow fuses used instead. A more compact holder can be fashioned out of heat shrink tubing, or with PCB clip type holders. A protection board should render unnecessary. They can be used when there is no protection board.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby glnc222 » March 3rd, 2016, 1:45 am

Suppressing Initial, Recalibration Charging

Over USB with the Neato Control Program or terminal emulator, the "Fuel Gauge" per cent full can be manually set to 100, and prevent the recalibration charging cycle when reconnecting a full battery that was disconnected or first installed.
glnc222
Robot Master
 
Posts: 4613
Joined: January 23rd, 2012, 9:19 pm
Location: North Carolina, U.S.

Re: Botvac with LiFePo4 mod

Postby humanoid » March 3rd, 2016, 4:59 am

I never understood why you guys are so obsessed with lithium. The NiMh batteries work great and there are good aftermarket alternatives.
On my RC planes, lipo all the way and the best possible. It makes a big difference there. But Neato stays on the ground and NiMh batteries have enough discharge power for it to run. Even RC cars are fine with NiMh, except at the highest end of the spectrum.
humanoid
Robot Groupie
 
Posts: 91
Joined: January 2nd, 2016, 7:19 pm

Re: Botvac with LiFePo4 mod

Postby carrierlost » March 3rd, 2016, 9:49 am

glnc222 wrote:Application to XV Models

If the current capacity works for the Botvac, a five series of the same cell parallel pairs should work for the XV. The balancer for four cells could just be put before the last pair in series, as balancing as such is not the issue, just heat for thermistor controlled charging. My experiment just had not very good cells, or the wrong capacity (1100 vs 1700).
The 1700mah cells may be new last couple years. We might have seen after market commercial versions otherwise.


Alternatively you could you just a balancer for larger packs (6s, 8s etc). Usually they dont mind if you don't use all of the chains. Needs a little bit of searching to find the right board.
carrierlost
 
Posts: 16
Joined: April 29th, 2014, 2:27 am
Location: Estonia

Next

Return to Neato Robotics

Who is online

Users browsing this forum: Franzl, vic7767 and 449 guests