Autor Tema: Control de posicion de motores C.C.  (Leído 8926 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado epacho1

  • PIC10
  • *
  • Mensajes: 10
Control de posicion de motores C.C.
« en: 12 de Octubre de 2006, 11:00:50 »
Hola a todos!!

Tengo una consulta que quisiera hacerles. Estos haciendo un sistema mecanico en el que estoy manejando dos motores de C.C. en dos ejes(eje X y eje Y), en este sistema es muy importante controlar la distancia del movimiento en los dos ejes, es mas o menos como una maquina CNC(punto a punto)  pero en pequeño. Estaba pensando colocar dos encoders realizados con el sensor CNY70, y unos discos perforados, pero se que hay otras maneras de realizarlo, mi pregunta es si exciste otro metodo un poco mas sensillo y como tiene que ser el algoritmo de programacion (mi programa es en PIC BASIC), para manejar los dos motores "independientemente". La precicion del sistema es en mm. Gracias a todos.

Desconectado 5GTT

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 915
Re: Control de posicion de motores C.C.
« Respuesta #1 en: 12 de Octubre de 2006, 22:21:16 »
Puedes llegar a usar los CC con mucho esfuerzo.

Debes tener en cuenta que un motor no gira siempre a la maxima velocidad (tiene un tiempo de establecimiento hasta alcanzar la velocidad maxima) y que tiene inercia, con lo cual no se frena al interrumpir la corriente. Nos podemos basar en que la velocidad del motor es proporcional a la tension de alimentacion si consideramos que el motor tiene un tiempo de establecimiento despreciable, es decir que la aceleracion en este caso es infinita y esto simplifica las cosas.

Lo mejor en estos casos es calcular el perfil de velocidad, posicion o aceleracion segun proceda, estos diagramas consisten en ir colocando en una grafica la velocidad(o posicicon o aceleracion) frente al tiempo. Para simplificar  mas aun las cosas, puedes hacer que tu motor carezca de aceleracion, es decir, lo alimentes siempre a la misma tension en todo caso.

La velocidad maxima la obtienes con el encoder, luego pasando de velocidad angular a lineal, segun el radio del engranaje que uses, puedes calcular el diagrama de posicion que es el que te interesa. Lo mas importante de este diagrama es que tengas en cuenta como evoluciona la posicion una vez cortada la alimentacion, el resto del diagrama es una recta cuya pendiente es constante y esto es debido a lo que comente de la proporcionalidad entre la alimentacion y la velocidad.

Para conseguir que el motor se comporte aproximadamente de esta manera tan teorica en la que el tiempo de establecimiento suponemos 0, debes utilizar un regulador PID bien ajustado, lo cual complica aun mas las cosas.

Por toda esta complicacion y mas aun si nos ponemos a discretizar para microcontrolarlo, te sugiero que utilices los paso a paso. La unica ventaja que tiene un CC es que podrias llegar a tener una precision mas alta que con el paso a paso, pero eso resultaria tan complicado que no saldria rentable el esfuerzo, habiendo motores a pasos con una resolucion de menos de un grado por paso.

Saludos.


Tutoriales y proyectos de electrónica

Desconectado epacho1

  • PIC10
  • *
  • Mensajes: 10
Re: Control de posicion de motores C.C.
« Respuesta #2 en: 13 de Octubre de 2006, 09:33:48 »
Que problema!!

Tienes mucha razon 5GTT  y muchas gracias por tus aclaraciones, el problema es que si quiero comandar motores de paso tendria que cambiar todo el hardware de control (circuito PCB), ahora una ventaja es que como cada motor tiene una caja de desmultiplicacion grande, los motores se mueven rapido, pero el sistema en si se mueve a una velocidad de mas o menos 1mm por segundo que es lento en realidad, por lo que cuando quito la alimentacion de los motores no tengo problema con la inercia debido al gran torque del sistema, y talvez podria precindir de un sistema PID (bueno eso creo). Lo que me interesa es saber el algoritmo de programa para manejar las dos señales de los encoder simultaneamente, como se dice en robotica manejar "dos ejes de libertad". En este mismo foro encontre una buena idea y es utilizar los sensores de un mouse, estos en su interior tienen dos encoder que me dan de salida 0 o 5V lo cual es ideal para el micro, estos sensores ya los estoy montando solo me falta una idea para el algoritmo

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Control de posicion de motores C.C.
« Respuesta #3 en: 13 de Octubre de 2006, 17:06:38 »
Hola
Aquí te dejo el enlace donde te puedes descargar un pequeño articulo en PDF sobre el Bot Miguelito, que usa dos encoder para controlar sus dos motores de CC. En concreto en la pagina 6 comienza el programita.

http://www.freewebs.com/glafebre/miguelito.htm
Saludos desde Granada, España.

Desconectado La_ReNgA

  • PIC10
  • *
  • Mensajes: 47
Re: Control de posicion de motores C.C.
« Respuesta #4 en: 25 de Octubre de 2006, 11:51:04 »
Hola a todos..

Alguien me puede decir como puedo conocer el sentido de giro de un disco perforado con un solo aptoacoplador??..

Entiendo que para saber el sentido de giro de un disco con perforaciones con dos optoacopladores hay que conocer los estados de las dos señales que se van presentando durante el giro, ya que se encuentran desfasadas una de otra debido a la disposicion de cada uno en el disco.. Lo que no entiendo es como con un solo optoacoplador puedo determinar el sentido porque, teoricamente, el encoder debería presentar la misma señal de salida siendo el giro en un sentido como en el otro..

La idea es usar los encoders de los mouses para controlar una maquina con motores de CC..

Espero que alguien me pueda dar una mano..

Saludos y muchas gracias!!..
« Última modificación: 25 de Octubre de 2006, 11:57:57 por La_ReNgA »

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de posicion de motores C.C.
« Respuesta #5 en: 25 de Octubre de 2006, 12:00:31 »
Busca en "como funciona un mouse"....tienen solo un sensor por disco perforado, no?

http://www.seattlerobotics.org/encoder/200311/johnson/Mousebot.html
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado La_ReNgA

  • PIC10
  • *
  • Mensajes: 47
Re: Control de posicion de motores C.C.
« Respuesta #6 en: 25 de Octubre de 2006, 12:46:05 »
Muchas gracias por la información..

Si, tienen solo un sensor por disco perforado.. Ahora estoy viendo la pagina que pusiste y parece que el componente que recibe los IR de cada sensor posee dos receptores en su interior; esto es así??..

Si es así ya aclaré mi duda.. De nuevo, muchas gracias..


Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Control de posicion de motores C.C.
« Respuesta #7 en: 25 de Octubre de 2006, 15:33:17 »
Si, fue un error mio...cada vez que he desarmado un mouse he visto solo un par de emisor-receptor, pero claro, debe tener dentro de la capsula dos receptores, de forma de determinar por cual pasa primero la ranura y determinar el sentido. Con un solo sensor (salvo que algun maestro explique como  :lol:) no se debe poder saber la direccio, solo la velocidad... :?
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado La_ReNgA

  • PIC10
  • *
  • Mensajes: 47
Re: Control de posicion de motores C.C.
« Respuesta #8 en: 26 de Octubre de 2006, 13:47:46 »
Exactamente!.. A eso me refería con que no se podía determinar el sentido del giro, sino como vos decis, solo la velocidad..  :)

