Generalmente los servomotores no tienen reparacion o es muy dificil dado el tamaño tan pequeño de la tarjeta de control interna, ademas de que no la venden como refacción.
Si la tarjeta está dañada y el servo no responde o no responde como quisieramos, podemos todavía controlarlo externamente.
El servo cuenta con tres cables externos, uno para alimentacion +, otro - y el tercero para la señal de control PWM. internamente estos cables van a la tarjeta de control, de donde salen 2 cables para el motor, + y -, y tres cables para el potenciometro.
Si la tarjeta está dañada y no podemos repararla o cambiarla, podemos fabricar un puente H de transistores para el motor y utilizar el potenciometro en una entrada analogica de Arduino o de un microcontrolador. En este ultimo caso vamos a utilizar el microcontrolador para hacer la funcion enviar señal de giro hacia un lado y otro y obtener la posicion.
Podriamos incluso sustituir el control de la tarjeta original al procesar una señal PWM de otro micro y hacer girar el motor hasta obtener el angulo deseado, sin embargo es parte de un proyecto mas elaborado.
Para este caso en particular queremos seguir utilizando el servo para controlar un movimiento, primeramente destornillamos el servo con cuidado de no dejar caer engranes y que se pierdan piezas; vamos entonces a desoldar los cables de la tarjeta para dejar libre el motor y el potenciometro. extraemos la tarjeta y la guardamos por si algun día podemos repararla. soldamos otros cables al motor, los cables originales del servo nos funcionan. Para el potenciometro podemos utilizar cable plano, desprendemos tres hilos de cable, los soldamos al ptenciometro y fianlmente los juntamos con los otros dos del motor para hacerlos pasar por el orificio del servo.
Una vez rearmado nuestro servo al estilo Frankestein, podemos utlizar un control directo del Arduino en cuyo caso el codigo seria activar la salida de una direccion hasta que la posicion sea igual o mayor a la deseada.
En el caso de que deseemos independizar el nuevo control del servo, esta la opcion de utilizar un Attiny13a, un PIC 12F675 o algun microcontrolador equivalente de 8 pines y minimo 1 k de memoria. el control de posicion seria por PWM pero un control directo analogico, es decir, el microcontrolador que da la orden envia una señal PWM a una entrada analogica del micro dedicado del servo. En esta orden va escalada ya la posicion deseada del servo.
El micro dedicado al control del servo recibe entonces la señal y hace girar el motor dependiendo del error de posicion del mismo. Para evitar que se pase de la posicion y quiera regresarse, provocando la tan temida oscilación, vamos a depurar el programa para que al estar en una posicion que quede dentro de un rango determinado, no trate de moverse ya.
miércoles, 4 de noviembre de 2015
Suscribirse a:
Entradas (Atom)