Autor Tema: Hacer girar un servo  (Leído 6234 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Hacer girar un servo
« en: 20 de Octubre de 2008, 06:53:15 »
Wenas,Ante todo agradecer la ayuda de este foro,gracias a el estoy aprendiendo un monton.  :-/

Estoy usando un pic 16f628 4Mhz,servo futaba S3003
En algunos ejemplos se utiliza la declaracion "pulsout",en el pic simulator ide no me la reconococe,por lo que uso "servoout"
En el siguiente ejemplo consigo que el servo gire un poco:

Define CONF_WORD = 0x3f10
WaitMs 1000
TRISB = %00000000
PORTB.3 = 0
ServoOut PORTB.3, 30

En este otro ejemplo consigo que gire un poco,continuamente hacia un lado y hacia el otro:

Define CONF_WORD = 0x3f10
WaitMs 1000
TRISB = %00000000
PORTB.3 = 0
loop:
ServoOut PORTB.3, 30
waitms 500
ServoOut PORTB.3,240
waitms 500
goto loop


Así pues intento crear un bucle con la intencion de que el servo recorra los 180º en su totalidad:

Define CONF_WORD = 0x3f10
WaitMs 1000
TRISB = %00000000
PORTB.3 = 0
Dim a As Byte
a = 0
loop:
ServoOut PORTB.3, 30
a = a + 1
WaitMs 20
If a = 4 Then Goto fin
Goto loop
fin:

En cambio,hace el mismo pequeño recorrido que en los casos anteriores. He realizado algunas otras pruebas con resultados similares.
No termino de entender como se puede dominar el giro del servo,para que efectue el recorrido con los grados deseados.

Gracias,un saludo.
Un saludo desde Mallorca


Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer girar un servo
« Respuesta #2 en: 20 de Octubre de 2008, 12:05:08 »
¿Así pues con esta instruccion de deberia de bastar para llevar el servo hasta un extremo? "ServoOut PORTB.3, 30"
¿o me hace falta algo mas en esa instruccion?
En ejemplos que he podido encontrar,tambien usan oscilador de 4Mhz,para el mismo servo los tiempos calculados van de 0,3ms a 2,4ms,en ellos usan la declaracion "pulsout".
Los Links que me propones estan muy bien,me aclaran mejor un par de conceptos,pero el ejemplo esta en assembler y hexadecimal,cuando lo que necesito es un ejemplo en pic basic. No estoy seguro de si "servoout" sea la declaracion correcta que he de usar.

Gracias.
Un saludo desde Mallorca

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Hacer girar un servo
« Respuesta #3 en: 20 de Octubre de 2008, 12:17:01 »
De picbasic no te puedo ayudar...

A ver si algún moderador cambia el post al foro de basic...

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer girar un servo
« Respuesta #4 en: 20 de Octubre de 2008, 13:21:14 »
oks,esperare a que muevan el post.Gracias por la ayudita.
Un saludo desde Mallorca

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Hacer girar un servo
« Respuesta #5 en: 20 de Octubre de 2008, 18:11:16 »
Aqui te dejo el indice de un hilo que tiene varias formas de controlar un servo futaba 3003 con el Basic de PSI.
« Última modificación: 20 de Octubre de 2008, 19:35:22 por dogflu66 »
Saludos desde Granada, España.

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer girar un servo
« Respuesta #6 en: 20 de Octubre de 2008, 18:45:45 »
Muy agradecido.....es una lastima que el link este desaparecido.... :shock: :-/ :-)
Un saludo desde Mallorca

Desconectado doppel

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1536
Re: Hacer girar un servo
« Respuesta #7 en: 20 de Octubre de 2008, 18:56:19 »
Hola Minu

Estoy seguro que lo que Carlos quizo colocar fue este link , revisa que hay un apartado para servos con ejemplos muy bien desarrollados, con eso tendrás una clara idea de como manejarlos


saludos

Hernán
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Hacer girar un servo
« Respuesta #8 en: 20 de Octubre de 2008, 19:37:24 »
Exacto Hernán, esa fue mi intención. Gracias.
Saludos desde Granada, España.

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer girar un servo
« Respuesta #9 en: 21 de Octubre de 2008, 06:37:47 »
Gracias a los dos por la ayuda,ahora mismo me pongo a mirarme el tema de los servos.
Una coillas mas. ¿Hay alguna manera de saber con certeza si el pic se ha estropeado? por ejemplo usando el PSI. Resulta que haciendo pruebas con lo del servo me da la impresion de que me lo he cargado,ahora ni si quiera consigo encender un led jeje.Lo extraño es que le puedo programar con normalidad.No tiene importancia,he comprado un par mas de pics,aunque me gustaria asegurarme de que se ha colapsado por completo.

Gracias,de veras. Un saludo
Un saludo desde Mallorca

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Hacer girar un servo
« Respuesta #10 en: 21 de Octubre de 2008, 18:37:33 »
En este caso no hay muchos caminos, lo primero es verificar que el circuito no es perjudicial para el PIC y si es el caso hacer la corrección pertinente.
Y si los problemas continúan pues sustituir el PIC por otro, o instalar el que no marcha con otro programa y distinto circuito que si sabemos que funciona.
Saludos desde Granada, España.

Desconectado DPPIC

  • PIC10
  • *
  • Mensajes: 12
Re: Hacer girar un servo
« Respuesta #11 en: 01 de Noviembre de 2008, 18:53:12 »
Hola que tal, si entiendes el ensamblador te puedo dar un programa para hacerlo. Un saludo

Desconectado JLIGUAL

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 226
    • Habilitacion Naval
Re: Hacer girar un servo
« Respuesta #12 en: 01 de Noviembre de 2008, 20:48:53 »
Minu en ualquie caso piensa que lo primero que debes hacer es desmontar la tapa del servo y quitarle el tope plastico que tiene, por eso solo te corre un poco en cada sentido, normalmente suele andar entre un 55 y un 60º en cada banda (MIENTRAS TIENE EL TOPE PLASTICO).

Ademas debes de modificar el potenciometro del servo, de echo hay en este link: Receptor RC asistido por PIC  se habla de ello para hacer un servo multivulta (10 vueltas) entre extremos.



un saludo



Juan Luis Igual


 

anything