Creo que no se puede determinar el sentido con un solo sensor; salvo en el caso de que se conozca el sentido inicial de giro y, a velocidad constante, se detecte un cambio a la salida como ser el ancho de uno de los pulsos, ya que esto es lo que sucede al cambiar el sentido de giro de un sensor de estos y, a altas revoluciones, el uso de sistema hace que el manejo del mismo sea demasiado complicado, o por lo menos mas difícil que con dos sensores..

Todos los dias se aprende algo nuevo.. :D .. Nos vemos!!

Desconectado epacho1

  • PIC10
  • *
  • Mensajes: 10
Re: Control de posicion de motores C.C.
« Respuesta #9 en: 01 de Noviembre de 2006, 13:52:58 »
En el caso de un sensor de un raton, el receptor tiene dos pines de salida los cuales son complementarios, osea mietras el uno marca nivel logico "1" el otro "0" de este modo reconocen el sentido de giro con "un solo sensor" (aunque en realidad internamente tengan dos)

Desconectado Oceano

  • PIC10
  • *
  • Mensajes: 22
    • Proyectos Roboticos.
Re: Control de posicion de motores C.C.
« Respuesta #10 en: 05 de Julio de 2010, 17:58:31 »
Echa un vistazo a este enlace, son dos tipos de encoder, uno por hardware y otro con PIC:

http://sites.google.com/site/proyectosroboticos/encoder