Any ESCs do this yet?
#1
Any ESCs do this yet?
Took a brek from R/C, came back and wow.. Playing around with my Tekin RS and its pretty groovy. microcontroller - controlled dynamic timing? sure why not.
As an embedded systems guy I am this >< close to writing my own firmware for this thing. I.. have some ideas.
One of them is this- Would it make sense to retard the timing somewhat (maybe back to 0-10 range) and spike the duty cycle at the low end for a large punch of torque in the sub 1000-rpm range? Seems like this would give some serious corner-punch.
As an embedded systems guy I am this >< close to writing my own firmware for this thing. I.. have some ideas.
One of them is this- Would it make sense to retard the timing somewhat (maybe back to 0-10 range) and spike the duty cycle at the low end for a large punch of torque in the sub 1000-rpm range? Seems like this would give some serious corner-punch.
#2
Tech Champion
iTrader: (159)
Took a brek from R/C, came back and wow.. Playing around with my Tekin RS and its pretty groovy. microcontroller - controlled dynamic timing? sure why not.
As an embedded systems guy I am this >< close to writing my own firmware for this thing. I.. have some ideas.
One of them is this- Would it make sense to retard the timing somewhat (maybe back to 0-10 range) and spike the duty cycle at the low end for a large punch of torque in the sub 1000-rpm range? Seems like this would give some serious corner-punch.
As an embedded systems guy I am this >< close to writing my own firmware for this thing. I.. have some ideas.
One of them is this- Would it make sense to retard the timing somewhat (maybe back to 0-10 range) and spike the duty cycle at the low end for a large punch of torque in the sub 1000-rpm range? Seems like this would give some serious corner-punch.
Unless you are running 1s lipo on a very tight track you are hardly below 3000 rpm.
#3
1000 was a WAG, I ordered a Sentry (was going to build one but heck, its cheaper than I could probably bring one together for and will gather data.
I assumed (have not put it up on a scope yet) that the coils field strength is controlled by a high-speed pulse, same as traditional brushed motors. I meant increase that duty cycle so as to raise the input power higher than that throttle setting would normally call for, resulting in the RPMs the driver is calling for, but at a higher torque.
Let me try and put it another way.
Its my understanding that as timing advances, maximum RPM can be raised but at the cost of torque and with the back EMF heating up the motor. In yesteryear, the compromise was: enough advanced timing to increase top end, but not so much that the motor overheats and has no low-end torque. For this reason motors are still shipped with X amount of advanced timing, with no assumptions about what the ESC will add.
But times have changed dramatically; no compromises are necessary, we can change the timing in software to suit what the driver is calling for at any isntant in time. Great. Except why start at X? why not start at neutral where torque is maximized?
Coming out of a corner I am far more interested in torque than potential top speed, I would like the ESC to retard the timing [from the factory setting of, say 15 degrees] all the way to 0, and increase the power delivery from the battery so I have a smooth increase of throttle, but with much more available torque.
THEN blast the timing up to 50+ degrees for the [short] straight following the corner, and maybe even ramp it up to 80 or 90 (or whatever) for a long straight.
Follow? All I see in my Tekin manual is how to increase the timing. I am prepared to retard the bell on my Ballistics all the way to zero to simulate these effects, but not if giants have gone before me and found it to be pointless.
I assumed (have not put it up on a scope yet) that the coils field strength is controlled by a high-speed pulse, same as traditional brushed motors. I meant increase that duty cycle so as to raise the input power higher than that throttle setting would normally call for, resulting in the RPMs the driver is calling for, but at a higher torque.
Let me try and put it another way.
Its my understanding that as timing advances, maximum RPM can be raised but at the cost of torque and with the back EMF heating up the motor. In yesteryear, the compromise was: enough advanced timing to increase top end, but not so much that the motor overheats and has no low-end torque. For this reason motors are still shipped with X amount of advanced timing, with no assumptions about what the ESC will add.
But times have changed dramatically; no compromises are necessary, we can change the timing in software to suit what the driver is calling for at any isntant in time. Great. Except why start at X? why not start at neutral where torque is maximized?
Coming out of a corner I am far more interested in torque than potential top speed, I would like the ESC to retard the timing [from the factory setting of, say 15 degrees] all the way to 0, and increase the power delivery from the battery so I have a smooth increase of throttle, but with much more available torque.
THEN blast the timing up to 50+ degrees for the [short] straight following the corner, and maybe even ramp it up to 80 or 90 (or whatever) for a long straight.
Follow? All I see in my Tekin manual is how to increase the timing. I am prepared to retard the bell on my Ballistics all the way to zero to simulate these effects, but not if giants have gone before me and found it to be pointless.
#4
Tech Champion
iTrader: (159)
Ok, my responses are in red after each of your paragraphs.
1000 was a WAG, I ordered a Sentry (was going to build one but heck, its cheaper than I could probably bring one together for and will gather data.
I assumed (have not put it up on a scope yet) that the coils field strength is controlled by a high-speed pulse, same as traditional brushed motors. I meant increase that duty cycle so as to raise the input power higher than that throttle setting would normally call for, resulting in the RPMs the driver is calling for, but at a higher torque.
Yes, just like the good old brushed esc's the fets still operate at "x" frequency and are PWM for variable speed. However, there are 3 "banks" of these fets; one for each phase on the motor. I see what you meant by spike the duty cycle, but the esc's are already firing each phase as long as possible (120 degrees of rotation) before moving on to the next. Basically they are already doing what you want to the max. At full throttle the only switching going on is between each bank for each phase and the operating frequency of the fets is moot.
Let me try and put it another way.
Its my understanding that as timing advances, maximum RPM can be raised but at the cost of torque and with the back EMF heating up the motor. In yesteryear, the compromise was: enough advanced timing to increase top end, but not so much that the motor overheats and has no low-end torque. For this reason motors are still shipped with X amount of advanced timing, with no assumptions about what the ESC will add.
Here's what catches everyone with timing. Less timing does not mean more torque at all rpms. There is a "perfect" degree of timing for every rpm range of the motor and any less timing than that results in less torque and less current and more timing results in less torque with more current (which is the cause of most heat). The standard timing is the best average "overall" timing for the entire rpm range. Lets say at 0 rpm the perfect timing is, well, 0 for the most torque (it actually tends to be somewhat past zero on our wye wound motors). Now at 1000 rpm you would actually be losing torque running zero timing. The question everyone trying to find out with testing various setups is "what degree is optimal?" Thats where the boost ramps are played with for hours on end. lol
But times have changed dramatically; no compromises are necessary, we can change the timing in software to suit what the driver is calling for at any isntant in time. Great. Except why start at X? why not start at neutral where torque is maximized?
If you check most RS setups everyone is reducing their timing on the Redline motors around 0 to 10 degrees depending on how much low end torque they want. Its just easier programing wise to set the motor at the minimum required rpm and just call on software to add timing.
Coming out of a corner I am far more interested in torque than potential top speed, I would like the ESC to retard the timing [from the factory setting of, say 15 degrees] all the way to 0, and increase the power delivery from the battery so I have a smooth increase of throttle, but with much more available torque.
See above.
THEN blast the timing up to 50+ degrees for the [short] straight following the corner, and maybe even ramp it up to 80 or 90 (or whatever) for a long straight.
Follow? All I see in my Tekin manual is how to increase the timing. I am prepared to retard the bell on my Ballistics all the way to zero to simulate these effects, but not if giants have gone before me and found it to be pointless.
This is just what most setups do. The big issue most people are running into now is that the timing scheme between manufacturers is not equivalent at all.
I assumed (have not put it up on a scope yet) that the coils field strength is controlled by a high-speed pulse, same as traditional brushed motors. I meant increase that duty cycle so as to raise the input power higher than that throttle setting would normally call for, resulting in the RPMs the driver is calling for, but at a higher torque.
Yes, just like the good old brushed esc's the fets still operate at "x" frequency and are PWM for variable speed. However, there are 3 "banks" of these fets; one for each phase on the motor. I see what you meant by spike the duty cycle, but the esc's are already firing each phase as long as possible (120 degrees of rotation) before moving on to the next. Basically they are already doing what you want to the max. At full throttle the only switching going on is between each bank for each phase and the operating frequency of the fets is moot.
Let me try and put it another way.
Its my understanding that as timing advances, maximum RPM can be raised but at the cost of torque and with the back EMF heating up the motor. In yesteryear, the compromise was: enough advanced timing to increase top end, but not so much that the motor overheats and has no low-end torque. For this reason motors are still shipped with X amount of advanced timing, with no assumptions about what the ESC will add.
Here's what catches everyone with timing. Less timing does not mean more torque at all rpms. There is a "perfect" degree of timing for every rpm range of the motor and any less timing than that results in less torque and less current and more timing results in less torque with more current (which is the cause of most heat). The standard timing is the best average "overall" timing for the entire rpm range. Lets say at 0 rpm the perfect timing is, well, 0 for the most torque (it actually tends to be somewhat past zero on our wye wound motors). Now at 1000 rpm you would actually be losing torque running zero timing. The question everyone trying to find out with testing various setups is "what degree is optimal?" Thats where the boost ramps are played with for hours on end. lol
But times have changed dramatically; no compromises are necessary, we can change the timing in software to suit what the driver is calling for at any isntant in time. Great. Except why start at X? why not start at neutral where torque is maximized?
If you check most RS setups everyone is reducing their timing on the Redline motors around 0 to 10 degrees depending on how much low end torque they want. Its just easier programing wise to set the motor at the minimum required rpm and just call on software to add timing.
Coming out of a corner I am far more interested in torque than potential top speed, I would like the ESC to retard the timing [from the factory setting of, say 15 degrees] all the way to 0, and increase the power delivery from the battery so I have a smooth increase of throttle, but with much more available torque.
See above.
THEN blast the timing up to 50+ degrees for the [short] straight following the corner, and maybe even ramp it up to 80 or 90 (or whatever) for a long straight.
Follow? All I see in my Tekin manual is how to increase the timing. I am prepared to retard the bell on my Ballistics all the way to zero to simulate these effects, but not if giants have gone before me and found it to be pointless.
This is just what most setups do. The big issue most people are running into now is that the timing scheme between manufacturers is not equivalent at all.
#5
Do I understand this correctly:
That folks are cranking their endbells back to reduce or eliminate the factory timing advance, then adding it back with software so it comes in at the appropriate time? If so that's exactly what I'm talking about, glad to know I'm sort of on the right track
Regarding your timing/rpm optimization comments, it stands to reason that for a given motor their should be a "family of curves" that relates torque/RPM for each given timing advance. It seems that this data could be collected and known for any given motor as a controller operates, to produce an adaptive controller, ie:
A controller could note the PW, RPM, and current timing advance and compute a velocity derivative to infer the acceleration and thereby guess the torque the motor is producing, then vary those parameters in order to maximize the desired characteristics. Store that data in a 'learning mode', then upload it for user consideration. Knowing where optimal torque and speed points are could help zero in on an optimal setup regardless of differences in motor manufacturing methods and calibrations (re: Novak vs everyone else)
I realize this might tend to bury a user in too much data, some culling/baking would have to be done, but its exciting to me (can you tell?) that we can even talk about it. I can't wait to get my hands dirty. Of course I am well aware that I am coming at this cold to an industry that has been race-testing algorithms for years now so I'm not hoping to figure something out no one has thought of before, but it would be nice to come at it from an unusual angle
if you check most RS setups everyone is reducing their timing on the Redline motors around 0 to 10 degrees depending on how much low end torque they want.
Regarding your timing/rpm optimization comments, it stands to reason that for a given motor their should be a "family of curves" that relates torque/RPM for each given timing advance. It seems that this data could be collected and known for any given motor as a controller operates, to produce an adaptive controller, ie:
A controller could note the PW, RPM, and current timing advance and compute a velocity derivative to infer the acceleration and thereby guess the torque the motor is producing, then vary those parameters in order to maximize the desired characteristics. Store that data in a 'learning mode', then upload it for user consideration. Knowing where optimal torque and speed points are could help zero in on an optimal setup regardless of differences in motor manufacturing methods and calibrations (re: Novak vs everyone else)
I realize this might tend to bury a user in too much data, some culling/baking would have to be done, but its exciting to me (can you tell?) that we can even talk about it. I can't wait to get my hands dirty. Of course I am well aware that I am coming at this cold to an industry that has been race-testing algorithms for years now so I'm not hoping to figure something out no one has thought of before, but it would be nice to come at it from an unusual angle
#6
Tech Master
iTrader: (15)
it kind of sounds like your doing something that the spektrum telemetry stuff reads, but building it into the ESC. it would be cool if the ESC had some volatile RAM to save these readings to, and then the user can view it on their PC after a heat via USB (like the tekin hotwire / castlelink)
#7
Super Moderator
iTrader: (2)
Do I understand this correctly:
That folks are cranking their endbells back to reduce or eliminate the factory timing advance, then adding it back with software so it comes in at the appropriate time? If so that's exactly what I'm talking about, glad to know I'm sort of on the right track
Regarding your timing/rpm optimization comments, it stands to reason that for a given motor their should be a "family of curves" that relates torque/RPM for each given timing advance. It seems that this data could be collected and known for any given motor as a controller operates, to produce an adaptive controller, ie:
A controller could note the PW, RPM, and current timing advance and compute a velocity derivative to infer the acceleration and thereby guess the torque the motor is producing, then vary those parameters in order to maximize the desired characteristics. Store that data in a 'learning mode', then upload it for user consideration. Knowing where optimal torque and speed points are could help zero in on an optimal setup regardless of differences in motor manufacturing methods and calibrations (re: Novak vs everyone else)
I realize this might tend to bury a user in too much data, some culling/baking would have to be done, but its exciting to me (can you tell?) that we can even talk about it. I can't wait to get my hands dirty. Of course I am well aware that I am coming at this cold to an industry that has been race-testing algorithms for years now so I'm not hoping to figure something out no one has thought of before, but it would be nice to come at it from an unusual angle
That folks are cranking their endbells back to reduce or eliminate the factory timing advance, then adding it back with software so it comes in at the appropriate time? If so that's exactly what I'm talking about, glad to know I'm sort of on the right track
Regarding your timing/rpm optimization comments, it stands to reason that for a given motor their should be a "family of curves" that relates torque/RPM for each given timing advance. It seems that this data could be collected and known for any given motor as a controller operates, to produce an adaptive controller, ie:
A controller could note the PW, RPM, and current timing advance and compute a velocity derivative to infer the acceleration and thereby guess the torque the motor is producing, then vary those parameters in order to maximize the desired characteristics. Store that data in a 'learning mode', then upload it for user consideration. Knowing where optimal torque and speed points are could help zero in on an optimal setup regardless of differences in motor manufacturing methods and calibrations (re: Novak vs everyone else)
I realize this might tend to bury a user in too much data, some culling/baking would have to be done, but its exciting to me (can you tell?) that we can even talk about it. I can't wait to get my hands dirty. Of course I am well aware that I am coming at this cold to an industry that has been race-testing algorithms for years now so I'm not hoping to figure something out no one has thought of before, but it would be nice to come at it from an unusual angle
#8
How different could they be? I am by no means an electric motor expert, but the engineers working at those companies sure are, and I have to believe that a 17.5 spec is going to be fundamentally the same no matter who made it.
Now certainly it stands to reason that different manufacturers might have different ideas about where 'neutral' timing is and place their sensors accordingly, but removing that from the equation they must all be highly similar.
What exactly can vary from brand to brand? I know manufacturers would have the consumer believe their products are black boxes, varying wildly with secret incantations and black-magic techniques to be oh-so-very much better than the their competitors. Slick packaging, obfuscation of timing, it all adds up to confusion and brand-loyalty once a sweet spot is found. I'm not ranting; I've made my peace with commercial realities, I've actually been on both sides of this, but I am honestly curious about this completely new (to me) technology and the intricacies of tuning it.
-Curt
Last edited by curth; 03-24-2010 at 06:29 AM.