Monday, April 24, 2017

Replacing a broken motor controller

On a typical lunch break me my four collegues had just started driving back to work when all torque stopped without any warning. The Kelly Controller PM72401B motor controller flashed for "internal voltage fault", so we pushed the Corolla to a nearby parking space and took a walk back to work.


After towing the car back to my garage I figured out that some mosfets from the controllers other half bridge had failed. The PM72401B main circuit seems to have 7 IRFB4110 mosfets in each leg. As tough as the IRFB4110 is, it's still only a 100V mosfet. The PM72401B operates at up to 90V battery voltage which leaves very little margin for overvoltage spikes. Corolla's ME1003 is a high current motor specified to have a low inductance of only 93uH @ 120Hz which leads to a high current ripple and switching high currents lead to high voltage spikes which the mosfets have to deal with. 100V mosfets are not enough with Corolla's 76,8V battery pack and ME1003 motor in my opinion. I am actually positively suprised for how long the PM72401B managed to survive; 3,5 years and 28000km of driving.

As also the current handling capability of the electrolytics inside PM72401B seemed too low for my application I was determined to replace the controller with a controller having at least 150V mosfets and higher current capability.

Sadly there is not much to choose from when it comes to suitable permanent magnet motor controllers and there are even less alternatives if regenerative braking is wanted. I ended up making a decision between a larger Kelly Controller and Paul & Sabrina's 144v 500amp DC EV Motor Controller Kit. It was a difficult decision between a well tried open source controller and a commercial black box. Should there have been used P&S controllers on sale I would have gone that way, but as there weren't, I decided to go with the shorter lead time solution to get the Corolla back on road faster.

I purchased a Kelly Controller KDH12801E for the job. Its advatages over the P&S were the ability to regenerate and its shorter lead time due to not needing to build the controller. Down sides are that I don't know what's inside the black box and I also have very limited possibilities to configure its behaviour.



The KDH12801E is a 2-quadrant controller being able to motor and regenerate into one rotating direction of the motor. It's rated up to a 120V battery pack nominal voltage and up to 400A continuous current, making it a few times higher power specified than the PM72401B. The controller was delightfully shipped with a USB-to-RS232 converter, a pre-charge resistor and some diodes needed for contactor controlling. The pre wired J2 cable assembly also proved to be very handy.



I had to make a rebuild for my controller assembly box as the dimensions of the new controller varied a few cm. A bigger heatsink was also mounted and machined to fit. After a couple of evenings the Corolla was ready for test drives.

The first test drive impression were a dissappointment. I had limited the motor and battery currents to 50% meaning 400A each. Driving like this was simply slow and the controller gave only around 12kW of power at max throttle meaning around 180A of battery current. I had to increase the motor current up to 87% to achieve the same power levels that I had used daily with the PM72401B. This tells me that the current configuring affects not only to average currents but also to peak currents. Other down sides were that the regen stops at remarkably higher RPMs than the PM72401B did. But the worst thing is that a smooth acceleration is at the moment not possible as the controller gives an uncontrollable current peak when trying to accelerate smoothly from stand still. I hope that I can figure out a configuration that would help it even a little. Anyway I am glad to have the Corolla back on the road again!


No comments: