Control de giro y posicion de motor DC

Saludos a todos.

Tengo un problema.

Necesito controlar el sentido de giro y la posicion de un motor de DC de 12v. Quiero hacer todo esto por medio del puerto paralelo, lo del puerto no es mucho problema para mi, pero el circuito de control del motor se me dificulta.

Alguien podria darme una sugerencia.

Gracias a todos.
 
hola Moquel:

Es redificil controlar la posicion de un motor DC,esto se puede hacer con "encoder", lo cual implica, aparte de muchas otras cosas, poner en el eje dee tu motor un sistema de engranajes, pero cuenta para que quieres hacerlo,es un motor de mucha potencia??,es algun trabajo academico??, necesariamente tiene que ser un motor DC para la aplicacion??

eso por el momento
 
Gracias por responder.

Acabo de terminar la carrera y es un proyecto que me encargaron en un centro de investigacion, quieren un sistema de poscionamiento XY, ya antes he realizado un proyecto asi pero con motores a pasos y claro que es mucho mas facil, en este caso, lo quieren hacer con motores DC porque ya los tienen y no quieren gastar, suena ilogico que es un centro de investigacion y no quieren gastar pero asi son las cosas. Necesito controlar la posicion porque el sistema se tiene que vomer determinada distancia en x y determinada distancia en y.

No necesito mucho torque, son motores relativamente pequeños, la distancia en X es como de 50cm y la distancia en Y como de 60cm.

Se que es dificil y creo que la unica solucion para controlar la posicion es con un enconder, y mucha mas circuiteria.

Por eso quiero saber si alguien tiene una mejor idea.

Yo ya les dije que es mucho mejor con motores a pasos pero no me quieren entender. (Mis jefes son quimicos)

Gracias
 
Yo creo que tendrías que usar un especie de rueda con ranuras, por ejemplo: Tenés el motor y en el eje le pones una rueda con un agujero. Alrededor de la rueda pones un LED infrarrojo ( IRED ) y del otro lado de la rueda pones un receptor. Cada vez que la rueda da un giro esta la ranura que deja pasar la luz del IRED y activa el emisor. Así tendrías un conteo de las vueltas hechas por el motor. Obviamente que podrías poner muchas ranuras, para una mayor precisión. Capaz que esto ya lo tuviste en cuenta, pero era por las dudas.

Saludos.
 
yo creo que lo mas util seria un enconder (con su circuito de acondicionamiento de señal si no viene ya implementado) y un microcontrolador pequeño puesto que para eso no hace falta mucha cosa.
 
Hola soy nuevo en este foro y me interesa el tema del control de posicion de motor dc
puntualmente estoy investigando la manera mas sencilla de poder implementar un tipo de control automatico seguidor de la horizontal, tomando como referencia la direccion de la gravedad...
Osea.. eso en palabrerio.. en criollo algo asi como una plomada acoplada al eje de un potenciometro, y el chasis de este potenciometro acoplado a una plataforma de madera, la cual esta acoplada al eje de un motor dc (caja de reducciones de pormedio) y el chasis de este motor ( y caja de resucciones) agarrado a un poste el cul va sobre otraplataforma con ruedas...
Disculpen pero no se si sen entendio... lo que me esta complicando es el cicuito de control que mueva el motor de acuerdo al valor de resistividad que muestra el potenciometro para que simpre la plataforma superior se mantenga en la horizontal...
La postura seria que el carro fuese capaz de llevar un objeto en la bandeja superior, mintras se desplaza por un recorrido con irregularidades del terreno (pendientes ascendentes y descendentes) sin que se le caiga el objeto (un pequeño vasito de plastico con agua).
Yo he pensado que quiza con un par de Amp Op armando un controlador de tipo PI, pero me cuesta adaptar la salida de un Amp OP a un puente H... no se ...
Agradeceria que alguin me facilite algun esquematico de circuiteria que me pueda ser util...
ahh el motor seria uno de los que se encuentran tirados en todos lados ( de juguetes pequeños)
 
Hola, tengo una idea:
Podés acoplar de alguna forma un potenciómetro al motor de manera que varíe la resistencia según la posición del motor.
Podés leer esta resistencia con el puerto de joystick y así con un programa hacer una especie de PID (sistema de control proporcional, integral y derivativo).
Así podés hacer mover el motor lo que te falte para que llegue a la posición que querés.
Espero que te sirva!

Una vez ví un circuito PWM con un comparador y un 555, ahora lo pienso un poco y lo posteo.
 
