¿Cómo hacer que dos motores giren a la misma velocidad?

2

Actualmente estoy usando dos motores idénticos para conducir un robot. Los motores se controlan mediante relés, pero uno de los motores gira más rápido que el otro. ¿Cómo puedo reducir la velocidad del motor más rápido para girar a la misma velocidad que el lento?

    
pregunta brad123664

4 respuestas

4

Los motores son mecánicamente diferentes, por lo que no puede hacer que se muevan a la misma velocidad y al mismo voltaje. Esto es un problema si los conduce con relés, ya que los relés toleran una frecuencia muy lenta, por lo que no pueden ser PWM'ed.

Sin embargo, si está dispuesto a cambiar su diseño y cambiar a fuentes de alimentación, básicamente puede dividir el problema en tres:

  • Mida la velocidad de cada uno de los motores
  • Determine cuál de los dos se está moviendo más rápido
  • Ajusta su velocidad en consecuencia.

Para la primera parte, necesitará un codificador rotatorio. Hay muchos tipos y se pueden hacer en casa.

Si estás usando un Arduino, leer la información del codificador rotatorio y determinar cuál es más rápido y cuál más lento no debería ser un problema.

Por último, puede ajustar la velocidad de los motores utilizando PWM.

    
respondido por el JuanΠ
1

No has descrito tus necesidades suficientemente. El comentario de Wouter hace lo que parece ser la suposición razonable de que estás conduciendo dos ruedas, una a cada lado, cada una con un motor diferente. En ese caso, su comentario es correcto.

Dependiendo de su configuración física, es posible que lo atiendan mejor al unir mecánicamente los dos ejes, utilizando engranajes y una correa dentada.

Si tiene que utilizar la electrónica, necesitará una configuración bastante sofisticada. Necesitará un codificador en cada eje para medir la posición, luego un bucle de puesta a cero para igualar el uno al otro. Tenga en cuenta que un simple bucle de velocidad no garantiza que los ejes, y por lo tanto las ruedas, giren exactamente la misma cantidad con el tiempo. Cuando empiezas, si una rueda comienza a conducir antes que la otra, cuando los ejes igualan a la primera para moverse, todavía estará delante de la otra.

    
respondido por el WhatRoughBeast
0

Es necesario implementar un bucle de control. Ya sea una respuesta de velocidad, una respuesta de posición, un interruptor de límite (en caso de un movimiento de desplazamiento limitado) o cualquier combinación de los anteriores. En cuanto a cómo implementar tal bucle, es muy dependiente del diseño.

    
respondido por el Lior Bilia
-2

Si también desea cambiar un poco el diseño, puede utilizar un motor de alta calificación y un cigüeñal entre las ruedas y girarlo con el mismo motor de velocidad con una disposición de engranajes. Espero que le guste mi solución. Me encantaría escuchar. más sobre esto.

    
respondido por el Royal highness

Lea otras preguntas en las etiquetas