Pack Voltage vs max rpm/power

Introduction and miscellaneous that we haven't created categories for, yet
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Pack Voltage vs max rpm/power

Post by cloudy »

Damien's video today around the GS450H being under-volted got me thinking...

Presumably these things are inverter current limited at low rpms - I don't have enough experience to know when back-emf and then field weakening starts to play their part.

You can spin a Tesla small drive unit up to around 6000rpm 30% (no load) with just 40V at around ~6amps - how much power would be available under load with a higher current limit at this voltage I have no idea, Damien mentions being able to move the car around at around 40V with the GS450H I believe.
I think ZeroEV mentioned they had a car running a tesla SDU at ~260volts, but said performance was hampered right through the rpm range and to avoid doing it at all costs. My instinct at a fairly modest undervolt would be still current limited at most low rpms (and you could perhaps push the inverter current limit a little harder to make up for that), but this anecdotal evidence would suggest otherwise...

Any others out there with any real-world experiences? It would be interesting to hear people's experiences with running lower pack voltages.
User avatar
Kevin Sharpe
Posts: 1339
Joined: Fri Dec 14, 2018 9:24 pm
Location: Ireland and US
Been thanked: 8 times

Re: Pack Voltage vs max rpm/power

Post by Kevin Sharpe »

cloudy wrote: Wed Jun 03, 2020 8:34 pm I think ZeroEV mentioned they had a car running a tesla SDU at ~260volts, but said performance was hampered right through the rpm range and to avoid doing it at all costs.
We often drive my Tesla SDU powered VW Bus around the yard using a 200V Prius GEN 2 pack. I've no idea what the top speed is but seriously doubt it would hit 30mph even though the bus weighs very little (stripped out insides and no main traction battery installed).
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
User avatar
tom91
Posts: 2410
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 209 times
Been thanked: 572 times

Re: Pack Voltage vs max rpm/power

Post by tom91 »

Kevin Sharpe wrote: Wed Jun 03, 2020 9:11 pm
cloudy wrote: Wed Jun 03, 2020 8:34 pm I think ZeroEV mentioned they had a car running a tesla SDU at ~260volts, but said performance was hampered right through the rpm range and to avoid doing it at all costs.
We often drive my Tesla SDU powered VW Bus around the yard using a 200V Prius GEN 2 pack. I've no idea what the top speed is but seriously doubt it would hit 30mph even though the bus weighs very little (stripped out insides and no main traction battery installed).
The issue is that you need to modify the tune (due to the way the OpenInverter software does not use current and just controls speeds), to recover the lost performance. Which Zero-EV and myself have not dared go to far on.

As you drop the voltage the more PWM duty you need to push the same current into the motor (OHMs Law). However seeing that a Tesla inverter is quite an expensive bit of kit you do not want to empirically find the current limits trying to recover the lost performance.

Kevin, have you modified any of the parameters to compensate for running a lower voltage?
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
xp677
Posts: 440
Joined: Sat Jul 27, 2019 10:53 am
Location: UK
Has thanked: 1 time
Been thanked: 15 times

Re: Pack Voltage vs max rpm/power

Post by xp677 »

The back-emf from the motor opposes the pack voltage. With a higher pack voltage, you gain the ability to consume more power at higher rpm compared to lower voltages.

When selecting a pack voltage you would work backwards from your desired performance at the maximum rpm required.

Inverter current limits are based on the max power which can be dissipated by the switching components, for an IGBT this is (as a generalisation) mostly from P=IV (where I = Ic is the collector current flowing through the IGBT and V = Vce is the voltage from across the IGBT (typically around 0.6V)). This is why IGBTs are used for higher voltage inverters, where as in a MOSFET power dissipation is a function of their internal resistance, Rdson.

The max power dissipation of the GS450h IGBTs is unknown, but can be calculated from the data we have on the unit. It is more complicated in this unit, as the inverter has 18x IGBTs (6 for MG1, 12 for MG2), and different characteristics for the two motors.

