11 Online
0 Member And 11 Guest
Today Visits : 3126
Yesterday Visits : 5452
All Visits : 518040

Welcome to Electronoobs Q&A, where you can ask questions and receive answers from other members of the community.


1 like 0 dislike

Hi all!

I'll try to do my best explaining my doubts.

Im computer engineer (so i dont have much knowledge in pure electronics). Im trying to build a quadcopter using a raspberry.

By now I've managed to extract the angles data using a MPU6050.
Also calibrate and sent PWM pulses to brushless motors using this library (http://abyz.me.uk/rpi/pigpio/).

The problem with the 4 motors/ESCs im trying to control. Motors are "A2212/13T 1000KV" and the 30A ESCs.

Each of them start moving at different PWM range. By default this library uses a range from 0 to 255. One of the motors starts rotating at 160. Another at 220... etc... So the first one is much more fast at full speed than the others... How can this be possible? Am i doing something wrong?

And the calibration. To calibrate (i have done for all of them), set the pulse to full is easy (255), but the low one is not 0. Its 140 more or less. Dont understand this.

Thanks all! Hope I have explained it more or less correctly!

by (250 points)

1 Answer

0 like 0 dislike
Best answer
Usually, ESCs work with signals from 1000us to 2000us so the 255 (8bit) signal is not good. I don't use raspberry pi, but in Arduino we use writeMicroseconds(1000) to create the 1000us pulse signal.

To calibrate the ESCs you have to send maximum signal, 2000 in this case, before you connect the battery. THat will start the ESC in config mode. Then you send your lowest value, 1000 in this case, and the ESC is now calibrated to a range from 1000 to 2000. See more here:https://www.electronoobs.com/eng_robotica_tut5_1.php
by (34.7k points)