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);
}