BLDC Motor full speed problem

Hello i write a simple code to understand motor starting PWM frequency and working PWM intervals.But after motor starting and working at 1700-2100 microseconds PWM pulse duration i can not understand motor is speeding up or down because it rotating very high rpm.I can’t realize motor is speeding up or down by hearing motor response when new microseconds applied at these 1700-2100 servo.writeMicroseconds() interval. So How can i find or understand which PWM pulse duration can run motor at full speed ?

This my code:

#include <Servo.h>
Servo x;

void setup(){

void loop(){
for(int i=0;i<=2500;i+=50){

You need to measure the response under load if the ESC is using slow decay mode,
otherwise it will tend to run fast all the time and it will be hard to judge the maximum

What are you intending to do with this motor?

We will make a quadcopter.So firstly i must understand BLDC speed control before everything.

The most important factor then will be getting an ESC that is optimized for multirotor,
not propeller control - many commercial ESCs can be reflashed I believe as they are
basically Atmel 328 or similar inside.

Consult a more specialized forum on quadcopters for recommendations for this sort of thing, they will know more.

Cheap ESCs may not update fast enough or handle rapid deceleration.

OK.Thanks for your advice.