TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: RaDoN en 05 de Abril de 2006, 09:42:21
-
Proyecto terminado os dejo un pequeño resumen y toda la documentación, placas, codigos, programa en Visual Basic, videos del tema, en fin ... todo:
RaDoN-ARM
(http://img149.imageshack.us/img149/6111/portada1qg.jpg)
Estructura del brazo:
(http://img149.imageshack.us/img149/4977/esquemabrazo4rp.th.jpg) (http://img149.imageshack.us/my.php?image=esquemabrazo4rp.jpg)
Monta 2 tipos de motores paso a paso unipolares unipolares de 12V, de 75 pasos vuelta (bobina de 70 ohm) y de 25 pasos vuelta (bobina de 10 ohm). Para mantener la posición del brazo no es necesario "enclavarlos" puesto que este cuenta con reductoras y cadenas, por lo que en reposo los libero.
Para moverlos uso una etapa de potencia a base de transistores npn (TIP31C) de media potencia indicado para proposito de conmutación (corte-saturación). La etapa de de 2 canales, uso 3 (6 motores).
(http://img150.imageshack.us/img150/7818/100620062077yi.th.jpg) (http://img150.imageshack.us/my.php?image=100620062077yi.jpg)
La etapa de control se comunica con el PC por el puerto serie (UART), basada en un PIC 16F877.
(http://img116.imageshack.us/img116/4938/100620062102mc.th.jpg) (http://img116.imageshack.us/my.php?image=100620062102mc.jpg)
EL software de control en Visual Basic 6:
(http://img157.imageshack.us/img157/4041/capturasoftvb9sr.th.png) (http://img157.imageshack.us/my.php?image=capturasoftvb9sr.png)
Un video (resultado final): http://video.google.com/videoplay?docid=-9218262066936933766
Otros mientras hacian pruebas: http://video.google.com/videoplay?docid=2718155227080586426 & http://video.google.com/videoplay?docid=8455472159645178194
EL PROYECTO COMPLETO con documentación, pcbs (fotolitos), soft de control, códigos, etc...
http://www.megaupload.com/es/?d=3NDDW8Q9
Agradecimientos a Sisco, Nocturno, Redpic, Gio, Ionitron, y en resumen a la comunidad TODOPIC!
=======================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////////
=======================================================================
Ya tengo asignado el proyecto de fin de curso, se trata de "reanimar" un brazo robot comercial, que lleba muerto sin electrónica algunos años, entre otras cosas tendré que documentar, proyectar en autocad y manejar el brazo desde una aplicación en el PC, esto es lo que mínimo se me pide.
Creo que se traduce a muchas horas en él para después devolverlo :( por lo que creo que será interesante tener un "diario" sobre el proyecto y que mejor que aquí para publicarlo y compartirlo con vosotros.
De momento solo lo recibido, son 6 motores pap (algunos bipolares y otro unipolares) y poco más puedo decir, porque me voi corriendo al curro jejeje, ya lo analizare más detenidamente.
(http://img97.imageshack.us/img97/5518/050420060858mn.th.jpg) (http://img97.imageshack.us/my.php?image=050420060858mn.jpg) (http://img88.imageshack.us/img88/8144/050420060866zm.th.jpg) (http://img88.imageshack.us/my.php?image=050420060866zm.jpg) (http://img88.imageshack.us/img88/5934/050420060879yl.th.jpg) (http://img88.imageshack.us/my.php?image=050420060879yl.jpg)
-
Lindo robotito, lastima que lo tengas que devolver :( :( :( :( :( :( :( :(
Un saludo
Carlos
-
Hola:
Animo radon, muy bueno el proyecto para ignaugurar la nueva casa... :mrgreen:
-
que lindo bichito... animo con el proyecto que te hacemos el aguante ;)
saludos
-
Buenasss!!bonito proyecto y animo!me parece recordar, viendo las imagenes, que el robot que vas a manipular es un SCARA, con respecto al manejo de su programacion via PC, no se si ya tienes el software, pero yo hace tiempo tuve que 'jugar' con estos tipos de brazos-robots y habia un paquete bastante bueno que te facilitaba variuos niveles de programacion, uno la guiada, es decir, vas manejando el brazo del robot manualmente y donde quieras que haga un movimiento almacenas su posicion en el ordenador, y la otra es la programada que ya tienes que tu declarar las variables y medir las distancias....haber si cuando regrese a sevilla busco entre los papeles y pongo el software que yo use.
Suerte!!! :wink:
-
Gracias vszener, bueno, lo que me pidieron es controlarlo en "vivo" con un soft en PC, habia pensado en VB6 y RS232, creo que es una alternativa sencilla (y la verdad esque no tengo ni hay mucho tiempo para desarrollar el proyecto).
Por cierto me corrijo al post anterior, TODOS los motores son unipolares (hubiera preferido que fuesen bipolares pero que se le va hacer) ... Ahora vere las caracteristicas de estos, pero creo que tendre que hacer un array de transistores darlington, no se si la tipica familia ULN28xx me aguantará ...
-
Hola RaDoN, no creo que la familia de los ULN soporten la intensidad de un motor PaP, estos integrados solo soportan 500 mA, segun el data sheet y segun mi experiencia a duras pasan los 300 mA sin quemarse.
Un saludo.
Atte. CARLOS
-
Hola RaDoN, no creo que la familia de los ULN soporten la intensidad de un motor PaP, estos integrados solo soportan 500 mA, segun el data sheet y segun mi experiencia a duras pasan los 300 mA sin quemarse.
Bueno pongamos que cada canal soporta en buenas condiciones 300mA, ademas pensando que no siempre va estar los motores en continuo movimiento (por lo tanto tmpc el consumo), para manejar los unipolares que usa el brazo, necesitaria de 4 canales (300 * 4), 1,2 A por motor (mucho rebajar, seguro que es un poco más).
Voi a bichear que consumen estos ...
-
Muy lindo el robot.. ahora, me imagino que despues de que funcione vas a conectar la PC a internet para poder controlar el robot desde la China via web con una camarita, no ? jeje :D :D ese es un lindo proyecto ese !
Un abrazo Mariano !
-
Bueno, al menos los motores no estan quemados como me temía (al menos 3 de los 6 que he probado), así que seguimos adelante ... he movido los motores con un ULN2803 y un programilla cutre corriendo en un 18f2550. Decir que aunque lo mueve, se calienta mucho (y eso que solo use la mitad de los canales, con los 8 -2 motores- se debe freir).
Así que para avanzar me toca ir haciendome la placa de potencia, no se si habrá algun integrado de este tipo pero con más potencia (estaría bueno porque es muy cómodo), o de lo contrario hacerla con transistores de potencia, que sería mucho más engorrosa la placa. :lol:
-
Hola:
Radon, mira a ver que te parece el L298.
-
Seguro que con el L298 y un buen disipador funcionará como la seda.
-
No se si lo comente arriba, pero todos los motores son paso a paso unipolares. Conozco este integrado, pero por lo que sé, es para motores DC y bipolares, por lo que creo que no me sirve ano ser que sepais alguna forma que se me escape.
Una fotico más:
(http://img159.imageshack.us/img159/6657/070420060921pe.th.jpg) (http://img159.imageshack.us/my.php?image=070420060921pe.jpg)
Gracias a las reductoras y a las cadenas, el brazo puede estar quieto sin demandar corriente de los motores, por lo que no tengo que "enclavarlos" :D
-
Bonito trabajo el que te espera Radon... yo tengo unos amigos que siempre quisieron hacer un brazo robot, pero con motores DC (mas complicado para el control de posicion), lastima que nunca tuvieron el apoyo... Tengo un par preguntas para ti al respecto...
Como va a ser tu control a lazo abierto(sin sensores) o a lazo cerrado(con sensores)? y que tipo de sensores (que te diga los fines de carrera o que te indique el angulo)?
Solo van a hacer la parte electronica y el software, o tambien van a trabajar la parte mecanica(modelamiento matematico del brazo)?
Uy, creo que pregunto mucho no???? Lo que pasa es que siempre el tema de la robotica me despierta la curiosidad.... Suerte!!!! y a ponerle empeño....
Nos vemos :D :D :D :D :D :D :D
Por cierto lo ubieras posteado en el foro de robotica...
-
¿Y porqué no te sirve el L298 para unipolares?, yo creo que es un integrado que puede funcionar como puente-H para bipolares, pero también como driver para unipolares.
-
Muy interesante proyecto Radon, aqui les dejo un link que explica muy bien los tipos de motores.
http://www.monografias.com/trabajos17/motor-paso-a-paso/motor-paso-a-paso.shtml
Por lo que he entendido, puedes conectar un motor unipolar de 6 cables como bipolar, dejando sin coneccion los cables del medio de cada bobina, lo he probado a mano y me ha funcionado. Por lo cual si podrias usar el L298.
Lo que si no tengo claro es si pierdes precision, potencia,etc.
Suerte
-
¿Y porqué no te sirve el L298 para unipolares?, yo creo que es un integrado que puede funcionar como puente-H para bipolares, pero también como driver para unipolares.
Creo que si que tienes razón manolo, pero cuando veo el diagrama del L298 no me aclaro demasiado:
(http://img210.imageshack.us/img210/2605/blockl2982gb.th.jpg) (http://img210.imageshack.us/my.php?image=blockl2982gb.jpg)
Por último veguepic gracias por el link, yo tb pense usarlo como un bipolar, no estoy seguro, pero por constitución creo que perdería algo de precisión, porque ya no usas las bobinas como "dobles", es como si de 4 bobinas para moverlo pasaras a 2. La verdad que aunque he manejado alguna vez estos motores estoy algo pez.
Bipolar
(http://www.micropic.arrakis.es/bipolar.jpg)
Unipolar
(http://www.micropic.arrakis.es/1b11a.jpg)
Edito: Artifox, me quedas tú jejeje de momento estoy planteandolo todo, no hace una semana que me llego el brazo y ahora solo estoy intentando situarme. Supongo que sí, que tendré que ponerle algun tipo de realimentación, para que el soft del PC sepa en que estado estan las articulaciones, sino puede que el operador intente mover alguna hacia un lado que ya llego al tope...
-
Uy entonces disculpa por atacarte con tantas preguntas.... De todas maneras si puedo ayudarte en algo, con mucho gusto... :P :P :P :P
Pues a ponerle mucho esfuerzo.... :D :D :D :D :D :D
-
Un detalle del "sensor" de cierre de la pinza. Un motor con una polea va tensando el cable de acero hasta cerrar las pinzas, cuando este se tensa lo suficiente hace cerrar un bumper (interruptor de final de carrera). La precisión de este se regula con un tornillo que acciona sobre el.
(http://img63.imageshack.us/img63/115/090420060996fe.th.jpg) (http://img63.imageshack.us/my.php?image=090420060996fe.jpg)
Sinceramente me parece un poco rudimentario, no es muy preciso y encima el motor tiene la fuerza justa para cerrar la pinza, cuando tiene que accionar el bumper le cuesta la propia vida. Estoy pensando en sustituirlo po un simple micro-pulsador en la propia pinza, así ademas sabría tb cuando parar si lleba un objeto entre estas. No creo que el "transplante" sea muy complicado ... ¿que opinan?
Edito: en esta foto creo que se ve mejor el detalle.
(http://img45.imageshack.us/img45/1865/090420061013rr.th.jpg) (http://img45.imageshack.us/my.php?image=090420061013rr.jpg)
-
Pues la idea del micro-pulsador es interesante, lo piensas poner en la pinza verdad? pues me paree que vas a tener que ajustarlo bien para que pueda agarrar correctamente algun objeto, pues apeas este presionado el micro pulsador se va a detener el motor, aunque pensandolo bien eso seria cuestion de prueba y error...
:D
-
¿No podías sensar el cierre de las pinzas porque hay un incremento de consumo del motor?.
El L298 tiene una salida que puedes meter por el ADC del PIC y te permitiría ajustar la fuerza o presión del motor sobre el objeto que tenga entre las pinzas, de manera que apretase poco para coger un huevo, y mucho para coger una botella, por ejemplo.
-
Pues como dices es una polea donde se recupera el cable, cambiando esta por una mas pequeña consigues mas fuerza y menor velocidad de la pinza con lo que puede que quede mas vistosa al ir mas lenta…. Y es posible que este sistema sea mas simple y menos traumatico para la mecánica del brazo ya que hacer cambios radicales requiere adaptaciones y por lo que se abrir agujeritos nuevos… y mas si el brazo no es tuyo…
-
Al final he optado por poner 4 transistores (TIP31) y punto, otros como el UCN5804 no lo encontrado, además seguro que esta es la solución más económica 8)
-
Yo utilizo para medir presión unos sensores de lego los cuales estan compuestas por una gomita recubierta de una especie de capita de carbon, esta gomita es comprimida por el actuador que nos es mas que un pequeño pivote, y es comprimida contra dos plaquitas metálicas que hacen de contactos, y como puedes deducir a mayor presión menor R.
-
Mejor que sean darlintong, mucho mas faciles de controlar con niveles logicos y en general mucho mejor para manejar motores…
-
Perdona mi ignorancia flu, mejores porque? tienen mayor ganancia y eso pero ... si estan trabajando en corte-saturación, que más me da??
-
Bueno, el tema como dices esta en poder llevar el transistor a la saturación sin necesidad de usar driver de control, con los darlintong consigues una impedancia elevada de entrada con una baja impedancia de CE fácilmente.
-
Gracias por la respuesta carlos.
Os pongo una relación de los motores del brazo. Como los manejare en semipasos (8 fases), el "gear ratio" será el doble. He hecho pruebas y así me parece (aparte del evidente incremento de precisión), que va mucho mas fino y menos forzado el motor.
(http://img119.imageshack.us/img119/2923/half4fd.gif)
(http://img140.imageshack.us/img140/9296/motoresbrazo5eb.jpg)
-
Hola, estoy queriendo construir un brazo robotico y quisiera porfavor que me ayudaran, ya que es un proyecto que voy a presentar en la Universidad. Quisiera que me ayuden a montarlo y programarlo.
-
Hola, estoy queriendo construir un brazo robotico y quisiera porfavor que me ayudaran, ya que es un proyecto que voy a presentar en la Universidad. Quisiera que me ayuden a montarlo y programarlo.
Eso estamos tratando de hacer en este hilo, si lo sigues te será de ayuda. Si necesitas ayuda extra porque tu proyecto concretamente es algo distinto en algunos puntos ... pues pregunta ;)
-
A falta de algunas cosas, tengo el codigo más o menos listo, a lo que mover los motores se refiere.
Creo que habia dos opciones básicas, controlar de estos el sentido y el nº de pasos que da, o controlar la posición de estos, he elegido la segunda porque básicamente (puede y de hecho contiene la primera), con la primera "a pelo" se podría indicar mover el motor en un sentido que ya llego al tope por limitación de la mecánica del brazo. Cuando haga pruebas "físicas" con el brazo le agregaré al programa los rangos de posición para impedir esto.
El programa es inmensamente sencillo, se trata de multiplexar los motores PaP, además esta yo creo, excesivamente comentado para ser todo entendido por culaquiera que le caiga en sus manos (debe ser así para cuando deba exponerlo ante los profesores, que por que no decirlo ... algunos no esque sean unos llumbreras!!). Va comparando la posición en la que se encuentra hasta la "posición nueva", la cual en el futuro sera ingresada por un programa via RS232.
En el ejemplo, el 1er motor da un paso (7.5º), el 2º 2 ...
///////////////////////////////////////////////////////////////////////////
//// RaDoN-Bot 877 ////
//// Por Daniel G - by RaDoN (12/04/06) ////
///////////////////////////////////////////////////////////////////////////
#include <16f877A.h> // Cabecera para el PIC16F877A
#fuses HS,NOWDT,PUT,NODEBUG,NOPROTECT,NOBROWNOUT,NOLVP
// Fusibles que se activarán cuando el dispositivo
// se programe. P.ej: NOLVP, NO Low voltage program.
// Indica que será programado con tensión alta (13.5V)
#use delay(clock=20000000) // Cristal 20 Mhz <-> 0.25 uS/instrucción
// requerida para la funciones:
// delay_us(x) y delay_ms(x)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
//#ORG 0x1F00,0x1FFF {} //for the 8k 16F876/7 bootloader
#use fast_io(A) // Directiva que afecta al código que el compilador
#use fast_io(B) // generará para las instrucciones de entrada y salida.
#use fast_io(C) // Este método rápido de hacer I/O ocasiona que el
#use fast_io(D) // compilador realice I/O sin programar el registro
#use fast_io(E) // de dirección.
#byte port_a = 5 // Dirección del registro PORTA del PIC16F877 (05h)
#byte port_b = 6 // Dirección del registro PORTB del PIC16F877 (06h)
#byte port_c = 7 // Dirección del registro PORTC del PIC16F877 (07h)
#byte port_d = 8 // Dirección del registro PORTD del PIC16F877 (08h)
#byte port_e = 9 // Dirección del registro PORTE del PIC16F877 (09h)
#define cintura 0 // Nº de motor 0 (cero porque es el valor que apunta al
// primer elemento del vector -array-) -> RA0:3
#define hombro 1 // Nº de motor 1 -> RB0:3
#define codo 2 // Nº de motor 2 -> RB4:7
#define muneca_dcha 3 // Nº de motor 3 -> RC0:3
#define muneca_izq 4 // Nº de motor 4 -> RD0:3
#define pinza 5 // Nº de motor 5 -> RD4:7
/* Las siguientes tablas constan de 6 elementos, 1 para cada motor.
En las que se indican: la posición que ocupa, la posición a la que
se debe dirigir y el nº de la secuencia de paso que ocupa para ser
gobernado */
int16 posicion_pap[6] = {0,0,0,0,0,0}; // Posición de los motores 1-6 en pasos
int16 posicion_nueva[6] = {1,2,3,4,5,6}; // Posición a la que se deben
// dirigir los PaP recibida por la UART
int8 secuencia_pap[6] = {0,0,0,0,0,0}; // Nº de la secuencia del paso (8 pasos)
// de cada motor
/***********************************************************************/
const int8 pasos[8] = {2,6,4,12,8,9,1,3}; // Valores para activar las bobinas:
// secuencia de medio paso.
/*#int_rda
void serial_isr()
{
int num;
if(kbhit())
{
num = getc();
printf("%u\n\r", num);
}
}*/
/***********************************************************************/
// Esta funcion compara la posición del motor paso a paso correspondiente,
// con la indicada por el programa de control mediante el puerto serie (UART).
// En caso de ser diferente irá moviendolo secuencialmente y en forma
// multiplexada hasta que este ocupe la posición requerida.
/***********************************************************************/
void mover_motor(int motor) // Motor 0-6; Cintura, hombro, codo,
// muñeca_dcha, muneca_izq, pinza
{
if(posicion_pap[motor] == posicion_nueva[motor]) // Si el PaP esta en la
// posición requerida,
// mantén las bobinas
// inactivas.
{
switch(motor)
{
case cintura: port_a = port_a & 0xF0; // Limpiamos el nibble inferior
break;
case hombro: port_b = port_b & 0xF0; // Limpiamos el nibble inferior
break;
case codo: port_b = port_b & 0x0F; // Limpiamos el nibble superior
break;
case muneca_dcha: port_c = port_c & 0xF0; // Limpiamos el nibble inferior
break;
case muneca_izq: port_d = port_d & 0xF0; // Limpiamos el nibble inferior
break;
case pinza: port_d = port_d & 0x0F; // Limpiamos el nibble superior
break;
}
}
else // Si el PaP NO esta en la posición requerida, lo muevo y actualizo:
// posición y secuencia (fase en la que se encuentra).
{
switch(motor)
{
case cintura: port_a = pasos[secuencia_pap[motor]] | (port_a & 0xF0);;
break;
case hombro: port_b = (pasos[secuencia_pap[motor]]) | (port_b & 0xF0);
break;
case codo: port_b = (pasos[secuencia_pap[motor]] << 4) | (port_b & 0x0F);
break;
case muneca_dcha: port_c = (pasos[secuencia_pap[motor]]) | (port_c & 0xF0);
break;
case muneca_izq: port_d = (pasos[secuencia_pap[motor]]) | (port_d & 0xF0);
break;
case pinza: port_d = (pasos[secuencia_pap[motor]] << 4) | (port_d & 0x0F);
//printf("%Lu --> ", posicion_pap[motor]);
//printf("%u\n\r", secuencia_pap[motor]);
break;
}
if(posicion_pap[motor] > posicion_nueva[motor])
{
--posicion_pap[motor];
if(secuencia_pap[motor] == 0) secuencia_pap[motor] = 7;
else --secuencia_pap[motor];
}
if(posicion_pap[motor] < posicion_nueva[motor])
{
++posicion_pap[motor];
if(secuencia_pap[motor] == 7) secuencia_pap[motor] = 0;
else ++secuencia_pap[motor];
}
}
}
/**********************************************************************/
// Función principal
void main(void)
{
int i;
set_tris_a(0xF0); // RA7:4 entradas, RA3:0 salidas
set_tris_b(0x00); // RB7:0 salidas
set_tris_c(0xF0); // RC7:4 entradas, RC3:0 salidas
set_tris_d(0x00); // RD7:0 salidas
//enable_interrupts(int_rda);
//enable_interrupts(global);
while(1)
{
for(i=0;i<=5;++i){
mover_motor(i);}
delay_ms(500);
}
}
De momento la demostración con Isis (Proteus)
(http://img224.imageshack.us/img224/1605/capturaisis1pp.th.jpg) (http://img224.imageshack.us/my.php?image=capturaisis1pp.jpg)
http://www.megaupload.com/es/?d=H3WZIJ01
-
He aquí el esquematico de la placa de potencia para el control de motores (de 2 canales, serán 3 en total)
(http://img139.imageshack.us/img139/9261/powermotorsch9ss.th.jpg) (http://img139.imageshack.us/my.php?image=powermotorsch9ss.jpg)
Y la placa:
(http://img164.imageshack.us/img164/4540/powermotorpcb9yr.th.jpg) (http://img164.imageshack.us/my.php?image=powermotorpcb9yr.jpg)
Si veis algo raro no dudeis en postear y comentarmelo, y si alguno quiere el fotolito pues igual :D
-
Que haya dejado un poquito de postear no es que lo haya dejado de lado jeje, ando haciendo placas y demás. He hecho algunas simulaciones ya con la UART moviendo los PaP, os dejo esta foto y paso a explicarla:
(http://img46.imageshack.us/img46/3921/paprs2325tm.th.jpg) (http://img46.imageshack.us/my.php?image=paprs2325tm.jpg)
El programa en primer plano, Virtual Serial Port Kit te crea 2 puertos series virtuales (obvio, despues de saber el nombre...) COM3 y COM4, que ademas, están virtualmente unidos por un cable cruzado:
(http://img75.imageshack.us/img75/606/virtualserial0pg.jpg)
Con la device COMPIN de Proteus que permite enlazar un puerto (en este caso el COM3) con la simulación, voi pasandole datos a la UART del PIC para mover los motores PaP a la posición indicada por el Terminal.
Espero estar probandolo fisicamente pronto y remplazar el terminal por un programa en VB6 :)
-
Aquí esta la primera de las placas de potencia para el brazo (serán 2 más).
(http://img216.imageshack.us/img216/3055/210420061373al.th.jpg) (http://img216.imageshack.us/my.php?image=210420061373al.jpg)
(http://img166.imageshack.us/img166/489/210420061391dg.th.jpg) (http://img166.imageshack.us/my.php?image=210420061391dg.jpg)
La proxima que haga será la placa de control con el PIC para empezar a "tontear" ya con el brazo :D
-
Oye, RaDoN, ¿cómo es que no has puesto los transistores en línea para poder meterle un disipa continuo a todos?
P.D.: ¿esa rueda que tiene tu teclado sirve para manejar el volumen de los altavoces?
-
Que nooo Manolo, que noooo ... esa rueda es el Botón de Autodestrucción ...
por si acaso al Brazo Robótico Radónico de le dá por atacar a su creadorrrrr :D :D :D
-
Jejeje, me temo que la sospecha de manolo es la cierta, aunque me replantearé su uso al propuesto por Redpic :lol:
El tema de los disipas, no se calientan nada, la probe primero en la proto y decidi que no los necesitaba.
-
Otro pasito, al programa anterior citado le implementado la recepción de la información para la UART, para el posicionamiento de los motores. Para esto me he valido con el trabajo hecho por Redpic, "Procesador de comandos vía RS232 (con Buffer de recepción)" :
( http://picmania.garcia-cuervo.com/PICC.htm#COMBUF232 )
Del que me aprobechado al 100%, editandolo minimamente para mi aplicación en concreto, en la voi recibiendo carácters y llenando el buffer, hasta que detecta un intro y mediante la función atol(string) la convierto en un dato númerico de 16bit que será la posición a la que ir el motor.
Esta un poco en versión beta jeje, pero esto a tiene forma :mrgreen:
(http://img155.imageshack.us/img155/4369/captura304061hy.th.jpg) (http://img155.imageshack.us/my.php?image=captura304061hy.jpg)
P.D: Gracias DIEGO!!!!!!!! :-)
-
Veo que hay mucha gente que le interesa el tema del brazo y sigue el hilo, pero por algún motivo no se atreven a postear ...
Sigo ... la placa principal, controladora de motores con conectores para cable plano, circuito de reset, ICSP, UART con max232 y conector DB9, un par de leds (TX y RX), algunos pulsadores y poco más, bien sencilla.
El esquemático:
(http://img153.imageshack.us/img153/6150/mobosch2gi.th.jpg) (http://img153.imageshack.us/my.php?image=mobosch2gi.jpg)
La PCB:
(http://img153.imageshack.us/img153/4631/mobopcb7rs.th.jpg) (http://img153.imageshack.us/my.php?image=mobopcb7rs.jpg)
Y unas foticos de como quedó:
(http://img524.imageshack.us/img524/7449/010520061588gy.th.jpg) (http://img524.imageshack.us/my.php?image=010520061588gy.jpg)
(http://img359.imageshack.us/img359/3875/010520061608ve.th.jpg) (http://img359.imageshack.us/my.php?image=010520061608ve.jpg)
Vamos a empezar a mover el trasto este ya :mrgreen: :-/
-
Siento no poder avanzar mucho en el brazo, pero ando haciendo las practicas de empresa y no me deja mucho tiempo, pero no queda más remedio que darle un fuerte achuchón a esto porque debe estar entregado a mediados de junio.
A falta de realizas 2 placas más de potencia para poder mover todas las articulaciones simultaneamente os dejo este video (tb me falta hacer el soft para VB6, aunque pienso que esto es lo más sencillo).
http://www.megaupload.com/es/?d=M268HXPM
-
Hola:
Radon, no puedo descargar el archivo :(, el link esta bien, pero al momento de descargarlo, no aparece el cuadro para guardar el archivo, me sale un error en la pagina.
-
Debes esperar el tiempo que te indica, despues aparece un popup que debes cerrar y debajo esta el boton para comenzar la descarga .... las cosas de megaupload (lo acabo de probar y no he tenido problemas).
Por cierto, acabo de terminar otra placa de potencia, solo me queda uno, voi a probar moviendo 4 articulaciones simultaneamente ... :mrgreen:
-
Hola Radon, pues todo va muy interesante; quisiera que me ayudes con un problema que tengo, quiero hacer creo lo mismo que tu con la simulacion, tengo la versión de prueba del virtual serial port (por si acaso no tienes la versión completa, mi mail cryn137-arroba-hotmail.com porque en el emule nunca lo descarga, o algo para "arreglarlo") y quiero comunicar el pic del proteus con el hyperterminal de windows xp; debo usar el compin creo, pero no encuentro este muy nombrado compin, donde lo encuentro?? como lo configuro?? muchas gracias, chao.
-
hola radon llevo un tiempo sin pasar por aqui veo que lo tienes casi todo terminado, un trabajo magnifico radon... :-/
-
Hola Radon, pues todo va muy interesante; quisiera que me ayudes con un problema que tengo, quiero hacer creo lo mismo que tu con la simulacion, tengo la versión de prueba del virtual serial port (por si acaso no tienes la versión completa, mi mail cryn137@hotmail.com porque en el emule nunca lo descarga, o algo para "arreglarlo") y quiero comunicar el pic del proteus con el hyperterminal de windows xp; debo usar el compin creo, pero no encuentro este muy nombrado compin, donde lo encuentro?? como lo configuro?? muchas gracias, chao.
Yo tmpc tengo la versión completa, es de pago ... aprobeche el tiempo que te deja la versión trial (creo que un mes) para simular mientras hacia las placas fisicas y poder hacerlo fisicamente.
hola radon llevo un tiempo sin pasar por aqui veo que lo tienes casi todo terminado, un trabajo magnifico radon... :-/
Gracias dog ... todavia le queda bastante trabajo.
-
Un par de videos:
http://video.google.com/videoplay?docid=8455472159645178194
http://video.google.com/videoplay?docid=2718155227080586426
-
esto esta ya casi terminao... :-/
-
esta muy buendo mister radon :)
-
Una chulería, paisano. Lástima que tengas que devolverlo
-
Una chulería, paisano. Lástima que tengas que devolverlo
Voi a tener que hacerle caso a dog, despues de la presentación y la nota chingarmelo jejejeje
-
Siempre puedes hacer otro de cartulina, para cuando le des el cambiazo que no se note mucho, seguro que cuando lo entreges sera para dejarlo olvidado en alguna estanteria.... la peña es asi.
un saludo
cchhaa
-
Podrías cargarle un programa para que el brazo, aprovechando la oscuridad de la noche, fuese reptando hasta tu casa. :-/
-
¡¡¡ Guapiiiiisiiiiiimooooooooo ¡¡¡ :P :P :P
T'a quedao d'lujo Dani. E n h o r a b u e n a
(Ten cuidao con las pruebas. En el de la botella como te equivoques y le de un tembleque al brazo te cargas la pantalla del Osciloscopio ... :D :D :D)
-
Felicitaciones!!! :-/ :-/ :-/ Te ha quedado muy bien :mrgreen: :mrgreen: :mrgreen:
-
Bueno ya he terminado el proyectito y aunque aun tengo pendiente la semana que viene la presentación... he colgado la documentación del proyecto, fotolitos de las placas, el código pic de la controladora, algunas fotitos, el programa de control el Visual Basic y algun video nuevo :mrgreen:
Agradeceros a todos por la ayuda, en especial a los que os "robe" ayuda para el proyecto directamente o bien de vuestras webs personales: Nocturno, Redpic, Sisco, Ionitron y a Gio que me ayudo mucho con el programa de Visual Basic (y a otros tantos que se me olvidaran seguro :P), en fin, a TODOPIC!
Os dejo los enlaces en el primer post.
-
No veo esos links, paisano.
-
Proyecto terminado os dejo un pequeño resumen y toda la documentación, placas, codigos, programa en Visual Basic, videos del tema, en fin ... todo:
RaDoN-ARM
(http://img149.imageshack.us/img149/6111/portada1qg.jpg)
Estructura del brazo:
(http://img149.imageshack.us/img149/4977/esquemabrazo4rp.th.jpg) (http://img149.imageshack.us/my.php?image=esquemabrazo4rp.jpg)
Monta 2 tipos de motores paso a paso unipolares unipolares de 12V, de 75 pasos vuelta (bobina de 70 ohm) y de 25 pasos vuelta (bobina de 10 ohm). Para mantener la posición del brazo no es necesario "enclavarlos" puesto que este cuenta con reductoras y cadenas, por lo que en reposo los libero.
Para moverlos uso una etapa de potencia a base de transistores npn (TIP31C) de media potencia indicado para proposito de conmutación (corte-saturación). La etapa de de 2 canales, uso 3 (6 motores).
(http://img150.imageshack.us/img150/7818/100620062077yi.th.jpg) (http://img150.imageshack.us/my.php?image=100620062077yi.jpg)
La etapa de control se comunica con el PC por el puerto serie (UART), basada en un PIC 16F877.
(http://img116.imageshack.us/img116/4938/100620062102mc.th.jpg) (http://img116.imageshack.us/my.php?image=100620062102mc.jpg)
EL software de control en Visual Basic 6:
(http://img157.imageshack.us/img157/4041/capturasoftvb9sr.th.png) (http://img157.imageshack.us/my.php?image=capturasoftvb9sr.png)
Un video (resultado final): http://video.google.com/videoplay?docid=-9218262066936933766
Otros mientras hacian pruebas: http://video.google.com/videoplay?docid=2718155227080586426 & http://video.google.com/videoplay?docid=8455472159645178194
EL PROYECTO COMPLETO con documentación, pcbs (fotolitos), soft de control, códigos, etc...
http://www.megaupload.com/es/?d=3NDDW8Q9
Agradecimientos a Sisco, Nocturno, Redpic, Gio, Ionitron, y en resumen a la comunidad TODOPIC!
En el primer post :P
-
Hoy hecho la presentación, gracias a todos!! Tengo la nota mas alta :mrgreen:
-
Y esas masas de profesores y catedráticos arrancandose las vestiduras, tirandose de los pelos, luchando entre ellos para ver quien ponía la mayor nota a Radón, gritando, gesticulando, proclamando a los cuatro vientos aquello de "... es alumno míoooo, es alumno míoooo ..." hasta enronquecer y quedar afónicos ....
Me alegro mucho Dani, te lo mereces un montón :mrgreen: :mrgreen: :mrgreen:
-
Hola:
Pue muchisimas FELICIDADES Dani...
Te a quedado super y felicidades por tu calificacion, y si de algo te sirvio la ayuda de los compañeros y la mia es mucho mas satisfactorio saber que he podido ayudar en alguito :D
FELICIDADES......
PD: a ver si en algunos dias les muestro el que yo hice... falta documentar algo todavia :P
-
Enhorabuena, paisano. Ya sólo falta que te encuentre un cazatalentos.
-
Ya sólo falta que te encuentre un cazatalentos.
No se que talento van a "cazar" en mi, si la vagueza cuenta como uno pos si xD Jeje bromas a parte gracias por vuestros comentarios (un poco exageraos no redpic? :P )
-
(un poco exageraos no redpic? :P )
YO NUNCA EXAGERO
ja, ja, ja :D :D :D
-
Muy buen proyecto radon, aunque este tema es algo viejo, me quedan dos dudas, la primera ¿Dejaste el proyecto en la U? (espero que no), y la segunda es relativa a los motores PaP, tengo uno de 5V 300mA, he hecho algo similar usando transistores para la alimentación del motor, pero el suministro de voltaje principal, lo estoy sacando de un LM7805 que se supone es de 5V a 1A máximo, pero por alguna extraña razón, cuando inicializo la secuencia del motor, el voltaje se cae a 2V y el 7805 se empieza a calentar exageradamente, sabes ¿cúal puede ser el problema? ¿No debería ser suficiente con este regulador?
-
Muy buen proyecto radon, aunque este tema es algo viejo, me quedan dos dudas, la primera ¿Dejaste el proyecto en la U? (espero que no), y la segunda es relativa a los motores PaP, tengo uno de 5V 300mA, he hecho algo similar usando transistores para la alimentación del motor, pero el suministro de voltaje principal, lo estoy sacando de un LM7805 que se supone es de 5V a 1A máximo, pero por alguna extraña razón, cuando inicializo la secuencia del motor, el voltaje se cae a 2V y el 7805 se empieza a calentar exageradamente, sabes ¿cúal puede ser el problema? ¿No debería ser suficiente con este regulador?
Hola, el proyecto no se quedó en clase, (en el instituto mejor dicho, no es para la universidad). Pero la verdad debi dejarlo, pues aquí tengo las placas cojiendo polvo, allí quizás algún alumno podría seguir el proyecto y cada vez hacerlo más completo.
Respecto a lo que me indicas, hacen falta más datos para que te pueda/n ayudar. Tipo de PaP (unipolar o bipolar), ¿300mA por bobina?, un esquema del circuito y demás seria esclarecedor. Suerte.
-
como estas radon que posibilidades hay de que publiques los planos y los pcb en eagle
-
Radón me pasó su proyecto para colgarlo en mi web. Lo tienes disponible aquí:
MicroPIC - Zona Descargas - Proyectos (http://www.micropic.es/index.php?option=com_remository&Itemid=27&func=select&id=1)
-
que buen proyecto, me encantaria poder desarrolarlo, podrias ayudarme a hacerlo?