Autor Tema: Prototipo de robot bípedo para la revista ucontrol  (Leído 40196 veces)

MGR

  • PIC12F
  • **
  • Mensajes: 193
Prototipo de robot bípedo para la revista ucontrol
« en: Marzo 27, 2010, 08:08:28 pm »
Apreciados señores, desde hace mucho tiempo ronda por mi cabeza la construcción de un robot bípedo y después de ese tiempo y algo de experiencia me voy a ponerme manos a la obra, dejando aparcado los dos proyectos en desarrollo que tenía en mente EVA y el bot explorador controlado por PC, EVA la tengo que remodelar de arriba a bajo y para ello necesito modificar dos servos que he comprado, pero claro no lo haré hasta que termine el bot bipedo o que se jodan dos de los servos.
Bueno la idea es la siguiente, diseñar entre los compañeros del foro este bot bipedo con objeto de publicarlo en la revista de ucontrol, planos de estructura, electrónica programación etc…. Claro está,  la publicación de este proyecto estará condicionada una vez que se pruebe el bot y funcione correctamente.

Bueno siguiendo mi filosofía (condicionada por que tengo menos dinero que el que se está bañando) y pensando en que la robotica no tiene por que ser carísima , he pensado en lo siguiente.

Estructura: contrachapado de madera de 5mm
Servos: Towerpro MG995 de 10kg
Control: PIC 16f84a

Estructura:
He elegido el contrachapado de madera ya que es un material fuerte, barato y fácil de mecanizar es decir al alcance de todos, sólo habrá que sacar los dibujos de las pieza en impresora recortar, pegar en la madera y comenzar a cortar y agujerear para poner tornillos.

Servos:
Son diez los que necesita el bot bipedo para las dos piernas cadera, rodilla tobillo, etc…
Yo he comprado dos towerpro MG995 por 14€ en ebay y los he estado probando con la placa de EVA ya los controlo sin ningún problema generando la frecuencia de pulso alto y bajo mediante un programita muy curioso llamado PDEL, en total saldría de precio todos los servos por 70€ no esta mal ehhhh.

Control:
He pensado en el PIC 16f84a ya que sirve tanto para los compañeros que estan muy avanzados en programación como los que comienzan con PIC y de momento con las pruebas que he realizado no me ha dado ningún problema. Este PIC tiene 13 I/O de las cuales se utilizaría para el control de los servos diez quedando tres entradas libres para el control de bot ya bien sea conectado a otro pic y a interruptores para controlar el bot.

En fin espero que os guste este desafio, yo seguiré con el proyecto y si alguno se anima ya sabe.
Saludos desde Sevilla, España.

MGR

  • PIC12F
  • **
  • Mensajes: 193
Programa control de servo
« Respuesta #1 en: Marzo 27, 2010, 08:18:50 pm »
Os dejo uno de los programas con el cual controlo un solo servo repitiendo las posiciones de 0º 90º 180º

Código: [Seleccionar]
;control servo 0º 90º 180º

LIST P=PIC16F84
include "P16F84A.INC"

;ZONAS ETIQUETAS


STATUS EQU 0X03
PORTA EQU 0X05
PORTB EQU 0X06
PDel0 EQU 0X0C ;alto 0º
PDel1   EQU 0X0D ;alto 0º
PDel3   EQU 0X2E ;bajo 0º
PDel4   EQU 0X10 ;alto 90º
PDel5   EQU 0X11 ;alto 90º
PDel6   EQU 0X12 ;bajo 90º
PDel7   EQU 0X13
PDel8   EQU 0X14
PDel9   EQU 0X15
PDel10  EQU 0X20
CUENTA EQU 0X19
RP0 EQU 0X05



ORG 0X00
goto INICIO
ORG 0X05

;CONFIGURACION DE LOS PINES

INICIO: bsf STATUS,RP0
movlw b'01111000'
movwf PORTB
movlw b'00011111'
movwf PORTA
bcf STATUS,RP0


;EJECUTA EL PROGRAMA

REVI: clrwdt
btfsc PORTA,1
goto REVI
goto PROGR


PROGR: clrwdt
call P0_RB7
call P90_RB7
call P18RB7
goto PROGR


