consulta sobre ESC

Tema en 'Motores-Variadores-Hélices' iniciado por juanmol, 16 Ene 2013.

  1. juanmol Nuevo Miembro

    juanmol
    Registrado:
    23 Oct 2012
    Mensajes:
    10
    Me Gusta recibidos:
    0
    Hola, estoy haciendo pruebas con arduino + esc + brushless y he conseguido que funcione bastante bien cargandole un par de librerias y esas cosas.
    El caso es que me ha surgido la duda y he mirado algo de documentación, pero no me aclaro. Quiero saber "¿qué?" tengo que decirle al ESC para que empiece a funcionar.
    Me explico un poco más: quiero usar otra placa para controlar el ESC y no puedo usar las librerias de arduino. Según veo en las instrucciones del ESC, pone algo de "para salir del modo programación pulse abajo 2 segundos", pero claro ... en mi inventito no tengo una emisora, tengo que "emular" esa orden.
    Si todo lo que he puesto es correcto, mi pregunta es:
    ¿que orden (tren de impulsos, x impulsos de 1'2 ms en x segundos ...) es 'abajo durante 2 segundos'?
    A lo máximo que he llegado, es a conectar correctamente la placa + esc + brushless, se escucha un "tirulí" y luego un pitido cada 2 segundos. Después envio la que creo que es la orden correcta, deja de pitar, pero el motor ni se inmuta.
    Espero haberme explicado bien ... y preguntar en el subforo correcto :redface2:
     
  2. Petertel Miembro Activo

    Petertel
    Registrado:
    3 Sep 2009
    Mensajes:
    1.363
    Me Gusta recibidos:
    0
    Hola, tienes que enviar un pulso de una anchura comprendida entre 1000 microsegundos (mínimo) y 2000 microsegundos (máximo), el periodo del pulso es de 50Hz, es decir que cada 20 milisegundos tienes que mandar el valor de aceleración que quieras. Con arduino es fácil, configuras una puerta digital como OUTPUT y luego le metes un writeMicroseconds(int x) con el valor de x directamente entre 1000 y 2000. Ten en cuenta que a todos los efectos se comporta como un servo, con lo cual la librería Servo de arduino te servirá perfectamente.

    Un saludo.
     
  3. juanmol Nuevo Miembro

    juanmol
    Registrado:
    23 Oct 2012
    Mensajes:
    10
    Me Gusta recibidos:
    0
    muchisimas gracias Petertel, bien explicado y breve :biggrin2:

    Solo una cosa más, sabrías decirme como activar el modo "acción" creo (que lo mismo me equivoco) que lo primero que se activa es el modo "programación" ¿no? O si consigo programar bien los impulsos, con mandarle la aceleracion ya volaria?
     
  4. Biribu Miembro

    Biribu
    Registrado:
    10 Jul 2012
    Mensajes:
    342
    Me Gusta recibidos:
    0
    Para poder iniciar el ESC, necesitas especificarle el valor maximo y minimo. Y entonces ya se pone a pitar y de ahi pasas a poder arrancarlo.

    No se si es esto a lo que te refieres... Cuando probe los mios en arduino, el minimo eran unos 45 y el maximo 160....

    Le das un impulso con el maximo y otro con el minimo y ya puedes darle caña.
     
  5. Petertel Miembro Activo

    Petertel
    Registrado:
    3 Sep 2009
    Mensajes:
    1.363
    Me Gusta recibidos:
    0
    Esto no es cierto del todo, el valor máximo y mínimo es solo para programarlo, para que empiece a funcionar es tan fácil como que arranques el variador con el pulso al mínimo, cuando el variador detecta un pulso correcto a la entrada y que es cercano al mínimo hace la musiquilla de inicialización, los pulsos del numero de celdas y ya está preparado. Si se queda pitando constantemente es que no detecta una señal correcta a su entrada o que el pulso que está detectando es muy inferior a "su mínimo" que tiene programado.


    Eso te ocurre porque estás utilizando la librería SERVO de arduino, y en vez de utilizar la función writemicroseconds(x) en la cual x es el valor en microsegundos entre 1000 y 2000, estás utilizando la función write(ang), en la cual la entrada "ang" es directamente el valor del angulo que quieres que tenga el brazo del servo. Ten en cuenta que 90 grados es equivalente a 1500 microsegundos (valor central), 45 grados son 1000 microsegundos (valor mínimo) y 135 grados es a tope, 2000 microsegundos. Aunque puedes girar un servo algo mas, desde 0 hasta 180 prácticamente.


    Para programarlo con arduino también, tienes que mandarle un pulso de 1000 us mientras alimentas el esc, y a los 2 o 3 segundos bajar el pulso hasta los 1000us, el esc dará un pitido largo y ya está programado el recorrido entre 1000 y 2000 us. Pero te repito que la programación solo es necesario hacerla una vez, luego para funcionar normalmente bastará con que arranques el sistema con el pulso mínimo hasta que se inicialize el esc y ya está preparado para funcionar.

    Un saludo.
     
  6. juanmol Nuevo Miembro

    juanmol
    Registrado:
    23 Oct 2012
    Mensajes:
    10
    Me Gusta recibidos:
    0
    muchisisisisisimas gracias, habia mirado y remirado en webs y no me enteraba de nada, ahora creo que lo he pillado todo.
    Si esta tarde tengo tiempo me pongo y hago una prueba.
     
  7. Biribu Miembro

    Biribu
    Registrado:
    10 Jul 2012
    Mensajes:
    342
    Me Gusta recibidos:
    0
    Petertel, gracias por la aclaracion.

    Si, cuando lo probaba lo hacia con la libreria servo. Y creo que siempre hacia lo de minimo y maximo, aunque igual solo era la primera ahora que lo dices. Hace ya un año de eso asi que no estoy seguro...

    Siento haberte podido llevar a un lio mayor Juanmol.
     

Compartir esta página