desktop

Duda sobre motorizacion de un brazo robotico

Me parece que estáis liando motores cc con motores paso a paso con el pwm encoder y batido de todo un poco.
Los motores de las impresoras suelen ser paso a paso.
 
si, efectivamente decía eso, pero la controladora de los Servos ya la tengo lista y funcionando, la hice un un 16F84 aunque queria haber usado otro bastante mejor que este pero como este mismo cumplia la funcion y lo tenian aqui en mi ciudad decidi hacerme la controladora con el.

Dicho esto ya solo me quedaría la controladora de los motores.
en cuanto a motores no tengo experiencia en ellos y no se si me podrias decir algunos que veas por ebay con las caracteristicas aproximadas a las que necesito o modelos que conozcas...
para esto lo mejor sería buscar un motor con la reductora ya acoplada ya que así incluso podria acoplarlo directamente al robot sin necesidad de tranmisión, y en cuanto al tipo de encoder y controlador de cada motor me tendras que guiar un poco también.
en cuanto al voltaje del motor no habría problema si fuera de 24V o incluso36V en cuanto al torque... cuanto mas mejor pero logicamente cuando mas mas reductora habrá, el limite ya estaría en cuanto a la velocidad que yo quiera, a simple vista estaría bien que en recorrer 180grados tardara 1 segundo, en mi caso a ser posible los modelos me gustaria encontrarlos en España por el hecho de que estén mas cerca y haya que pagar menos portes.
Un Saludo y muchas gracias por todo

Me parece que estáis liando motores cc con motores paso a paso con el pwm encoder y batido de todo un poco.
Los motores de las impresoras suelen ser paso a paso.

cierto pero en algún caso recuerdo haber visto algun disco hecho para el encoder de algún motor, tambien tienes razon, si paras apensarlo lo que intento hacer sería un Servo con un motor de cc que ya tenga una reductora acomplada y un encoder

Vuelbo a reeditar, he encontrado este motor por ahi dando vueltas http://www.robotshop.com/cytron-12v-60rpm-93oz-gear-motor-encoder.html pasando los mN.m a kg.cm cuantos kg por centimetro podria levantar 67kg ? he ido a un conversor y me marca 5000 ! y me ha entrado la duda
 
Última edición:
Me parece que estáis liando motores cc con motores paso a paso con el pwm encoder y batido de todo un poco.
Los motores de las impresoras suelen ser paso a paso.

Estimado, me parece que sois vos el liado de motores :LOL:. Yo he hablado claramente de motores de continua con encoder (o sea: brush) y nada he hablado de motores paso a paso. Como dices vos los motores de las impresoras suelen ser paso a paso, pero no todas. ;)

Aunque sí vale mencionar que en rigor un stepper (o motor paso a paso, o PaP) en cuanto a la denominación de su categoría de tipo de motor, es tanto un motor de continua (DC) como un motor brushless (pero no de 3 fases). Vale mencionar que los motores con escobillas son denominados como "permanent magnet", vale decir, que el imán quedará fijo al chasis y las bobinas girarán. Y por el contrario, en los motores brushless, las bobinas quedarán fijas al chasis y lo que girará serán los imanes: dentro de este tipo puede ser inrunner o outrunner.

El propósito de las escobillas (o sea, los carbones (brush) que rozan el cobre del eje) es transmitir la electricidad a las bobinas giratorias. La conmutación de las bobinas es mecánica gracias a las secciones del conmutador conmutador

Por el contrario en los motores brushless esa conmutación debe ser realizada por un cerebro o controlador, puesto que no hay roce. Por esto necesitamos la ayuda de alguien que nos avise cuando cambiar de fase... es entonces cuando nuestros amigos los sensores HALL (que magneticamente detectan la posición del imán) nos avisan cuando es el momento. La ausencia de roce provee demasiadas ventajas mecánicas, eléctricas, y de control... pero la desventaja es que se necesita una controladora que hay que tener, y no es como los motores con escobillas (o carbones [no confundir con cabrones]) que basta el motor y una batería para tenerlo andando.

Hay muchos otros tipos de motores por inducción, bla bla bla pero no es la idea y ya debo salir

saludos, bye
 