I realise you never asked a question in your post. Do you have any questions about this topic?
User avatar
tom91
Posts: 2410
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 209 times
Been thanked: 572 times

Re: Pack Voltage vs max rpm/power

Post by tom91 »

A graph of what happens, less voltage the sooner the torque knee occurs.

Image
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
Kevin Sharpe
Posts: 1339
Joined: Fri Dec 14, 2018 9:24 pm
Location: Ireland and US
Been thanked: 8 times

Re: Pack Voltage vs max rpm/power

Post by Kevin Sharpe »

tom91 wrote: Wed Jun 03, 2020 9:16 pm Kevin, have you modified any of the parameters to compensate for running a lower voltage?
Damien spent a couple of minutes getting it working and I have no idea what he changed if anything. It's only purpose was to move the bus around :)
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: Pack Voltage vs max rpm/power

Post by cloudy »

@xp677 - My question I guess was to try and understand how the effects of pack voltage scale in the real world...

Kevin's mention of a reasonable 200V not feeling capable of 30mph is surprising, I would have expected reduced performance, but not to that extent!
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 2 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Isaac96 »

cloudy wrote: Wed Jun 03, 2020 11:20 pm Kevin's mention of a reasonable 200V not feeling capable of 30mph is surprising, I would have expected reduced performance, but not to that extent!

Likely with a modified tune 200v could still provide good performance (less so at higher speeds). But it would certainly require lots of tuning, just as any voltage does. And as tom91 said, you don't want to catastrophically learn that your power stage doesn't like lots of current.
arber333
Posts: 3567
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 134 times
Been thanked: 336 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by arber333 »

Hm... Leaf motor running at 220Vdc gives enough power to be able to reach 140km/h mounted to transmission.

Likewise i see a rise in performance with Leaf motor and 360Vdc. But i use a single speed gearbox so it is not exactly vis a vis.
User avatar
Kevin Sharpe
Posts: 1339
Joined: Fri Dec 14, 2018 9:24 pm
Location: Ireland and US
Been thanked: 8 times

Re: Pack Voltage vs max rpm/power

Post by Kevin Sharpe »

cloudy wrote: Wed Jun 03, 2020 11:20 pm Kevin's mention of a reasonable 200V not feeling capable of 30mph is surprising, I would have expected reduced performance, but not to that extent!
It's important to remember that reality is often different from what the internet hive mind 'knows'. The Toyota/Lexus systems are a perfect example of that as anyone who's driven in BEXUS will attest :)

It's worth watching Damien's latest Model 3 DU video... at 40V with no load the motor is very slow. Would it exceed 30mph at 200V in a car? Only one way to find out for sure.
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
User avatar
tom91
Posts: 2410
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 209 times
Been thanked: 572 times

Re: Pack Voltage vs max rpm/power

Post by tom91 »

arber333 wrote: Thu Jun 04, 2020 6:07 am Hm... Leaf motor running at 220Vdc gives enough power to be able to reach 140km/h mounted to transmission.

Likewise i see a rise in performance with Leaf motor and 360Vdc. But i use a single speed gearbox so it is not exactly vis a vis.
The biggest issue in this topic is that Induction (speed based) and Magnet (Current Based) are two different beasts due to the opensource inverter code differences.

The induction motor code does not voltage compensate automatically, FOC code (magnet) works based on current so automatically compensates for voltage drop as it targets a current.

Tesla Models SDU and LDU are both induction, thus will not compensate automatically.

All other motors from OEMs(discussed on this forum) are magnet motors thus automatically compensate, I do not know how the field weakening is moved around when certain things cannot be achieved due to lack of voltage to over come bemf.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
arber333
Posts: 3567
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 134 times
Been thanked: 336 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by arber333 »

Actually sine code does compensate for this with rather ingenious code Johannes put forth some years back. Thus even ACIM has voltage compensation in software.
I remember years back even Zapi had this option and it was slip control algorithm.
User avatar
tom91
Posts: 2410
Joined: Fri Mar 01, 2019 9:15 pm
Location: Bristol
Has thanked: 209 times
Been thanked: 572 times

