Problemas con motor Brushless

Buenas de nuevo,

Tras un tiempo con el tema parado por vacaciones y otras cosas ayer retomé el tema.

Estuve probando con una resistencia Pull-Up y Pull-Down pero no conseguí nada. Lo del condensador no lo he probado pero creo que me gusta más la solución de un relé.

El esquema creo que lo tengo claro (es el que adjunto).

  • Tendría un interruptor que lo que haría es controlar la alimentación del Arduino (Netduino en mi caso).
  • El programa empezaría y una vez que tuviese todo incicializado por programa activaría la salida digital que activaría a su vez el Relé, cerrando el circuito de alimentación del ESC.

Bueno, creo que esto es simple y mis mínimos conocimientos llegan hasta aquí. Mi problema es que me he puesto a mirar relés y no me aclaro cual necesitaría.

Los ESC's que tengo son de 18 A cada uno. Lo ideal sería un relé del que se alimentasen los 4 ESC's que tengo.

Miro relés y me encuentro especificaciones como por ejemplo:

  • Relé bobina a 12V CC, Potencia máxima 6A 250V CA/30V CC
  • Relé bobina a 12V CC, Potencia máxima 1A 220V
  • Relé de señal 5V G5V-1, Relé de señal 24V G5V-1
  • etc...

Vamos, que no tengo ni idea de que especificaciones ha de tener el relé que necesito.

  • ¿Cuando habla de que va a 12V, o a 5V se refiere que es el voltaje al que se "cierra" el relé?
  • La potencia máxima la marcan para corriente alterna. ¿Como se cuanto aguanta en continua? Me da miedo poner uno que no aguante tantos amperior como puedan necesitar 4 ESC's

A ver si me podéis dar algo de luz.

Gracias.

no lo tienes bien conectado.

no puedes alimentar de la batería al arduino, y el arduino no tiene suficiente potencia para activar el relé.

el ESC tiene un regulador propio que SUMINISTRA corriente, es decir, tu le conectas la LIPO al variador solo ¡

los otros 3 hilos que le conectarias en teoria al receptor con GND, 5 voltios ( como digo son de salida) y señal al variador (entrada)

debes entonces conectar los 5 voltios de salida del ESC para alimentar al arduino, la señal de arduino PWM a la entrada de señal del ESC y la bateria LIPO solo al ESC.

Los 5 voltios de salida del ESC tambien son capaces de alimentar el receptor de radio

No te hace falta reles ni nada de nada.

te dejo un esquema de como se hace en multiwii

Un saludo

Bueno, si puedo alimentar el Netduino con la batería directamente. Eso lo tengo comprobado. No se si el Arduino será igual, pero el Netduino admite perfectamente los 11.1 V de entrada y te aseguro que funciona bien.

Pero también he probado a alimentarlo desde el ESC como dices y está en ese esquema.

Pero tengo el problema de que si alimento el Netduino desde el ESC, al conectar la batería el ESC no se arma/inicializa. Ese es el problema que tengo. Y además he leido es sitios que algunos ESC's son así. Necesitan que el receptro (Netduino en este caso) esté conectado antes de que el ESC reciba corriente.

Por eso tengo que alimentar el Netduino desde la batería directamente, para poder cerrar posteriormente el circuito de los ESC's.

De todas formas te repito que he probado un esquema como el que has puesto y no funciona. El ESC no se "arma".

para que el ESC se "arme", es necesario que la señal que le mandas de PWM sea como si tuvieras la palanca del acelerador en la posición mínima. esto es como te he dicho antes, por seguridad, para que el motor no arranque de golpe si cuando arranque se encuentra el acelerador accionado.

ademas algunos ESCs son programables y para ello hay que subir la palanca del acelerador a tope y darle alimentación al ESC, de esta forma se programa.

para que te arranque el motor deber enviar el PWM al mínimo, como si fuera un servo pues a la posición 0. el ESC se inicializa, da los pitidos característicos y entonces ya le puedes dar gas.

si en un primer momento le mandas a medio gas sin pasar un tiempo a gas 0 entonces no lo harás funcionar.

