Para cualquier otra persona que esté mirando esto, la mayoría de nuestros problemas parecían ser el resultado de no tener el rango de pulso del todo correcto. Finalmente, conectamos nuestros ESC a un controlador RC estándar y usamos un osciloscopio para determinar el rango de pulso exacto al que responderían.
Estoy trabajando en un quadcopter controlado por Arduino usando Tower Pro W18A (que en realidad están etiquetados como Toward Pro). Estoy usando la biblioteca Arduino Servo para controlar los ESC (control electrónico de velocidad).
El problema es que los ESC no comienzan a responder inmediatamente. Hay una secuencia de comandos de aceleración que debe enviarse antes de que se enciendan y comiencen a responder a los comandos.
Al principio, creé un programa que nos permitiera configurar el valor que se envía a los controladores de velocidad manualmente desde un control deslizante. Usando esto, descubrí que comenzando en 0, deslizando hacia arriba hasta alrededor de 70-90, y luego deslizando hacia abajo hasta cero, se activan los ESC. Después de eso, responden normalmente.
Sin embargo, por alguna razón, no he podido replicar esto en el código. Así es como se ve mi código en este momento.
Serial.println("Setting all to 0...");
setAllESCs(0);
delay(2000);
for(int i=0;i<70;i++){
setAllESCs(i);
delay(20);
}
for(int i=70;i>0;i--){
setAllESCs(i);
delay(20);
}
delay(2000);
Serial.println("Ok, trying at 50...");
setAllESCs(50);
delay(500);
Serial.println("Going in 1 sec...");
setAllESCs(0);
delay(1000);
He probado varias variantes. 0 a 90 a 0. 0 a 180 (máx.) a 0. 0 deslizándose hacia arriba hasta 90 y de regreso a 0. Sin suerte todavía.
¿Alguien tiene experiencia en hacer que funcione esta activación del controlador de velocidad?
Hay numerosas menciones en línea de la documentación (limitada) que viene con el error ESC, pero nada proporciona más detalles al respecto.
He trabajado en la construcción de un quarocopter casero para mi proyecto de fin de carrera, recuerdo haber tenido problemas con esto también :)
He usado controladores de velocidad Turnigy Plush de 30 amperios.
En primer lugar, FYI:
La secuencia normal al mirar un ESC (nuevamente, con el que trabajé) es:
Esta es una característica de seguridad; normalmente, esto significa que la palanca del acelerador está al mínimo. Sin embargo, la gran mayoría de los Controladores Electrónicos de Velocidad son programables en términos de que tienes que programar este acelerador mínimo (y máximo) del que dije anteriormente. En otras palabras, tal vez el acelerador mínimo programado sea de alrededor de 0,7 ms (si lo programó desde el transmisor RC con el ajuste al mínimo) y cuando enciende su entrada ESC es de alrededor de 10 ms de pulso, es una característica de seguridad que no se iniciará, ya que en este caso el acelerador no es mínimo.
Para programar los nuevos valores máximos y mínimos de entrada (calibración):
Le recomiendo enfáticamente que use este tipo de inicialización cada vez para que todos los ESC se sincronicen con respecto al valor mínimo y máximo del acelerador. También le recomiendo encarecidamente que no tenga ninguna hélice montada cuando experimente con este enfoque :)
Ahora, con respecto a su código,
Al calibrar o iniciar el ESC, asegúrese de mantener el valor mínimo y/o el valor máximo durante el tiempo que sea necesario. Algo como:
Inicio normal (como describió su ESC):
Inicio normal (el ESC que usé):
Calibración:
Otra cosa, es bueno saberlo, ingresar al modo de programación para ESC le permite configurar muchos parámetros, como el umbral de corte, el freno. Antes de intentar volar, debe asegurarse de que todos estos parámetros estén configurados de la misma manera para todos los ESC que use. Nuevamente, para el ESC que usé, consulte el manual, página 2 .
Estoy bastante seguro de que ya has descubierto esto, pero quería publicarlo, tal vez ayude a otros :)
Esta es una característica de seguridad, si conecta su avión (por ejemplo, un avión rc) con la velocidad establecida alta, entonces podría lastimarse. Esta secuencia evita eso, ya que debe devolver la velocidad a cero y luego aumentarla. (Puede que me equivoque un poco con los detalles exactos)
abdullah kahraman
davidcary
davidcary
davidcary
CoderTao