Re: Pack Voltage vs max rpm/power

Post by tom91 »

arber333 wrote: Thu Jun 04, 2020 10:51 am Actually sine code does compensate for this with rather ingenious code Johannes put forth some years back. Thus even ACIM has voltage compensation in software.
I remember years back even Zapi had this option and it was slip control algorithm.
Yes It can, does not do so automatically, you need to set it up, and giant variations in voltage will not compensate fully so anytime you change battery setup you should retune.
Creator of SimpBMS
Founder Volt Influx https://www.voltinflux.com/
Webstore: https://citini.com/
User avatar
celeron55
Posts: 804
Joined: Thu Jul 04, 2019 3:04 pm
Location: Finland
Has thanked: 38 times
Been thanked: 136 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by celeron55 »

Kevin Sharpe wrote: Thu Jun 04, 2020 6:56 am It's worth watching Damien's latest Model 3 DU video... at 40V with no load the motor is very slow. Would it exceed 30mph at 200V in a car? Only one way to find out for sure.
I counted frames in the video, and it looks like the axles were spinning at about 260rpm at 40V. With 2000mm circumference wheels that's 29km/h. So you could be going 100km/h at just 140 volts.
User avatar
Kevin Sharpe
Posts: 1339
Joined: Fri Dec 14, 2018 9:24 pm
Location: Ireland and US
Been thanked: 8 times

Re: Pack Voltage vs max rpm/power

Post by Kevin Sharpe »

celeron55 wrote: Thu Jun 04, 2020 11:17 am
Kevin Sharpe wrote: Thu Jun 04, 2020 6:56 am It's worth watching Damien's latest Model 3 DU video... at 40V with no load the motor is very slow. Would it exceed 30mph at 200V in a car? Only one way to find out for sure.
I counted frames in the video, and it looks like the axles were spinning at about 260rpm at 40V. With 2000mm circumference wheels that's 29km/h. So you could be going 100km/h at just 140 volts.
It's easy to speculate but vehicles driving are more compelling... lets try and deal with facts which I think is what the OP is interested in :)
This is a personal post and I disclaim all responsibility for any loss or damage which any person may suffer from reliance on the information and material in this post or any opinion, conclusion or recommendation in the information and material.
User avatar
Jack Bauer
Posts: 3665
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 11 times
Been thanked: 347 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Jack Bauer »

So a few things to note here. Tom made the most important point in that the Tesla LDU and SDU motors are async (induction) whereas the Toyota and M3 Rear DU motors are sync (permanent mag). Now I am no motor expert by any means but from what I understand and have observed an induction motor is designed around a base speed and voltage. e.g. the Siemens 1pv5135 : https://evwest.com/support/Azure300VDC-400Acurve.pdf
In the case here we see 300v was used. Openinverter controls an induction motor by varying the slip. Slip is how far in front or behind the rotor field is to the stator field. We do this because we need to induce currents in the rotor bars to make them magnets. Hence the term induction motor. No slip = no rotor magnets. No rotor magnets = no torque generated. Ok, so we want to make our induction motor accelerate under load. To do this we add current to the stator windings (Volts) and we make them move (Hertz). The rotor sees this moving magnetic field and gets excited! It gets current induced into its rotor bars and wants to start following the stator field. The encoder tells Johannes brain if the rotor is moving. If not we need to add more V/Hz and so on. Once it gets moving we keep it in line by means of controlling its slip. So what has all this got to do with Pack voltage? Well, we need a certain voltage to overcome the winding resistance but that is quite small. Once we get the rotor moving we want move voltage to push back against the back emf that the rotating rotor is producing BUT we also need to keep inducing MORE current into the rotor if we want to keep it accelerating. So we get a viscious circle. The more we want the rotor to accelerate the more it pushes back against our pack voltage.

