Kelly Controllers Configuration Program - a Definitive Translation

Glyn

10 W
Joined
Oct 7, 2017
Messages
70
So I recently purchased a bunch of Kelly KBS101X controllers for a six wheel drive mountain climbing wheelchair which I'm building: http://mountainwheelchair.com.

This is a great controller which has many programmable features, however, the instructions in the software have been badly translated into English so I thought I'd create a definitive post to help make sense of it.

Please feel free to add to this and I'll do my best to keep the original post (i.e. this one) updated.

General Information
I've read in places that you need to make sure you disconnect the motors and peripherals etc before running the software, however, I haven't found this to be the case. I've been programming the controllers just fine without disconnecting anything. When you first open the software it does say to "make sure the motor is not running", in which case it makes sense to take heed of this. I'm not sure what would happen though if you had no motor attached, but the throttle was open?


Kelly Controllers Configuration Program...
Please note, the screenshots here have been taken whilst programming a KBS101X controller with software revision V4.6. If you're using a different version of the software then there might be some differences.

I'm very new to the world of e-bikes and this is my first controller, so the information provided below is based on my very limited experience.

Step 1
step1.PNG
[1] Forward Switch: Default value is disabled. If enabled, the controller will not accept throttle input unless a "forward switch" is closed.

[2] Foot Switch: Default value is disabled. See "Forward switch" above.

[3] Throttle Sensor Type: Default value is 1-4v. Choose what type of device you want to use for the throttle. See also [x] Joystick in Step 4.
  • 0-5v: 3 wire resistive potentiometer. I've been successfully using a typical B10K potentiometer as well as the small thumb joysticks that you get for Arduinos and the like.
  • 1-4v: I believe this is for hall active twist grip throttles?
  • 0-5k: I believe this is for a PWM input? Note, this won't work with an RC receiver as the pulses are different. Edit, this might actually be a 0-5k potentiometer?

[x] Throttle effective starting/ending: Imagine using a joystick for a controller. If only the slightest movement of the joystick made the motor start turning, it might be difficult to control the vehicle at low speeds. In which case, you might want to ignore the first 10-20% of joystick movement for example. Also, depending the analogue signal from your throttle, you might find that your motor still turns even when you've let go of the throttle, in which case you should increase the effective starting position. Equally, you might turn the throttle all the way, so it was fully open, but the signal sent to the controller might not be registered as fully open. In this case, you'd want to decrease the throttle ending position. The defaults are 20% and 80%, but it's worth noting that this would make only 60% of your throttle travel usable.

[4] Max Motor Current: Use this to limit the current and therefore prevent damage to your motors. This is probably an important one to get right. The user manual says "the max motor current is (The value * peak current of the controller)" but this is wrong. The value is given as a percentage of the controller's max rated current. In this example, the Kelly KBS48101X is a 100amp controller, and the motors I'm using have a max recommended current of 15amps. I would therefore want to set the "Max Motor Current" to 15% but the lowest value the controller will accept is 20% (20 amps). To get this right, you must be absolutely certain of the controller's peak current.

[5] Max Battery Current: Used to limit the current and therefore prevent damage to your batteries. According to this post on another forum, it's a % of the value given in [4] Max Motor Current. So if I have my max motor current set to 20amps, and the Max Battery Current to 50%, then the max current drawn from the batteries will be 10 amps. It's worth mentioning here that the user manual for this refers to a table with with under and over voltage ranges for several batteries. However, I'd ignore that table which for example, suggests at 72v battery will operate from 18v - 90v. Taking a 72v battery down to 18v could lead to permanent damage. I guess you need to know your batteries well and actually, knowing the acceptable voltage range does nothing to help set this parameter. Instead, and I'm new this, I think you probably need to know what is a safe discharge rate for your batteries and set this value accordingly. I'm using 15ah Headway cells which have a max continuous discharge current rating of 5C. 15 * 5 = 75amps. Their max burst discharge is rated at 10C so this is 150amps. Either way, the battery is more than capable of supplying far more current than the motors can handle so in this instance I can be confident leaving this setting at the max value of 50%.
Kelly FAQ said:
The controller does current multiplication. You can limit the battery current,but still get higher current to the motor at low speed.

