Throttle Control Modes

Altair

1 kW
Joined
May 3, 2014
Messages
330
Location
Quebec, Canada
Hello
In this post, I want to have a look at the existing throttle modes and maybe examine the need for a different one.

RPM mode:
Everyone is familiar with the Speed mode where the position of the throttle controls directly the RPM of the motor. This is done internally by Pulse Width Modulating the signal going to the motor, effectively varying the voltage applied to the phases of the motor. The motor tries to follow the speed commanded by the throttle, within its torque limits, of course.
With this mode, the throttle feels more like a switch than a throttle because tries hard to match each new position of the throttle, resulting in constant small accelerations & decelerations.

TORQUE mode:
The common Torque mode that everyone prefers works by controlling the current going to the motor, rather than the voltage. It controls in fact the strength of the motor.
The throttle commands a certain torque, and then the resulting RPM is dependent of the load that the motor has to work against. If there is a very small load as when you're on flat ground with a tail wind, the bike will gain speed more and more even if the throttle is almost closed. This is sometimes not fun because you have to close completely the throttle from time to time to try to maintain a constant speed.
In the torque mode with the throttle just cracked open, the motor will end up reaching its maximum RPM if there is no load on the rear wheel.

POWER mode:
With all our (internal-combustion-engined) cars and motorcycles, it is very easy to maintain a chosen speed, easier that with our electronic controllers, and the reason is that in addition to being primarily torque-based, the throttle also controls the RPM of the engine when there is little load on the wheels. Like for example, whth the transmission in neutral, the engine doesn't keep increasing its RPM until it reaches the max.
So the automotive throttle seems to be mostly a torque control, but at lower position, it integrates a form of RPM control. It facilitates the control of vehicle speed. This type of control feels the most natural to me, anyway.

Would it be worthwhile to try to integrate this form of control in our controllers?
It probably already exists, maybe in the Kelly controllers. From the comments I've read, the throttle mode used is not of the torque mode ("not a true torque mode but it feels good") but there is no details given in their specs.

I would be interested in knowing what you think.

Cheers
 
If you read around the forums, you'll find a number of controllers that offer at least a couple of those modes, some of them all of them.

You can also get them all by using a Cycle Analyst v3; there's a really long thread about the "beta" of that, if you look for threads started by Justin_LE.
 
amberwolf said:
If you read around the forums, you'll find a number of controllers that offer at least a couple of those modes, some of them all of them.
You can also get them all by using a Cycle Analyst v3; there's a really long thread about the "beta" of that, if you look for threads started by Justin_LE.
i'm not sure if a CA will REALLY work that way. what does the CA do? it senses the battery current and then adjusts the voltage going to the throttle-input-pin of your controller, depending on one of 3 modes: speed, current, power (leaving out the non-modulation mode "pass-thru").
BUT do to the modulation of the throttle voltage you can't make a speed-throttle only controller NOT behave like a torque-throttle controller. that would be great. you can't because you have no idea of phase amp, and of the controller's internals.
at least this is my humble opinion. i wish someone proofs me wrong and i can setup my CA to make my speed-throttle'd kelly controller a torque-throttle'd one.
 
Thanks amberwolf,
I've checked the manual for the CA, and indeed it has a mode called Power mode and it says that it is a closed-loop control like the two others, but afaik, the CA isn't able to read the phase amps, so I believe the only feedback it gets is the battery current, as pointed out by izeman above. I would be wary of a control based on this scheme. In a car or motorcycle, the control of power to the engine is open-loop and that works very well.

The best place to manage a Power throttle mode would be inside the controller itself, not via an add-on module. The algorithm shouldn't be too complicated for a programmer.

izeman, what is the model of your Kelly that has a Speed mode?
 
the POWER mode of the CA is imho just a CURRENT mode that takes voltage into the equation. so your output will always be the same, even while the battery drains, the CA just raises current to sustain power.

the kelly controller is one of kelly's new models: a KLS6018S. http://kellycontroller.com/kls6018s24v-60v240asinusoidal-brushless-motor-controller-p-1339.html
we have a big thread just about this model range: https://endless-sphere.com/forums/viewtopic.php?f=30&t=71942
 