es por esto que te da el problema. sigue el esquema de conexión que propone wiicopter que es, en mi opinión, la mejor opción, y es como se hace en radiocontrol tradicional.

un saludo

Exacto. Los ESC's que tengo necesitan recibir la señal mínima para armarse. Entonces dan un pitido y ya están. Ya puedo hacer lo que quiera.

El problema es que con el esquema que ha puesto el SrDonGato no me funciona porque aunque la primera instrucción de mi programa es mandar un 0 por la salida PWM, el ESC arranca más rápido y al arrancar la señal PWM todavía no está estable. Eso es lo que deduzco tras mil pruebas.

Si manualmente conecto el ESC a la alimentación tan solo medio segundo después de que arranque mi programa entonces va todo bien. Ese es el problema que tengo y por eso creo que la única opción es retardar un poco el que los ESC's reciban alimentación, para darle tiempo al programa que arranque.

Por eso había pensado en usar un relé o similar para que sea el propio programa, una vez que haya puesto todas las salidas PWM a "0", el que active el relé.

los ESC cuando pierden señal PWM hace falta inicializarlo de nuevo.

por eso no entiendo por que dices que se inicializa antes el ESC que el programa de arduino, si pulsas el reset un tiempo largo los ESC pierden la señal PWM. luego sueltas, arranca tu programa, mandas un 0 a los ESC el tiempo necesario para que se inicialicen los ESC y luego ya le puedes mandar gas.

a los ESC no les hace falta quitar alimentación para inicializarlos de nuevo, tan solo anular señal PWM un tiempo y luego mandarle PWM a gas 0 un tiempo. y esto lo puedes hacer todo por software.

el esquema que te he puesto no lo he hecho yo, y está mas que probado que funciona.

pon el código a ver si te podemos ayudar por ese lado

un saludo

puedes probar como se inicializan y demas con el receptor de radio y los esc, prueba a conectarlo de las diferentes maneras posiciones de sticks y demas y veras como funciona.

un saludo

El código lo tengo en C#, porque es un Netduino pero creo que es más que entendible:

public static void Main()
{
// Me creo la variable que controla el puerto
BrushlessMotor brushless = new BrushlessMotor(Pins.GPIO_PIN_D10);

// Lo pongo a "0" el puerto
brushless.Power = 0;

// Espero un tiempo para darle tiempo al ESC que se inicialice.
// Con 1 sg le vale pero he probado con 2, 10, 1, da igual....
Thread.Sleep(2000); // Espero 2 sg.... por si acaso

// Aquí se supone que ya se ha inicializado y le doy un 50% de potencia
brushless.Power = 50;

// Espera infinita para evitar la terminación del programa
Thread.Sleep(Timeout.Infinite);
}

Si el ESC no está alimentado por la corriente y justo después de ejecutar " brushless.Power = 0;" lo alimento, funciona todo perfectamente.

SrDonGato:
puedes probar como se inicializan y demas con el receptor de radio y los esc, prueba a conectarlo de las diferentes maneras posiciones de sticks y demas y veras como funciona.

un saludo

Con la radio también me funciona perfectamente. Algo tiene/hace el receptor que no soy capaz de reproducir en el Netduino.

prueba esto.

#include <Servo.h> 
 
Servo myservo;  
 

int PinESC = 9;
 
void setup() 
{ 
  myservo.attach(PinESC);  // attaches the servo on pin 9 to the servo object 
  myservo.write(0); // ponemos la potencia a 0
  delay(5000); // espera a que se inicialice el esc
} 
 
void loop() 
{ 
  myservo.write(128); // ponemos la potencia al 50%
  delay(5000); // durante 5 segundos
    myservo.write(128); // ponemos la potencia al 25%
  delay(5000); // durante 5 segundos
    myservo.write(255); // ponemos la potencia al 100%
  delay(2000); // durante 2 segundos
    myservo.write(0); // ponemos la potencia al 0%
  delay(10000); // durante 10 segundos
  
  
  
}

cambia PinESC a donde tengas cogida la señal PWM al ESC

ya nos cuentas

