Electric motors are awesome, so awesome that we can accurately predict the performance with just a few basic measurements, this mean that anyone using a VESC or VESC based hardware and software or any other ESC that can measure and display phase current and rpm and a few minutes to spare can supply the data needed to plot all the performance metrics
Before doing the guide on how to measure, I will show a result as an example, find it in the topic bellow that will be exclusive for the results, with time I hope we can have all motors measured and see the difference between them
All graphs have two sets of overlaid lines, the solid ones represent your battery voltage, and the dotted ones the motor current, keep in mind that if your battery current is lower than the motor current, the region your motor can work is smaller
I only plotted the nominal battery voltages to avoid too much visual pollution
As an example I’m using the torque boards 6355 190 Kv motors, if I was running them at 37 V (10S), 60 A motor current and 60 A phase current, the region that the motor in this setup can operate is represented as this area
Now, the same setup but with a 30 A battery current would be limited to approximately the area bellow, I may try to implement battery currents on the chart in the future to make it easier to understand, and update this section, but since we have to consider various battery voltages, the amount of lines on the graphs may get out of hand
The full size images can be found at the topic linked above
Km: Motor constant, how efficient the motor can produce torque, independent of Kv, does not consider rpm dependent losses that in some designs can be significant
Efficiency Map: How efficient a motor is at various torque and rpm levels in converting electrical to mechanical power
Total Losses: How much of the power is being wasted as heat, this is main limitation of motor performance
Copper Losses: Losses due to the copper winding resistance, is proportional to the square of motor current
Core Losses: Losses due to the interaction between the magnetic field from the magnets and the iron on the stator, increases linearly with rpm and without diving too deep has two main components, hysteresis loss, that is a fixed torque value needed to overcome the constant magnetization and demagnetization of the iron core as the motor spins, and Eddie loses, induced voltage on the stator iron that causes currents to circulate and dissipate energy as resistive losses. Fun fact, a motor stator is made from a bunch of stacked sheets to reduce Eddie losses
Output Power: Self explanatory, if you want to know the input power at a given point, just add this to the total loses at the same point
How To Meassure on hold until we figure what is going on with the VESC measurements
This is the data you will have to fill, please copy as it is and fill the values as a reply on this topic, also include at least picture from the motor feel free to include additional ones if there is relevant details
(delete the comments in the brackets)
Motor Model: [Maker and model]
Rated Current: [From the manufacturer,If not provided leaved blank]
Pole Pairs: [Number of magnets divided by 2, 7 is the most common]
Phase Resistance: [Given by the motor detection]
Kv:
ESC Model and Firmware Version:
ERPM@30% Duty Cycle:
Phase Current@30% Duty Cycle:
ERPM@95% Duty Cycle:
Phase Current@95% Duty Cycle:
Comments/Observations: [Anything you find relevant like my motor has a bad bearing, if has been run to hell and back, I overheated it a lot]
You will need:
- A motor
- VESC based ESC
- Computer with VESC tool
1. First remove the belt or wheel gear, we need to measure just the motor
2. Connect the VESC tool to the ESC, enable real time data and go to the real time tab
3. Now you will use the controls on the bottom left to set the motor to run at 35% duty cycle, type 0.35 and press the go button, first let the motor run to a bit to heat it up, specially if you are in a cold location, the grease in the bearings gets more fluid as it gets hotter, you will need to take note of I Motor and ERPM, let it running until I Motor stabilizes. Some hardware has way too much noise on the current readings, so try to get an average value
4. Repeat the same steps for a duty cycle of 0.95
5. Now we need the motor resistance, just go to the FOC tab and note it
We are done, just post the results here and as soon as possible I will post the results
Discussion
Hopefully this will be useful so we can see if there is a big difference between motor sizes and designs, and also can be helpful in choosing gearing, Kv and all that
One important takeaway is that we are heat limited is most if not all setups, doesn’t mean that because the efficiency at a given point is high that a motor can be run at that point, taking the example motor, if we run it at 60 A and 15000 rpm, it would be at 96 % efficiency and producing 3000 W, amazing right? But as we look on the total losses graph, it shows that 150 W of heat has to be dissipated, can it do it? I don’t know, maybe, for a few seconds, sure, anything close as continuous? We can’t answer right now, with plenty of airflow at high speed perhaps
This is specially interesting given the new high voltage setups. If you are already on the thermal limits of a motor and spin it faster, the added core losses will be enough to melt the motor, so lower the current quite a bit and start from there. Using a lower Kv motor? For gods sake don’t use the same current limits as you used on the higher Kv one
Future Work
There are a few cools things that we can do with this data and a bit more of codding, for example, its possible to get a log form Metr or similar, and see what a ride would have been with a different gear ratio and a different motor. Going from belt drive to a hub? We can also predict how consumption would’ve changed, how much heat the motor produced and all that
One thing I really want to do is to make a windy tunnel so the heat shedding capability of any motor can be measured, but for that to happen we need to able to inject non torque producing current to the motor ( Hey @Deodand how arre you doing? )
Another easy to do thing is change the Kv of the motor in the simulation, I’m open to requests on that, but it has to be a motor that already been measured
If its of interest I can dive a bit deeper on the theory behind all these graphs, for those who want to play with here is the MATLAB code, there is a chance that it won’t plot the figures right in any version other than the 2017
Any doubts I’m open to try to answer and discuss
Cheers
Virtual_Dyno_V1.m (10.4 KB)