Step 2
step2.PNG
[1] Start-up Delay: Kelly recommend using a contactor which is bridged by a precharge resistor to battery +. When you turn on the controller, via the PWR pin, the controller will wait for the time specified here to precharge the capacitors before closing the contactor. Possible values range from 0.5sec - 2sec. Default is 0.5. In my experience, 2 seconds isn't enough. Note, you need to use the blue relay pin [9] to close the contacter for this delay to have any effect.

[2] Hall Sensor Type: Check the manual for your motor.

[x] Control Mode: Choose between Torque, Balanced and Speed mode. According to the manual, "Torque mode gives faster response of the load and good acceleration. Balanced mode brings fast response of the load and wide speed adjusting range. Speed mode brings smooth operation and wide speed adjusting range". I seem remember reading that all this setting does is limit voltage to the motors and it should be set to balanced. I'll have to find where i read that and update accordingly. Factory default is Torque. Update: Found this comment in the FAQ on the Kelly website:
Kelly FAQ said:
The controller will output voltage to motor proportional to throttle if under speed control mode. It will output current if under torque mode. The balanced mode is between them.

[3] Under Voltage. Prevent your batteries from dropping below a certain voltage. The description in the software is pretty accurate for this.

[4] Over Voltage. Prevent your batteries from charging above a certain voltage when using regenerative breaking. The description in the software is pretty accurate for this.

[x] Throttle Up/Down Rate: I believe this is used to change the sampling frequency for PWM throttles? According to the manual, a lower value means a shorter sampling period and a faster response rate. I guess you could think of this is a throttle delay/precision setting. Lower values mean faster throttle response but with less accuracy, higher values mean slower response but increased accuracy.
Update - you can think of this as throttle response (how responsive you want the throttle to be). Slowing the response rate (increasing the value) slows the acceleration.

[x] Power On High Pedal Disable: If the throttle is open at startup, the controller will throw an error which prevents startup. I'd recommend always having this enabled. For one, it means your vehicle won't accidentally run away when you switch it on, and two... Remember that you can only program the controller if the motors aren't spinning. If something goes wrong, leaving this enabled will always mean that you can re-program your controller.

[6] Releasing Brake High Pedal Disable: If I've understood this correctly, when enabled, the controller will throw an error if you try to accelerate whilst pressing the brakes. Presumably you'd then have to restart the controller to continue operation.

Step 3
step3.PNG

[1] Motor top speed. Reduce motor speed by limiting voltage. For example, if the battery voltage is currently at 48v, and you set a value here of 50%, then the motors will receive 24v.

[2] Motor Poles. Drop-down-box is disabled. Description suggests that you need to use CAN BUS to edit this, although I don't think these controllers have a CAN interface.

[3] Half Speed in Reverse. Limit voltage to motors when reversing. Note, this is only available in earlier versions of the software and has since been replaced by the "Motor Top Speed in Reverse" slider at the bottom of the same page.

[4] Boost Function: The boost function and economy function are very similar and both require a resistive potentiometer connected to pin 2 (BRK_AN). I haven't been able to fully understand this, but essentially both functions limit motor current depending on the value of the pot.

[5] Economy Function: See [4] boost function above.

[6] Half Current In Reverse: This is different to "motor top speed in reverse" as it limits motor current instead of voltage.

[7] Noise Reduction: Apparently it reduces motor noise but I'm not sure how it achieves this. If you've got a noisy motor then I'd suggest that enabling this function is probably not the best fix.

[x] ABS: No idea. Haven't been able to find any info on this.

[x] Motor Top Speed in Reverse: See [1] Motor top speed and [3] Half Speed in Reverse above.


Step 4
step4.PNG

[1] Regeneration: Enable or disable regenerative breaking. Uses the energy produced by the motor momentum to recharge your batteries when braking or when throttle is released. Can be used to recharge batteries when free-wheeling down a hill. Note, that if you have regenerative breaking enabled, you must have the battery connected when you're pushing the vehicle so that there is somewhere for this energy to go.