Es que el código que he puesto hace lo mismo.....

más no te puedo ayudar ... sé que a mi me funciona como te estoy diciendo. quizas los esc son distintos , no lo se

SrDonGato:
más no te puedo ayudar ... sé que a mi me funciona como te estoy diciendo. quizas los esc son distintos , no lo se

No creas que te lo he dicho a mala eh, al contrario, te agradezco que intentes ayudarme.

Es que creo que el tema es ese, que son distintos.

Sobre el tema de usar un relé o Tiristor.... me podrías orientar un poco?? No se muy bien como saber que especificaciones tendría que tener para que aguantase la potencia de 4 motores.

los picos de correinte que consumen los ESC son muy altos, necesitas reles tochos.

valora el peso que va a tener el quadcopter, cuantas mas cosas le pongas mas pesa.

buscate el esquema del relay-shield para ver como se conecta un relé al arduino.

un saludo

Lo que ocurre es que usais ESC distintos. Yo tengo unos como los que dice Vallekano y está en lo cierto, no hay más solución que conectarlos después. Es algo bastante típico entre algunos ESC, no me preguntes porqué, pero te exigen que el receptor ya esté en marcha cuando arranca el ESC. Lo del relé... no te lo recomiendo, piensa que todo el corriente del motor (y del ESC) tendrá que pasar por el relé, y eso si pones uno por motor/ESC. No sé como son tus motores, pero yo tengo ESC de 30A puestos, así que un relé que lo soporte tiene el tamaño de un camión cisterna XD.

Yo había pensado hacerlo con transistores, que suele ser más eficiente y fiable, pero se calentarían una barbaridad y perdería mucha potencia a lo tonto. Ponte un conector comodo con el que puedas conectar primero uno y luego el otro, que tampoco es para tanto.

No vale la pena destrozar tanto el rendimiento de tu QR solo por una chorrada como esa.

PS: Pon fotos!!! (ya pondré yo las mias :D)

Sale más barato comprar otros ESCs que los reles tochos :smiley:

yo mi wiicoptr aun no acabo de apañarlo bien
los motores tienen demasiada potencia i los sensores de la wii no funcionan bién juntos. son todo mas que problemas :smiley:

Buenas de nuevo.

Pues tras retomar el tema y hacer mil pruebas resulta que funciona todo bien una vez montado y funcionando con la batería.

El problema solo se me reproduce cuando tengo el Netduino conectado por USB al PC.

Bueno, sea como sea ya funciona así que guay.

Peeeeeeeeeeeeero, ahora tengo otro problema, jeje.

Tras conectar todo y empezar a hacer pruebas resulta que me pasa lo siguiente:
Los 4 motores funcionan perfectamente y responden a los mandos de la emisora son problemas. Pero cuando paso de un 70%+- de potencia hay uno que se para. Si vuelvo a bajar la palanca hasta abajo y vuelvo a dar potencia vuelve a funcionar. Así hasta que vuelvo a darles caña, que hay uno que se para.

He probado a cambiar motores y ESC y el "problema" es un ESC. El motor que esté conectado a él es el que se para.

Pero lo raro de todo es que si en vez de los 4 motores solo tengo conectados 2, puedo darle potencia al 100% que va perfecto. Al meter un tercer motor, en cuanto llego al 70%-80% de la potencia, el motor que esté conectado al ESC problemático se para.

En principio parece que el ESC está jodido, pero me mosquea mucho que si solo conecto 2 funciona perfectamente. Será algo de la batería???

hay otra configuraciopn que le puedes cambiar. lo que pierde es sincronismo y por eso se para.

le habras puesto una frecuencia demasiado alta o una configuracion para motores mas potentes, tambien me pasó a mi.

un saludo

Ahora que veo el post, el otro día probé a conectar la alimentación que generan los propios ESC (si tienen BEC). Resulta que así si funciona, a saber porqué. Debe emplear un delay automático respecto a esa alimentación en concreto o algo así, que le permite funcionar correctamente. Lo digo porque si sigues con eso, puede que esto te quite algun que otro dolor de cabeza :wink: