9 de noviembre de 2010

BRAZO ROBOTICO CON MATLAB

INSTITUTO TECNOLÓGICO DE HERMOSILLO
(ITH)

POR: IVAN ORLANDO SALAZAR MONTAÑO
ESTUDIANTE DE: ING. MECATRÓNICA
www.ith.mx



PIDE LOS PROGRAMAS EN LA PAGINA http://www.notiproyect.blogspot.com/ DEJANDO COMENTARIO EN LA ENTRADA QUE CORRESPONDE A ESTO.

Este brazo roborico lo contruí para la materia de robotica, es un braso de tres grados de libertad. los calculos en este robot estan realizados con formulas sacadas del libro de barrientos, usando matrizes de rotación y el criterio de Denavit-hartenberg.


el programa es realizado en matlab para la otencion de su cinematica, tambien mediante matlab se manda informacion a un pic 16f84A el cual interpretara los datos enviados por matlab mediante un puerto paralelo y movera nuestros servomotores.

los motores usados en este proyecto fueron servomotores los hi-tec HS 311 los cuales
tienen el siguiente funcionamiento o periodo de operacion.

.6mS se posiciona en 0 grados

2.4 se posiciona en 180 grados


el periodo entonces es de 1.8

si lo queremos controlar con 60 posiciones

es 1.8/60 = 0.03

ese 0.03 se le suma desde el .6 para que nustro servo valla avanzando

de tres grados en tres grados

ya que


180/60 = 3

si quisieramos que nuestro servo avanzara de grado en grado

seria 1.8/180 =0.01

por lo que para que nuestro servo hi tech hs-311

se posisione en 0 grados mandariamos un estado en alto de .6 y un

estado en bajo de 19.4

para que este en 1 grado mandariamos el estado en alto de .61

y un estado en bajo de 19.39

y asi sucesivamente


y cno el calculo para que avanze de 3 grados en 3

seria mandar el estado en alto .63 y el es
tado en bajo 19.37 para que

avanze 3 grados


esta seria la operacion de nuestro servomotor cabe recalcar que cada servomotor tiene periodos diferentes los futaba, hi-tech, etc cada uno se controla de diferentes maneras.

En el link de acontinuacion pondre en excel el pulso en alto y en bajo que calcule para que se le mande la señal al servomotor y se posisione en los grados k ahi describe.

http://dl.dropbox.com/u/424705/tiempos%20en%20alto%20y%20bajo%20y%20grados%20de%20los%20servos.xls

En el programa de matlab se le podra introducir cuanto queremos que gire grado por grado cada eslabon, y moverlo de forma independiente a cada eslabon o mover todo automaticamente con el boton de movimiento completo.

ademas se le da la libertad para que definas la medida de cada eslabon y asi obtener la posicion a la que estara el efector final del robot y la orientacion.

La interfaz del puerto paralelo es la que e re
alizado en entradas anteriores como en la de domotica y la de control de motores a pasos en esta misma pagina http://notipory.blogspot.com/



interfaz puerto paralelo

el circuito para controlar nuestro brazo robotico es el siguiente:


El valor de resistencia de la patita 4 (MCLR) es de 1K ohm ... las resistencias del rbc ... rb5 no son necesarias si emplean el circuito del puerto paralelo descrito en entradas anteriores...

el valor de cristal es de 4MHz con capacitores de 22nF


En la parte marron son las salidas a los servomotres. los servomotres tienen tres cables el de entrada de voltaje(color rojo) ...el de tierra(color negro) y el de la entrada dela señal (color amarillo) y esas tres salidas corresponden a un diferente servomotor cada salida va a la conexion amarilla de cada servomotor.

En la parte roja vemos las entradas del puerto, las cuales se pondran en forma consecutiva del menor al mayor.

ejemplo rb0 del pic con el d0 del puerto paralelo
rb1 del pic con el d1 del puerto paralelo

y asi consecutivamente.


Con esto concluye la realizacion del brazo robotico alguna duda sugerencia comentario o mejora favor de hacerlo por este medio.

GRACIAS



11 comentarios:

Anónimo dijo...

Buenas tardes oye descarge los archivos de matlab y lo corrí ahi mismo pero yo creo que subiste los archivos de otro proyecto, uno de control de iluminacion algo asi =)), entonces estaría bien que subieras el archivo correcto, saludos.

IVAN ORLANDO SALAZAR MONTAÑO dijo...

SI DISCULPA CAMBIARE LOS PROGRAMAS GRACIAS POR INFORMAR.

IVAN ORLANDO SALAZAR MONTAÑO dijo...

E PUESTO LOS PROGRAMAS EN LA PAGINA QUE INDICA ARRIBA TIENES QUE PEDIRLOS COLEGA GRACIAS

Anónimo dijo...

Hey se ve interesante tu proyecto, podrias subir un video y anexar el link, me gustaria mucho poder verlo en funcionamiento, salu2 desde slp.

IVAN ORLANDO SALAZAR MONTAÑO dijo...

Es un proyecto que realize antes, por lo tanto no lo tengo armado para tomarle video, pero si me escribes por el blog http://notipory.blogspot.com/ te podria enviar los programas.

Anónimo dijo...

hola me parece interesante este proyecto y mas si esta hecho en MATLAB, me pregunto si de alguna posibilidad de publicar uno que tengo parecido hecho con control difuso en LABVIEW me gustaria compartirlo.

Anónimo dijo...

HoOla me parce muy buen proyecto es un muy buen aporte yo estoy empezando mi carrera y la verdad me llamo mucho la atencion voy a intentar acerlo :D

carolinne dijo...

hola! pues me gusto mucho! pero no puedo entrar a la pagina. me redirecciona y parece q no carga bien porque no aparece nada : ( porfis haber si lo publicas el programa ;) gracias ; )

Unknown dijo...

Buen día disculpa la molestia se me hace interesante tu proyecto, yo estoy realizando uno parecido pero tengo algunas sobre matlab como interpretar los resultados de las matricez en 1 y 0 lógicos, quisiera ver si me pudieras pasar el programa para ver como los realizaste gracias por la atención.

Unknown dijo...

Hola saludoss, me interesa tu proyecto , me harias el favor de mandarme los programas de math lab? te lo agradeceria mucho , graciass


rapmeck_1991@hotmail.com
eadrincon@gmail.com

Anónimo dijo...

muchas gracias por tu aporte, lo necesito mucho, espero me pueda a servir, gracias por utilizar el 16f84a, siempre lo encontraba con el 16f884 gracias :D