[2] Brake Switch: If this option is enabled (as well as the above option) then regeneration will only occur when the throttle is released and the brakes are applied.

[3] Releasing Throttle Starts Regen: This option will use regeneration whenever the throttle is released. For example, free-wheeling down a hill will recharge the batteries whether the breaks are applied or not. Note however, that if this option is enabled, then it will be more difficult to free-wheel. Values range from 0% (off) to 20%. 20% of what though isn't clear.

[x] Regen Current by Brake Switch On: Adjust the amount of current going into the batteries when the brakes are applied. This requires a 0-5v brake lever. Alternatively, you could just add a potentiometer and control how much regen you want on the fly.

[4] Max Regen Current: Obviously limits the regenerative current but no info is available on this.

[5] Brake Sensor Type: I think this is for analogue brakes. Options are No (not used), 0-5v potentiometer, 1-4v hall active throttle.

[x] Brake Sensor Starting point: For analogue brakes. See also [x] Throttle effective starting/ending in Step 1.

[x] Brake Sensor Ending Point: As above.

[x] Joystick. I don't think this option is usually available on this model but is something I requested when ordering the controllers. It allows you to use one joystick (or potentiometer) to control both forwards and reverse throttle without having to flip a switch. 0-2.4v is reverse. 2.6-5v is forwards.

[x] Cruise: No info available, presumably cruise control.


Step 5
step5.PNG

Sensor Setting:
[1] Motor Temperature Sensor: Select which thermistor is in your motor. According to the manual, it only works with KTY84-130 and KTY83-122 thermistors. Default option is KTY84-130. I haven't tried it yet, but changing the thermistor inside the motor to a KTY84-130 seems like an easy task. Be sure to check the wiring diagram in the user manual if going down this route as it requires a 1k Ohm 0.25w resistor on the 5v line.
*Update* This is a very easy task: https://www.youtube.com/watch?v=HP9M0QUadpc

[x] Controller Stop Output Temperature: Stop the motors when they reach this temperature. I'm not yet sure what a suitable temperature is but it makes sense to check with the motor manufacturer.

[x] Controller Resume Output Temperature: Resume nomral functions when the motors drop to this temperature.

CAN Setting:
[x] I don't think this controller works with CAN and this is therefore redundant.

Smooth Setting:
No information is given for the following settings in software, in the manual, or on the Kelly website...
[x] Auto Identify: Will try to configure the smooth settings for you.
[x] Identify Rev: If enabling the above makes your motor turn the wrong direction, try enabling this.
[x] Smooth:
[x] Inflection Point:
[x] Low Accel:
[x] Low Decel:
[x] High Accel:
[x] High Decel:
 
This write up is a real gem, I wish it had existed when I was looking to bite the bullet on my kelly controller, fantastic job.
I do wish the features on some of these items were more clear from Kelly, the manuals and datasheets are seriously lacking from a technical standpoint, although leagues ahead of some chinese models of which we know near nothing about.

Glyn said:
  • 0-5v: 3 wire resistive potentiometer. I've been successfully using a typical B10K potentiometer as well as the small thumb joysticks that you get for Arduinos and the like.
  • 1-4v: I believe this is for hall active twist grip throttles? Could also be used with a 0-5v pot to ensure you get throttle full open/close.
  • 0-5k: I believe this is for a PWM input? Note, this won't work with an RC receiver as the pulses are different.

Unless you tested it and found it to work, in my version, the controller would not power up without a 1v current in the 1-4v mode so you can not use a 0-5v throttle on the 1-4v mode. This is important because in the firmware version I have, the brake throttle and normal throttle have to be of the same type. You must have either a potentiometer brake and throttle or a hall effect brake and throttle.

I swear once I am further along in my degree I will come back to this forum and design an open source controller, and then us more electrically inclined tinkerers with more time can really figure all this out.

Great write up and good project.
 
