# Duda sobre motorizacion de un brazo robotico



## RubenCaceres (Jul 3, 2013)

Hola a todos estoy haciendo un brazo robótico y me encontré con 2 problemas aunque más o menos tengo una respuesta que me quiero asegurar que es correcta preguntando a los que me sepan contestar de por aquí y así ir de seguro.
Os contare un poco por encima cómo va el Brazo Robot para que tengáis una idea más clara, el Brazo  Robótico será controlado por servos y tendrá 6 grados de libertad contando con la muñeca y la pinza. Para aclararnos más fácilmente pondré un símil a partir de ahora (un brazo humano).

 1-El primer problema que tengo son con los cálculos de la fuerza que necesito que tengan los Servos, suponiendo que el peso está colocado horizontalmente, perpendicular con respecto al objeto a levantar (el objeto pesa 500gramos a los que hay que sumarle posiblemente otros 500gramos del propio brazo, estoy diciendo el peso del brazo tirando por lo alto).
Para empezar hablemos del la base del brazo (lo que sería el hombro), teniendo una medida de 60cm de largo y queriendo levantar un peso de 1Kg, que torque o cuantos Kg/cm debe de tener el servo de la base (debido a la gran cantidad pensé en poner 2 Servos en la base para doblar la potencia), mis cálculos fueron, pero no sé si me equivoco en esto:
Si tengo un servo que levanta 40Kg/cm, yo dividí los 40kg entre los 60cm de la longitud del brazo (todo suponiendo que esta perpendicular con el objeto ya que es el punto en el que levanta el total del peso) haciendo estos cálculos me da 0,666 Kg, el Problema es que no se si estos cálculos son ciertos ya que me he basado en la lógica y tal vez me equivoque, a ver si alguien me puede corroborar esto y asegurarme que es cierto o si no lo es darme alguna indicación de cómo hacerlo.

 2- El segundo Problema menos preocupante pero también me preocupa es el Servo que usar ya que lo que me preocupa es si la transmisión podría coger holgura y hacer que el brazo no sea preciso. Yo personalmente me gustarían que fueran servos de Gama Alta pero debido a los fondos los Servos deben ser los Servos más Baratos posible teniendo en cuenta el que me salga rentable. Pondré unos cuantos Servos que he visto por ahí a ver qué os parecen, lo único que busco es que tengan una gran potencia ya que velocidad no me interesa mucho, pero si la precisión: (solo me interesan los servos más potentes que son los más caros, estos son los 3 (2 del hombro y 1 del codo)

-En cuanto al Precio/potencia: 
http://www.xq-power.com/EnProduct_Show.asp?ID=70
y un hermano del anterior con mejores características aun 
http://www.xq-power.com/EnProduct_Show.asp?ID=93
En ambos un trabajador de la fábrica con el que contacte me afirma que me vende la transmisión suelta del servo como recambio.
-También meto una marca bastante conocida pero aquí el precio se eleva un poco:
http://www.savoxtech.com.tw/_english/00_servo/02_detail.php?SID=136

Si alguien tiene alguna sugerencia de Servo que por favor lo diga, no tienen por qué ser estos Servos que mencione.

Muchas gracias ante todo y espero vuestra respuesta


----------



## Scooter (Jul 3, 2013)

Lo primero es la dinámica del brazo, si no recuerdo mal era el Wlaker-Orin o algo así. Era un cálculo matricial complicadillo.
Tienes que considerar también el peso del propio brazo.


----------



## RubenCaceres (Jul 3, 2013)

ahora miro eso que me dices,  a ver si alguien que sepa resolver eso me puede dar alguna base para guiarme por que por el nombre creo que parece dificil, ahora lo miro que no quiero hablar antes de tiempo


----------



## Scooter (Jul 3, 2013)

Es que no me acuerdo, el tiempo pasa rápido y hace prácticamente diez años desde que lo estudié, de hecho no lo comprendí del todo. La cinemática directa e inversa si porque a fin de cuentas es geometría pero en la dinámica entran consideraciones mecánicas que a mi me venían muy grandes, así que pasé de puntillas por ellas.


Acabo de releer tu post y creo que estás simplificando muy mucho; los robots que manejé pesaban unos 120kg y en la pinza podían mover 9kg, así que eso de 500g - 500g me parece tremendamente optimista. Vale que 120kg es el robot entero pero de todos modos la relación 1:1 no la veo.

He buscado mas información y parece que se usa el método de Newton-Euler para hallar la dinámica de un brazo robótico.

Supongo que lo sabes pero el control pleno son 6 grados de libertad+pinza. Con 5 no puedes acercarte al objetivo en cualquier ángulo.

Mas detalles, el par y el momento se miden en N·m no en N/m o en unidades equivalentes kg·cm
Para 1kg 60cm necesitas 60kg·cm mas lo que pese el brazo mas la inercia mas los rozamientos osea que cerca de 100kg·cm o lo que es lo mismo 9,8 N·m

Mas cosas, esos servos me parecen muy rápidos 0.18s 60º supongo que será sin carga porque si es con el par máximo...


----------



## RubenCaceres (Jul 4, 2013)

Scooter, el brazo robótico que manejaste probablemente seria de los industriales con grandes motores, de ahí su peso y los 9Kg en las pinzas,(supongo) te pongo un enlace de un robot parecido a este ya acabado en la parte final, en cuanto al peso son 500gramos el objeto que debe mover y otros 500 más o menos en el brazo (sumando peso de servos y las tiras de aluminio), cierto es que la base del brazo pesa mucho mas  y la base donde se ancla el hombro del brazo también pesa un poquillo mas pero el peso de 500gramos me refería a el peso que debe levantar el brazo (en total con los servos de la muñeca, tiras de aluminioo del propio brazo y demás) + los 500 del objeto. El brazo estará hecho con tiras de aluminio de 3mm y alguna que uso en algunas partes de 1mm, la estructura del brazo es similar a uno que te pongo más abajo.

Al decirme eso ayer por la noche según puse el nombre que mencionaste me di cuenta que ese era para aceleraciones pero justo debajo venia lo del newton que ahora mencionaste, me pareció un poco complicado y lo deje para hoy y así leerlo con más calma.
Son 6grados los que tiene ya que gira también la muñeca. 1 seria el giro del brazo entero, el 2 seria el hombro, 3 el codo, 4 la muñeca arriba y abajo, 5 seria el giro de la muñeca y como 6 estoy contando con la pinza que se abra y se cierre.
Aquí un video que encontré por you tube de un brazo que usaba servos 



 se parece a este en cuanto a el brazo se refiere y tiene los mismos grados de libertad que el mio, la base del mío es más alta y no tan grande, mide aproximadamente 20x20 y de altura ronda los 15cm mas o menos ( no lo tengo aquí ahora mismo). La base sería similar a esta: (base circular del brazo azul)
http://bimg2.mlstatic.com/robot-brazo-robotico-de-6-grados-de-libertad_MLM-F-4397227147_052013.jpg 

En cuanto a la fuerza, creo que indirectamente salen los mismos resultados que me salieron a mí salvo que yo lo hice mal o al revés, en cuanto al rozamiento, todo el brazo lleva rodamientos pequeños y el rozamiento es mínimo aunque lógicamente existente y con la inercia pues… habrá que súmale un poquito para andar de seguro.

Si, la velocidad de los servos es tremendamente elevada, no me importaría que fuera el doble de torque y la mitad de velocidad pero no encuentro servos así  y para hacer una transmisión prefiero no hacerla ya que podría fallar en cualquier momento, creo haber visto algún servo por ahí pero andamos en precios de varios cientos de dólares o Euros y se hace complicado la adquisición de estos servos ya que no tengo muchos fondos, la velocidad en si no me preocupa ya que se controla desde el ordenador  lo que me venía preocupando era el torque de los servos ya que por lo que se puede apreciar con cálculos a simple vista necesito servos de mucho torque.
El único servo que he visto de precio razonable es de los enlaces que he puesto ahí arriba el de 60Kg, los demás que cada servo pasa de 100Kg el precio pasa de 200€ y ya pasando de 100€ se me mete en un terreno a el que no quiero llegar.


----------



## Scooter (Jul 4, 2013)

Son necesarios 6gdl + pinza para tener control completo. Con menos también puede ser perfectamente válido pero no puedes manipular en todas las direcciones


----------



## RubenCaceres (Jul 4, 2013)

cual es el grado que me falta entonces ? + el cierre y apertura de la pinza


----------



## thenot (Jul 4, 2013)

Hola, 
Yo hice un brazo robotico para la U, el cual jugaba dama, tenia solo 2 grados de libertad (hombro y codo) la muñeca era un simple buje, que mantenía un electroiman en forma vertical siempre. Para el desplazamiento de la base, este se movia en un riel con unos Motores PAP (riel de una maquina de escribir eléctrica).
Bueno después de la explicación de que hice, voy a lo que quiero aportar. Yo tuve que hacerlo con motores que contaba que eran unos servos standard marca hitec de 5 y 9 kilos (sino erro) el brazo estirado llegaba a los 40 cms mas o menos y como es de suponer con esos servos no llegaba a ninguna parte.. el de 5 (codo) no era capaz de levantar el electroiman y el peso del "brazo", y el de 9 (hombro) no era capaz de levantar el conjunto (y no iba a gastar plata ya que no era mio, y tampoco involucraba una nota, era solo un grupo de aprendizaje) así que se me ocurrió lo siguiente, para el de 5, lo ayude con unos resortes de la misma forma como se ve en el vídeo que posteaste, pero para la base o hombro no me sirvió, ya que de todas formas no era capaz. Y jugando con un escobillon (o escoba), me vino la solución. Si tu tomas un escobillon por la punta te sera casi imposible levantarlo del otro costado (o al menos te dará tarea), pero si tomas otro y los unes (quedando el doble de largo) y tomas ahora del medio podras hacer lo que quieras con el. Asi que dije ahi ta, puse unos pesos de plomo asemejando el peso que debia soportar el servo grande y se lo puse, haciendo un contrapeso, y el servo trabajo a mil maravillas. 
Ahora que lo pienso lo que hice es muy similar, sino = a los contrapesos que tienen las gruas pluma (esas que ponen cuando construyen ) 

Bueno la forma que lo hice, no es la forma mas ortodoxa de hacerlo, pero me valió para lo que lo quería y trabajaba muy bien. Lo presente en varias partes y todo trabajo impeque, lo unico malo es que la unica foto que tengo es la que que adjunto (maldito disco duro!!, aunque tengo imagenes del procesamiento del software pero aquí no valen de nada) no se ven los resortes del codo ya que van por dentro, pero una barrita rectangular que se ve en la parte del hombro son los contrapesos (es mas que ese rectangulito, no se nota bien en la imagen, ya que es del mismo color el plomo que el aluminio casi)

Quizás no te ayude mucho en tus cálculos (yo en general no saque ninguno, fue todo al ojo y usando lo que tenia disponible), pero te puede ayudar como idea para que no tengas que comprar servos tan grandes y poderosos, ya que vi que eso te complica, como a mi lo fue en su momento.

Saludos, espero mi intervención sirva de algo


----------



## RubenCaceres (Jul 4, 2013)

Es interesante tu proyecto, aun lo sigues teniendo thenot ¿?

En cuanto a los contrapesos o muelles por ejemplo lo tenía pensado para ganar un poco de potencia, en cuanto a los muelles no los quería usar ya que varían su potencia con respecto a lo estirados o  comprimidos que estén pero si tenía pensado usar algún contrapeso por lo menos para contrarrestar un poco el peso del brazo propio pero no conté con que fueran tan efectivos, viendo que ya no soy el único que los usa o que los ha usado probaré con ellos a ver qué pasa y si mejora el brazo, también tenía pensado ponerle una suspensión de un CrawlerRc escala aprox 1/10(son unos coches radiocontrol que están pensados para terrenos abruptos, subir por rocas…) ya que los amortiguadores de estos vehículos son de un tamaño considerablemente largo y aproximado a el que necesito, así contrarrestaría  un poco los movimientos bruscos y el tiemble del brazo si es que llega temblar que imagino que si, o por lo menos eso hacían mis antiguos brazos.

En cuanto a los cálculos quiero andar de seguro totalmente y de momento aunque sea una ayuda en cuanto a los servos quiero despreciarlos en los cálculos ya que quiero que el servo mismo sea capaz de mover el brazo sin necesidad de ayuda, aunque después se la ponga para ayudar y ganar peso extra, pero quiero ir de seguro y para ello los despreciaré solo en cálculos, por que como todo imagino que tendrá alguna desventaja de la cual es posible que me de cuenta al colocarlo y si por algún motivo no los pudiera poner al no contar con ellos no me supondrá ningún problema como si contara con ellos obligatoriamente.

Un Saludo y muchas gracias a todos


----------



## thenot (Jul 4, 2013)

RubenCaceres dijo:


> Es interesante tu proyecto, aun lo sigues teniendo thenot ¿?



Fue un proyecto cuando estaba en la Universidad (estudie Ing. civil en Informática), de un grupo de robotica, ya hace unos 5 años que deje la universidad, supongo que el grupo aun lo conservara, aunque yo era el único que sabia como trabajaba soft y hard juntos. 

En lo de los muelles tienes razón, ya que cuando recogía el brazo este ayudaba casi demasiado, pero no me importaba ya que el movimiento final para tomar las piezas las hacia con el "hombro" y ese trabajaba suavecito. Cuando le puse los pesos, = hacia lo que dices, eso de temblar, pero le agregue mas peso de poco (de ahí el rectángulo que se ve, que es de hierro) hasta que los temblores fueran lo mínimo. Como dije, fue todo a ojo, pero el brazo trabajaba muy bien, ya que debía sacar las piezas exactamente de una posición y dejar bien puestas en otra exactamente.

Pero como dices y te apoyo en que saques bien todos los cálculos, ya que vas a comprar los motores es mejor comprar lo adecuado (en mi caso me adecue a lo que tenia), aunque en esto no te puedo ayudar ya que lo mio es la programación y no la mecanización (por lo chapuza de como hice el mio, supongo ya te habrás dado cuenta ).

Saludos!!


----------



## RubenCaceres (Jul 4, 2013)

bueno, muchas gracias a todos, de momento los calculos mas o menos están medio vistos, aun me queda ver si alguien de los del foro sabe algo de los servos que expuse mas arriba o si conoce algunos mas potentes y mas lentos pero de no elevado precio ya que cualqueir cosa que pase de 100€ ya es potencialmente cara.
Un Saludo a todos


----------



## Scooter (Jul 4, 2013)

Esos robots suelen hacer una cosa rara en la muñeca poniendo solo dos gdl. En la muñeca hacen falta tres y luego la pinza


----------



## RubenCaceres (Jul 4, 2013)

creo que se cual es grado del que me hablas, viendo la muñeca de una persona seria arriba/abajo, el poco movimiento que podemos hacer desplazando la mano hacia la izquierda y la derecha (viendo la mano por ariba, no por la palma y moviendo muñeca sin mover nada mas) y otro grado aqui seria el giro de la muñeca.
Creo que se puede apreciar o por lo menos esto fue lo que entendi de esta foto que encontre por internet
http://3.bp.blogspot.com/-Kh1Rwz8xdF4/TgD0aSOwdyI/AAAAAAAAACs/sAyeSvKivjE/s1600/tema_55.jpg


----------



## Scooter (Jul 4, 2013)

A esos brazos les suele faltar el movimiento de muñeca derecha-izquierda, suben y bajan y giran respecto al eje del antebrazo pero no van a los lados.


----------



## RubenCaceres (Jul 4, 2013)

ese es un buen detalle del que no me di cuenta de pensarlo, pensare a ver la posible forma de hacerlo ya que tal vez podria venirme bien, muchas gracias, ahora mirare como puedo meter ahi un servo y las desventajas que me traeria esto (como por ejemplo el peso a sumar). 
Aun me sigue quedando un canal mas en mi controlador por si necesitara un servo mas, pero en el peor caso puedo añadir otro controlador adicional de 8 salidas.


----------



## rodstar (Jul 6, 2013)

Si quieres algo de mayor rendimiento (torque y velocidad) puedes usar en lugar de esos servos controlados por PWM que son chicos caros y de poca potencia (por ser chicos), puedes usar motores DC con encoder. Desarmando impresoras viejas abundan de esos. En ebay puedes encontrar o en tu propia casa o en los basureros. Cabe notar que el tipo de servos (también llamados "rc servo" o "hobby servo") como los que estás considerando son motores como los que te sugiero pero son tan pequeños como el tamaño de una uña. Ahora sí necesitarás controlar esos motores, pero eso ya es otro mundo. Por suerte para los vagos hoy en día con los Arduino no te deberás preocupar por la programación, y para ahorrar basta comprar el puro chip y armarte el circuito... con el valor de lo que te cuesta 1 solo "rc servo" tienes para hacerte 4 controladoras con todos sus componentes incluyendo motores y microcontrolador. En lugar de los engranajes internos usas poleas y correas. Puedes poner los motores en la base de tu robot o brazo. Ciertamente requiere mas trabajo, pero para el que le guste, será un placer y entretención infinita, pero para el que lo hace sin motivación, la descartará por pereza. Con esto entras a ligas mayores, pues el 90% usará la alternativa cara pues el dinero paga la comodidad. Si te interesa esta opción que te sugiero puedo ayudarte, de otro modo, bien por igual por tí.



estimado rubén, te estaba respondiendo pero el web del foro no me permite responderte en MP por poca actividad. En todo caso te decía que con gusto te puedo ayudar, pero por medio del foro abierto para así ayudar a otra gente al mismo tiempo.


----------



## RubenCaceres (Jul 6, 2013)

boy a hechar primero un vistazo a ver que encuentro por ahí y asi enterarme un poco de los controladores para motores con encoders auqnue creo recordar como funcionaban.
Lo primero que se me viene a la cabeza es si seria posible hacer que el motor con encoder fuera controlado por PWM y así no tendria problema en el software, claro que tengo que mirar primero algo de informacion sobre los controladores para ver si incluso sin el PWM podria hacerlo de forma similar


----------



## rodstar (Jul 6, 2013)

RubenCaceres dijo:


> boy a hechar primero un vistazo a ver que encuentro por ahí y asi enterarme un poco de los controladores para motores con encoders auqnue creo recordar como funcionaban.
> Lo primero que se me viene a la cabeza es si seria posible hacer que el motor con encoder fuera controlado por PWM y así no tendria problema en el software, claro que tengo que mirar primero algo de informacion sobre los controladores para ver si incluso sin el PWM podria hacerlo de forma similar



Siendo código abierto, se puede hacer que te lea por pwm, i2c, spi, uart, usb, bluetooth, wifi, paralelo o lo que sea. En todo caso Arduino no es mi mundo, los PIC de 32 bits y dsPICs son mi preferencia. Pero el concepto es el mismo, sin importar la plataforma. En youtube abunda material. Busca "DC motor encoder". 



 uno de los tantos que aparecen que te puede servir.


----------



## RubenCaceres (Jul 6, 2013)

Yo tampoco soy de Arduino, nunca lo use y las veces que lo vi usarlo no me gusto mucho...
la idea que se me ocurre en un principio que no se si seria posible seria de usar un PIC para que este controle unos 180 grados de un motor con encoder y reciba la señal PWM que va hacia (en mi caso otro pic que estaria conectado al PC y este es el que genera la señal PWM que va hacia el controlador de los motores). No se si me explique del todo bien, intentaré hacer un esquema:
1-ordenador que manda la orden a un PIC que genera 8 señales distintas de PWM.
2-del controlador que genera las señales PWM iriamos despues al controlador del motor con encoder

En mi caso me interesarian 2 motores con 180grados de control por PWM y habria un motor que me interesaría que girara unos 360grados (para colocarlo en la base) aunque si fuera tambien los 180grados no pasaria nada.

Esto seria posible ?


----------



## rodstar (Jul 6, 2013)

RubenCaceres dijo:


> Yo tampoco soy de Arduino, nunca lo use y las veces que lo vi usarlo no me gusto mucho...
> la idea que se me ocurre en un principio que no se si seria posible seria de usar un PIC para que este controle unos 180 grados de un motor con encoder y reciba la señal PWM que va hacia (en mi caso otro pic que estaria conectado al PC y este es el que genera la señal PWM que va hacia el controlador de los motores). No se si me explique del todo bien, intentaré hacer un esquema:
> 1-ordenador que manda la orden a un PIC que genera 8 señales distintas de PWM.
> 2-del controlador que genera las señales PWM iriamos despues al controlador del motor con encoder
> ...



Básicamente tu dices usar 1 pic que genere las señales (PWM) como interfaz entre el PC y los controladores de servo.

En cuanto a la interfaz generadora de señales, una referencia sería lo que ofrece Pololu, por poner algo de ejemplo. Obviamente también la puedes programar por tu cuenta a una fracción del costo.

En cuanto a las controladoras de motor se puede hacer lo que tu dices, basta que asocies el valor PWM a la cantidad de pulsos de encoder (o sea, posición, o ángulo en este caso), que necesites; puede ser una relación lineal, exponencial, logarítmica o según lo que se te ocurra la perra gana según tu aplicación (en este caso: lineal, ciertamente). Esto va a que la cantidad de pulsos de encoder que relaciones con la señal PWM te darán el angulo de recorrido que necesitas (180°, 90, 360, o lo que sea...)


----------



## Scooter (Jul 6, 2013)

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.


----------



## RubenCaceres (Jul 6, 2013)

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



Scooter dijo:


> 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


----------



## rodstar (Jul 6, 2013)

Scooter dijo:


> 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 . 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


----------



## Scooter (Jul 7, 2013)

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 .


----------



## RubenCaceres (Jul 7, 2013)

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


----------



## rodstar (Jul 7, 2013)

Scooter dijo:


> 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 .
> ...



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.


----------



## RubenCaceres (Jul 7, 2013)

rodstar dijo:


> 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...)


----------



## rodstar (Jul 7, 2013)

RubenCaceres dijo:


> 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.


----------



## RubenCaceres (Jul 8, 2013)

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.

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.


----------



## Scooter (Jul 8, 2013)

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 .


----------



## RubenCaceres (Jul 8, 2013)

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


----------



## rodstar (Jul 8, 2013)

(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


----------



## RubenCaceres (Jul 8, 2013)

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


----------



## Chema 1104 (Sep 19, 2018)

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.

Para aclarar el cada uno de los tubos tiene una medida de 5 x 5 (ancho y alto)


----------

