Problem getting Turnigy SK3 2822 to run

After trying different settings of current and reading all forum posts related to lower current motors, I am a bit lost.

  1. The errors that I’m getting in hex are not enumerated in any of the files:
In [148]: hex(odrv0.axis0.motor.error)
Out[148]: '0x11'

and

In [149]: hex(odrv0.axis0.error)
Out[149]: '0x41'

Here are my axis0 configs:

In [151]: odrv0.axis0.config
Out[151]:
startup_motor_calibration = True (bool)
startup_encoder_index_search = False (bool)
startup_encoder_offset_calibration = False (bool)
startup_closed_loop_control = True (bool)
startup_sensorless_control = False (bool)
enable_step_dir = False (bool)
counts_per_step = 2.0 (float)
ramp_up_time = 0.4000000059604645 (float)
ramp_up_distance = 12.566370964050293 (float)
spin_up_current = 7.0 (float)
spin_up_acceleration = 400.0 (float)
spin_up_target_vel = 400.0 (float)

Here are my motor configs:

In [159]: odrv0.axis0.motor.config
Out[159]:
pre_calibrated = False (bool)
pole_pairs = 7 (int)
calibration_current = 5.0 (float)
resistance_calib_max_voltage = 11.0 (float)
phase_inductance = 0.0 (float)
phase_resistance = 0.0 (float)
direction = 1 (int)
motor_type = 0 (int)
current_lim = 7.0 (float)
requested_current_range = 80.0 (float)

Any thoughts on what I’m missing? Do I need to re-compile the firmware and reflash?

1 Like

The inductance and resistance values at zero raises an eyebrow, although it makes sense if you can’t get the motor to even calibrate. Forgive me for asking the obvious, but are you confident that the motor and the encoder are plugged into M0, and not M1? I did that last week.

Comfirmed it is on M0. The motor does a tiny twitch initially but almost imperceptible.

The one thing I am not sure at all are the Phases A,B,C. The little Turnigy motor didn’t come
labeled at all so I just connected A,B, and C randomly to the three motor cables.

The connection order of the phases doesn’t actually matter, so you can rule that out as a cause. Swapping any two wires will just make the motor turn the other way.

This is ERROR_PHASE_RESISTANCE_OUT_OF_RANGE and ERROR_CONTROL_DEADLINE_MISSED together. I don’t know which one came first, and hence is the actual error. My guess is the phase resistance out of range.

Try setting requested_current_range to 20, and calibration_current to 3. What is the resistance of your motor (specify if it’s phase or line-to-line)?

Hey @madcowswe thanks for the reply. I will try changing those values. The internal resistance is 0.235 ohms. It doesn’t say whether if’s phase or line-line on their spec sheet: https://hobbyking.com/en_us/turnigy-aerodrive-sk3-2822-1090kv-brushless-outrunner-motor.html?___store=en_us

Any ideas of how to check?

Hm I think in either case you shouldn’t get resistance out of range with the values you had already. Can you use a multimeter in ohm or continuity mode to check the resistance of all 3 combinations of 2 phases? It doesn’t have to be accurate, we are just checking if the connection is broken on one.

You mean disconnecting all 3 phase wires from the ODrive board, then measuring resistance between 2 of the cables at a time?

I’m seeing the same thing when using a small motor, resistances of the coils seem very similar to Alan’s.

We have just received an Odrive board v3.5
Trying to set it up to run a small hubmotor (4inch outer tyre diameter) with Encoder, no index)
We have followed the getting start procedure but when we tell it to Run full Calibration sequence. Nothing happens, either in the command prompt or the motor) and when we check the axis errors we get 41.

This seems to be a recurring issue with smaller motors. Perhaps it is not ideal to use such small motors. Anybody have any ideas of components we can change or firmware changes?

As far as I’m aware, there isn’t something specific about small motors that should make them difficult on the ODrive. I did plenty of testing on small motors:

I think they are likely other problems not necessarily related to the motor being small.

I am running into the same issue… Funny thing is, one motor is calibrating, the other one is not… So I am a bit confused… (while they are identical motors…) I will switch them around one I have some time to rule out some hardware issues.

*edit
solutions always come once you posted something…
Following this fixed it: