SimuCUBE Open Source Firmware Development Update Thread

Thats what other testers also said about this… :grin:

The second calculation is missing- (MMC/1.4142)*TC… I have messaged Mika about this… It seems the voltage based Max torque level is there but not the Max torque based on the actual Amperage. unfortunately the first is a verification that 48V can drive the servo to max torque and the second calculates the Max torque based on the MMC that we are driving.

Yeah, I thank you for this. But, I also believe there is also something other funny things going on w. r. t. that value.

What it is is that the calculation you are using currently with just the resistance /voltage - would change the Max Torque if you changed the Voltage regardless of what the MMC was set too.

The Second one In my above post calculates the Max Torque Based on the Amperage. so a change in Amperage changes the Max Torque.

Once you find out whether a Servo can be driven to Max Torque using the Resistance Calculation i.e. a Large Mige with the first calculation can be driven to 46.25Nm but to do that it would need far more Amperage than the 25A that the IONI can drive… so the fact that it can be run to 46.25 with the voltage verify that it can be driven to the servos Max torque of 30Nm by Voltage alone.

That means that the Large Mige will now be based on Amperage delivery… so you would need to run the other calculation on it which would be (25/1.4142)*1.58 which would yield a correct for amperage number of 27.93Nm which also falls below the 30Nm peak which means it is Amperage Limited.

Another example is the Small Mige - First Calculation Yields 26.24 via resistance, above which means it is fine to meet Max based on voltage. So then the second Calculation is use which would yeild 38.89 @ 25A MMC so this means the MMC has to be reduced to stay within specs… reducing to 12.86A MMC results in 20.01Nm.

Then on the other side you have the Kollmorgen 53G by the first calculation you get an Max Nm of around 20.52 which is 9.3Nm lower than the Peak Output which means that it is voltage limited and therefore the Max torque would be 20.52 so the Max effective Amperage would be 12.15 which would also run the servo at 20.53Nm.

