Other Parts Discussed in Thread: DRV8305
Good, morning,
I am trying to control a BLDC motor using an Arduino Due board combined with your motor driver BOOSTXL-DRV8305EVM in 1-PWM mode, but I had some troubles. At first, once set the PWM duty cycle value, the motor doesn't start by itself but it is necessary to give a manual "input" (rotating it manually) until it begins the rotation. This is the first issue. Furthermore, some problems rise with the PWM duty cycle value. Indeed:
INPUT Voltage= 24 V, duty_cycle=0.8 --> effective_Voltage= 24*0.8= 19.2 V --> motor doesn't start and the driver gives fault
INPUT Voltage= 30 V, duty_cycle=0.65 --> effective_Voltage= 24*0.8= 19.5 V --> motor starts rotating
Hence, I assume that the problem is related to the duty cycle value given as input to the driver but i cannot understand why this happens.
I attach also the code used to generate the PWM signals according to the hall sensors output
function [A,B,C,D,Enable,Duty_cycle] = fcn(H1,H2,H3,Duty_cycle) A=0; %First MCU PWM output B=0; %Second MCU PWM output C=0; %Third MCU PWM output D=0; Enable=0; Duty_cycle=Duty_cycle %set on the Init code and kept constant initially if H1==0 & H2==1 & H3==1 A=0; B=1; C=0; elseif H1==0 & H2==1 & H3==0 A=1; B=1; C=0; elseif H1==1 & H2==1 & H3==0 A=1; B=0; C=0; elseif H1==1 & H2==0 & H3==0 A=1; B=0; C=1; elseif H1==1 & H2==0 & H3==1 A=0; B=0; C=1; elseif H1==0 & H2==0 & H3==1 A=0; B=1; C=1; end end
Regards,
Simone Mantica