IHM07M1 PWM being generated but motor not moving

Hi, I’m trying to setup IHM07M1 driver with small BLDC motor. I’m using 3PWM driver class with both PWM and ENABLE pins provided, open loop velocity control and no sensor. With oscilloscope I can see valid 12V PWM signal on three motor phases but motor doesn’t give any signs of life and current drawn from PSU is just for powering the board. I did some tests with DIAG pin mentioned in documentation as overcurrent signal, but it didn’t get me anywhere. While experimenting with phase resistance value i could get motor to move when set to crazy values like 10 ohms, but it’s clearly not correct value. With another drivers (i.e. B-G431-ESC) I get best results with 0.21 ohms set. Don’t have any ideas how to approach this problem.

Thanks for any help.

My code

#include <Arduino.h>
#include <SimpleFOC.h>


#define BLDC_IN1_PIN PA8
#define BLDC_IN2_PIN PA9
#define BLDC_IN3_PIN PA10

#define BLDC_EN1_PIN PC10
#define BLDC_EN2_PIN PC11
#define BLDC_EN3_PIN PC12


BLDCMotor motor = BLDCMotor(7, 0.21, 2600);
BLDCDriver3PWM driver = BLDCDriver3PWM(BLDC_IN1_PIN, BLDC_IN2_PIN, BLDC_IN3_PIN, BLDC_EN1_PIN, BLDC_EN2_PIN, BLDC_EN3_PIN);

void setup(){

	Serial.begin(115200);

	motor.useMonitoring(Serial);

	driver.pwm_frequency = 20000;
	driver.voltage_power_supply = 12;
	driver.voltage_limit = 12;



	driver.init();
	motor.linkDriver(&driver);

	motor.foc_modulation = FOCModulationType::SpaceVectorPWM;
	motor.controller = MotionControlType::velocity_openloop;

	motor.init();
	motor.initFOC();


}

void loop(){
	motor.monitor();
	motor.move(100);
}

In open_loop mode:
If you provide a phase resistance, SimpleFOC will drive your motor at motor.current_limit with current estimation.
If you don’t provide it, SimpleFOC will drive your motor at motor.voltage_limit.

It’s better explained in the documentation.

A small BLDC motor can have 10Ohm phase resistance. (eg. gimbal motors)
OTOH, motors with high magnetic cogging are hard to start in open loop, when the motor.voltage_limit is set to a low value.
Be careful playing with the voltage limit in open loop, you might burn up something.

Thank you for the replies

When I provide correct (or at least working with other drivers) phase resistance value and set motor.current_limit motor isn’t moving and PSU shows 0.03 Amps (just to power the board).

Motor is EMAX RS2205. I guess it has very low phase resistance, my not-so-great multimeter shows exactly 0,0 ohms. Datasheet says it should spin with decent speed at 12V 1Amp.