Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Cordless vacuum cleaner problem

Status
Not open for further replies.

Buk

Active Member
I have a Bosch BCH625KTGB vacuum cleaner on which the retained charge has deteriorated to the point of no longer being useful. A Bosch replacement 'Accumulator module' sells for a higher figure £192 than a new (discounted) complete cleaner £169.00, so I opted to replace the cells.

Purchased the cells; disassembled the unit, disconnected (cut) the battery from the logic board; removed the existing cells and replaced them with new ones.
The battery voltage is 25.2V, and the voltages at the BMS connector all step up in 4.2V steps. All exactly as it should be.

Reinstalled the board and made all the connections except battery +ve; checked everything and then touched the positive to its connection point on the board. The motor roared into life.

Problem: the switch was in the off position!

No smoke. No physical signs that anything is wrong. The logic board is simply sending power to the motor when the switch is off. Even when when the connector to the switch is entirely disconnected. Everything smacks of a very confused microcontroller.

The logic board contains two parts.

1) the BMS for charging.
2) a microprocessor (MEGA328P) for controlling the 3 'power' levels -- motor speed -- and sensing a 'bag full' condition via a pressure sensor.

I found reference -- only after I had a problem -- to someone suggesting in a comment to a youtube video, that the eeprom might be vulnerable (in some unspecified way) to disconnection:
I successfully replaced the batteries in my unit. It is very important to read the previous comments. My unit was working OK, so as a precaution I decided to save the content of the EEPROM before disconnecting the cells. Some things to add: It looks the microcontroller is running at 3.3V which is cut off after like 10 seconds after switching off the cleaner. When using my adapter I provided externally this 3.3V to the power rail (TP 2 pad). It looks it causes no damage to it. I used MPLAB X to download the EEPROM and saved it as a text file. Fortunately I did not need it. I disconnected the black negative terminal first, then the wide battery connector and finally the red positive terminal. After spot welding the new cells I reconnected them in the reverse order.

So, what are my chances of recovering the unit? Given I don't have any test equipement beyond a multimeter and there are no service manuals available as far as I can tell from my searching.

Here's a photo of the board:
1639353496449.png


The large chip in the middle is a TI BQ77PL900 5-10 cell Li-ion Battery protection & AFE.
The smaller square chip bottom middle is a MEGA328P µCPU.
Both chips have I2C interfaces and (I assume) the 4 pin plug between them is for that.
The big white thing with the tubes is the pressure sensor.

The battery power comes in via the thick blue cable soldered to B- bottom left; and the cable protected by the heat shrink sleeve top left that should be connected to B+
Power to the motor leaves via the white connector top right.

The 3 white and a red cable left connect to the 3 position power switch in the handle.
The black&red wires coming from a connector just above them, and behind the board are the input from the 30V/500mA half-wave rectifying wall wart.

It appears that both the BMS chip and the µCPU have embedded eeproms. Its not clear which one the youtube comment was referring to.
 
Last edited:
I can't think of a way to save either EEPROM.
I have downloaded an .eep that I believe is taken from the eeprom on a good board.

However, I'm not at all certain that the eeprom is the problem. That's just the only thing I've read that seems to be a possibility.

What I'm really looking for is some way to determine if it is?

From what I (just) read, it seems it is possibe to both read write the eeprom(s) via the I2C interface. If so, I need to know what is required -- hardware and software -- to make that connection?

I'm reading a lot, but most of the stuff I'm finding is directed at arduino/rasberry pi and similar systems.
 
Try disconnecting the battery positive and negative. Let it sit for a while (or hold any control buttons in, to discharge things) then re-connect POSITIVE first, as in the article you quote.

No guarantees, but it's a definite change from the other guy's method.
 
No guarantees, but it's a definite change from the other guy's method.
Thanks. I had also noticed the discrepancy. But I could (and can) not make sense of the sequence he advocates.

The only sequence that makes sense to me is the one in this quote from proprietary board user manual:
Note:Connection sequence is important. TinyBMS is supplied from B- and B+ solder-pads andincorrect connection can lead to permanentdamage of the board. Main rule is to avoidbalancing wire connection without B- and B+being connected. When disconnecting from battery, disconnect balancing wires first, only then followed by B+ and B- solder-pads

None the less, I tried his sequence. In fact I tried all 6 sequences, to no avail. I guess the damage is already done.

Something is definitely broken. Even with both B- & B+ disconnected; if the balance wire plug is plugged in, full pack voltage appears on the motor connector.

Having read the BMS chip manual, it appears to me that the microprocessor is not talking to the BMS. I that situation, the BMS chip runs in standalone mode. IN this mode, if the pack voltages are in range and balanced, then the BMS chip turns the output on; it is up to whatever is down stream of that (eg. on/off switch) to decide whether that gets supplied to the load or not.

So now the question is whether the µCPU/eeprom is recoverable; and what I need to connect to I2C in order to find out.

There are a plethora of programs available to talk I2C; the bit I am unsure about is what hardware -- USB adapter? -- I need to make the physical connection?

