Por 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:
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:
El software para manejar los servos lo pondré en el siguiente articulo.


[...] Havinga, y no requiere ninguna modificación para hacer funcionar el circuito que os mostraba en el articulo anterior, controlando 12 [...]
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
disculpa me equivoque, el pic que tengo es el 16f628a xD
saludos….
Hola Cristian, supongo que sí. Puedes intentarlo. No creo que encuentres ningún problema.
Ya me cuentas tu experiencia.
Saludos.
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
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.
lo que necesitaba pero me puedes dar el e mail de tu amigo porfa por unas dudas Saludos.
No tengo su e-mail. Tampoco lo veo en su página. Pero puedes contactarle a través de ARDE: http://www.webdearde.com . Su usuario es Juliovmd. Le puedes enviar un mensaje privado desde allí, si te creas un usuario en ARDE.
Gracias¡¡¡¡¡¡¡¡¡¡¡
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
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.
Disculpen alguien podria ayudarme para el controlador de 5 servos…?
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…!
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.
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
Hola, el programa en ensamblador lo puedes encontrar en mi otro articulo:
Un saludo ,Sphinx.