Uso de interruptores de límite para invertir la polaridad del circuito

0

Estoy diseñando una etapa de traducción lineal que se conducirá con un motor de CC. Cuando el circuito recibe alimentación, el motor de CC comenzará a girar en cualquier dirección, lo que moverá la etapa lineal hacia un extremo. En ese extremo, la etapa activará el interruptor de límite # 1 y el motor girará en la dirección opuesta hasta que la etapa active el interruptor de límite # 2. Cuando se active el interruptor de límite # 2, el motor girará en la dirección original y enviará la etapa hacia el interruptor de límite # 1. Este proceso se repetirá hasta que se apague el circuito.

¿Alguien tiene alguna idea de cómo construir un circuito que invierta la polaridad del motor usando solo un impulso momentáneo desde un interruptor de límite? He construido este circuito:

El circuito funciona muy bien para el propósito previsto, pero no funciona para mis necesidades porque necesito poder usar interruptores momentáneos (interruptores de límite). El circuito que se muestra aquí dejará de viajar tan pronto como se suelte el interruptor.

También he intentado cablear el circuito de arriba a través de un Arduino. Utilicé los interruptores de límite momentáneos como entradas para interrupciones. Tuve el mismo problema de que el motor solo se movía mientras se cerraba activamente un interruptor. Aquí está el bosquejo que se me ocurrió:

const int interruptPin = 2;

const int interruptPin2 = 3;

const int cwPin = 10;

const int ccwPin = 11;



void setup()
{

  pinMode(cwPin, OUTPUT);

  pinMode(ccwPin, OUTPUT);

  pinMode(interruptPin, INPUT);

  pinMode(interruptPin2, INPUT);

  attachInterrupt(0, goCw, RISING);

  attachInterrupt(1, goCcw, RISING);
}


void loop() 
{

digitalWrite(cwPin, HIGH);
}


void goCw()
{
 digitalWrite(cwPin, HIGH);
 digitalWrite(ccwPin, LOW);
}


void goCcw()
{
digitalWrite(cwPin, LOW);
digitalWrite(ccwPin, HIGH);
}

Agradecería cualquier consejo que alguien tenga sobre este tema. Estoy abierto a usar cualquier método para lograr el resultado deseado. Intenté usar el Arduino porque pensé que solucionaría mi problema, pero no estoy en contra de eliminarlo si hay una mejor manera.

    
pregunta AJAC1507

4 respuestas

1

En cuanto al arduino, puede crear una variable, diga 'directionstatus' (sí, nombre largo abreviado según sea necesario)

Esto no es un código, sino la lógica de operación: cree una declaración IF en el bucle para hacer lo siguiente:

If switch pressed
    If directionstatus = 1
    direction status =0
    ***Insert code to initiate one direction here***
    Else 
    directionstatus = 1
    ***Insert code to initiate other direction here*** 
    EndIf
EndIf

Luego puede usar relés o mosfets o de otra manera para operar el motor e iniciar el variador. Si desea más información, por favor diga.

Es posible prescindir de un arduino, pero parece que ya tienes uno y que es útil y está listo para funcionar.

La ventaja añadida de usar una unidad de control de temperatura es que si conoce la velocidad e implementa algunos tiempos, etc., podría controlar los viajes, y si pasa a los motores paso a paso más adelante (no estoy seguro de si su aplicación lo requiere) puede tener un control muy preciso con bastante facilidad - pero por ahora me imagino un If en void_loop que funciona cuando se presiona el botón sería suficiente.

... P.S.

Pensé: mire esto, ya que esto podría alterar su código más adelante, ya que cada vez que se inicia el interruptor puede rebotar, además puede encontrar que se dispara cuando se activa y se activa cuando se va (en cuyo caso código de actualización para ignorar cada segunda instrucción) enlace

    
respondido por el Rendeverance
0

Yo usaría un circuito H-bridge. Por ejemplo, L293 podría ser un buen punto de partida. Este circuito no solo le permite conducir la carga (motor de CC) sino que también le permite controlar la dirección del motor de una manera fácil.

Antes del bloque del puente H, puede usar la lógica arduino o otro circuito (como un contador) en el que las entradas son los finales de carrera y la salida es la señal de control de la dirección del puente.

Espero que esto ayude.

    
respondido por el jgmh
0

simular este circuito : esquema creado usando CircuitLab

Figura 1. Inversor de motor cableado.

Dependiendo de la potencia de su unidad, el pedal de doble polo y doble tiro que aman los guitarristas de todo el mundo para unidades de efectos de pedales puede ser adecuado.

Cómo funciona:

Cada vez que presione SW1 o SW2 se invertirá la polaridad de la alimentación del motor. Los interruptores deben colocarse en cada extremo del recorrido para que se depriman en la etapa móvil.

Figura 2. Un interruptor de pie de doble tiro (DPDT) de doble polo.

El Arduino debe estar programado para parpadear los LED para que parezca un sistema de control complicado.

    
respondido por el Transistor
0

Esto se puede hacer con un relé de impulso DPDT (enclavamiento). Ambos interruptores de límite están cableados en paralelo, en serie con la bobina de relé, la batería y la GND. Los contactos de relé están cableados en una disposición de inversión de CC estándar. Cuando se toca cualquiera de los interruptores, el relé cambia de estado y el motor se invierte.

No veo una forma de adjuntar una hoja de datos PDF. Aquí hay un enlace a los detalles en Digi-Key: enlace

    
respondido por el AnalogKid

Lea otras preguntas en las etiquetas