Low Speed Throttle Control w/ High Torque

ah004m

1 mW
Joined
Jan 21, 2020
Messages
12
Hi. I'm building a offroad utility motorbike focused on torque and control rather than speed and thrills. Since starting the project one year ago, it's been a goal for the bike to be friendly to inexperienced riders while still providing impressive hill-conquering capabilities with a heavy rider and (100+ pounds of cargo). I'm running a QS120 geared down to deliver about 300Nm of rear wheel torque on a 12" wheel.

The persistent gap in performance that I'm now confronting is delivering pleasant throttle feel on top of all that torque. I've tried controllers from ASI, Kelly, Votol, etc. and can't achieve the performance that allows the user to roll on and off the throttle with smooth transitions. As a benchmark, I own a Gogoro which is very nice in this regard and provides similar levels of torque (but also matched to much higher top speed). I've developed theories about how a throttle signal would be processed to achieve this, but I really don't want to deep dive into that world. Does anyone feel like they've solved this issue with available hardware and software?

FYI, I have not tried FarDriver or VESC controllers but don't want to try them simply as a "shot in the dark". Very much appreciate everyone's insight.
 
Do any of the controllers you've used allow setting the input voltage range to match that of the actual throttle used, to eliminate dead zones, etc? (similar to what the Cycle Analyst allows on it's Throttle menus).

Have different types of throttles, mechanically and electrically, made any difference with any of the controllers?

For instance, I found that a cable-operated hall throttle worked much better for me than any of the in-grip/mount-sensor versions so far tried had, pulled either by a brake lever (to control regen braking) or an ATV thumb throttle (for traction control). I haven't yet tested the Domino pot throttle I got used; it may give different behavior from what I previously experienced with in-grip/mount-sensor throttles (vs COTs).
 
Hi amberwolf. My apologies for overlooking your reply until now. Yes, many of the controllers allow for throttle voltage threshold adjustment. You're correct, eliminating dead zone is one of the important pieces of the puzzle. Motors that react slowly to throttle input lead the rider to "over-rotate" in search of torque which then leads to too much throttle when the motor finally catches up. Poor chain tension can also contribute to a lag that jolts the rider when coming on and off the throttle. My real issue is poor modulation in the link between throttle and motor. If there was true linearity between throttle input and motor torque, that would probably be satisfactory. If I could use the first 50% of throttle input to control the first 30% of torque, that would be even better. Right now I seem to have a small band of throttle range that is meaningful (and therefore over-sensitive) and a lot throttle range that seems to have only a minimal effect on torque output. To make and example, if I have 90 degrees of available rotation. It feels like I'm using only 45 degrees for 80% of motor control. It feels like 5 degrees takes me 0 torque to 20% torque meaning that the "launch" of the bike is very sensitive and almost impossible to control in tight spaces or when trying to ease the bike over obstacles. I've been informed that this behavior is partially inherent to the architecture of a given controller and independent of settings. Supposedly the FarDriver architecture is better than Votol in this regard. I've ordered a FarDriver and therefore will be on controller number 8. I rode a high-powered dirt bike with a VESC controller last year and it's throttle control was excellent but I haven't personally gone down VESC road yet. Hoping to find others who are on this same journey. Oh, and yes, I've experimented with many throttles including both cable and internal Hall. They don't seem to be a major contributor to the behavior.
 
If you have access to a cycle analyst, you might try one out with all limiting turned off, only using it to convert throttle input and output ranges for mapping..

Then try using it's current monitoring and the Again / Wgain settings to alter the responsiveness.

Alternately if you know coding or someone that can do it, you could use a little 5V (not 3.3v) Nano or similar with 5v-range analog in and out, and write a program that does the response-curve alteration you're after.

While I'm not programmer enough to create one of these yet, I know just enough to know that with no UI and just hard-coded conversion math or tables, it shouldn't be too hard to do, as long as you always use the same throttle model (so it always has the same output range vs physical motion) and the same controller/etc system (so it always responds the same to a given throttle input). If you change either of those you'd need to change the math or tables to match.