(I also suspect that the uCPU/software had 'gone bad' before I took things apart, because I've now charged, dpeleted and re-charged 5 of the 7 cells I took out and the appear to be fine.

Fine, as in I'm seeing something like 88-91% charge availability; which seems way to soon for them to need changing!
 
It does sounds like something other than the batteries.

Are the power MOSFETs that do the motor switching OK?
 
Are the power MOSFETs that do the motor switching OK?
They appear to be, in as much as, the motor runs if connected. That's the problem, I cannot stop it :)

There are 3 mosfets on the board. 2 IRFS3306 which I assume from their proximity to the motor plug, drive the motor. (They're in those weird packages where the drain is an unconnected stub. Dunno what that's all about, but it'll have to wait for another day.)

There's also an LR9343, which probably drives the brush motor.

Is there anything I can do to check them in situ with a MM?
 
They appear to be, in as much as, the motor runs if connected. That's the problem, I cannot stop it :)

You're rather missing the point - if the MOSFET's have failed it would almost certainly be that they have gone S/C, causing the motor to run all the time.

If you haven't checked the MOSFET's then you're wasting your time, it's VERY, VERY unlikely to be a micro-controller (these rarely fail), whereas power MOSFET's are an EXTREMELY common failure.
 
2 IRFS3306 which I assume from their proximity to the motor plug, drive the motor.
Have you tried just checking across them with a meter? If they are shorted, that should show as low resistance.
 
You're rather missing the point - if the MOSFET's have failed it would almost certainly be that they have gone S/C, causing the motor to run all the time.

If you haven't checked the MOSFET's then you're wasting your time, it's VERY, VERY unlikely to be a micro-controller (these rarely fail), whereas power MOSFET's are an EXTREMELY common failure.

Yet another example of a moderator overstepping his power. :eek:
:troll: :woot: :D
 
Not yet, but as a fanboy you should have more faith.
He's a patient guy and admin's attentions will wane soon enough.

Doing repairs is mostly a question of experience, and common sense - it's quite simple, parts that fail are almost always those under the most stress. So PSU's and output devices are common failures, micros are essentially under no stress at all, so only VERY rarely do they fail.

Pretty well the only common micro failure I've ever come across was on a particular series of Sony CRT TV's.

There were 4:3 models, and 16:9 models, both using the identical PCB but only the 16:9 killed the micro. The actual failure mode was the LOPT transistor going S/C (again an output device under stress) - but if you replaced the transistor it blew again immediately upon switching on, and you heard a 'crack' from the LOPTX.

So replacing the transformer and the transistor cured the 4:3 models, but in about 60% of cases with 16:9 sets the (large SM) micro was dead as well.

So it wasn't a matter of the micro failing but been killed by 28KV sparks flying around.

As for your personal attacks and comments about me, I'm giving you this one and only public warning - ONE more such comment will result in your permanent banning, I have better things to do than listen to your rubbish - if you don't like it here, go somewhere else!!.
 
Would you agree that IRFS3607 are a suitable replacement?
If it's blown a pair of 160A devices, ones with half the rating don't seem a good idea to me....

There is a place on ebay selling the 3306; possibly worth a try, at the price?

Or Farnell have some in stock that are pretty close to the originals:
 
If it's blown a pair of 160A devices, ones with half the rating don't seem a good idea to me....
Okay, but if I really believe that 160A capacity is required in service, then I can double up the 3607's. Correct? (But I don't think it should be necessary.)

The math goes like this. 7x2200mAh 15.5Ah total. Advertised maximum runtime for this model was 60 minutes; but as level 3 (turbo mode) was the only level truly effective on carpets, I did my own test (back in 2016 when I brought it) and can atest that it ran for 27'43" from fully charged to cut-off. (And another 5 or 6 minutes after waiting for 10; but that's irrelevant here :) )

For me, that's proof that in normal use it draws no more than 30A. 80A seems more than enough overhead.

So what blew the 160A. My stupidity in following a youtube video slavishly instead of thinking things through myself first. It seems very obvious to me now that the correct reconnection sequence should be:

1) B- 2)B+ 3) BMS
4) The power connector to the motor. Only after checking that the switch serves to control the supply of power to that connector; and its off!

BTW. What purpose does wrapping the load (motor) cables around a ferrite core serve? Just RF suppression or something more subtle?

The core is bare ferrite18mmOD x 10mmID by 20mm long. Is that physical size of core mathematically determined, or just convenient because it fits snugly into one of the unused 18650 slots?
 
Last edited:
The ferrite is likely for "EMI Compatibility" - interference suppression, in other words.

Re. the FETs, remember that a basic DC motor can easily take 5 - 10 times normal running current at the instant it starts, or when stalled.
I'd always go for higher rated devices if the originals failed, just to try and avoid more repairs in the future.

Also remember: "Transistors were invented to protect fuses".
 
I will not be able to remove the original mosfets -- which have their heatsinks flow soldered to the board -- from the board. I don't have the equipment or the skill. And there is not enough clearance to mount them above the originals, even without the need for an additional heatsink. I will therefore need to mount them off board and attach them via flying leads.

To that end, the plan is to mount them to a homemade heatsink (constructed from a piece of copper pipe), something like this:
1639579041589.png

The reason for the shape of the heatsink is there is an adjacent spare 18650 slot in the body of the device which will make a convenient place to put the heatsink where it will be in the airflow from the motor:
1639579234879.png


The reason for the question about the ferrit was it is also located in that spare 18650 slot and I thought I might need the room, but turn out there is enough space for both.
I'd always go for higher rated devices if the originals failed, just to try and avoid more repairs in the future.
Understood. I was considering the 3607s because I ordered a BMS board for another project a couple of weeks ago and it should be arriving soon. It has 4 3607s TO220s on it. I was considering stealing 2 from that for this purpose and then replacing them at a later date.

If I needed to double them up, that is also possible:
1639579955279.png
 
Thanks rj. By that test, they are indeed shorted.

Just a simple message/thought from a "fanboy". Don't you think you owe Nigel a public apology? He was right and you were wrong after all. And calling me a "fanboy" when you don't know our history is strange, we have had our battles both here and at AAC, but I do try to respect those that deserve respect. something you don't deserve.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top