Control de velocidad de giro en servos de rotación continua



  • Hola a todos,


    Estoy realizando un proyecto en el que necesito reducir la velocidad de giro de servos de rotación continua (o al menos controlarla y poderla variar).

    He leído en algún foro (por desgracia no me he guardado la dirección), que en el código fuente, la diferencia entre antihorario, parado y horario es el argumento que se le pasa a la función del servo ([180] en un sentido, [90] parado y [0] en el otro sentido)
    También he leído que se puede hacer girar más lento si en lugar de pasar 180 como argumento, se pasa 120, y si en lugar de pasar 0, se pasa 40. Para ello es necesario introducir código arduino directamente (y no tengo experiencia en eso).

    Estoy introduciéndome en bitbloq (acabo de adquirir un kit Printbot) y lo voy a utilizar para una aplicación en la que necesito control de velocidad.

    Por otro lado, no veo muy difícil crear un nuevo icono en la aplicación bitbloq que permita variar la velocidad de giro del servo (algo así como indicar un % de velocidad en el sentido elegido).

    En resumen:
    1.- Si no es posible el icono en bitbloq con el % de velocidad, quisiera que me indicaran cómo introducir código arduno directamente al printbot (o al sistema que yo quiera controlar). ¿Existe algún tutorial al respecto?
    2.- Si fuera posible programar dicho icono, sería estupendo. Mis conocimientos no son los suficientes como para programarlo desde cero, quizá con el código fuente del icono del servo sí sería capaz.

    PS. Espero sinceramente que el sistema funcione. Cuando lo consiga, colgaré fotos y compartiré la experiencia.



  • En bitbloq está el bloque en el cual se puede indicar al servo los grados al que debe girar. Como bien dices, depende que número de grados se le indique se moverá para un sentido y una velocidad u otra. 


    Prueba a hacer un programa en el cual en una variable obtengas el valor que marca un potenciómetro o el sensor ultrasonidos. Esa variable que se ajuste entre los valores 0 y 180, y veras como al cambiar el valor en el sensor, también variará la velocidad del servo.



  • Hola sgruben.
    Efectivamente, veo el icono en bitbloq, pero se refiere a servos de posicionamiento, no de rotación continua.
    A no ser que se utilice el icono del servo de posicionamiento, pero se conecte físicamente al servo de rotación continua.
    ¿Estoy equivocado?
    Gracias

    (...)
    Después de trastear un poco, observo que, en cuanto a código, es lo mismo poner el "bloq" de servo de rotación continua con giro sentido antihorario, que el "bloq" de servo de posición con ángulo 180.

    A falta de recibir mi primer kit, todavía no lo he probado, pero creo que la regulación con % se puede hacer mapeando valores:
    0-100 de 90 a 180 para giro antihorario
    0-100 de 90 a 0 para giro horario.

    Gracias.
    Doy la pregunta por respondida.



  • Así es @{lagartijo13}. Me alegro que se haya solventado la pregunta ;). Comentarte que ya se ha lanzado la beta de bitbloq 2, por si quieres echarla un ojo y probar con ella.