Linux Droids Blog

Experiencias y Proyectors robóticos de Sphinx

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

Archivado en: Electrónica — Sphinx @ 7:09 pm
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.

About these ads
 

16 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 [...]

  2. cristian Dice:

    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

  3. cristian Dice:

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

  4. sebastian Dice:

    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

    • Sphinx Dice:

      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.

  5. sebastian Dice:

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

  6. sebastian Dice:

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

  7. lazaro Dice:

    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

    • Sphinx Dice:

      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.

  8. alejandro Dice:

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

  9. rubio Dice:

    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…!

    • Sphinx Dice:

      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.

  10. Mando Garces Dice:

    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 :)


Deja un comentario

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 )

Conectando a %s

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.