Linux Droids Blog

Experiencias y Proyectors robóticos de Sphinx

Controladora de 12 servos con PIC 16F84A 18 junio, 2010

Filed under: Electrónica — Sphinx @ 19:09
Tags: , , ,

boton_electronica.pngPor qué no explotar al máximo las capacidades de este PIC y poner casi todos pines de  los puertos E/S a pilotar servos.

Utilizando un software similar al que describo en mi anterior articulo lo podemos conseguir. Aquí de momento expongo el diseño del circuito que voy a utilizar. En un posterior articulo incluiré el software.

El PIC 16F84 tiene 8 pines en el puerto B y 5 pines en el puerto A. En total tenemos 13 pines de entrada salida. Mi idea es utilizar el máximo de pines para pilotar servos, pero al menos necesito uno de ellos para que funcione de entrada de recepción de datos.  Ya sea de un PC o de otro PIC. De modo que reservando un pin, tendremos otros 12 para manejar servos. Mi idea inicial es conectarlo al PC mediante el puerto serie.

He seleccionado el pin 4 del puerto A, que se corresponde con la patilla 3 del integrado. El resto de pines del puerto A, del 0 al 3 serán pines de salida para servos.

Utilizaré el 16F84A versión 20 Mhz para sacarle el máximo partido.

Con todo lo comentado, el esquema muestra el resto de manera bastante clara.

Para conectarlo al puerto serie del PC añado al esquema el transistor para adaptar niveles que ya mostraba en mi articulo sobre la adaptación de niveles RS-232 <-> TTL de Marzo de 2010.

El siguiente esquema muestra el circuito completo:

Esquema de la controladora de 12 servos

Algunas notas adicionales sobre el esquema:
– En el se puede ver que existe una resistencia de 0 Ohms. Simplemente se trata de un puente que vi necesario a la hora de diseñar la placa.
– Los jumpers para los servos son los conectores que aparecen a la derecha.
– La alimentación de los servos y de la lógica se ha separado para evitar que el ruido de los servos afecte al micro.
– La asignación de los pines del 16F84 hacia la tira de pines no es aleatoria. Se han asignado de manera que cada pin del micro tenga enfrente el pin de la tira de pines. De este modo es mas sencillo enrutar las pistas.

El diseño está realizado en Eagle 5.3.0. Si alguien está interesado que me pida los archivos.

El resultado es el siguiente, “renderizando” la placa en 3D:

Circuito resultante visto en 3D

El software para manejar los servos lo pondré en el siguiente articulo.

[reditado 2013/09/18] Ya está disponible en la pagina de descargas los esquematicos y diseño de placa, así como el programa en un fichero asm.

Anuncios
 