P0_RB7: clrwdt
movlw    d'50'
     movwf    CUENTA        ;CUENTA = 50
;-------------------------------------------------------------
; Código para generar pulso alto 0.7ms para 0º
;-------------------------------------------------------------
PDelay2 movlw    .53       ; 1 set number of repetitions (B)
        movwf    PDel0     ; 1 |
PLoop1  movlw    .90       ; 1 set number of repetitions (A)
        movwf    PDel1     ; 1 |
PLoop2  clrwdt             ; 1 clear watchdog
        decfsz   PDel1,1   ; 1 + (1) is the time over? (A)
        goto     PLoop2     ; 2 no, loop
        decfsz   PDel0,1   ; 1 + (1) is the time over? (B)
        goto     PLoop1     ; 2 no, loop
PDelL1  goto PDelL2     ; 2 cycles delay
PDelL2  clrwdt             ; 1 cycle delay
bsf PORTB,7
       goto PDelay1   ; 2+2 Done
;-------------------------------------------------------------

;-------------------------------------------------------------
;Código para generar pulso bajo 19.3ms completa 20ms para 0º
;-------------------------------------------------------------
PDelay1 movlw    .173     ; 1 set number of repetitions
        movwf    PDel3     ; 1 |
PLoop0  clrwdt               ; 1 clear watchdog
        decfsz   PDel3,1   ; 1 + (1) is the time over?
        goto     PLoop0     ; 2 no, loop
PDelL3  goto PDelL4         ; 2 cycles delay
PDelL4  clrwdt               ; 1 cycle delay
bcf PORTB,7
        decfsz   CUENTA       ;CUENTA = CUENTA - 1, CUENTA=0?
     goto     PDelay2     ;no --> repetimos la señal
     clrf     CUENTA       ;si --> reiniciamos CUENTA y regresamos
     return        
;-------------------------------------------------------------



P90_RB7: clrwdt
movlw    d'50'
     movwf    CUENTA        ;CUENTA = 50
;-------------------------------------------------------------
; Código para generar pulso alto 1.54ms para 90º
;-------------------------------------------------------------
PDelay4 movlw     .28       ; 1 set number of repetitions (B)
        movwf     PDel4     ; 1 |
PLoop   movlw     .131       ; 1 set number of repetitions (A)
        movwf     PDel5     ; 1 |
PLoop3  clrwdt               ; 1 clear watchdog
        clrwdt               ; 1 cycle delay
        decfsz    PDel5,1   ; 1 + (1) is the time over? (A)
        goto      PLoop3     ; 2 no, loop
        decfsz    PDel4,1 ; 1 + (1) is the time over? (B)
        goto      PLoop     ; 2 no, loop
Tres   goto  Cuanto        ; 2 cycles delay
Cuanto  clrwdt               ; 1 cycle delay
bsf  PORTB,7
        goto  PDelay3       ; 2+2 Done
;-------------------------------------------------------------



;-------------------------------------------------------------
; Código para generar pulso bajo 18'46ms completa 20ms para 90º
;-------------------------------------------------------------
PDelay3 movlw     .255       ; 1 set number of repetitions
        movwf     PDel6     ; 1 |
PLoop4  clrwdt               ; 1 clear watchdog
PDelL6  goto  PDelL7        ; 2 cycles delay
PDelL7  
        decfsz    PDel6,1   ; 1 + (1) is the time over?
        goto      PLoop4     ; 2 no, loop
PDelL9  goto  PDelL8        ; 2 cycles delay
PDelL8  goto  PDelL5        ; 2 cycles delay
PDelL5  clrwdt               ; 1 cycle delay
bcf  PORTB,7
        decfsz    CUENTA        ;CUENTA = CUENTA - 1, CUENTA=0?
     goto      PDelay4       ;no --> repetimos la señal
     clrf      CUENTA        ;si --> reiniciamos CUENTA y regresamos
     return
;-------------------------------------------------------------



P18RB7: clrwdt
movlw    d'50'
     movwf    CUENTA        ;CUENTA = 50
;-------------------------------------------------------------
;Código para generar pulso alto 1.54ms para 180º
;-------------------------------------------------------------
PD01 movlw     .29       ; 1 set number of repetitions (B)
        movwf     PDel7     ; 1 |
