Problems with Kunteng S06P / S-KU63 motor controllers
With this article I would like to draw attention to the fact that I would like to use the Kunteng controllers for my projects, but that Kunteng does not respond to complaints via email that the controllers do not work on some common BLDC motors.
- Repairing any ebike mid-drive or hub motor electronics with an external Chinese motor controller
- Motor controller
- How do torque simulation motor controllers work?
- Two-wire current-controlled bus for ebikes
Kunteng controllers problem with the sensorless Q85 hub motor
I want to use the S06P and S-KU63 controllers for the production of Maxun One ebikes and also for the E-bike Bluetooth Watt meter. Unfortunately, the Kunteng motorcontrollers have been found to be incompatible with the Q85 hub motor: with accelerating, the motor emitted a disturbingly loud squealing noise and ceased functioning. Through investigation, I have identified the root cause behind this problematic situation. See more in the article BLDC motor commutation.
Experience with KU63 controller
I have been using the old KU63 controller on my Maxun One solar bike for 10 years. The controller still works perfectly. That is why I have described the controller in detail here.
Kunteng motor-controllers S06P versus S-KU63
There are two versions of this controller, the S-KU63 and the S06P. Also, they are marketed as torque simulation controllers, see more about this in the article How do torque simulation motor controllers work?
The S-KU63 and the S06P are almost the same:
- The S-KU63 has an additional 3-speed switch connector and a 5-wire Hall sensor connector. It also works without Hall sensor.
- The S06P has a 5-wire LCD connector and no Hall sensor connector.
Motor controller S06P - S-KU63 improved connection diagram
Unfortunately, BMSbattery provides an incorrect connection diagram with the S06P, here is an improved version. There is a cruise control connection but it is unknown how this works.
I have reengineered the input circuits of the S06P and S-KU63:
Xiongda 2-speed controller KT36SVPR-XD15D
The Xiongda 2-speed hub motor has to be controlled in two directions, this requires a special motor controller: the KT36SVPR-XD15D.
I have found that this controller uses the same Kunteng PCB as the as the S06P: the KTE-6S3-D3c. I think that's only the software is different in both controllers.
Here are the differences:
- The throttle input is pulled to gnd by uP when the motor is off.
- The 2-speed motor used to have a 10kOhm temperature sensor that was read by the motor controller. But that has been dropped in new versions.
The Xiongda 2-speed motor controller KT36SVPR-XD15D has a ACS711 Hall sensor which measures the current of motor-phase V.
6V light power board
Some controllers are equipped with a 6V power supply for the lighting:
It uses a TPS54160 1.5-A, 60-V, Step-Down DC/DC Converter chip.
Old version KU63 schematic
In 2012, I had reengineered the KU63 motor controller. The circuit may also give insight into other motor controllers. Download the circuit high definition pdf file HERE.
Here I am at work in 2012:
Old version KU63 motor controller facts
The KU63 motor controller is small and lightweight and well suited for 250W motors.
- BLDC motor 36V 250W
- Maximum current 12A
- Motor HALL sensor or sensorless operation
- Battery undervoltage detection ~27.7V
- Overtemperature protection
- Brake high voltage level and low voltage level input
- Control LED inside
- Weight 200g
- X8M06-C controller IC, TQFP44 housing
- 6 power MOSFETs 2SK4145, RDS(on) 10mΩ, VDSSmax 60V, IDmax 84A
- Quiescent current off-state < 30uA
- Consume current with motor at full speed 60mA (excluding motor current)
- Switching frequency 16.7kHz
- Throttle voltage 1 ... 4V
X8M06-C / μPD79F9211
Here are some interesting application notes for motor control applications with a similar controller, the μPD78F0714:
There are two separate motor current limit circuits.
The average current limit (CPU-41) reduces the motor voltage by changing the duty cycle. I tested what happens when this circuit is disabled: the maximum motor current will be increased from 14A to 16A.
The fast current limit (CPU-31) switches off the commutation transistors too in case of over-current, with a frequency of 16.7kHz.
Disabling PAS / pedal speed control
The behaviour of the KU63 is such that, without throttle, the motor power depends on the pedal speed. I don't like that, you don't have direct control over the motor power and sometimes the maximum power is not even reached. With throttle control, which I prefer, don't connect the PAS sensor and connect the green wire with the red wire at the PAS connector or connect the pin ZL with the 5V pin on the printed circuit board.
The KU63 has a speed limit connector; connect pin XS to GND to enable it. However, this is not a real speed limiter, it is just a simple voltage divider built with R77 and R87. Instead of limiting the speed, the motor power of the whole range from 0 to 25km/h is limited. So, better don't use the speed limiter. The pedelec legalisation device adds the extra speed limit functionality.
Pedelec legalisation device
The KU63 can be used without pedaling, which is not allowed for pedelecs. Here we need the pedelec legalisation device which can be built into the motor controller, see HERE.
Changing the under voltage limit
Note that the KU63 under voltage limit is only of importance if the battery has no built-in BMS. Normally, Lithium batteries have a built-in BMS which protects the battery from over discharge.
We can change the under voltage limit to another value than 27.7V by replacing R50, see for the location at the second image. It doesn't have to be necessarily a smd resistor. The new value of R50 is:
R50new = R50old * UVnew / UVold + R55 * (UVnew / UVold -1)
- R50old is the old value of R50, the value varies by product. Measure its value securely.
- R55 is 1200
- UVold is the old under voltage limit (27.7). It is preferable to measure the actual under voltage limit yourself.
- UVnew is the new under voltage limit
Increasing the KU63 motor current
The KU63 maximum current can be increased to at least 20A without overheating; this can be done by tinning the shunt. Please note that this may overload the motor.
Increasing the KU63 voltage
Take the 36V version; the 24V version may be equipped with 35V elcos. For increasing the battery voltage above 36V, take these things into consideration:
- The maximum voltage of the Mosfets 2SK4145 is 60V.
- The elcos have a voltage rating of 50V or 63V.
- The resistor R1, which limits the dissipation of U1, has to be changed.
Without overhauling the whole controller, the maximum battery voltage is 43.2V, which is 12 lithium-ion cells in series. At full charge, the voltage is 12 * 4.2 = 50.4V. Just R1 has to be changed to (12*3V-14V-3V)/60mA = 270Ω / 2W.
Changing the power MOSFETs
Here we shall see if it is possible to reduce the losses by changing the MOSFETs.
The conduction losses are caused by RDS(on). The total conduction loss is: 2 * I^2 * RDS(on). The MOSFET 2SK4145 inside the KU63, has an RDS(on) of 10mΩ. With a 36V battery, the motor current is 10A at 360W, which causes a loss of just 2W. My experience is that the KU63 barely warms up at full power. When the motor controller may still become hot, it is because of the switching losses.
Switching losses are caused by the simultaneous exposure of voltage and current during the switch transition. Power MOSFETs with a lower on-resistance have larger parasitic capacitances, which cause larger switching losses. So we can't simply take MOSFETs with a lower RDS(on) to reduce the losses, this may result in increased switching losses that supersede the savings in conduction loss.
Redusing the LM78L05 dissipation
The 5V current consumption is 50mA, which leads to a LM78L05 dissipation of 0.44W, this is close to the allowed maximum. There are known cases where the overheating of the LM78L05 caused failures. By mounting a 100Ω 1206 SMD resistor Rdiss between the 14V and the input of U2, the LM78L05 dissipation will be reduced.
Fail-safe brake lever switch
The original brake switch circuit was not fail-safe. In case of a broken cable, the motor will not be turned off when braking; this is dangerous. To overcome this, modify the KU63:
- Add resistor Rbrake of 10kΩ
- Remove R54 of 2kΩ
Wire the brake switch to the SH input. During braking the brake signal SH should be 5V. In case of a broken wire, the brake signal will be 5V too; this will turn off the motor.
You can use a Hall effect sensor instead of a mechanical switch, see here.
DIY ergonomic space saving e-bike thumb throttle
E-bike cable killer
The cable killer is a device that drastically reduces the cabling of an e-bike. All switches, sensors etc. of an ebike are controlled by just 2 wires. See more in this article.
Open-source motor controller
On the website of Casainho in Portugal there also much information about motor controllers and his open-source software project.
MicroWorks 30B4 board
The MicroWorks 30B4 is a popular motor controller board and is used in the open source Unicycle. It contains an STM32F103 processor and can be programmed yourselve.
Casainho firmware for the TongSheng TSDZ2 motor controller (most recent)
The TSDZ2 controller use the same microcontroller STM8 as the KT motor controllers from BMS Battery?
Stancecoke firmware for the BMSBattery S controllers
Similar KU series motor controllers
It seems that all KU series motor controllers have almost the same circuit:
- KU60 350W 6 Mosfets
- KU63 250W 6 Mosfets
- KU65 250W 6 Mosfets
- KU93 450W 9 Mosfets
- KU123 500W 12 Mosfets
- KU151 1000W 15 Mosfets
KU123 motor controller
The motor controllers KU123 and KU63 are roughly equal.
12 power MOSFETs STP75NF75, RDS(on) 11mΩ, VDSSmax 75V, IDmax 80A
E-bike cable killer