Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

21/10/2011 #1


Control de varios servo por un mismo PIC
Holaque tal, me gustaria saber como controlar mas de 2 servos por medio de un PIC para hacer un brazo robotico, en si quiero que tenga 4 servos me dicen que debo enviarle pulsos seguidos pero como hago eso con 4 servos? el pic es el 16F886
21/10/2011 #2


Tendrias que añadirle un CI de tipo driver para controlar los servos. Por ejemplo, un L293B que es de los mas basicos. Te dejo datasheet:
http://www.terra.es/personal/fremiro/Archivos/L293b.pdf

Siento no poder ayudar mas, hasta ahi llego. Saludos
20/11/2011 #3

Avatar de mecatronix89

Pero un L293B es un driver para motores DC no? el servo necesita de un PWM para fijar su posición y velocidad... según la teoria me lo ha enseñado
20/11/2011 #4


si es cierto el puente h no sirve para los servos pero ya lo lodgre gracias
20/11/2011 #5

Avatar de mecatronix89

jeje, me podrías orientar acerca del control de los servos? esque apenas voy aprendiendo... si puedes poner una parte de tu código para darme una idea y programar lo que necesito...
20/11/2011 #6


claro que si lo programas en ensamblador? y ademas que pic? bueno en si a los servos les tienes que dar un pulso alto que es el que te va a dar la dieccioon y otro pulso bajo que va a ser mas el de la velocidad asi lo tomo yo por que cuando has de cuenta le doy a un servo 2ms que es para 180° tengo que darle 17 a 18 ms de tiempo bajo aunque le he dado 8 y va mas rapido y cuando le doy hasta 200 jaja se va bien leeeento :P bueno respondeme :P
20/11/2011 #7

Avatar de mecatronix89

ah ok, pues yo programo en CCS un PIC16F887 a 20MHz...
20/11/2011 #8


:o que loco yo el 886 XD a 4mhz jojo ammm mira esque yo lo programo en ensamblador y si tiene una gran diferencia :/ yo te recomendaria que lo programaras en ensamblador esta mas chingon pero tienes que aprender los nemonicos y esas cosas aun asi deja te mando un codigo en asm explicado para ver si te convences espera tantito

pollo.txt hola aqui esta una pequeña parte de un codigo en ensamblador espero que te agrade

pollo.txt perdon este el codigo pero ya comentado
20/11/2011 #9

Avatar de mecatronix89

ok... muchas gracias, esque el CCS me cautivó jaja y me parece más sencillo y entendible creo yo... pero le doy una revisadita como quiera gracias amigo
20/11/2011 #10


vale si entiendo jojo a mi me paso pero con el asm XD nos leemos luego pues
20/11/2011 #11


Yo considero que es algo sencillo. Puedes controlar varios servos por un mismo PIC, pero el unico desperfecto del diseño que tengo a mano es que no puedes activar más de un servo a la vez. Yo utilizo la señal de datos de uno mismo (I/O señal) y para ir activando cada servo coloco un relé o similar a la alimentacion del servo
28/11/2012 #12


te agradeceria lleon95
si me pudieras pasar el asm
28/11/2012 #13


si claro es d eun robot
Archivos Adjuntos
Tipo de Archivo: txt roto.txt (6,4 KB (Kilobytes), 96 visitas)
01/12/2012 #14


muchas gracias
aunque me gutaria que me explicaras como funciona cada servo... digo si se puede, ya que necesito que vaya de 0 a 45 y luego de 0 a 90 y luego de 0 a 135 y luego de 0 a 180... (asi para 3 servos diferentes)
01/12/2012 #15


mmm que los 3 servos hagan ese movimiento?
bueno si es asi seria algo asi mira

movlw .40 ;tiempo en que el servo se quedara en esa posion
movwf 0x50 ;guardado en regitro 50
ardiente
movlw 0x03 ;activar 3 servos en el puerto a
movwf porta
call _0 ;llamado del tiempo de 0 grados
clrf porta ;se borra el puerto a
call bajo ;se llama el tiempo bajo (17ms)
decfsz 0x50 ;ciclo
goto ardiente


movlw .40 ;tiempo en que el servo se quedara en esa posion
movwf 0x50 ;guardado en regitro 50
ardiente
movlw 0x03 ;activar 3 servos en el puerto a
movwf porta
call _45 ;llamado del tiempo de 45 grados
clrf porta ;se borra el puerto a
call bajo ;se llama el tiempo bajo (17ms)
decfsz 0x50 ;ciclo
goto ardiente

y haci haces para los demas movimientos
aunque podrias hacerlo por tablas para que sea mas corto el programa pero este es un metodo espero que le entiendas
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.