izeman, I've checked the manual for your Kelly, and I didn't find any mention of the throttle mode used, or if there is a choice of 2 modes either. But in section 4.3, step3 (9), they mention a torque mode...
Are you sure you have a Speed mode? This is the mode that everyone hates, so what would be the point for Kelly, of designing a state of the art sinewave controller and giving it a Speed mode throttle?
 
Altair said:
izeman, I've checked the manual for your Kelly, and I didn't find any mention of the throttle mode used, or if there is a choice of 2 modes either. But in section 4.3, step3 (9), they mention a torque mode...
Are you sure you have a Speed mode? This is the mode that everyone hates, so what would be the point for Kelly, of designing a state of the art sinewave controller and giving it a Speed mode throttle?
user merlin stated that he got the information from fany@kelly directly that they implemented speed throttle with the new sine wave controllers. you can't change that in the config software - and you don't see any hint about it.
 
The standard Throttle to PWM mode that most controllers use is open-loop. Nice and simple. With a clamp to limit battery current and a calculated estimate of phase current. I call this PWM Throttle to differentiate it from a true Speed Mode.

Speed Mode is a bit different, as it is closed loop, like throttle adjusted cruise control. It is similar to PWM throttle, but even more annoying. Not sure who would want that mode. The Cycle Analyst has it, though I've not tested it.

The CA mode I've used is Battery Current mode. This is an improvement over PWM throttle, but at low speeds only a part of the throttle range is useful since current multiplication causes the motor current to hit the limit at a low throttle setting like 20%. Still it gives better control than the traditional PWM Throttle.

Power Control feedback throttle in the CA is almost the same as Battery Current, except they feed back on voltage times current. So it compensates for sagging pack voltage, as was mentioned above. Not a very different user experience unless your pack sags significantly.

Most of the sinewave controllers have torque throttle, which is easier for them since they need to measure motor current as part of the sinewave control algorithm. Sevcon, Sabvoton and the BAC series that Ebikes.ca is experimenting with are examples of these.

Some high end controllers have "torque plus speed" control. This would probably be close to an ICE throttle. I think Sevcon has this, but the programming is reportedly complicated. I haven't tried programming a Sevcon myself.

It is better to put these algorithms inside the controller, but the commodity controllers don't seem to be moving in that direction, so making an external adapter to achieve this is common, hence the CAv3 or Throttle Tamer, among others.

I have ridden the Zero motorcycles most of which which have a Sevcon based torque throttle, and I have a Sabvoton controller on the Borg which has a torque throttle in the controller, plus the various CA setups that I have used, plus the Bafang BBSHD has a torque throttle simulation in the controller that works fairly well. While I do see the "unloaded accelerate to max speed" when testing with the wheel off the ground characteristic of the torque throttles, in real conditions this is rarely noticed. Riding on ice or doing large jumps would be cases where it might be noticed. Possibly in extremely slippery mud. But generally it does not happen when there is any loading on the motor, and the control experience is greatly enhanced over the default PWM throttle control.

I've been looking at the motor control equations and it appears that a torque control adapter for PWM throttle controllers is possible without a motor current sensor. To do so requires incorporating the control parameters for the motor into the algorithm. I plan to test this out soon with a prototype for my AWD Novara Mountain Bike setup. If it works out perhaps we'll have something of general interest to report.

I've always been interested in the "torque plus speed" throttle mode, so will probably try that as well. It should take a very few lines of code to add that to a torque throttle.
 
