Microprocessor controlled throttle thru KLS96601-8080H

brianmwebb

100 µW
Joined
Dec 28, 2019
Messages
8
Looking for help on driving a hub motor via a Kelly KLS96601-8080H controller using a micro processor like an Arduino or an ESP32
Perhaps emulating the throttle pot input using 0-5v?

Has anybosy already done this, would appreciate some guidance
 
it's been done with various controllers over the years here on es and elsewhere, though i don't have any links to the posts. they can probably be found in searches for terms like

arduino throttle

or

mcu throttle

etc, but i haven't looked.

you can find out what type of throttle your controller requires, and it's voltage or resistance range, from the manufacturer's website.

some of them are programmable, so you can change these if you have the cable and software, but again, that's something you'd need to check with the manufacturer about.


if the controller you're using uses a voltage controlled throttle, like most, then you just have to emulate whatever range of voltage it requires. for pot throttles that's typically 0-5v, for hall throttles that typically around a volt to around 4v; you'd have to check teh controller's specs (or settings) to be sure, or simply determine it experimentally.


if it requires a resistance range, it's more complicated, but maxim has a votlage-to-resistance converter appnote using their voltage-controlled-resistor chips.
 
Thanks for the guidance
Have now taken this a little further

We are using a ESP32 to generate a DAC signal of between 1-3.6V
This is sent to the Kelly Controller which has a TPS input choice of 0-5v or 1-4.5v
Our signal works on either setting

The degree of throttle control is good barring one issue

When we run the motor up to the approx 700rpm, 3.2v of a maximum available of 900rpm / 3.6v and hold the TPS input at approx that RPM / voltage the motor will then ignore the TPS input and slowly accelerate towards maximum RPM.

We can watch the voltage from the TPS not changing but the motor still slowly accelerates. If we decrease the TPS voltage the motor ignores it still slowly accelerating

When we use the TPS to a little short of the 650 RPM / 3.2v mark the motor accepts and responds to the throttle input correctly, accelerating or decelerating as required.

Any thoughts?
 
brianmwebb said:
We are using a ESP32 to generate a DAC signal of between 1-3.6V
This is sent to the Kelly Controller which has a TPS input choice of 0-5v or 1-4.5v
Our signal works on either setting

If you send a 1v signal to a controller expecting 0v for "off", then the controller will never stop trying to run the motor (or it will fail on power up if the 1v signal is already present, for "pedal high" or "throttle high" errors).

If you send a "throttle off" level of signal that is higher than the minimum throttle input voltage for the controller to react to, that is also what will happen.

You have to send a throttle signal that when "off" is *below* the minimum throttle input voltage the ocntroller expects, preferably by at least 0.1v to 0.2v, to ensure grounding noise/etc can't cause undesirable operation.


When we run the motor up to the approx 700rpm, 3.2v of a maximum available of 900rpm / 3.6v and hold the TPS input at approx that RPM / voltage the motor will then ignore the TPS input and slowly accelerate towards maximum RPM.

Is the controller setup for "torque / current" control by the throttle? Or is it setup for "speed / RPM / voltage / PWM" control?

If the former, then the motor will continue to be spun up, especially if this is an unloaded offground test, because it hasn't yet reached the demanded current (torque).

If the latter, then once the motor reaches the demanded speed, it will stay there and stop accelerating.


Any other behavior depends on the controller's design and settings, and how it's internal programming was written (which you don't have access to).
 
Back
Top