Power Spikes - Modifying Ninebot Controller

Electric Motors and Controllers
Post Reply
kiki626   1 µW

1 µW
Posts: 4
Joined: Jun 24 2019 7:53pm

Power Spikes - Modifying Ninebot Controller

Post by kiki626 » Jun 24 2019 9:01pm

Hi All,

Along with about 80% of the other riders, I've had the unfortunate experience of frying the controller on my Ninebot ES2/ES4. After researching online I came to the conclusion that these boards are flawed in their design and many consumers are having to replace their control boards after as little as 3 weeks of normal use. OEM control boards (not clones) go for about $75-$100.

What seems to be triggering the board failure is use of the electric recuperative brake. If you read the reviews and forums you'll find that people are simply told not to use it or risk frying their board.

The board has weak solder traces on the back which share a common path to the MOSFETs. So luckily the traces blow long before the MOSFETs can be damaged - this means anyone with basic soldering skills can fix their own board. I personally have beefed up my solder traces but that ended up damaging the MOSFETs during the next incident. Some out there are just buying new boards each time.

I have a good understanding of electronics and i'm also a developer, what I'd really like to do is figure out a way to modify this board so that it can cope with the surges created by using the recuperative electric brake. After researching a bit online some suggest adding capacitors to the board to absorb the load but my research shows that caps are good for mitigating high frequency short duration spikes. In the case of the recuperative e brake the voltage / amperage generated would be considered long duration.

My goal is to be able to solder some protective components to the board or possibly attach another circuit to key places on the controller to deal with the excess energy. Ideally the energy would route to something like a headlight or dissipate as heat.

I would like some advice on what components would work best for this application so I'm hoping someone here with an electronics or engineering background can point me in the right direction:
- Add capacitors?
- Add a load dump circuit which would take excess energy and route it to another place (like a light or a battery or something)
- Add a gas discharge tube - these are relatively slow devices but once activated, they can shunt a lot of energy away
- Add a Transient Voltage Suppression (TVS) diode
- Add a metal oxide varistor - A MOV protects electronic components by suppressing the voltage when it exceeds a certain threshold and safely discharging the excessive energy.

Burnt traces after using the e-brake:
Image

Diagram showing the common weak points:
Image

The traces marked in red are the ones which get overloaded and burn up, the Motor wires and MOSFETs are connected to the same traces, I believe the motor is throwing too much energy back into the circuit and frying it. What kind of components can I put in place to shield the circuit from the surge of energy? The normal voltage on this controller is 36 volts.

The community would greatly appreciates any help you can offer to resolve this long standing problem.

Kiki

cheapcookie   100 W

100 W
Posts: 165
Joined: Aug 02 2014 10:34pm
Location: Earth

Re: Power Spikes - Modifying Ninebot Controller

Post by cheapcookie » Jun 24 2019 11:35pm

Hey there, I also have a ES4 and have been playing with the custom firmware generator.
I am very interested in a solution, I'd be happy to place a bounty, nevertheless, this is the right forum.
And I bet many here could boost the damn controller for low orbit travels.

kiki626   1 µW

1 µW
Posts: 4
Joined: Jun 24 2019 7:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by kiki626 » Jun 25 2019 2:20am

After reading some info on the french forums I've gone ahead and purchased some upgraded MOSFETs and a MOSFET driver.

Current MOSFETs:

Code: Select all

Clone Boards:   (ST - 110N7F6 - 110A / 68v)
ES4 Model:       (NCE - NCEP85T14 140A / 85v)
SNSC Model:     (NCE - NCEP01T13A 130A / 100v)
Current MOSFET Driver:

Code: Select all

 MT8006A (300v)

Upgrades purchased:

Code: Select all

MOSFET Driver: Texas Instruments UCC27710DR (600v)
MOSFETs:          INFINEON IRLB4030PBF (180A / 100v) 
I'm hoping these components (along with beefing up the traces with solder and bridging the weak connections with copper wire) will help but I still believe we need to add something to this circuit to protect it from excess energy. Finding a solution for this would sure help alot of people.

User avatar
stan.distortion   10 W

10 W
Posts: 65
Joined: Jun 12 2019 12:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by stan.distortion » Jun 25 2019 4:04am

A fuse perhaps?

kiki626   1 µW