but i still don't understand how an external controller (what the CA is) could really make a speed throttle act like a torque throttle?!
let's say i open the throttle 50% and have my CA set to "current mode" and set current max to 100A. this would make the CA level the throttle output (0-5V ideally) until the CA sees a more or less steady 50A at it's shunt input. the controller would see a signal rising from 0V to the value coming from the CA, but it would still try to reach a certain speed/wheel rpm as fast as possible.
so i the controller is also set to 100A output it would still try to output 100A to the motor to make it turn. now the CA sees the current rise, and as it starts to reach 50A (as it's PID controlled) starts to lower the speed signal voltage before battery current reaches 50A and the controller now tries to reach a lower speed. but still it tries to achieve that as FAST AS POSSIBLE.
is there a mistake in my thinking? and if yes: how would i approach the issue of finding the perfect throttle curve? set the controller to unlimited and control everything with the CA, or vice versa? or something in between? i guess that, if the controller has a PID controlled throttle (of any kind) and you want to control that with the CA closed loop logic this would cause a lot of trouble.
 
Excellent post Alan !
I forgot to give the reason why I named the third mode "Power", it's in relation to the formula for power where it's the Torque times the RPM, divided by a constant. So by your mention of the "Torque plus Speed" mode, I'll assume we're talking about the same thing.

It will be very interesting to see your report on the new mode.
Don't you think that the feedback of RPM might be needed to be able to implement this? Or maybe by having a control of PWM that goes down practically to zero, it will help to control the RPM runaway at low throttle.

Cheers
 
Hi Folks.

Thanks for the comments. Trying to explain it clarifies it, a good exercise to work through.

There is no perfect throttle curve. That's the wrong way to think about the system. It is a moving target.

RPM is needed to adjust the mapping dynamically. Think of it this way. There are two components of voltage in the motor. One is back EMF and the other is driving heat and making torque. Back EMF is related to RPM. So if you know the RPM you can calculate the back EMF component of the effective motor voltage.

Let's take the case of a stalled motor. Not turning. This makes zero back EMF. So we can ignore that for a minute and explore the torque production mechanism. Then we'll add the motion part back and deal with that.

If you know the resistance of the motor (and wires, etc), you can calculate the voltage required for any motor current (we ignore inductance here). Let's pick 100 milli ohms of resistance to make it easy. If we put 1V on this motor we'll get 10 amps. If we put 10 volts on this motor we'll get 100 amps (which we'll assume is our max motor phase current). So we have a nice torque throttle from 0 to 10 volts.

If the battery is say 50 volts, and we have a standard PWM controller we'll only get useful torque control from zero to 20 percent of throttle which makes the 10 volts (at zero speed). Then the controller should not allow the PWM to go above 10V since it is (we hope) correctly estimating or measuring motor current and 100 amps is our limit.

