Hey guys,
I am using Arduino for the first time. My aim is to change the speed of BLDC using Arduino code. I am using "esc.writeMicroseconds(speed)" command for this, where "esc" is declared as a servo object and "speed" is declared as integer variable.
My logic is, as I change the value of "speed" from 1000 to 2000, speed of BLDC should vary from minimum to maximum, because pulse width modulation is done from 1000 to 2000 microseconds.
However, I am finding that BLDC starts to rotate at "speed = 1148", not at "speed = 1000".
Can anyone explain, why this is happening? Why this particular pulse width? Does it have anything to do with BLDC and/or ESC and/or Propeller that I have chosen?
Also, if this is the case with lower limit, then what Pulse width I should give for highest rpm of BLDC? What happens if I exceed 2000 microseconds value? I am not experimenting with it, as I did with lower value. because I don't want to damage my BLDC or ESC.
Please help. Snapshot of part of my code is attached herewith.
Regards.