PL01   movlw     .101       ; 1 set number of repetitions (A)
        movwf     PDel8     ; 1 |
PL02   clrwdt               ; 1 clear watchdog
PDe01   goto  PD02         ; 2 cycles delay
PD02  
        decfsz    PDel8,1   ; 1 + (1) is the time over? (A)
        goto      PL02     ; 2 no, loop
        decfsz    PDel7,1   ; 1 + (1) is the time over? (B)
        goto      PL01     ; 2 no, loop
PDe03   goto  PDe04       ; 2 cycles delay
PDe04   goto  PDe05         ; 2 cycles delay
PDe05   clrwdt               ; 1 cycle delay
        bsf PORTB,7
       goto PDelay9               ; 2+2 Done
;-------------------------------------------------------------




;-------------------------------------------------------------
; Código para generar pulso bajo 18'46ms completa 20ms para 180º
;-------------------------------------------------------------
PDelay9  movlw     .13       ; 1 set number of repetitions (B)
         movwf     PDel9     ; 1 |
PL03   movlw     .45       ; 1 set number of repetitions (A)
         movwf     PDel10     ; 1 |
PL04   clrwdt               ; 1 clear watchdog
         decfsz    PDel10,1   ; 1 + (1) is the time over? (A)
         goto      PL04     ; 2 no, loop
         decfsz    PDel9,1 ; 1 + (1) is the time over? (B)
         goto      PL03     ; 2 no, loop
PD06   goto   PDe07       ; 2 cycles delay
PDe07    clrwdt               ; 1 cycle delay
bcf  PORTB,7
         decfsz    CUENTA        ;CUENTA = CUENTA - 1, CUENTA=0?
     goto      PD01       ;no --> repetimos la señal
     clrf      CUENTA        ;si --> reiniciamos CUENTA y regresamos
     return
        
;-------------------------------------------------------------



END


Edit: Para visualizar código correctamente.-
« Última modificación: Marzo 27, 2010, 09:16:46 pm por Suky »

MGR

  • PIC12F
  • **
  • Mensajes: 193
Servos para bipedo
« Respuesta #2 en: Marzo 30, 2010, 02:35:47 pm »
Bueno señores, he pedido ya 10 servos a Hong Kong jejejej son towerpro MG955 13kg por lo que he leído en Internet son mas malos que la quina, pero como me han costado 57,39€ los pillo, los que se quejan son aficionados a RC tanto en aviones como en coches, yo los dos que compré no me han dado problemas y les estoy haciendo perrerías.

Bueno en el momento que tenga las "piernas" del bot os paso los diseños.

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #3 en: Marzo 30, 2010, 04:39:08 pm »
Sigo atentamente este hilo....  :baba :baba :baba :baba

Tengo un puñado de servos de los comunes, en algun momento espero hacer algo lindo con ellos....y tus progresos me van a servir de inspiracion  ;D
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #4 en: Abril 06, 2010, 03:16:09 pm »
Bueno Ariel haber como me sale la cosa, aún no he puesto ningún esquema de diseño ya que estoy esperando que me lleguen las poleas dentadas, he comprado diez y me han salido por 0.30€ cada una, también he comprado tres correas dentadas de 188mm de longitud y de paso 2mm XML.
He pensado que mejor que poner directamente el servo sobre cada articulación, hacerlo mediante transmisión por poleas de esa forma no sufren, sobre la electrónica como ya he indicado en el primer post voy a utilizar el 16f84a haré una placa con el PIC, conexiones para 10 servos alimentación de 5v para la electronica y 7v para la alimentación de los servos. 

Ivan

  • Amigo de uControl
  • PIC16F
  • ******
  • Mensajes: 553
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #5 en: Abril 06, 2010, 03:53:30 pm »
Podrian publicar fotos o dibujos para dar una idea de como son los robots ?
¿Qué es un circuito?
Es un lugar donde hay elefantuitos, caballuitos, payasuitos...