A ver, me pareció leer algo de motores dc y encoders en impresoras y yo personalmente no he visto ninguna impresora asi, no digo que no existan, pero todas las que he visto llevaban motores paso a paso y finales de carrera.
También me pareció leer algo como que el pwm que se le mete a un motor paso a paso depende del ángulo a recorrer, y hasta donde sé los motores paso a paso no van con pwm, van con un tren de pulsos que puede que parezca pwm pero no lo és. Ese tren de pulsos si que depende del ángulo a recorrer. Si se usa un motor dc el pwm no depende del ángulo a recorrer, dependerá del par y velocidad que queramos.
Respecto a motores dc y encoders parece ser que son bastante comunes en robótica, pero también vi cierto lío en su control, si se usa lineal, logaritmico o lo que sea dependerá mas bien del modelo del sistema mas que del gusto del programador, de lo contrario tendremos un robot con "parquison" que para llegar a un punto se pasa, vuelve hacia atrás, se vuelve a pasar...y hace un tembleque hasta llegar al sitio.
Por todo eso dije que me pareció ver cierta confusión .

Si los servos ya llevan una reducción mecánica y su controlador quizás sea lo mas sencillo. Un motor brushless o uno dc mas el encoder puede complicar bastante el tema ya que hay que implementar el controlador y una reducción mecánica .
 
Última edición:
Scooter, lo que mencionas del PWM en los PaP parece que seria con un controlador ya que no tine esentido que el PWM controle un PaP salvo que no lleve un controlador cuyo programa se haya diseñado para qeu con un pulso concreto de PWM gire X grados y para ello active las bobinas que sean necesarias.
de hecho si quieres/puedes para comprobar que no va por PWM un PaP puedes cogerte e identificar los cables de cada bobina y con 2 pinzas y algo de voltaje entre ellas vas tocando los cables e iras viendo que el motor si te acercas hasta la posicion en la que esta segun conectes la bobina esta atraerá el eje y se quedara ahi quieto mientras mantengas el flujo de corriente, si sueltas el motor se quedara muerto, si quieres que de un pasito hacia adelante o hacia algun lado pues localizas el cable de la proxima bobina y al tocar con las pinzas (con un voltaje pongamos de 6V por poner un ejemplo pero esto depende del motor) veras que se mueve el eje hasta la nueva posicion. (Asi de esta misma forma descubri yo como funcionaban estos motores, fue por jugar y enrear con ellos jaja)


En cuanto al Parquinson... en los servos yo tengo uno que me han dejado para probar en el brazo que tiene una pequeña holgura en la transmision y debido a eso cuando va a una posicion y la inercia mueve el eje y hace que el servo invierta la direccion y vuelve a pasar lo mismo y tiene un parquinson lo suficiente como para poder pintar con una brocha jajaja XD
en los motores con encoder, si te fijas en las especificaciones por lo que llebo visto en algunos te dice los "pasos" o "ciclos", eso quiere decir las veces que se actualiza por cada revolucion, cuantas menos pasos de estos tenga mas parquinson tendra (en realdiad el parquinson siempre lo tendrá pero sera tan poquito que apenas se apreciará), en algunas especificaciones he visto 1700pasos o como se diga por cada vuelta, quiere decir que por cada vuelta del eje final se actualiza 1700 veces con lo cual a simple vista no creo que balla a tener parquinson apreciable con facilidad.

Si que es cierto lo que dices de los servos pero el problema es el Torque que tienen que como decia rodstar al ser servos pequeños tienen poca fuerza, con un servo simplemente tendria que colocarlo, alargar cables y enchufar pero me encuentro con los problemas con respecto al precio/potencia
 
Última edición:
A ver, me pareció leer algo de motores dc y encoders en impresoras y yo personalmente no he visto ninguna impresora asi, no digo que no existan, pero todas las que he visto llevaban motores paso a paso y finales de carrera.
También me pareció leer algo como que el pwm que se le mete a un motor paso a paso depende del ángulo a recorrer, y hasta donde sé los motores paso a paso no van con pwm, van con un tren de pulsos que puede que parezca pwm pero no lo és. Ese tren de pulsos si que depende del ángulo a recorrer. Si se usa un motor dc el pwm no depende del ángulo a recorrer, dependerá del par y velocidad que queramos.
Respecto a motores dc y encoders parece ser que son bastante comunes en robótica, pero también vi cierto lío en su control, si se usa lineal, logaritmico o lo que sea dependerá mas bien del modelo del sistema mas que del gusto del programador, de lo contrario tendremos un robot con "parquison" que para llegar a un punto se pasa, vuelve hacia atrás, se vuelve a pasar...y hace un tembleque hasta llegar al sitio.
Por todo eso dije que me pareció ver cierta confusión .

Si los servos ya llevan una reducción mecánica y su controlador quizás sea lo mas sencillo. Un motor brushless o uno dc mas el encoder puede complicar bastante el tema ya que hay que implementar el controlador y una reducción mecánica .

Scooter, espero poder aclarar tus confusiones.

