How to identify basic motor parameters before powering it? [Incomplete datasheet]

Dear ODrive Community,

I would like to measure or calculate a few characteristics of gimbal motors that the manufacturer is not providing. The problem is that the company selling my motors does not know/provides wrong value for motors rated current and no peak current which complicates things a lot.

Here are the iFlight motors I have:
GM6208-12
GM5208-12

The current value provided seems to be a typo. How could I identify some parameters of these motors? I contacted the company and they did not know. I would like to ask for your help here.

My plan is to connect these motors to ODrive but reading the forum, I know I can damage the motors since their rated current is probably way smaller than motors normally used with ODrive.
I know I should change the shunt resistors to ones with some reasonable value, to fit the current requirements and have good current sensing capabilities. I need to know this current first though.

The motors description on their website seems not to be correct. You can read the following there:

Model No.:GM6208 w/encoder

Weight:265

Dimension(mm):69.5*32

RPM:209-231

Torque (g):2600-3600

Voltage (V):20V

Cunnrent (A):0.08

Configuration:24N28P

Winding Turns:0.21*1-150T

Resistance(Ω):32.6Ω

Model No.:GM5208-12 w/encoder

Weight: 242.6

Dimension(mm):63*22.7mm

RPM:456~504 RPM

Torque (g):1800-2500

Voltage (V):20V

Cunnrent (A):0.09

Configuration:12N14P

Winding Turns:0.19*1-90T

Resistance(Ω):25.6Ω

The supplier had no clue about any other parameters besides the ones listed. I would greately appreciate your help in this matter.

The current values of “0.08A” or “0.09A” seems to small to be true. Let me know if I am wrong about the current value provided by the supplier.

Thank you for your time and consideration. I would appreciate your help in this matter.

Regards,
Jakub

The current is heat-limited, with the heat being produced in the motor’s resistance.
These are both very high-resistance motors, which are not ideal for ODrive.
Even at 1A, you will be putting 32.6 W & 25.6 W into these motors respectively. If you double that current to 2A, the heating increases with the square of current to 120W & 100W.

ODrive works best in the 5A-50A range. Try to find a motor with resistance somewhere between 0.05 and 5 Ohms.

That said, you can still use the special “gimbal motor” mode, but the ODrive will not use any current feedback. It assumes a high-resistance, voltage-limited motor.
In this mode, you can use motors in the 10-100 Ohm range, but their power (torque * speed) will be quite low.

Hi @towen!
Thank you for your second reply in my topic today! What if I change the shunt resistors accordingly, will ODrive be suitable then? I did some computations to estimate the current, are they correct?

I am thinking about this equation:
R = 1.6 * 0.9 / (Gain * I_Range)
where: Gain = 10 (for low-current motors). and I_Range would be 1 A (This is twice the value of 0.5A)
R = 1.6 * 0.9 / (10 * 1)
R = 0.144 ohm

I am still thinking about the current that should be used. I am trying to get it linking the mechanical output power, electrical input power and the efficiency.

Using the formula:
Power= Torque × Velocity P
(Watt)=T (N.m) × ω (rad/sec)
For 6208 motor:
T = 3000 g/cm = 0.294 Nm
RPM = 220
Velocity P = 2pi * 220/60 = 23 rad/sec
Power = 0.294 Nm * 23 rad/sec = 6.762 W
So this is pure mechanical power, lets assume 0.9 efficiency, then the input electrical power required would be: 6.762 W / 0.9 = 7.54 W.

Assuming the current value of 0.48 A and the equation listed by @madcowswe here
Power = R × (II)
Power = 32.6ohm * (0.48A
0.48A) = 7.51 W. (Which is almost the roughly calculated input electrical power).
Is this line of reasoning correct? Did I miss some essential data?

Is it safe to assume that around 0.5A is the real rated current of this GM6208 motor? I heard that this will not hold true for dynamic motor states. I am also not sure what is the Torque/RPM curve for this motor and if the RPM is unloaded motor spinning speed.

But lets say that the motor speed is almost zero and I am trying to get the current value for the nominal holding torque that is exerted my this motor. How to get this value?

Is it safe to assume that the motor could be very rarely overloaded 2 or 3 times current value for max 10s and will produce about adequate higher torque value? I know that this is the general case for overloading BLDC motors, but is it really safe to say that in this case?

I would appreciate your help! Thank you :slight_smile:

Hi Jakub,

Yes, your reasoning is correct. If you multiply the value of the shunt resistor then you will divide the range of the current sensing.
You’d end up with oversized FETs and capacitors etc for a 1A motor :stuck_out_tongue_closed_eyes: but yeah it should work.

For the motor current, this is given by the motor’s torque constant in Nm/A, which can be worked out from the back-EMF constant aka “Kv”.
For the power supply current, you need to calculate the power in the motor winding using I^2 * R, and the take the same power (with an extra 10% or so) from your power supply. So if you motor has 0.1 Ohm resistance and you are driving at 10 Amps, that’s 100 * 0.1 = 10 Watts from the power supply. If it’s a 20V power supply, that equates to 500mA, +10% = 550mA.

Yes, this is generally true. Even if you saturate the iron, or exceed the magnetic field of the permanent magnets, more current will always equal more torque (but it is a law of diminishing returns). The issue is that the heating goes with the square of current, and you don’t want to exceed 80C, or else you will damage the magnets.
If you have extra cooling, or if you only need the high torque for a short time, then it’s not a problem.