Ariel

  • Global Moderator
  • dsPIC
  • ****
  • Mensajes: 10753
    • uControl
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #6 en: Abril 06, 2010, 05:47:16 pm »
Bueno Ariel haber como me sale la cosa, aún no he puesto ningún esquema de diseño ya que estoy esperando que me lleguen las poleas dentadas, he comprado diez y me han salido por 0.30€ cada una, también he comprado tres correas dentadas de 188mm de longitud y de paso 2mm XML.
He pensado que mejor que poner directamente el servo sobre cada articulación, hacerlo mediante transmisión por poleas de esa forma no sufren, sobre la electrónica como ya he indicado en el primer post voy a utilizar el 16f84a haré una placa con el PIC, conexiones para 10 servos alimentación de 5v para la electronica y 7v para la alimentación de los servos. 

Buenisimo!!
Es una buena idea intentar algo distinto...casi todos los robots "made in casa" basados en servos los usan directamente como articulaciones. Es mas facil, pero son muy debiles....Creo que con las poleas y correas va a quedar estupendo! :)
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Ivan

  • Amigo de uControl
  • PIC16F
  • ******
  • Mensajes: 553
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #7 en: Abril 07, 2010, 12:41:13 pm »
Vieron que el Sketchup de google tiene un parche de fisica que tiene para emular servos? ? :rolleyes2:
me parece que ese seria el programa ideal para hacer los planos.
¿Qué es un circuito?
Es un lugar donde hay elefantuitos, caballuitos, payasuitos...

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #8 en: Abril 07, 2010, 01:46:24 pm »
Podrian publicar fotos o dibujos para dar una idea de como son los robots ?


Ivan yo estoy más ansioso que tú, cuando tenga el material ire diseñando y presentando los resultado.

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #9 en: Abril 07, 2010, 01:47:50 pm »
Vieron que el Sketchup de google tiene un parche de fisica que tiene para emular servos? ? :rolleyes2:
me parece que ese seria el programa ideal para hacer los planos.

Perdona mi ignorancia que es eso de Sketchup de google?

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #10 en: Abril 07, 2010, 01:53:28 pm »
ya lo he visto esta muy curioso

Ivan

  • Amigo de uControl
  • PIC16F
  • ******
  • Mensajes: 553
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #11 en: Abril 07, 2010, 01:56:33 pm »
Es un programa de dibujo en 3D gratuito :rolleyes: de Google (lo compro google).

un videito del sketchup y el plugin de physics:

http://www.youtube.com/watch?v=3exA1bfA6G8

un brazo robotico funcionando:
http://www.youtube.com/watch?v=Aj5KFCYSbZI&feature=related

lo que no encontre es algun programaque vincule algun simulador como el proteus con el control del sketchup  :(

esta es la galeria
http://sketchup.google.com/3dwarehouse/search?q=robot&styp=m&btnG=Buscar&start=0
¿Qué es un circuito?
Es un lugar donde hay elefantuitos, caballuitos, payasuitos...

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #12 en: Abril 08, 2010, 06:58:13 am »
Has probado ya el programa, yo lo estoy haciendo haber que sale.

Ivan

  • Amigo de uControl
  • PIC16F
  • ******
  • Mensajes: 553
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #13 en: Abril 08, 2010, 02:36:11 pm »
si, es bastante facil e intuitivo, si queres postea unos esquemas de lo que queres y los hago. lo que tenes que decir es como seria la parte mecanica, por ejemplo si el "pie" tendria movimiento hacia arriba y abajo o tambien si va hacia los lados y cosas asi; o sino igual a este o a este otro.
« Última modificación: Abril 08, 2010, 02:38:19 pm por Ivan »
¿Qué es un circuito?
Es un lugar donde hay elefantuitos, caballuitos, payasuitos...

MGR

  • PIC12F
  • **
  • Mensajes: 193
Re: Prototipo de robot bípedo para la revista ucontrol
« Respuesta #14 en: Abril 09, 2010, 05:59:04 am »
si, es bastante facil e intuitivo, si queres postea unos esquemas de lo que queres y los hago. lo que tenes que decir es como seria la parte mecanica, por ejemplo si el "pie" tendria movimiento hacia arriba y abajo o tambien si va hacia los lados y cosas asi; o sino igual a este o a este otro.

Ivan, a mi no me va el programa, lo que voy hacer es mandarte algunos esquemas para que lo pruebes tú.
este fin de semana voy a probra una articulación simple con los servos y la transmisión de polea dentada. haber si cuelgo un video de las pruebas.

 

anything