Respecto a las impresoras con motor DC y encoder, para que los puedas ver, busca "printer encoder" en Youtube. Mas vale ver videos que mil palabras.

Lo que estás confundiendo es la señal PWM que reciben los servos de hobby con el PWM que controla la intensidad de un motor DC brush por medio de un driver (H-bridge...etc).

La señal que reciben los servos es un PWM de 50Hz (20mS)cuyo ancho de pulso (duty) determina el ángulo del servo hobby. El rango del duty va entre 1000uS y 2000uS, donde 1500uS representa ángulo central. El rango puede variar levemente dependiendo del fabricante.

Por eso yo decía asociar este PWM (por ende: ángulo) con el conteo del encoder del motor DC para lograr el ángulo deseado. Esas ya son funciones de programación a desarrollar. Esto implica programar el loop PID que habrá que calibrar /tunear para evitar un motor con parkinson como dices.

Está claro que los servos hobby vienen listos para usar, pero como dije, tienen un motor muy pequeño que sirve sólo para brazos pequeños de juguete o bajo rendimiento, de bajo torque, lentos debiluchos y de baja resolución.
 
Por eso yo decía asociar este PWM (por ende: ángulo) con el conteo del encoder del motor DC para lograr el ángulo deseado. Esas ya son funciones de programación a desarrollar. Esto implica programar el loop PID que habrá que calibrar /tunear para evitar un motor con parkinson como dices.

dependeria de los conteos por cada vuelta hagamos no rodstar ??, quiero decir, pongamos que el pid trabaja con cada uno de los 1 y 0 que nosofrezca el encoder tendremos menos parkinson y si por ejemplo solo contaramos la mitad de todos los que nos de el parquinson aumentaria.
Para esto tambien influiria la velocidad de trabajo del PIC que a simple vista debe de ser adecuada por lo menos para no tener parquinson apreciable (espero...)
 
dependeria de los conteos por cada vuelta hagamos no rodstar ??, quiero decir, pongamos que el pid trabaja con cada uno de los 1 y 0 que nosofrezca el encoder tendremos menos parkinson y si por ejemplo solo contaramos la mitad de todos los que nos de el parquinson aumentaria.
Para esto tambien influiria la velocidad de trabajo del PIC que a simple vista debe de ser adecuada por lo menos para no tener parquinson apreciable (espero...)

Esto ya parece un foro de neurología con tanto parkinson en cuestión.

Primero que todo ojalá tengas un encoder de alta resolución. Los que vienen en las impresoras (típicamente las HP) son de 1200 o 1800 pulsos por revolución (ppr), que si leemos en modo 4x (o sea contar en el Rise, y el Fall por cada canal del encoder [2*2=4]) te va a dar una resolución de lujo 7200ppr !! Pero para lograr altas RPM necesitarás una programación muy eficiente en assembler o un microcontrolador muy poderoso de 16 o 32 bits.

Volviendo al tema, a mayor resolución del encoder, menor será la vibración. Respecto al famoso parkinson no es mas calibrar los valores P, I, D para evitarlo. Para calibrarlo ya depende de tu paciencia, habilidad o suerte, aunque existen técnicas para eso.
 
Me acabo de dar cuenta de un pequeño problema con el encoder digital que me ha hecho pensar en otra cosa.
El brazo tendría siempre que encenderse desde una misma posición, lo cual podría ser un gran incordio de sujetar o de llevar todos los motores hasta la misma posición.:unsure:

También se me ocurrió una solución fácil pero no sé si es factible y quiero que me deis vuestra opinión:
¿Podríamos coger el controlador de un servo normal y corriente sacando los cables del motor llevándolos a una etapa de potencia (para no quemar el controlador del servo) y de la etapa de potencia al motor con reductora? El potenciómetro que lleva el servo original se lo acoplaría al eje del motor nuevo.

A mí se me ocurrió de hacer esto con un servo digital que tiene la respuesta más rápida que los analógicos, todo seria tal y como dije pero así a simple vista se me ocurre un pequeño problema como puede ser el control del motor, ¿un servo controla el motor por “todo o nada” o controla también su velocidad?
Si fuera por pulsos (1 y 0) simplemente podría usar un puente H con unos diodos para los cambios de sentido y no tendría más problemas, lo que también me preocupa un poco es la precisión que pueda lograr con ese potenciómetro, pero depende de lo rápido que sea el motor/reductora que le baya a colocar y de lo rápido que sea el controlador del servo en actuar.