Or you could contribute to one or more of the other existing OS controller projects, to improve them / add features. :)

(based on what I've seen of various dev projects, designing your own will probably take you years, where contributing to existing one might be months as you learn the ropes).
 
ninepointeight said:
Unless you tested it and found it to work, in my version, the controller would not power up without a 1v current in the 1-4v mode so you can not use a 0-5v throttle on the 1-4v mode.

Thanks for the positive feedback. Have just tested this and can confirm that it throws an error if it starts up with 0v when in 1-4v mode.
 
FWIW, you can still use a pot in 1-4v mode, but you have to add resistors to each "end" of the pot of a value such that they have about 1v across each one of them, so the pot itself only has 3v across it, so the range of the signal pin can only go from 1v up to 4v, preventing an error.

Simplistic math is if it's a 3k pot, you have two 1k resistors, one of which goes from the +v to the "top" pin of hte pot. The other goes from the "bottom" pin of the pot to ground. (the middle pin of the pot goes to the throttle (or brake) input of the controller).

So use the same ratio 1:3:1 to figure whatever resistors you need for the actual pot resistance.
 
Hello Glyn.

Nice article. Also spent a lot of time fiddeling with patameters of this controller.

As usually not a good explanation of parameters in manual.

Guys have som q.

1. How should I find where is effective ending of throttle.
Is it percentage*5V and can I jus measure voltage at the end of throttle?

2. Max battery current. There is written controller limits batt current at high speed. (rated controller current[A]*max motor furtent[%]*max batt curtent[%]) But what is high speed? At which rpm? It seems to me something over 3300.

Thanks

Will share some findimgs soon.
 
DaDo.Bzz said:
2. Max battery current. There is written controller limits batt current at high speed. (rated controller current[A]*max motor furtent[%]*max batt curtent[%]) But what is high speed? At which rpm? It seems to me something over 3300.

I understood it that the limit is permanent, that is to say the limit is active no matter what the rpm, but I see what you mean; the "high speed" is confusing.
 
Great write up Glyn! well done.

Glyn said:
[1] Start-up Delay: Kelly recommend using a contactor which is bridged by a precharge resistor to battery +. When you turn on the controller, via the PWR pin, the controller will wait for the time specified here to precharge the capacitors before closing the contactor. Possible values range from 0.5sec - 2sec. Default is 0.5. In my experience, 2 seconds isn't enough.

You might want to add something about using the #9 pin relay output to drive the contactor coil, just to clarify as opposed to the standard wiring.
 
TommyCat said:
You might want to add something about using the #9 pin relay output to drive the contactor coil, just to clarify as opposed to the standard wiring.
Done, thanks for pointing that out
 
I have a Kelly KEB72601-X controller I'm using with a 72 Volt battery and a Cyclone 7,500 Watt motor on a moped.
http://kellycontroller.com/keb72601x...gen-p-279.html

I was able to draw so much current from the battery that I kept accidentally hitting the BMS low-voltage cutoff.

I set the motor current slider to 30% and that got me less torque and less voltage droop at the beginning of acceleration, but I still drooped way down as I accelerated up to 30 MPH.

When I set the maximum battery current down (to maybe 30%, I need to check) I saw a SERIOUS improvement in the voltage droop as I came up to speed. Now I droop to like 65 Volts at the beginning of a run, and as I come up to speed (with continuous high-throttle) the voltage recovers to 71 Volts or so.

I need to determine what the pack BMS low-voltage cutoff is (something like 55 Volts I think) and see if setting the battery low voltage 5 or 10 volts above that also helps be keep away from the cutoff.

I hate just barely hitting the cuttoff when I'm aggressively accelerating, and then I get to walk home. :-(

Thanks for all the information. I'd like to help if I can.
 
do you use xt90 connectors?
just spark the connection when that happens try to disconect the battery and connect it back it will bring the bms alive.
 
I use xt90 connectors.

But I don't understand what you mean by that statement.
(I'm new to all this, so I get confused easily.)

Just unplug the battery and plug it back in?
 
Anyone used BRK_AN? I'm looking to have a traditional brake lever operate a pot to control motor braking.
 
bigpie said:
Anyone used BRK_AN? I'm looking to have a traditional brake lever operate a pot to control motor braking.

Yeah, I use the analog regen on my KLS7230s. I've got mine hooked up to a Bafang thumb throttle on the left side. Works like a champ, I barely use the regular brakes cause its so smooth and reliable all the way down to like 2mph.

If you don't want to fab anything and use an old cable brake lever, you can just order one of these

https://www.aliexpress.com/item/Ele...01-48d1-a574-dd62ca16aa86&transAbTest=ae803_4

It's meant to convert a twist throttle from a carbureted motorcycle to a 0-5v signal. Since it's cable driven, it doesn't matter if its used for a go or stop signal.

You could also DIY something even smaller using a simple pot or hall sensor on your existing lever but this cheap'nquick AF option also takes care of the required spring return which you'd have to fab too.

Hope you have some sort of mechanical brakes too just in case....
 
Thanks for the response.

Not got round to giving this a go yet, I did start trying to design and 3D print a housing for a pot but I might just save time and buy the linked part.

The idea is on my ETrails conversion to have a lever where the clutch lever was to control the regen not sure how it'll work in practise.
 
bigpie said:
Thanks for the response.

Not got round to giving this a go yet, I did start trying to design and 3D print a housing for a pot but I might just save time and buy the linked part.

The idea is on my ETrails conversion to have a lever where the clutch lever was to control the regen not sure how it'll work in practice.

Ever ride an old motorcycle with a cooked drum brake? The regen will have the same kind of dull response. Even with the settings cranked up to the max, the rear wheel is not going to lock up unless you lean forward and take all the weight off the wheel. When going downhill over rough terrain, I just hold it like 40% and the bike creeps along lumbering down the trails all without the typical high pitched squeals I hear from other riders.

To me "variable regen" is a gimmick. A cool techie name that appeals to the super-greens and hyper-mile crowd. My QS205 at 84v consumes far too many amps at WOT to ever see an extra mile outta my pack unless the entire trip is down hill.

Once properly configured, it feels more like an electronic ABS system. The wheel speed just drops instantly and it seems to always apply just enough braking to keep the rear end straight while still rolling. I have a 3 disc brake system on my bike and rarely use them. The regen is just too smooth, consistent and reliable down to like 1-2 mph.

Once you've ridden an e-bike with regen, you'll never go back.
 
2WheelsMovesTheSoul said:
Once you've ridden an e-bike with regen, you'll never go back.

Until you write off your bike's frame and uproot the wires out of your motor. Then you would be wise to go back.
 
Granted, I've got a EEB frame with stronger dropouts than a standard bicycle aaaaaaaand my bottle of Loctite does get a little lighter every 3rd or 4th pre-ride check. :lol:

You can instantly tell when the axle nuts have backed off. A noticeable clunk can be felt thru the frame the second the regen is activated. This led to me adding a wrench to my tool bag/flat kit/backpack just in case I feel it loosen during the ride.

No arguments with your warning for those with regular bicycle frames. Regen can be, hmmm strike that, IS very destructive on frames and dropouts, even when you use torque arms.
 
Thinking about this more, I don't think it's regen I'm after. I'm wanting to dull the throttle response so when the level is all the way out 100% throttle is 100% throttle but with the level in a little I want full physical throttle to be 50% throttle.
 
bigpie said:
Thinking about this more, I don't think it's regen I'm after. I'm wanting to dull the throttle response so when the level is all the way out 100% throttle is 100% throttle but with the level in a little I want full physical throttle to be 50% throttle.

This can be achieved by using just the low speed switched/momentary input. The controller limits the max battery amps it will draw.

For example the 7230S can pull 120A, so 100% = 120A, 50% = 60A, and 25% = 30A

You can set it up like this... add your "clutch" lever (you'll still need a switch and spring return). Connect the wire from the "clutch" and hook it to the low speed wire. Configure the controller for 100% on high and mid speed settings, change the low speed to 50%.

The second you pull the "clutch" lever, current draw will be cut in half. The second you release, back to 100%. It wont be variable but it will work. You may need to play with the percentage, I doubt 50% will be the number you settle on.

Seems like you prefer more common dirtbike controls and feel, you may also want to consider another option in the settings.

You can setup -> (1)RLS_TPSBrk%: This simulates petrol engine braking when rolling in gear and off throttle. With this on, as soon as you let off the throttle, the controller puts fully adjustable amount of regen on the motor.

You could still use that cable to 0-5v adapter for a easy spring return and clean handlebars but then you'll need another module with a 2.5v trigger to output a 12v to the low speed input. Like this one. https://www.amazon.com/dp/B00LWX9PP...&pd_rd_r=6b8363bc-36c9-11e9-92d7-ffb51d26fa93
 
Glyn said:
Step 4
step4.PNG


[3] Releasing Throttle Starts Regen: This option will use regeneration whenever the throttle is released. For example, free-wheeling down a hill will recharge the batteries whether the breaks are applied or not. Note however, that if this option is enabled, then it will be more difficult to free-wheel. Values range from 0% (off) to 20%. 20% of what though isn't clear.

Did anybody figure out what this slider actually means? Could it be the width of the "joystick dead zone"?

Kelly%20Joystick.jpg
 
Hey all,

I have a brand new KDHE 600 amp controller and was browsing this thread to find out more about programming it once everything is wired up. I noticed the delay function talked about for contactor opening and just wanted to let you know that I've been informed by Kelly (after purchase...) that on the KDHE the J1-1 Power pin and Relay pin have been disconnected. So basically you have to run the contactor directly to the key or through some sort of external timed relay. Sort of a bummer when it comes to precharge circuits and overall failsafes, but I was able to convince kelly to give a partial refund since the removal of this feature wasn't listed anywhere on their website or user manual.

I'm not sure if this setting is still in the programmer for my specific controller, but I wanted to let people with the same question of "why the hell aren't these pins doing anything" know what the reason is.
 
About the SMOOTH SETTINGS got this from Kelly
Smooth:
Here is the explanation for smooth setting.
We added smooth control in the user program.
It is used to set up the throttle map by customers.
The deflection point will divide the low speed and high speed on the throttle map.
We added the smooth control parameters in the user program.
When you enable the smooth functions,you will see five more parameters.
You can adjust the low speed acceleration and deceleration rate,and high speed acceleration and deceleration rate in the user program.
The inflection point is at the joint of low speed and high speed.
But this new software version needs the new firmware and hardware to support.

Usually you can set deflection point at 10.
Low Acc rate is 100
Low Dec rate is 127
High Acc rate is 100
High Dec rate is 127



The deflection is used to define the point for low speed and high speed.We assume the max inflection point is MAX.
For example,if we set up the inflection point at 10,we think the range below 10/MAX point is low speed area,the high speed range is above 10/MAX.
When you adjust the inflection value,you can determine which point is the joint for low speed and high speed range.
Different motor or motorcycle will affect the value of MAX.I can not let you know the accurate rate.

So we can accelerate and decelerate the motor at low speed range and high speed range.

Low Acc rate is Low speed range acceleration performance rate.If the value is high,that is to say,the controller will accelerate the motor very fast at low speed range.If the value is low,the acceleration is slow or gradual.
Low Dec rate is Low speed range deceleration performance rate.If the value is high,that is to say,the controller will decelerate the motor fast,the motor will stop quickly after throttle is released.

High Acc rate is High speed range acceleration rate.
High Dec rate is High speed range deceleration rate.
The explanation is the similar as above.They only just located on high speed range.
You can assume the value is just the response time.There is no unit for the value.Sorry for that.
Different motor,cars will provide different results under the same value.
You need to tune up the parameters according to every vehicle data in real testing.
 

Attachments

  • Smooth control Model.jpg
    Smooth control Model.jpg
    152.9 KB · Views: 9,577
Back
Top