So can we cheat? Yes a little bit. In Kevin's bus once we hooked up the prius pack of course it sat there looking at us despite Kevin pushing that throttle like it had an accelerator pump on there:) This is the stationary rotor case. We didn't have enough V/Hz in the stator to induce enough current into the rotor to make it move under load. Answer? MORE BOOST! The parameter Boost causes the initial V/Hz applied at the detection of positive throttle to increase. Once we got enough current in there the bus moves. But not very fast. That's problem 2.

That strong boost is giving us a strong rotor field which causes a strong back emf which causes us to run out of pack voltage to push more current and so on.... Can we beat this? Yes sort of. I didn't bother in the bus because we only need it to move around the yard. But could it do a burn out? oh yeah. Answer is ??? Make one of the magnets weaker! We can't do much about the strong rotor field as we need it to make torque but what if we could weaken the stator field while still having a strong rotor field? That's called field weakening or Fweak in openinverter parameters. Lower that value and we start backing off the strength of the stator magnets at lower rpms. The cost is in lower torque and efficiency if I remember correctly but it lets the rotor accelerate.
I'm going to need a hacksaw
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: Pack Voltage vs max rpm/power

Post by cloudy »

So the boost param is only used during the exact transition from 0rpm to >0rpm? (Haven't really understood the difference between boost and ampmin)

I guess to your point of the required voltage at zero speed the SDU has a boost setting of 2400 in your default params giving just 22V to drive enough current at startup with 355V pack. The voltage increases beyond this would all be in order to create a differential over the rising backemf?

If so, at least at the point of startup in theory a 22V pack with boost set to 37813 would have the same torque as a setup with a full pack (assuming both could supply comparable current)

Is field weakening the dropping of field current via pwm whilst continuing to increase the field rotation speed (hz)?
User avatar
Jack Bauer
Posts: 3665
Joined: Wed Dec 12, 2018 5:24 pm
Location: Ireland
Has thanked: 11 times
Been thanked: 347 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Jack Bauer »

Ok I see I havent really helped the understanding...
I'm going to need a hacksaw
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: Pack Voltage vs max rpm/power

Post by cloudy »

That's disheartening - none of the above is accurate?

It was based off a similar example in the wiki: "Example: boost=1700 At full throttle an effective voltage of 1700/37813*355=16V"
for the SDU example - if motor startup involves a pwm duty to drive 22V (and the resultant ohms law current), presumably a 22V pack with the inverter generating ~100% pwm is capable of generating the same conditions in the motor at this point in time ? (startup only)

Someone mentioned there is some correction factors implemented in code (if you set udcnom) seems to be this portion below:

if (udcnom > 0)
{
s32fp udcdiff = udcfp - udcnom;
s32fp factor = FP_FROMINT(1) + FP_DIV(udcdiff, udcnom);
//increase fweak on voltage above nominal
fweak = FP_MUL(fweak, factor);
//decrease boost on voltage below nominal
boost = FP_DIV(boost, factor);
}
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 2 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Isaac96 »

cloudy wrote: Thu Jun 04, 2020 2:12 pm That's disheartening - none of the above is accurate?

It was based off a similar example in the wiki: "Example: boost=1700 At full throttle an effective voltage of 1700/37813*355=16V"
for the SDU example - if motor startup involves a pwm duty to drive 22V (and the resultant ohms law current), presumably a 22V pack with the inverter generating ~100% pwm is capable of generating the same conditions in the motor at this point in time ? (startup only)
Yes, that should theoretically work. Boost would have to be set to 37813 or whatever the max is.
cloudy wrote: Thu Jun 04, 2020 2:12 pm Someone mentioned there is some correction factors implemented in code (if you set udcnom) seems to be this portion below:

if (udcnom > 0)
{
s32fp udcdiff = udcfp - udcnom;
s32fp factor = FP_FROMINT(1) + FP_DIV(udcdiff, udcnom);
//increase fweak on voltage above nominal
fweak = FP_MUL(fweak, factor);
//decrease boost on voltage below nominal
boost = FP_DIV(boost, factor);
}
This scales boost and fweak according to battery voltage, since boost is effectively a percentage and fweak is the endpoint of the v/f curve.


Here's how I understand boost:

If you had a V/F graph, it would show zero volts at zero hertz.
Let's say the field weakening point is 150hz at 300v. Thus the slope is 2 volts per hertz.

Now let's say the motor isn't moving. You floor the accelerator, and the inverter starts sending power to the motor. If the motor isn't moving then the frequency will equal fslipmax (I think). So let's say the motor is getting 3Hz; it will only get 6v of power!

Boost changes the startpoint of the V/F graph. Now this I'm less clear on; does it change the y-intercept, and thus the overall slope, or does it just provide a flat spot at the beginning? Or maybe it offsets the whole graph upwards?

Anyways boost provides higher voltage at startup.

-Isaac
User avatar
cloudy
Posts: 209
Joined: Wed Oct 02, 2019 12:15 am
Location: UK
Been thanked: 7 times

Re: Pack Voltage vs max rpm/power

Post by cloudy »

I think the relevant code is below. I'm not certain, but it looks like the entire slope is being affected

/** Set 0 Hz boost to overcome winding resistance */
void MotorVoltage::SetBoost(uint32_t boost /**< amplitude in digit */)
{
MotorVoltage::boost = boost;
CalcFac();
}

/** Set frequency where the full amplitude is to be provided */
void MotorVoltage::SetWeakeningFrq(u32fp frq)
{
endFrq = frq;
CalcFac();
}

** Calculate slope of u/f */
void MotorVoltage::CalcFac()
{
fac = FP_DIV(FP_FROMINT(maxAmp - boost), endFrq);
}

/** Get amplitude for given frequency multiplied with given percentage */
uint32_t MotorVoltage::GetAmpPerc(u32fp frq, u32fp perc)
{
uint32_t amp = FP_MUL(perc, (FP_TOINT(FP_MUL(fac, frq)) + boost)) / 100;
if (frq < minFrq)
{
amp = 0;
}
if (amp > maxAmp)
{
amp = maxAmp;
}

return amp;
}
User avatar
johu
Site Admin
Posts: 6738
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 380 times
Been thanked: 1562 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by johu »

Just found this. It offset the whole graph upwards as the various voltage drops don't simply disappear at higher rpm.
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 2 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Isaac96 »

johu wrote: Sun Jun 21, 2020 5:56 pm Just found this. It offset the whole graph upwards as the various voltage drops don't simply disappear at higher rpm.
Glad to hear from the expert on this. Would changing boost theoretically change fweak then?

-Isaac
User avatar
johu
Site Admin
Posts: 6738
Joined: Thu Nov 08, 2018 10:52 pm
Location: Kassel/Germany
Has thanked: 380 times
Been thanked: 1562 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by johu »

Good question as it reveals the expert was wrong ;) the slope is changed as the maximum amplitude is constant. Fweak is nor affected by boost
Support R/D and forum on Patreon: https://patreon.com/openinverter - Subscribe on odysee: https://odysee.com/@openinverter:9
Isaac96
Posts: 656
Joined: Sat Oct 05, 2019 6:50 pm
Location: Northern California, USA
Been thanked: 2 times
Contact:

Re: Pack Voltage vs max rpm/power

Post by Isaac96 »

johu wrote: Sun Jun 21, 2020 8:55 pm Good question as it reveals the expert was wrong ;) the slope is changed as the maximum amplitude is constant. Fweak is nor affected by boost
Hmmm....
The wiki states that
"boost is the digital amplitude of the sine wave at motor startup. It is needed to overcome the motors ohmic resistance. Digital amplitude is an internal quantity. 0 means no voltage is generated at all, 37813 means the full possible voltage is generated."

So does the need to overcome the 'ohmic resistance' disappear at higher frequencies/motor speeds?

-Isaac
Post Reply