So basically it is an If-then of is the servo able to be driven to Max Nm based on voltage, if yes, then use the other calculation, if no then the number is your Max Amperage (but it is not based on amperage so unless the correct amperage was figured out for the voltage limited units and then placed into MMC automatically (i.e. the kollmoren above) then the slider will not be correct. reason is you could still have the IONI set for 25A MMC using the above Kollmorgen and scale accordingly but I believe you would not feel any change in Maximum strength until you got down to 12.15A…

That being said I am not sure if running a higher Amperage on a Voltage limited servo changes the linearity of power delivery up to the Voltage limited Power… Anyone with a G wind care to find out… The K winds are not Voltage limited so it would have to be tested on a G wind.

So it is actually going to take a bit more calculation and possibly auto setting of Amperage based on the line-line resistance AND Peak Torque… Unless you want to forgo accuracy and go with only the Amperage Based torque which is how we generally use it… The Resistance and Amperage Based torque would be the best though.

Granted because all of this is done on Calculation I would just put Nm output and not specify either Actual OR Estimated… but it would actually lean more toward Estimated output.

1 Like

Confused about this line here in the release notes:

Damping filter was being sent to IONI with setting of 0.0 % if game set a damping effect. This was unintended, and has been changed for this version. On-the-fly changing damping, inertia and friction effects are not being done currently.

Does that mean that on the fly tuning cannot be done? So I can’t alt-tab off the game and make a change correct?

I think what was meant was on-the-fly by the Game itself… or changes cannot be made by the game… The Auto Save changes are still working so if you have the tool open and make a change it will work.

Hi Brion,
No, that 2nd calc should not be done.

I=V/R -> if you use Vrms (48Vdc/1.4142) and assume a 95% efficiency for the Mosfet stage, it will give the 32.2Vrms.

Thus, Irms =Vrms/Line_resistance -> that is what Mika has used. (Max_Torque_output=torque_constant x Irms.

I have already made these tables in the Bruteforce3 thread some time ago…the excel one…

Cheers,
Beano

The only problem is that to accurately get the torque based on the IONI Amperage we have to come back down from the Maximum possible based on voltage otherwise the 100% torque limit will be off which is what is occurring such as with the Large Mige by the first calculation would have a MAX Torque of 46.25Nm (this would take an MMC value of 41.4A POS) which would be correct IF there were no limits such as the Physical limit of the Servo at 30Nm OR the IONI’s Maximum possible Amperage at 25A POS

So the 46.25Nm Voltage Based Nm @ 41.4A MMC is not possible due to the IONI limit of 25A MMC so it would not make for an accurate 100% point calculation.

So we have to figure out where that limit is in order to somewhat accurately calculate what the 100% Nm actually is and that is what the second calculation would do IF the Servo is not Voltage Limited…

Without this calculation back down to where the limits are we are just at a Theoretical Maximum and not the Actual maximum.

On servos that exceed their Maximum torque via voltage then we kind of have to use the second calculation instead to find out the limit of what the IONI can drive via Amperage… so both calculations have to be done depending on whether the servo is Voltage or Amperage limited on the system…

Turns out it is a little more complex to make this calculation than even I thought as calculating in the Voltage Limited Servos is where the hard part is, otherwise we could just use the (MMC/1.4142)*Torque Constant and be done with it.

You cannot do both calculations. You are missing what’s happening in the formulas. It’s already converting VDC or A/POS to RMS values. You do it only once.

If you know the stator winding resistance, the voltage and you have the torque constant, that’s all you need to get an accurate theoretical calculation.

For the rest, Mika might need to do a look-up table where the servo stuff is entered, such as the table I made earlier, to determine the ‘type’ of servo. The small Mige is one of the few that will be able to reach max torque at 48VDC input anyway.

I would use such a method where you have a drop-down where you select the servo and it gives the torque based on max parameters for servo and IONI. For new servos, we could populate the table values manually…

I understand what you’re trying to achieve, but there are better ways to do it imho. You need to be able to enter the servo constraints somewhere, and work within the IONI POS I envelope…

OK I think you are missing what I am saying it wouldn’t be using both on top of each other it would be using only one to set the max:

It would need to use the first to find out if the servo would be limited by the voltage or not

Then if it is NOT limited by the voltage the other calculation would have to be used instead.

Now in order to make the slider work right with MMC for Voltage Limited Servos we might have to do a calculation from the Max voltage torque BACK to MMC by using — (Voltage Nm Limit / Torque Constant) * 1.4142… This would give a servo such as the Kollmorgen 53G that calculates @ the Voltage Limit of 20.52Nm a MMC Setting of 12.14A POS which should deliver 20.52Nm based on using the (MMC/1.4142)*Torque Constant only…

This would then allow the 100% Nm Estimated Torque Calculation to be two based on the MMC Set. Which is where the issue is because the number there has to be RELATIVE to the % on the scale to be useful at all otherwise it is just a number that really means nothing.

Basically we would need the following information to do a calculation this way on ANY servo, Torque Constant and Peak Torque output. then we can basically calculate every servo relative that 100% slider…

Granted this is somewhat dependent on a Voltage Limited Servo actually being able to generate its calculated amperage maximum… and that it would stay consistent up to that Amperage… from what I understand anything above the usable amperage will just not be used (which again is where the issue is in relativity to the strength slider as in the case above where the 53G will only effectively use 12.14A then if you have the IONI set for 25 the 100% point would be at 25A MMC but if you scale down to 50% or 12.5A the indicated Max torque would lower to 10.25Nm However it would still be able to deliver 12.5A which would run the 53G still at its full 20.5Nm so the actual indicated slider value would be WAY off.

I completely understand that BOTH calculations cannot be used at the same time but the resulting number HAS to be converted over to be relative the MMC Amperage regardless of the servo being used to be effectively correct and usable for any tuning purposes. So depending upon the servo the MMC has to be altered to the Max possible amperage it can use (voltage limited) OR the IONI limited MMC to torque calculation has to be used to get a correct 100% estimated torque output…

So by the numbers a

Large Mige would be rated at 27.93Nm at 100% on the Slider w/25A MMC (MMC Limited)
Small Mige would be rated at 20.01Nm at 100% on the Slider w/12.85A MMC (MMC Limited)
53G would be rated at 20.5Nm at 100% on the Slider w/12.14A MMC (Voltage Limited)
54G would be rated at 24.4Nm at 100% on the Slider w/11.98A MMC (Voltage Limited)
53K would be rated at 21.92 Nm at 100% on the Slider w/25A MMC (MMC Limited)
54K would be rated at 26.52 Nm at 100% on the Slider w/25A MMC (MMC Limited)
Lenze CS12H15L would be rated at 24.75 Nm at 100% on the Slider w/25A MMC (MMC Limited)

I don’t have the numbers off hand for the 52G but it is also Voltage Limited

EDIT ------------------------------------------

This is the calculation I am currently using in Excel to work out the correct values:

IF - (32.2 / winding_resistance) * torque_constant < peak_servo_torque
THEN - ((32.2 / winding_resistance) * torque_constant) / torque_constant ) * 1.4142
ELSE - (peak_servo_torque*1.4142) / torque_constant)

This calculation used one or the other formula based on the V/Res calculation to find the correct MMC value for the Voltage limited and the MAX MMC for the Non Voltage Limited.

There would then have to be one more calculation if the MMC determined by the above is over the 25A limit of the IONI and that would be (this would probably never occur with voltage limited servos):

(25*1.4142) / torque_constant

This all together will all give a correct MMC value which will set the 100% slider with the correct MAX Nm for the servo based on ONLY having the Line-Line Resistance and the Peak Servo Torque…

Just takes a small bit of Logic processing.

Then from there of course anyone can set the MMC for their servo lower as they wish and get a correct calculation of Estimated Nm based on all the limits.

If only Brion could present that in c++ :grinning:

In another news,

I set up a poll. See: SimuCUBE firmware 0.7 vs. 0.8

Hi Friends is possible to get all drc profil from Granity (small mige 10000ppr 720v power suply) I woudlike to check another one in my osw with 0.8.1firmware. Now I have orginal profil from Tomo Meglick .Can someone share here ? Best Regards Grzegorz

You shouldn’t need a drc file if you upgrade a working system.

Aaa so thats mean after update to 0.8 all granity setting We have the same ?

If I will send here mine drc profil Can You check Mika is ok or I shuld change something there possible to do it ? You are the guy who know everytching about osw hehe

yes granity drive settings remain, only game specific filter profiles are gone after the update.

anyway, you will find some drc files here http://members.iracing.com/jforum/posts/list/3573261.page

choose right combination for your motor, powersupply and encoder!

thank you McErono for answer :slight_smile:

I have SimuCube small mige 720psu and 10000ppr endcoder so this is profil for Me like on the picture I marked ?

Yes, but do not upload any new profile into your IONI if you already know it works.

Also, these are motor configuration files, not profiles.