Bueno, acá dejo un circuito que acabo de hacer según lo que me acordaba y otras cosas nuevas que le agregué.
Es un PWM que hace girar el motor para un lado o par el otro hasta llegar a la posición deseada.
La posición se setea mediante uno de los potenciómetros, el otro pote va acoplado al motor. El motor girará hasta que ambos presenten la misma resistencia.
Es muy posible que oscile, sólo lo simulé en la PC, nunca lo hice.
Se puede probar cambiando la frecuencia del modulador mediante la resistencia y el capacitor que aparecen al principio.
Tiene un puentesito H para mover motores de 12V.
Bueno, también puede hacerse con unos 555 pero prefería diseñarlo así.

Creo que no se va a ver la imagen entera, por eso la adjunto en un RAR
 

Adjuntos

  • servo_pwm__con_comparadores_y_puente_h__161.gif
    servo_pwm__con_comparadores_y_puente_h__161.gif
    17.2 KB · Visitas: 1,446
  • servo_pwm__con_comparadores_y_puente_h__103.rar
    17.1 KB · Visitas: 1,083
Hola,

lo que puedes hacer es generar una señal triangular y poner un opam en configuracion de comparador de modo que se genere un PWM que cambie en frecuencia de acuerdo a un nivel de voltaje que le mandarás, de este modo controlas la velocidad del motor

Yo estoy haciendo eso y funciona de maravilla.. aunque no he logrado el giro hacia los dos lados; solo cuando el nivel es positivo porque he hecho un arreglo de opams y mi problema es que al ser negativo si se logra el PWM en ese opam pero se activa con un ciclo de trabajo de 100% el opam del nivel positivo.

Quizá alguno sabe como podría resolver este problema
 
Hola amigos del foro.

Agradezco el esquema que postearon, puesto que mi problema es el mismo, pero como soy principiante, o sea, se poco de electronica, pues me cuesta algo entender el diagrama.

Si pudieran postearlo con alguna explicacion de los componentes estaria muy agradecido.

Espero que su respuesta sea pronta, por lo mientras batallare con mi problema.

Se despide de ustedes.

Beto_raviel.
 
oye Moguel! yo tambien soy Químico y entiendo de motores a pasos vs DC eh! :LOL:

lo que puedes hacer (si no quieren gastar mucho tus tacaños superiores), es usar el circuito que anexo, lo que tienes que hacer es medir la duración de un ciclo de reloj o la frecuencia del mismo, este te da la posición del motor (el pot esta acoplado mecanicamente al brazo que se mueve), la computadora compara este valor con una tabla (que tienes que hacer) y corrige prendiendo o apagando el puente H, te puse el L293D porque puede mover motores pequeños y ya tiene todo lo que necesita para protegerse, (diodos clamp, que no tiene el B).

La formula para calcular la frecuencia de este circuito es T=2.2/RC, (creo).

Si va a estar en un lugar caliente y humedo (como un laboratorio con mecheros prendidos), usa capacitores de poliester y ponlos lejos de las fuentes de calor, para reducir el desvio por calentamiento.

Espero que te sirva de algo.

Edit. si el oscilador no quiere trabajar, cambia la conexión del pot y el capacitor, siempre confundo donde va que cosa.
 

Adjuntos

  • motores_403.gif
    motores_403.gif
    3.4 KB · Visitas: 912
la unica formula que necesitas con ese circuito es la que mencioné, el circuito es un "reloj" u oscilador de onda cuadrada, y cuando mueves el Pot, cambias la constante de tiempo.

Por otra parte, una aplicación, puedes hablar de un brazo robot retroalimentado, es decir uno que esta consciente de la posicion que tienen sus juntas en cada momento.
 
buenas señores, soy nuevo en el foro pero, yo estoy haciendo algo similar lo que estoy utilizando por ser mas barato son los sensores de posicion (encoders), basados en fotodiodos de las impresoras o fotocopiadoras, estoy calculando la cantidad de agujeros que va a llevar mi rueda con respecto a la distancia que debe recorrer el elemento que voy a mover con los motores
 
jesusantoh

si usas un tornillo puedes usar este algoritmo

1, definir la precisión deseada, por ejemplo .005 cm
2, ver cuantas vueltas necesitas darle al tornillo para que se desplace una distancia, por ejemplo 1 cm a 10 vueltas
3, multiplicar la precisión entre el numero de vueltas
.005cmX10v/cm=.05 vueltas
4, multiplicar el resultado por 360 para ver cuantas marcas necesitas en una circunferencia
.05vueltas*360grados/vuelta=18 grados
5, dividir 360 grados entre el valor obtenido (aqui vienen los dolores de cabeza, ya que muchos valores no van a dar exacto, y se tienen que aproximar por multiplos) 360/18= 20 (suerte)
si no da exacto, por ejemplo 360/16=22.5, se prueba un factor común por ejemplo 8 (tus marcas estan ahora a 8 grados en vez de 16, por lo que mides dos pulsos para llegar a tu prescisión)

espero que te sirva.
 
Atrás
Arriba