If you need a UI or ability to alter the curves/etc without editing code and reflashing, the code complexity grows beyond my ability to predict....


Regarding the COTs, you can use pulleys along the lines of the Problem Solvers Travel Agent to alter the amount of pull for a given cable pulling device. If you use eccentric pulleys and the right start/end points and curves for eccentricity, you can control how the cable pulls the throttle and thus how the system behaves.

Personally, I'd rather do that in software, because I can't machine things like that, but it *is* possible to do. :)

If you use potentiometer throttles, then if the pot used in the throttle is linear, you could change to a logarithmic version and greatly alter the voltage curve coming out of it.
 
Thanks again. All are sensible and clever suggestions and could make for some enjoyable experimentation. I do have a CA and have waivered about using it's "throttle management" functionality. My conundrum is that I'm working to build a commerical product and therefore need to steer clear of patches and work arounds. Clearly the functionality exists in some motor controllers and therefore my limited time and resources must remain focused on the direct solution.
 
Thanks again. All are sensible and clever suggestions and could make for some enjoyable experimentation. I do have a CA and have waivered about using it's "throttle management" functionality. My conundrum is that I'm working to build a commerical product and therefore need to steer clear of patches and work arounds. Clearly the functionality exists in some motor controllers and therefore my limited time and resources must remain focused on the direct solution.
So you are only using the CA as a display, and your throttle is connected directly to your controller?
 
Correct. I'm using a CA as a display with an Analogger for data collection at the moment. Because a CA won't be part of a production vehicle, there's minimal value in developing a solution that's dependent on it. I'm trying not to develop custom hardware solutions under the assumption that many people have already solved my low-speed control problem and I simply need to follow the existing pathways. Thanks in advance for any insight!
 
I'm trying not to develop custom hardware solutions under the assumption that many people have already solved my low-speed control problem and I simply need to follow the existing pathways.
300Nm and "friendly to inexperienced riders". Not sure I've seen that yet.
 
Haha, I know what you mean. Just to be clear it's 300Nm at the rear hub which is enough to pull you up a 50% grade with cargo but a long way from 300Nm at the motor shaft or gearbox output.

Like I said above, I own a Gogoro which has similar levels of wheel torque and does a nice job of managing it. I know they had the privilege of building something fully custom, and I don’t, but their tech is about six years old and there’s a lot of people working on this stuff in those interim six years. I'm trying to tap into some of that.

Also, my bike will use the standard 3-mode power settings. I’m not expecting it to be quite so friendly in in the “high” setting as the “low” setting.

Thanks again.
 
Well, the only controller**** I've personally seen a screenshot of the throttle tuning for was a VESC, here in this thread
1688095258398.png

