Problemas con control de motor Brushless

Buenas,

he estado mirando tanto este como el foro antiguo y aun que he visto varios temas sobre los motores brushless ninguna de las soluciones que planteaban me han funcionado.

Tengo el ESC Mystery de 30A y un motor A2212S 2700KV Outrunner Brushless Motor, el problema que tengo es que no consigo que gire continuamente he probado varios códigos pero lo máximo que he conseguido y es que haga un par de vueltas rápidas.

Tal vez no inicializo bien el ESC he probado tantas cosas que ya no se cual puede ser el problema..

Así que si alguien pudiera explicarme como deberia estar haciendolo, por si se me esta pasando algo que no he tenido en cuenta.

Saludos y gracias por adelantado.

Has programado el ESC ?

se hace la programación con la emisora y se queda grabada. dependerá que motor le pongas, que tipo y tensión de la batería, freno, etc ... sería lo primero que debes hacer.

si no varias el duty cicle en el PWM no tiene porqué variarte la velocidad.

ya nos cuentas. un saludo ¡

Se controlan como un servo creo, prueba con los ejemplos que vienen con arduino. Teórica mente con el ejemplo Servo > Sweep aceleraría hacia un lado, se pararía y luego hacia el otro.

Mira la conexión como la has echo, el cable negro tienes que conectarlo a la masa (GND) del arduino , ya que con los servos si solo pones el cable de datos tiene problemas de comunicación, se vuelven locos o no funcionan.

SrDonGato:
Has programado el ESC ?

se hace la programación con la emisora y se queda grabada. dependerá que motor le pongas, que tipo y tensión de la batería, freno, etc ... sería lo primero que debes hacer.

si no varias el duty cicle en el PWM no tiene porqué variarte la velocidad.

ya nos cuentas. un saludo ¡

lo primero gracias por responder tan rápido SrDonGato.
Y lo segundo, es imprescindible programar el ESC con la emisora? no se puede tanto programar como controlar con el PWM del arduino?
Tengo el Arduino UNO,

el ESC que uso es este:
http://www.dealextreme.com/p/mystery-programmable-bec-esc-for-brushless-motors-2607-30a-5-10-nc-2-3lipo-13028

y el motor:
http://www.dealextreme.com/p/a2212s-2700kv-outrunner-brushless-motor-45134

ElRodri:
Se controlan como un servo creo, prueba con los ejemplos que vienen con arduino. Teórica mente con el ejemplo Servo > Sweep aceleraría hacia un lado, se pararía y luego hacia el otro.

Mira la conexión como la has echo, el cable negro tienes que conectarlo a la masa (GND) del arduino , ya que con los servos si solo pones el cable de datos tiene problemas de comunicación, se vuelven locos o no funcionan.

El cable negro lo tengo en la masa (GND), y el de datos lo he puesto en el pin 9 que el que estoy usando en los programas que le pongo al arduino, el rojo lo tengo aislado ya que el arduino lo alimento con el cable USB.

En los cables que van del ESC al motor tengo la duda de si estan bien conectados ya que al ser los del ESC todos negros... lo normal es que los de voltaje esten a los lados y por el centro vaya el de la señal no?

Con el ejemplo sweep hace giro de 180º a un lado, se para y luego 180º al otro pero lo que necesitaria es que de vueltas completas y continuas ya que al motor le pondré una helice y tendra que girar continuamente hasta que le de la orden de parada.

La programación del ESC, en principio, la puedes hacer desde Arduino, tan solo consiste en subir y bajar ciertas palancas de la emisora, por lo tanto lo podrás emular...

Una vez programado, ten en cuenta que por motivos de seguridad (si lo has programado en modo avión) tendrás que mandarle la señal de "motor parado", osea, potenciómetro del motor a 0% durante unos segundos, hasta que el ESC te avise, a través del propio motor, con unos pitidos, a partir de ese momento ya lo puedes controlar con normalidad...

El ESC lo compré tambien en dealextreme, hay un manual para programarlo.

enciendes emisora, pones el acelerador a tope, luego conectas el ESC al canal correspondiente, luego lo alimentas con 5 voltios (creo que con la batería también vale). de esa forma entra en modo configuración.

el que me compre yo es este
http://www.dealextreme.com/p/mystery-speed-controller-50a-bec-for-brushless-motors-300-450-r-c-helicopters-34337

manual para configurar aquí

http://www.merss.net/Contingut/Descarregues/ProgramacionVariadoresSuperSimply.pdf

Como te han dicho el ESC funciona como un servo, requiere la misma señal. otra cosa importante es que el ESC alimenta el receptor o en su caso el arduino pues el conector da 5 voltios, si alimentas por separado debes hacerlo como creo que has puesto , unes solo GND y la señal al amarillo, luego alimentas arduino por USB y el ESC con la batería que le hayas programado.

por íltimo decir que tienes que tener el motor conectado. los "pitidos" que se escuchas los genera el motor.

Ya me cuentas . Un saludo

Ya he conseguido que gire hasta que yo se lo diga! Muchas gracias a todos los que me habeis contestado, en especial a SrDonGato, gracias a vuestra ayuda he conseguido que el motor funcione.

Aun que no se muy bien como tengo configurado el ESC ya que no distingo entre las diferentes opciones del menú con los pitidos que hace, pero bueno almenos con la configuración que viene de fábrica he podido hacerlo girar sin emisora usando un potenciómetro, el arduino y el siguiente código:

int potPin = 2; // Pin Entrada Analogico
int MotorPin = 11; // Pin Salida Analogico (PWM)
float a = 4; // divide el valor del potenciometro entre 4. Se hace porque AnalogRead lee valores de entre 0 i 1023, mientras que analogWrite solo nos da valores de 0 a 255.
void setup() {
Serial.begin(9600);
pinMode(MotorPin, OUTPUT); // Led de Salida
}
void loop() {

int val = analogRead(potPin); // Lee el valor del Potenciometro
val = map(val, 0, 1023, 380, 1015);
analogWrite(MotorPin, val/a); // Enciende el led segun el valor del potenciometro/4
Serial.println(val);
}