So we have a nice torque throttle at zero RPM, at least from 0 to 20% of throttle, and a mapping could be made to spread that out over the whole throttle, but of course the torque makes things move, and that mapping would not allow us to get to full speed. But, as long as we know the back EMF for the present RPM we can just add that to the voltage we need for the torque we want and make the PWM for that (which is the voltage we send to the controller's PWM throttle input). So the 10 volts of torque control range just moves up the voltage scale as the speed goes up. If the back EMF at some speed is 15 volts, we want to output PWM for 15 to 25 volts to the motor (at that speed) for the full throttle torque control range. If this is constantly updated as the speed changes it will simulate a torque throttle.

There are complications like resistance changing as the motor heats, and knowing the back EMF versus speed accurately enough and so on, but you get the idea. How well this works will have to be tested to see if these other details are significant enough to matter much, or if we can put them into the manager's equations and have it make those adjustments too.

Does this make sense? I know it is a bit confusing.
 
Hi Alan,

You've obviously spent a lot of time thinking about this.
There are indeed many considerations to take care of, and many ways to do it, with different results.

In thinking about a totally open-loop scheme, if for example the throttle voltage was used to control linearly the amperage to the motor, up to the preset limit of course, and at the same time also control the PWM. There would be no mapping except for adjusting the input voltage from the throttle, and no additional management of voltages/currents. It would in fact modulate power as a percentage of available battery voltage and a percentage of the allowed amp limit. Wouldn't that be analogous to an ICE's carburetor control?
 
Altair said:
Hi Alan,

You've obviously spent a lot of time thinking about this.
There are indeed many considerations to take care of, and many ways to do it, with different results.

In thinking about a totally open-loop scheme, if for example the throttle voltage was used to control linearly the amperage to the motor, up to the preset limit of course, and at the same time also control the PWM. There would be no mapping except for adjusting the input voltage from the throttle, and no additional management of voltages/currents. It would in fact modulate power as a percentage of available battery voltage and a percentage of the allowed amp limit. Wouldn't that be analogous to an ICE's carburetor control?

Hi Altair,

I'm not sure what you intend to mean by "allowed amp limit". It sounds like a battery current limit. So I would call that a power throttle, if I'm understanding correctly. The CA can do a power throttle, but uses a feedback loop. So let's look at battery current and power for our example and see how it changes over the speed range at maximum torque.

There are two interesting currents here. Battery current and Motor current (sometimes called phase current). They are not the same due to the transformation that occurs in the controller.

The only thing the manager can control is the throttle voltage to the controller which is effectively the PWM request. Everything else does what it does depending on the physics. There are no other controls available. I agree that keeping things open loop is better, no feedback to tune and no delays from integration responding to loop errors. Mapping is not feedback, it is a combination of calculations and look up tables. The technique I am considering has no integration or error feedback, it is feed-forward and open loop once calibrated. The calibration process itself is in a way a feedback loop, but once done it is a constant set of parameters and/or lookup tables and no integrator is involved.

Let's try to understand the stalled motor case, the half speed case and the max power case, and see what happens in more detail. We need to look at the battery current and the power flow.

If we use our earlier example to illustrate what happens at zero speed, so there is no back EMF, the motor resistance is 100 milli ohms and the max current is 100 amps, the range of allowed motor voltage is 0 to 10 volts. Let's look at the 10 volt max current "launch" case.

So let's look at power. We are at max motor current, developing max torque. RPM is zero so no work is being done. Motor heat is current squared times resistance which is 1000 watts in our example motor. So at launch the max power we can apply is one kilowatt. So the max throttle signal should go into the manager and through the equations and come out to the DAC that feeds the PWM controller at the throttle voltage that makes a PWM of 20% to get 10 volts for the motor from the 50 volt battery. We'll ignore some details there for now and assume we have mapped out the offset and range to be able to do that. Note that to draw 1000 watts from the battery at 50 volts the battery current is 20 amps, so the current multiplication is five times at zero speed. Twenty amps of battery current is being transformed to 100 amps of motor current. This is normal and is the result of conservation of power as the controller is functioning as a buck switching regulator. In our case we are ignoring losses, and in a real motor controller the losses are small.

Now let's pick another point on the curve that we can easily calculate. Let's pick the point where the back EMF is 50 percent of the battery voltage, or 25 volts. So our speed is half the max speed. Assume we are still making max torque. So the motor current is still 100 amps. Now the total motor voltage must be enough to overcome the back EMF and enough to generate 100 amps in the resistance of the motor, so the effective motor voltage will need to be 25 plus 10 or 35 volts. At 100 amps. So the total motor power is 35 times 100 or 3500 watts. Of which 1000 watts is still going into heat because I squared R is still the same, and the remaining 2500 is going into work. The battery current is now 3500 divided by 50 volts or 70 amps. The current multiplication is now 100 divided by 70 or about 1.5 times.

So while full throttle corresponds to 1000 watts at zero speed, at half speed it corresponds to 3500 watts. It will continue to rise until it reaches 40 volts back EMF above which point there won't be any more voltage available to maintain the motor current at 100 amps. At this point the back EMF times motor current is 4000 watts and the motor heat is still 1000 watts so we are peaking at 5000 total watts. The battery current is the same 100 amps as the motor current since the full voltage is being applied, and PWM is at 100 percent. The system is still accelerating (as long as drag is less than applied torque), but torque is about to drop as the speed, and back EMF rises and prevents the motor voltage from producing full current. This is the max power point.

Clearly if we want a torque throttle modulating to a constant maximum torque (and motor current) the max power will vary over the speed range. The battery current required to produce max torque varies from 20 amps to 100 amps over the speed range. If the throttle is used to control either power or battery current then a lot of the throttle range will not be used at low speed as the motor current limit will kick in and prevent those power levels or battery currents to be reached.

This simplified analysis ignores inductance, changing resistance due to heat, and many other things. The question is, how important are these details to producing a throttle control response that is adequately similar to a torque throttle. Measuring motor current and doing feedback on that is possible, but that is a feedback system, and physical measurements of motor current are not easy to undertake in a reliable noise free way, and the hardware would have to be added to the high current and high voltage motor phase leads. Three phases and non sinusoidal waveforms complicate things since at least two phases would have to be instrumented and the waveform analyzed for RMS current. So the goal is to use simpler measurements and known parameters to infer the motor current adequately for the torque throttle control model.

The ICE cannot apply full power at idle, the amount of fuel that can be consumed is a function of RPM and the pumping rate of the engine. The thing that keeps an ICE from running to max RPM when unloaded are the massive losses due to the low efficiency of the system finding equilibrium with the fuel supplied at low throttle settings.

New vehicle engine control computers use a torque throttle model. They do feel a bit different from the old cars, but it is a natural control response and works well for the human feedback loop. I doubt they measure engine torque and do feedback, they likely use data in the engine computer and modelling to calculate the torque, similar to what we are proposing here.
 
Alan,

What I had in mind by writing "allowed amp limit" is just the user-programmed maximum phase amps that the controller will supply to the motor, to avoid toasting the motor.
I was also thinking about the throttle mode integrated in a standard controller, without external manager or "analyst" module .

Your explanation of the relationships within a system is the best I've seen. I now understand much better, particularly the (formerly obscure) current multiplication " feature" of controllers.
Your calculations are also based on a continuous dissipation rating of 1000W from the motor, be it stalled or at max RPM.
If we assume that the max rating of 1000W is allowed to be exceeded momentarily when the motor is stalled or accelerating, we can also let the full throttle voltage reach the controller, and expect lots of additional torque at low throttle positions, along with lots of additional heat in the motor, which will quickly lead back to a stalled condition but un-planned this time. :wink:

By the way, my application is for off-road and trials-type riding, so I need to be able to regularly pop the front wheel up over obstacles and also jump up on things with instant full-throttle bursts, I HAVE to exceed the continuous rating of the motor by a large margin, and I also need to abuse it by keeping it in a stalled state for many seconds, although not at full throttle, maybe just 5-10%. I therefore need a very good throttle response at low positions.
Other times, dong slow trail riding, I'll be mostly running with a constant throttle position and this is where I want to avoid the RPM runaway of the torque-type throttle.

Hence my quest for a type of throttle mode that answers my needs. The main reason I came here was to see if there is a way to have an improvement on the Torque mode.
Obviously, most people use their bikes on the street where the requirements of throttle control are less stringent, I believe.
Your exposé gives me a lot to think about. I'll follow this conversation and learn more as I go along.
We probably won't be able to find a throttle mode that can satisfy everyone's needs, but it sure is fascinating to think about all the possibilities.

Thanks
 
Altair said:
Alan,

What I had in mind by writing "allowed amp limit" is just the user-programmed maximum phase amps that the controller will supply to the motor, to avoid toasting the motor.
I was also thinking about the throttle mode integrated in a standard controller, without external manager or "analyst" module .

Your explanation of the relationships within a system is the best I've seen. I now understand much better, particularly the (formerly obscure) current multiplication " feature" of controllers.
Your calculations are also based on a continuous dissipation rating of 1000W from the motor, be it stalled or at max RPM.
If we assume that the max rating of 1000W is allowed to be exceeded momentarily when the motor is stalled or accelerating, we can also let the full throttle voltage reach the controller, and expect lots of additional torque at low throttle positions, along with lots of additional heat in the motor, which will quickly lead back to a stalled condition but un-planned this time. :wink:

By the way, my application is for off-road and trials-type riding, so I need to be able to regularly pop the front wheel up over obstacles and also jump up on things with instant full-throttle bursts, I HAVE to exceed the continuous rating of the motor by a large margin, and I also need to abuse it by keeping it in a stalled state for many seconds, although not at full throttle, maybe just 5-10%. I therefore need a very good throttle response at low positions.
Other times, dong slow trail riding, I'll be mostly running with a constant throttle position and this is where I want to avoid the RPM runaway of the torque-type throttle.

Hence my quest for a type of throttle mode that answers my needs. The main reason I came here was to see if there is a way to have an improvement on the Torque mode.
Obviously, most people use their bikes on the street where the requirements of throttle control are less stringent, I believe.
Your exposé gives me a lot to think about. I'll follow this conversation and learn more as I go along.
We probably won't be able to find a throttle mode that can satisfy everyone's needs, but it sure is fascinating to think about all the possibilities.

Thanks


Thanks.

Lots to think about. I think for trials that a torque+speed throttle might be best, so the speed of the wheel could be controlled when there is no load. When there is a load the speed factor essentially is ignored as the load always brings the wheel speed down below the speed the throttle would call for. So if the throttle is set up for zero to full torque and zero to full speed, whichever limit is reached first dominates the control.

The example numbers were chosen to make calculations simple and it was based on a chosen maximum current and torque, NOT AN AVERAGE. Most hubmotors cannot dissipate 1000 watts of heat for long. A continuous heat dissipation of 500 watts is closer to reality, and even that is a hot motor. The relationship between torque and motor current is only linear up to a point where saturation of magnetic materials begins. This makes a knee in the relationship and the productivity of additional current making more torque is significantly reduced. So you don't want to go too high. Even this knee, for most motors, is high enough in current that the motor will heat quickly. Justin has a thread about that here on ES, he measures it for motors for the simulator. For my purposes this would be the max current point. Exceeding this current reduces the efficiency of the motor significantly and heats it very quickly. But it is always a choice. Playing this game requires temperature sensors in the motor, or just burning a lot of motors to learn what survives. It is best to select a motor which makes your peak torque requirement at a current below the onset of magnetic saturation. Otherwise the efficiency drops and heat grows too quickly unless these peaks are very rare.

If the full voltage of the battery were to reach the motor (corresponding to 100% PWM) in our example case the motor and battery current would reach 500 amps, and the motor heat would be 25 kilowatts. The controller and battery would have to be designed for this current, or it would fail or shutdown to protect itself. The torque produced would be higher but so far into saturation that it might not be all that much higher. With 25 times the 100 amp heating, it would have to be a short time indeed. Plus the axles and bike frame would have to be engineered to take this torque peak, whatever it is.

It is likely that an intermediate value of peak current would be more useful, but experiments with the motor might be required to find out what that is, and at what point the axle, controller, battery or some other component fails. Since heat goes up with current squared, allowing a double current peak means four times the heat. In the example case the peak heat is about double what a hubmotor can stand, increasing the current by another 41% would double the heat again, so 140 amps is the quadruple over heat point, with an increase in torque of only double compared to the 75 amp continuous rating, assuming the torque vs current knee wasn't reached (in which case it would be the same heat but even less torque increase). Components must be designed for peak as well as average stresses.

The heat generated by a motor is a function of the torque it is producing. So it matters not whether it is stalled or moving, if it is producing that quantity of torque, it will generate the same heat. Cooling processes work better on moving motors, so stalling will increase the temperature only through reduced cooling. If you are going to stall at high enough current to heat the motor you might consider cooling improvements. If the stall current is low enough it won't be a problem.

Note that the example motor was a 5KW system, not a 1KW system. The 1KW was just waste heat at maximum torque. To keep heat to 500W would require staying below 75 amps of motor current.

The RPM runaway of torque throttles only happens when the load drops to near zero. Large jumps, ice or super slick mud. Otherwise it just doesn't happen. If you get a controller that has torque+speed throttle you can control the wheel speed in these unloaded situations. I have seen it on some controllers, but I don't recall for certain which. Sevcon I think has it, maybe some Kelly models. It should probably be the default mode for all controllers.

Let us know which controllers you find have speed+torque modes.
 
Hmmm, I'm not sure that a speed limiter would be useful for trials, or dirt bike in general, unless the threshold for the activation of the limit, is very progressive.
Actually, on a ICE bike, the throttle control feels like a big spring is pulling the bike. If you open the throttle wide, the spring gets stretched a lot, making the bike accelerate rapidly. But the accelration doesn't last because as the engine is gaining RPM, it is loosing torque, which makes the spring pull less & less hard, until at max RPM, the spring isn't pulling enough to make the bike go any faster. It is still stretched somewhat because of the drag of the bike. (I'm ignoring the transmission just for the sake of clarity).
If you then close the throttle to 1/4, the pull on the spring is reduced and the bike looses speed until it stalilizes at a slower speed.
There is no hard limit on either speed, nor torque, it's all smooth transitions. In fact, it's like a Torque-mode throttle, except that there is no RPM runaway at no load.

My actual motor is a MAC that I transformed to a mid-drive, and I'm painfully aware of its limitations, current-wise and temperature-wise... :) Luckily, I have a temperature sensor in it that is monitored by my Adaptto, and it allows the current to be reduced in advance of reaching the max of 95C deg that I've chosen. The motor is rated at 500W and this is really the max -continuous- rating it can endure. But i sometimes peak it at 2000W instantaneous, going deeply into the core saturation region, I'm sure.
Again, your clear explanation of the heat limits relative to current is highly appreciated.
I think that you should have a sticky at the top of the forum with these explanations. I'm sure it would benefit many beginners and advanced users alike.
 
Altair said:
Hmmm, I'm not sure that a speed limiter would be useful for trials, or dirt bike in general, unless the threshold for the activation of the limit, is very progressive.
Actually, on a ICE bike, the throttle control feels like a big spring is pulling the bike. If you open the throttle wide, the spring gets stretched a lot, making the bike accelerate rapidly. But the acceleration doesn't last because as the engine is gaining RPM, it is loosing torque, which makes the spring pull less & less hard, until at max RPM, the spring isn't pulling enough to make the bike go any faster. It is still stretched somewhat because of the drag of the bike. (I'm ignoring the transmission just for the sake of clarity).
If you then close the throttle to 1/4, the pull on the spring is reduced and the bike looses speed until it stabilizes at a slower speed.
There is no hard limit on either speed, nor torque, it's all smooth transitions. In fact, it's like a Torque-mode throttle, except that there is no RPM runaway at no load.

My actual motor is a MAC that I transformed to a mid-drive, and I'm painfully aware of its limitations, current-wise and temperature-wise... :) Luckily, I have a temperature sensor in it that is monitored by my Adaptto, and it allows the current to be reduced in advance of reaching the max of 95C deg that I've chosen. The motor is rated at 500W and this is really the max -continuous- rating it can endure. But i sometimes peak it at 2000W instantaneous, going deeply into the core saturation region, I'm sure.
Again, your clear explanation of the heat limits relative to current is highly appreciated.
I think that you should have a sticky at the top of the forum with these explanations. I'm sure it would benefit many beginners and advanced users alike.

Thanks Miles.

The torque+speed throttle would be similar, with no load it would act like a PWM throttle, and when loaded it would act like a torque throttle. When it became suddenly unloaded the wheel speed would rise slightly but it would not zoom to max wheel speed like a torque throttle usually does. Seems to be a good combination, especially when testing on a stand with an unloaded wheel.

When they rate a motor for continuous power it tells us that it can accept that amount of power and do some amount of work, but it doesn't mean the motor can dissipate that amount of power. While typical DD hubmotor dissipation is in the neighborhood of 500 watts, geared hubmotors are much less, perhaps in the 100-200W region. For example, if the motor was operating at 500W and 80% efficiency it would be dissipating 100W. The dissipation capacity of a motor is a function of the thermal impedance from the windings to the world which has two main components, one being the heat radiating capability of the motor outside casing to air, and the other being the impedance of heat flow from the windings to the outside casing. Of course many factors affect it on both levels, so it is not a simple thing. But the geared motor has both a smaller casing and more internal impedance from the windings to that casing, so it is a double hit in overall thermal impedance.

On the short term the thermal mass of the windings, and the support structure in their immediate vicinity determines how well the motor can withstand a peak power event, and how much it raises the winding temperature. Again the DD motors have the advantage here due to their greater quantity of copper and supporting materials. On the other hand the gearmotors have the advantage of operating at about a sixfold increase in RPM due to their gearing, and that means a sixfold reduction in torque which helps reduce that pesky I squared R heat production. The geared motor's resistance is higher as well, so the comparison is not easy to make in a direct fashion.
 
The torque+speed mode seems to be the solution then.
Can't wait to see your results once you get it running.

I geared down my MAC with a 2:1 from the motor to the jackshaft (the BB of the bike), and then from there to the rear cassette gives me an additional 1.5:1 in first gear.
Of course, now I'm limited in RPM because that motor has so many poles (36S, 32M) that the e-RPM required is very high. But this allows me to ride the fatbike in deep snow without too much overheating because the RPM is always maxed-out.
What helps is that I machined an aluminum plug that is bolted between the alum centerpiece in the center of the core, and the side cover of the motor. This helps the transfer of heat to the outside. Riding in low temperatures in winter also helps, of course. I think my next mod will be a fan to blow air through the motor. As the rotor already has holes in it, cooling air could go right through the coils in the stator. This could maybe double the heat rejection capacity of the motor...
 
Sorry to dig up a somewhat old thread, but I was happy to see the the subject of throttle control modes being discussed and accurately explained here. However, I'm curious on this point

Alan B said:
The torque+speed throttle would be similar, with no load it would act like a PWM throttle, and when loaded it would act like a torque throttle. When it became suddenly unloaded the wheel speed would rise slightly but it would not zoom to max wheel speed like a torque throttle usually does. Seems to be a good combination, especially when testing on a stand with an unloaded wheel.

I understand conceptually how it might be nice to have a throttle that seems like a PWM throttle if you have the motor unloaded but has all the benefits of torque throttle when on the vehicle. But how does the controller actually know or decide if the wheel is unloaded vs just spinning at a given RPM because that's the speed of the vehicle?

As in, if I have the wheel in a stand and go 50% throttle, I get 50% speed more or less. If I then let go of the throttle, and reapply 50% throttle before the motor spins down very much I'd expect again it to spin at 50% of max speed.

Now I hop on the bike, start riding down a hill and then when the wheel is spinning at this same 50% of max speed I apply half throttle again. Does the controller provide no meaningful power to the hub since it looks exactly like the previous situation and blindly put out 50% pwm duty cycle, or does it somehow know that this situation is different and put 50% of max torque on the motor instead?

I'm curious if anyone actually has a system with a torque+speed throttle mode and can comment on this.
 
I recall seeing torque+speed options on one or two controllers, perhaps it was a Sevcon. Perhaps I saw it on a Zero at some point. A dirt bike rider in a jump uses the throttle to control pitch by the inertia of the tire, they don't want sudden torque to full speed torque to upset them when the tire leaves the ground.

I would think it is just two limits applied at once, full torque and full speed at 100%. Whichever limits first dominates. The tricky part is that full available torque depends on speed, but this can be handled and is already part of the torque throttle. Adding a loop to control speed vs throttle position is not too complicated, as long as the controller knows what the unloaded full speed of the system is.
 
Justin, with a genuine Torque controller, I don't think you need to monitor the RPM of the motor. Obviously at a given PW, the motor will turn at a much higher RPM than when it is loaded, and this is exactly how it should be.
The controller just supplies the motor with the equivalent of a variable voltage (which directly translates to torque), and the resulting RPM is only dependent on the load applied to the motor.
This is the simplest type of drive in my opinion.
For someone who uses his bike in the woods, in very rough terrain, like a trials motorcycle (OK i speak for myself here, hehe!) it allows you to directly control the torque to the rear wheel, exactly like you would do by slipping the clutch on a motorcycle. And when you're stopped on a steep incline, you NEED that kind of control. Which means applying power to a STOPPED motor, just to keep you from going backwards down the incline with disastrous results...

I have been running the Adaptto controller for a while, on its "Torque" mode, but it is absolutely awful in that kind of situation. As soon as you apply a bit of throttle, the controller does all it can to make the motor TURN, so when you're trying to be smooth, the result is a very rough and jerky startup!
I am now on a simple Kelly controller, and it is MUCH smoother in such a situation.

It would really be great to have a controller that allows a very precise and smooth control of the motor torque, from the very bottom of the throttle curve, all the way to the top. It doesn't matter if the motor is stopped or already turning, just send the variable pulse width proportional to throttle position and don't bother about the rest ! :D

A motor with a decent Hall sensor setup will relay its crank position to the controller all the time, even when the motor is stopped or momentarily turning backwards (remember the steep incline?), so the controller has to be able to drive the motor "step by step" during this phase of operation, until the RPMs have risen enough so the controller can begin to modulate the signal with the sine wave.
The important thing being absolute and precise control of torque with throttle position, totally independent from RPM.

Thanks for visiting this thread.
Cheers from Quebec.
 
OK I just realized that you were talking about the Torque + Speed mode, so I was out of context with my comment above.
However it should be taken as a reference on how an ideal Torque mode should really work. :oops:
 
Really helpful information!!! I am developing OpenSource firmware for the SineWave controllers of Kunteng (that ones that are dirty cheap and connect to a cheap LCD and uses an STM8 programmable microcontroller).

This controllers have 1 current sensor for 1 phase (including the old shunt for motor total current). For now I have the motor running and PWM control with throttle, including the cruise control. Today I started to read the phase current and I need to decide what to do with it... seems the "torque+speed mode" is the most interesting and I will need to understand it before implement...

The OpenSource firmware thread: https://endless-sphere.com/forums/viewtopic.php?f=30&t=87870&start=50#p1299491
 
Back
Top