this is my own circuit board and I already test that each pin can control MOSFET that attached to the motor.
but.
#include <Arduino.h>
// BLDC driver standalone example
#include <SimpleFOC.h>
// BLDC driver instance
BLDCDriver6PWM driver = BLDCDriver6PWM(PA8, PB13, PA9, PB14, PA10, PB15, PB5);
void setup() {
// pwm frequency to be used [Hz]
// driver.pwm_frequency = 20000;
// power supply voltage [V]
driver.voltage_power_supply = 48;
// Max DC voltage allowed - default voltage_power_supply
driver.voltage_limit = 10;
// daad_zone [0,1] - default 0.02 - 2%
driver.dead_zone = 0.05;
// driver init
if(driver.init());
else{
digitalWrite(PB13,HIGH);
digitalWrite(PA8,LOW);
while (true)
{
}
}
// enable driver
driver.enable();
_delay(1000);
}
void loop() {
// setting pwm
// phase A: 3V, phase B: 6V, phase C: 5V
driver.setPwm(3,6,5);
}
in this code, it stuck at else{while(true)} it tell me that driver.init() was fail.
I am using STM32F446RE custom board. I told that if I try control each pin, it works well.
so I guess it’s not a hardware issues. I checked they are right pin for 6PWM form documents.
please know me why.
I’m very thanks for your help.