Usando esta forma que he dicho solucionaría varios problemas de golpe creo…
El primero sería que al ser un control de posición analógico no tendré que encender el brazo desde la misma posición siempre, el segundo problema sería lo del programa para el PIC que tendríamos que pensar y hacer, esto lo evitaría ya que estoy usando el que lleva el servo. Primero pido opinión a ver qué os parecería esto, no quiero tomar alguna decisión que luego me eche atrás.
 
Hay encoders absolutos y si no tienen un punto de referencia o se puede poner un final de carrera en algún punto con lo que el robot puede "desperezarse" al arrancar para buscar su posición inicial.

Aunque los servos quizás no sean perfectos, me parece mucho trabajo meterte en el controlador entero. Al menos yo no me atrevería .
 
Hombre.. si que es cierto que es bastante trabajo lo de los controladores por cada motor aunque solamente serian 2 los de mayor potencia pero soluciono el problema de la potencia por que los servos... salvo ese de 60Kg que si que es algo bastante razonable y bastante elevado pero el precio tambien lo es comparado para lo que va a ser, serian 3 servos (270dolares) y creo que sale mas barato y mas potente la idea de rodstar.
Tambien tengo que tener claro que el futuro del robot no va a ser para una fabrica en la que tienes que levantar pesos de 5Kg, solamente va a tener funciones que tu mismo le puedas dar por casa y en algunas raras excepciones algunas funciones mas.

Si volvieramos otra vez con los servos, el que puse de 30$ podia levantar 40Kg, poniendo dos en la base serian 80Kg que en los 60cm de longitud del brazo acabn haciendo una fuerza de 1.33Kg + la ayuda como contrapesos... Claro que antes de poder elegir primero tengo que poder replantearme todas las posibles opciones
 
(estoy con una puerka gripe maldita)

Rubén, me causa gracia esa idea de utilizar la controladora de un servo con una etapa de potencia aparte, ya que yo mismo pensé eso alguna vez cuando era un pequeño saltamontes. Por suerte al rato pensé que no sería posible pues no hay forma de reprogramar los parámetros PID de la controladora. O sea, entraríamos a los problemas neurológicos (parkinson). Lo anterior fue sólo una suposición, nunca lo probé, así que si te das el ánimo, podrías experimentarlo y me avisas¿?

Una solución que se me ocurre en este momento, sería seguir usando el motor (DC brush) con el encoder de la impresora, y aquí lo nuevo: agregar un potenciómetro directo a tu PIC, que instalarás directo al eje de tu articulación y utilizarás sólo al momento de encender o recalibrar tu robot/brazo. De esta manera tienes alta resolución con el encoder, y control de posición absoluta después de apagado.

Eso te va a ir bien, pero deberás considerar un pequeño detalle: el A/D de tu PIC es típicamente sólo 10 bits, o sea, 1024 posiciones, así que esa posición absoluta inicial será sólo aproximada respecto a la resolución del encoder. Haciéndo una analogía es como que el pot te dé sólo números enteros, y el encoder te dará numeros reales (o sea con decimales)./fin analogía.

Ojo: una nueva sugerencia sería que usaras motor de limpiaparabrisas de auto (youtube: wiper motor) con este te ahorras el problema de pérdida de posición y la caja reductora con brutal torque!!. Con ese tipo de motor tienes para elegir si poner el encoder en el eje del motor, o en el eje de salida... santo remedio ;)
 
yo tengo dudas con lo del parkinson del controlador (controlador con servo), no se si sera del todo apreciable, boy a investigar a ver si saco algo.

Lo que me decias seria como tener un encoder analogico y uno digital, solo que una vez arrancado eligo usar el digital no ??

Por cierto, buena idea lo del motor del limpiaparabrisas, boy a ver si puedo para la semana que viene conseguir uno que en el campo tenemos o creo recordar haber visto uno
 
hola buenos dias / tardes / noches para nuestro proyeccto final del secundario hemos pensado en reutilizar y mejorar un brazo robotico el cual ya fue presentado años atras.
Lo que nos propuso el profesor es que lo controlemos a traves de el celular por medio de conexion bluetooth con un modulo HC-06 conectado a un arduino mega. el brazo esta hecho de tubos rectangulares de aluminio hueco con un contapeso solido de 2 kg, la base tiene un peso aproximado de 5 kg


Tenemos claro que necesitamos usar motores con motoreduccion de hasta 12v cc, lo que no sabemos es calcular el torque que necesitan los motores para levantar un peso aproximado de 500gr y la forma de controlarlos para que su funcionamiento se simule lo mas posible a como se mueve un brazo humano.


Esperamos sus respuestas, desde ya muchas gracias.
1537357163103.png
Para aclarar el cada uno de los tubos tiene una medida de 5 x 5 (ancho y alto)
 
Atrás
Arriba