23 Responses to “Controladora de 12 servos con PIC 16F84A”

  1. […] Havinga, y no requiere ninguna modificación para hacer funcionar el circuito que os mostraba en el articulo anterior, controlando 12 […]

    Me gusta

  2. cristian Says:

    wenas, esta genial tu placa controladora siempre he querido armarme una,
    me queda una duda si, podria construir exactamente la misma placa pero para un pic16f628a que es el que tengo,seran los mismos pines?
    saludos y gracias de antemano

    Me gusta

  3. cristian Says:

    disculpa me equivoque, el pic que tengo es el 16f628a xD
    saludos….

    Me gusta

  4. sebastian Says:

    ola yo quisiera crear un controlador de 8servos si alguien me podria ayudar para poder construirlo con puerto serial, el circuito impreso y los circuitos ayuda es que el esquema que aparese en esta pagina me complica

    Me gusta

    • Sphinx Says:

      Hola Sebastian, controladores de 8 servos los puedes encontrar a montones por internet. Te paso este enlace a la página de mi amigo Julio Montagut. Es muy bueno y está muy bien explicado: http://www.jvmbots.es/index.php/controlador-de-8-servos.html . Pero si este esquema que te muestro en esta página te parece complicado, no creo que el otro te lo parezca menos. Yo creo que no lo es tanto.
      Si me dices qué es lo que te parece complicado del esquema…? Te recomiendo que para probarlo, utilices una protoboard, y una vez lo tengas visto y comprobado, intentes hacer la placa.
      Saludos,
      Sphinx.

      Me gusta

  5. sebastian Says:

    lo que necesitaba pero me puedes dar el e mail de tu amigo porfa por unas dudas Saludos.

    Me gusta

  6. sebastian Says:

    Gracias¡¡¡¡¡¡¡¡¡¡¡

    Me gusta

  7. lazaro Says:

    hola amigo oye una pregunta puedo usar el pic 16f84a para el codigo que esta ya echo???? solo quiero controlar 5 servos y que programa puedo utilizar para controlar los movimientos de los servos espero su pronta respuesta muchas gracias

    Me gusta

    • Sphinx Says:

      Hola Lázaro, Este programa es para el 16F84A, por tanto sí, puedes utilizarlo, no veo el por qué no. Puedes controlar 5 servos con él. Claro, hasta 12. como dice el artículo. Pero me da la sensación de que no estoy entendiendo tu pregunta. A qué te refieres cua do dices “qué programa puedo utilizar para controlar los movimientos de los servos…” ¿ Te refieres a un programa de PC ?
      Dame más datos a ver si te puedo ayudar.

      Me gusta

  8. alejandro Says:

    Disculpen alguien podria ayudarme para el controlador de 5 servos…?

    Me gusta

  9. rubio Says:

    disculpame t hago una consulta, vos m podrias mandar el programa q hiciste con MPLAB a mi correo? porq estoy intentando armar un peqeño brazo robot con servos y qiero programar el pic q va en la plaqetita q vos pusiste en este post…

    mi msn: rubiofilipelli@hotmail.com

    desde ya muchas gracias…!

    Me gusta

    • Sphinx Says:

      Hola rubio, No tengo programa en MPLAB. El programa que tengo es en ensamblador del PIC. No recuerdo si lo puse. Si no fue así, edito una entrada y lo pongo.

      Saludos,
      Sphinx.

      Me gusta

  10. Mando Garces Says:

    hola, me gusto mucho tu diseño, ¿me podrias pasar el programa en ensamblador? me seria de gran ayudar, porque aun no se programar bien y lo modificaria porque solo quiero usar 6 servos, o asi lo puedo usar? gracias 🙂

    Me gusta

  11. jesus Says:

    no encuentro programa en asm de ensamblador para manejar el pic 16f84a,
    con la tarjeta de control de 12 servos, por favor enviar al correo si es posible.Gracias

    Me gusta

  12. jesus Says:

    Por favor enviar el archivo de la tarjeta de control para Eagle. Gracias
    tioca1@hotmail.com

    Me gusta

  13. cesar Says:

    hola oye me podrias pasar el archivo del diseño del pcb mi correo es chicharrón_cesar@live.com.mx

    Me gusta

    • Sphinx Says:

      Hola Cesar,
      He actualizado la página y he puesto los ficheros de eagle junto con el fichero asm en el area de descargas. Puedes encontrarlo allí con el nombre de este mismo artículo del blog.
      Saludos,
      Sphinx.

      Me gusta

  14. hola nesesito controlar un total de 16 servos para un robot cuadrupedo.. como puedo acer

    Me gusta

    • Sphinx Says:

      Hola Luis Enrique.
      Tu pregunta está abierta a muchas respuestas. Con la controladora de este post del blog no creo que puedas controlar 16 servos, puesto que como ves en el titular se pueden controlar 12. Exiten otras controladoras que pueden manejar más servos. En este blog menciono que con el controlador Pinguino ver18F2550 puedes controlar hasta 18 servos simultaneamente. Echale un ojo.
      Si esto no te resulta comodo o fácil de manejar, te sugiero busques otras controladoras para manejar esa cantida de servos que deseas. Hay muchas en el mercado.
      Saludos, Sphinx.

      Me gusta


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s