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.