MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« : Marzo 27, 2010, 08:08:28 » |
|
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.
|
|
|
|
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #1 : Marzo 27, 2010, 08:18:50 » |
|
Os dejo uno de los programas con el cual controlo un solo servo repitiendo las posiciones de 0º 90º 180º ;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 por Suky »
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #2 : Marzo 30, 2010, 02:35:47 » |
|
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.
|
|
|
|
|
En línea
|
|
|
|
|
Ariel
|
 |
« Respuesta #3 : Marzo 30, 2010, 04:39:08 » |
|
|
|
|
|
|
En línea
|
Busco ordenadores antiguos: Commodore, Sinclair, Amstrad, Atari, etc. Si sabes de alguno....¿me avisas? 
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #4 : Abril 06, 2010, 03:16:09 » |
|
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.
|
|
|
|
|
En línea
|
|
|
|
Ivan
PIC12F

Desconectado
Sexo: 
Mensajes: 247
|
 |
« Respuesta #5 : Abril 06, 2010, 03:53:30 » |
|
Podrian publicar fotos o dibujos para dar una idea de como son los robots ?
|
|
|
|
|
En línea
|
|
|
|
|
Ariel
|
 |
« Respuesta #6 : Abril 06, 2010, 05:47:16 » |
|
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! :)
|
|
|
|
|
En línea
|
Busco ordenadores antiguos: Commodore, Sinclair, Amstrad, Atari, etc. Si sabes de alguno....¿me avisas? 
|
|
|
Ivan
PIC12F

Desconectado
Sexo: 
Mensajes: 247
|
 |
« Respuesta #7 : Abril 07, 2010, 12:41:13 » |
|
Vieron que el Sketchup de google tiene un parche de fisica que tiene para emular servos? ?  me parece que ese seria el programa ideal para hacer los planos.
|
|
|
|
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #8 : Abril 07, 2010, 01:46:24 » |
|
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.
|
|
|
|
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #9 : Abril 07, 2010, 01:47:50 » |
|
Vieron que el Sketchup de google tiene un parche de fisica que tiene para emular servos? ?  me parece que ese seria el programa ideal para hacer los planos. Perdona mi ignorancia que es eso de Sketchup de google?
|
|
|
|
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #10 : Abril 07, 2010, 01:53:28 » |
|
ya lo he visto esta muy curioso
|
|
|
|
|
En línea
|
|
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #12 : Abril 08, 2010, 06:58:13 » |
|
Has probado ya el programa, yo lo estoy haciendo haber que sale.
|
|
|
|
|
En línea
|
|
|
|
Ivan
PIC12F

Desconectado
Sexo: 
Mensajes: 247
|
 |
« Respuesta #13 : Abril 08, 2010, 02:36:11 » |
|
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 por Ivan »
|
En línea
|
|
|
|
MGR
PIC12F

Desconectado
Mensajes: 121
|
 |
« Respuesta #14 : Abril 09, 2010, 05:59:04 » |
|
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.
|
|
|
|
|
En línea
|
|
|
|
|