1 µW
Posts: 4
Joined: Jun 24 2019 7:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by kiki626 » Jun 25 2019 9:38pm

A fuse on the wires running to the motor? Interesting idea - I guess we’d have to figure out what the current draw and voltage is under normal operating conditions and then install the correct type of fuse.

Ideally though there would be something to add to the board to handle this scenario repeatedly and without manual intervention (like changing a blown fuse)

User avatar
stan.distortion   10 W

10 W
Posts: 65
Joined: Jun 12 2019 12:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by stan.distortion » Jun 26 2019 4:26am

I'm no expert in circuit design but from what I gather ESCs blowing up under braking is a fairly common issue and as far as I can tell it's usually due to latch up, the gate voltages get high enough to turn themselves on. A "double pulse test" seems to be a good method of evaluating how well an ESC performs and spotting these kind of issues, not sure how to go about doing one though :/

User avatar
fechter   100 GW

100 GW
Posts: 14190
Joined: Dec 31 2006 3:23pm
Location: California Bay Area, USA

Re: Power Spikes - Modifying Ninebot Controller

Post by fechter » Jun 26 2019 9:05am

It would be important to know if the FETs blew first or if just the trace blew off the board. If the FETs are OK, then you just need to solder some heavy copper wire over the traces.

It would be very hard to dissipate the amount of energy needed by adding external dissipating elements. Normally you want all that energy to go back into the battery. In the event the pack is fully charged and you start going down a hill, there should be something that reduces or inhibits the braking function to prevent over voltage (it may actually have this already).

The maximum braking current should be limited by something in software. I don't know if there is a way to reprogram it for something lower.

If the FETs are blown you could try upgrading them. IRLB4030 is a pretty good part to start with though. A possible upgrade would be MDP10N027 or TK72E12N1.
"One test is worth a thousand opinions"

kiki626   1 µW

1 µW
Posts: 4
Joined: Jun 24 2019 7:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by kiki626 » Jun 27 2019 3:27am

Thank you both for your reply, i agree there should be something in the software to limit the over voltage scenario when the brake is applied at high speed but there doesn’t appear to be. I was going down a hill and hit the brake and it didn’t try to let up on the brake even a little before it blew.

It blew the traces out first, then I did exactly what you suggested and soldered copper wire over the traces - a few rides later the same thing happened but this time the MOSFET(s) went. The new mosfets will arrive in a few days so I’ll try those out and repor back.

It’s really disappointing that these things are basically throwaways because the boards have such a bad design flaw. Part of me wonders if it was intentional to capture more revenue on the parts side of things but who knows.

It seems the only protection built into the software is to limit the top speed so the end user doesn’t generate enough energy to blow the board out - that also tells me they don’t have a way to fix this at the software level or they would have.

The community was hoping you’d say we could add some caps or some other components to soak up that excess energy but it is what it is - maybe the only real solution is to install an aftermarket controller and stuff that into the deck somehow. I bought this as a last mile vehicle to commute to work, but given it’s so unreliable I’m not sure I trust it not to fail. If you think of anything else let me know - I’m up for experimenting since I have so many blown boards hanging around.

Thanks
Kiki

User avatar
stan.distortion   10 W

10 W
Posts: 65
Joined: Jun 12 2019 12:53pm

Re: Power Spikes - Modifying Ninebot Controller

Post by stan.distortion » Jun 27 2019 4:11am

From what I gather it's largely rpm related, e-skateboard folks seem to get it a lot when going faster than the ESCs peak speed, ie. coasting downhill and often unexpected, like someone hit the brakes hard. Could be I'm on the wrong track entirely with that though, might be getting mixed up with VESC's electrical rpm limitations.

User avatar
fechter   100 GW

100 GW
Posts: 14190
Joined: Dec 31 2006 3:23pm
Location: California Bay Area, USA

Re: Power Spikes - Modifying Ninebot Controller

Post by fechter » Jun 27 2019 8:20am

You could disconnect the brake lever switches so the regen never activates, but that would sort of suck.

Can somebody post a pic of the board top side? There must be a shunt to measure the current. The current signal will feed to the MCU, usually through an amplifier first. It may be possible to spoof the current signal during regen to get a lower current limit. It may also be possible the controller has NO control of the current during regen which would make it hard to fix.

A new controller would be one solution but there aren't many choices that will fit in the space.
"One test is worth a thousand opinions"

Post Reply