As I have never used one, I don't know if it is anything like what you want, but it is another option to research (since you already said you didn't want to just try one) I have not yet even explored the setup software (which you can dowload off the main VESC project website, but might require connection to a controller to actually adjust anything--some setup software does, some doesn't).

If it is like control envelopes in music editing software, you'd be able to add nodes wherever you need them and adjust the curve between them to get the exact throttle response you want. Hopefully it can be done something like that, but as noted, I haven't tried it out.


****not counting the Lebowski DIY brain chip, but that's almost certainly not an option you would want to explore.
 
I have a bike with also more available torque than I use nearly all the time due to the extremely low gearing I currently have and can say the VESC throttle curve is very helpful in making it controllable at slow speeds and up steep hills.

There are some other factors though that I think are very important, one is simply the type of throttle, nearly all cheap ebike throttles have really weak springs and poor ergonomics leading to being rather difficult to modulate without a fair bit of practice. You may just play around with some rubber bands and make the throttle stiffer and move it around or modify it to make it easier to actuate. Think about it this way, it doesn't take very long for even new riders to get a pretty good feel how to modulate brakes and this is in part because they are more pressure actuated and not movement actuated. Imagine how hard it would be to modulate breaks if the difference between light braking and full lockup was just a very light swing of a lever with little feedback.

Another option would be to start people off with a power limits or speed limits set, you can still have high phase amps and torque but you limit the bike's ability to get away from people.

I also assume that motor is directly driven to the rear wheel with a chain drive so ensuring that system doesn't have too much slack or to much regen, if there is a freewheel (a problem I have) that will make things tricker and there aren't any great solutions but there are some.
 
Thank you both for your feedback. It sounds like VESC would be worth exploring. I would need to source from a decent mass-production factory as a opposed to fancy units retailed by folks like Trampa and Tronic. Have you come across any discussions regarding suppliers with strong reputations?
 
Mostly with VESCs it seems you get what you pay for however even many of the cheaper units are decent. The Flipsky metal PCB VESCs for instance are decent for lower to mid range power and good prices and the 3Shul are pretty good for the price for higher power levels. That being said they are not as well built or as reliable as the Trampas and Tronics which are probably the best VESCs out there.

The biggest complaint I've seen about the VESCs is the complexity in programing them but honestly I think that depends. They are not as plug and play as other controllers but that is often because those controllers are designed to work for a specific motor type so while the it's easy to get them to work with that it can very hard to get them to work well on a different motor type, VESC is designed to be able to run any motor you hook up to it so by definition it has a lot of settings and ranges to cope with that.

The one thing I will say though is with VESC and IPM motors turning on MTPA is very important. I could not get my IPM motor to run well without it due to tracking loss switching from hall sensor to sensorless but once I turned MTPA on it was fixed and the power improvement was insane. I don't know which of those other controllers have MTPA but I would not consider any controller for an IPM motor without it.
 
Thanks again scianiac. I have a Flipsky ordered and will start to build my experience with VESC. By my understanding, the critical difference here is that VESC will allow you to control the current/torque of the motor whereas all the other common controllers are PID architecture and therefore are speed control. When the throttle is telling the motor to pursue a certain speed, it's quite clumsy. You can set ramp speeds and delays that change the way that the motor moves from one speed to the next speed but ultimately the user is not actually in control of what they care about (torque). For example, on flat ground you can tune the PID to "launch" nicely but then take the bike to a hill with some heavy load, and the launch will be way too slow and awkward while you're waiting for the controller to ramp up the current to get the bike moving. If you re-tune to work nicely on the hill, then the flat-ground launch will become harsh and "jumpy". PID is for motion control of factory machinery, not vehicle throttle control. What do you think?
 
You should test Nucular controller. There is 8 point throttle curve that you can adjust, and you can select different throttle modes, like speed, torque and power etc. Torque control directly at phase amps, power mode control power in watts etc. And it support MTPA etc.
 
Thanks Nixunen. I visited their website and unfortunately the size that I would need (6F) is on indefinite pre-order and there's no indication of pricing. Seems like it could be a future consideration but is still not ready for mainstream. Please let me know if you have additional information.
 
I think know some of those controllers you listed have torque/current control in addition to speed control but yes a speed control based controller is pretty hopeless to control. The VESC has a few different throttle options and generally torque/current is what you want. There are often various PID loops in these controllers managing different things. For instance there is a PID loop in the VESC that manages the current and you can adjust it's variables which can be very useful as you want the controller to manage the current to keep it very stable and not oscillate, although in my experience the default settings from the wizard are pretty good.

It sounds like you are designing for some level of production and I think the VESC does have some pros and cons for that application. A pro would be the apps have a lot of settings and data capture so getting it perfectly tuned for your motor and application will be easier than one lacking data capture, then you can just flash over. You also can probably switch to a different model and manufacturer of VESC and use most of the same settings with only some very slight tweaks so you aren't stuck with one controller. The annoying downside of the VESC seems to be most of them are not waterproofed in any way so you have to figure that out yourself, like I had to make a waterproof case for my Flipsky 75200.
 
Thanks Scianiac. You're correct, I have only a basic understanding of the controller hardware and software. When it comes to code and chipsets, I'm outside my knowledge zone. Sounds like using "PID controller" interchangeably with "speed controller" is inaccurate. I guess PID is used anytime there's an oscilliating value that needs to be controlled towards a target value. You're also correct, a custom case is part of the design for both waterproofing and heat management. I appreciate your validation of the pathway that I'm following.
 
Back
Top